Skip to content

Commit

Permalink
Added loop support (#5)
Browse files Browse the repository at this point in the history
* conformance tests: report the names of the failures
---------

Co-authored-by: Michael R. Crusoe <michael.crusoe@gmail.com>
Co-authored-by: Peter Amstutz <peter.amstutz@curii.com>
  • Loading branch information
3 people authored Oct 7, 2024
1 parent 8512c8b commit 26f8861
Show file tree
Hide file tree
Showing 27 changed files with 977 additions and 76 deletions.
6 changes: 6 additions & 0 deletions .github/config/wordlist.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
abstractworkflowstep
acyclic
amstutz
arrayschema
Expand Down Expand Up @@ -160,6 +161,9 @@ loadlistingrequirement
localhost
lookahead
loopback
loopinput
loopoutputmethod
loopworkflowstep
maccallum
macos
mappredicate
Expand Down Expand Up @@ -194,6 +198,7 @@ outputbinding
outputenumschema
outputeval
outputformat
outputmethod
outputschema
outputsink
outputsource
Expand Down Expand Up @@ -231,6 +236,7 @@ saladversion
sbgenomics
scatterfeaturerequirement
scattermethod
scatterworkflowstep
schemadefrequirement
schemaorg
schemas
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/cwltool.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
python-version: '3.9.x'

- name: Setup prerequirements
run: pip install "cwltest>=2.3" pytest-xdist "git+https://github.com/common-workflow-language/cwltool.git@main#egg=cwltool"
run: pip install "cwltest>=2.3" pytest-xdist "cwltool>=3.1.20240909164951"

- name: Copy in cwltool-specific configuration for the cwltest pytest plugin
run: cp "$(python -c 'from cwltool.tests.util import get_data; print(get_data("tests/cwl-conformance/cwltool-conftest.py"))')" conftest.py
Expand All @@ -33,4 +33,4 @@ jobs:
run: cp conformance_tests.yaml conformance_tests.cwltest.yaml

- name: Run tests against the reference runner
run: python -m pytest conformance_tests.cwltest.yaml -n auto -rs
run: python -m pytest conformance_tests.cwltest.yaml -n auto -rsfE
4 changes: 2 additions & 2 deletions CONFORMANCE_TESTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ We will use this single entry to explain the format
Must include one or more of the following tags: `command_line_tool`, `expression_tool` or `workflow`.
If the test does not test any optional features, the tag `required` is required.

Because `conformance_tests.yaml` is a `schema-salad` processed document, [`$import`](https://www.commonwl.org/v1.2/SchemaSalad.html#Import)
Because `conformance_tests.yaml` is a `schema-salad` processed document, [`$import`](https://www.commonwl.org/v1.3/SchemaSalad.html#Import)
can be used to organize the tests into separate files.

Currently, the main file is too big (over 3400 lines); we are slowly re-organizing it.
Expand All @@ -166,7 +166,7 @@ At any level, if there is an extra field, then that will be considered an error.
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.
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.

[According to the CWL standards](https://www.commonwl.org/v1.2/CommandLineTool.html#File), the format of the `location` field in
[According to the CWL standards](https://www.commonwl.org/v1.3/CommandLineTool.html#File), the format of the `location` field in
`class: File` and `class: Directory` is implementation specific and we should not be testing them.
Please remember to use `location: Any` for them.

Expand Down
Loading

0 comments on commit 26f8861

Please sign in to comment.