The conformance tests are intended to test feature coverage of a CWL implementation. It uses the module cwltest from https://github.com/common-workflow-language/cwltest/.
$ ./run_test.sh
--- Running conformance test draft-3 on cwl-runner ---
Test [49/49]
All tests passed
RUNNER=other-cwl-runner
The CWL implementation to be tested.
-nN
Run a single specific test number N.
EXTRA=--parallel
Extra options to pass to the CWL runner
For example, to run conformance test 15 against the "cwltool"
reference implementation with --parallel
:
$ ./run_test.sh RUNNER=cwltool -n15 EXTRA=--parallel
Test [15/49]
All tests passed
NOTE: For running on OSX systems, you'll need to install coreutils via brew. This will add to your
system some needed GNU-like tools like greadlink
.
- If you haven't already, install brew package manager in your mac
- Run
brew install coreutils
Each test in the conformance_tests.yaml should be tagged with one or more tags.
- A
command_line_tool
,expression_tool
orworkflow
tag to identify whether a CommandLineTool, ExpressionTool or Workflow is being tested - If the test does not test any optional features, the tag
required
- The name of any features that are being tested:
docker
for DockerRequirementenv_var
for EnvVarRequirementformat_checking
for checking format requirement annotation on File inputsinitial_work_dir
for InitialWorkDirRequirementsinline_javascript
for InlineJavascriptRequirementinplace_update
for InplaceUpdateRequirementinput_object_requirements
for tests that use cwl:requirements in the input objectmultiple_input
for MultipleInputFeatureRequirementnetworkaccess
for NetworkAccessresource
for ResourceRequirementscatter
for ScatterFeatureRequirementschema_def
for SchemaDefRequirementshell_command
for ShellCommandRequirementstep_input
for StepInputExpressionRequirementsubworkflow
for SubworkflowRequirementtimelimit
for ToolTimeLimit