Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CWL conformance API tests #12966

Merged
merged 7 commits into from
Nov 23, 2021

Conversation

nsoranzo
Copy link
Member

  1. Download conformance tests from https://github.com/common-workflow-language/ to test/functional/tools/cwl_tools where they can be used also by framework and unit tests in the future.
  2. Add BaseCwlWorkflowTestCase and CwlPopulator to enable executing CWL conformance tests
  3. Generate CWL conformance API tests only when needed for tests
  4. Add (currently disabled) GitHub workflow to run the CWL conformance API tests

This is around 1/4 of the big CWL PR #12909 . Here I've split the changes in commits as small and coherent as possible, and refactored some code, in particular in CwlPopulator.

The conformance tests marked green (i.e those not listed in RED_TESTS in scripts/cwl_conformance_to_test_cases.py) are the ones that pass with all the other changes included in #12909 and should not be expected to pass here. However, when trying to run them as specified below, the test cases and populators work properly and the tests should fail with errors expected at this stage, like:

  • Exception: Unknown tool format [CommandLineTool] encountered.
  • Invalid workflow format detected
  • KeyError: 'record'

How to test the changes?

(Select all options that apply)

  • I've included appropriate automated tests.
  • This is a refactoring of components with existing test coverage.
  • Instructions for manual testing are as follows:
    1. ./run_tests.sh -cwl lib/galaxy_test/api/cwl -- -m 'green and cwl_conformance_v1_0'

License

  • I agree to license these contributions under Galaxy's current license.
  • I agree to allow the Galaxy committers to license these and all my past contributions to the core galaxy codebase under the MIT license. If this condition is an issue, uncheck and just let us know why with an e-mail to [email protected].

nsoranzo and others added 7 commits November 23, 2021 13:32
…w()`

Also:
- Replace deprecated `workflows/{workflow_id}/usage` API endpoint with
  `workflows/{workflow_id}/invocations`
1) Download conformance tests to `test/functional/tools/cwl_tools` where
  they can be used also by framework and unit tests in the future.
2) Add populators to enable executing CWL conformance tests
3) Generate CWL conformance API tests only when needed for tests
@nsoranzo nsoranzo force-pushed the cwl_conformance_tests branch from 2bd1f4a to 6a6c4f8 Compare November 23, 2021 14:20
@nsoranzo nsoranzo merged commit 95d62ad into galaxyproject:dev Nov 23, 2021
@nsoranzo nsoranzo deleted the cwl_conformance_tests branch November 23, 2021 18:40
@github-actions
Copy link

This PR was merged without a "kind/" label, please correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants