You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: cwltool/schemas/v1.3.0-dev1/CONFORMANCE_TESTS.md
+8-6Lines changed: 8 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -144,7 +144,7 @@ We will use this single entry to explain the format
144
144
Must include one or more of the following tags: `command_line_tool`, `expression_tool` or `workflow`.
145
145
If the test does not test any optional features, the tag `required` is required.
146
146
147
-
Because `conformance_tests.yaml` is a `schema-salad` processed document, [`$import`](https://www.commonwl.org/v1.2/SchemaSalad.html#Import)
147
+
Because `conformance_tests.yaml` is a `schema-salad` processed document, [`$import`](https://www.commonwl.org/v1.3/SchemaSalad.html#Import)
148
148
can be used to organize the tests into separate files.
149
149
150
150
Currently, the main file is too big (over 3400 lines); we are slowly re-organizing it.
@@ -166,7 +166,7 @@ At any level, if there is an extra field, then that will be considered an error.
166
166
An exception to this is `class: File` and `class: Directory` objects, the `cwl-runner` under test can add additional fields here without causing a test to fail.
167
167
Likewise, if you don't want to test some aspect of a `class: File` or `class: Directory` object (like `nameext`) you can just omit it.
168
168
169
-
[According to the CWL standards](https://www.commonwl.org/v1.2/CommandLineTool.html#File), the format of the `location` field in
169
+
[According to the CWL standards](https://www.commonwl.org/v1.3/CommandLineTool.html#File), the format of the `location` field in
170
170
`class: File` and `class: Directory` is implementation specific and we should not be testing them.
171
171
Please remember to use `location: Any` for them.
172
172
@@ -181,17 +181,19 @@ Likewise, please do not test the `path` for `class: File` and `class: Directory`
181
181
182
182
To add a new conformance test:
183
183
1. Ensure the CWL document you have tests the desired feature or aspect.
184
-
2. All `CommandLineTool`s need a software container (via `DockerRequirement`) for better reproducibility, preferably under `hints`.
184
+
2. The `cwlVersion` should be the latest version (`cwlVersion: v1.2`), unless
185
+
testing the mixing of versions as in the `tests/mixed-versions` directory.
186
+
3. All `CommandLineTool`s need a software container (via `DockerRequirement`) for better reproducibility, preferably under `hints`.
185
187
Please limit your container usage to the following:
186
188
- `dockerPull: docker.io/alpine:latest`
187
189
- `dockerPull: docker.io/bash:4.4`
188
190
- `dockerPull: docker.io/debian:stable-slim`
189
191
- `dockerPull: docker.io/python:3-slim`
190
192
4. Run your test using the CWL reference runner (`cwltool`) or another CWL runner
191
193
that shows the correct behavior to collect the output, or confirm that validation/execution fails as expected
192
-
3. Add the CWL document and output object to the subdirectory `tests` in this repository.
193
-
4. Fill out a new entry in [conformance_tests.yaml](conformance_tests.yaml) following the [format of the conformance test file](#format-of-the-conformance-test-file)
194
-
5. Send a pull request to [current staging branch for the next revision of the CWL standards](https://github.com/common-workflow-language/cwl-v1.2/tree/1.2.1_proposed)
194
+
5. Add the CWL document and output object to the subdirectory `tests` in this repository.
195
+
6. Fill out a new entry in [conformance_tests.yaml](conformance_tests.yaml) following the [format of the conformance test file](#format-of-the-conformance-test-file)
196
+
7. Send a pull request to [current staging branch for the next revision of the CWL standards](https://github.com/common-workflow-language/cwl-v1.2/tree/1.2.1_proposed)
0 commit comments