Closed cat-bro closed 4 years ago
Thanks, this looks good, but could you you make this a non-default option please ?
Hi @mvdbeek, thanks for reviewing. What is meant by 'make this a non-default option'? That instead of tools_for_repository
having the extra argument all_tools
, it should be calling get_tools
instead of get_tool_panel
as standard behaviour?
Yes, if you can add something like --all_versions
in https://github.com/galaxyproject/ephemeris/blob/69c053742bf54201edef039c02299fa6ef1bd41b/src/ephemeris/shed_tools_args.py#L204
Hi @mvdbeek, I've added this as boolean --test_all_versions
(default False)
The expected behaviour is that if the user has specified the revisions that they want to test, the --revisions
argument outranks --test_all_versions
and only the specified revisions are tested. If no revisions are specified, using --test_all_versions
will mean that all versions are tested.
For example, if the tool has two revisions, old_revision_hash
and new_revision_hash
and only the new one is in the tool panel:
shed-tools test --name abc --owner def --test_all_versions # test both versions
shed-tools test --name abc --owner def # test latest version
shed-tools test --name abc --owner def --revisions old_revision_hash # test old version
shed-tools test --name abc --owner def --revisions old_revision_hash --test_all_versions # test old version
shed-tools test --name abc --owner def --revisions new_revision_hash old_revision_hash # test both versions
When shed-tools looks for tests, it looks for tool ids within the output of get_tool_panel. There is generally only one version of a tool in the panel but there could be several versions of the tool installed. I'd like to be able to run tests for older revisions of tools. Currently if the --revisions arg does not correspond to the version in the panel, no tests are run.
My proposed change is to look in the output of get_tools instead of get_tool_panel if the revision is provided.
I'm not sure what should happen when there is no changeset revision - I've defaulted using get_tool_panel in this case to look for what is usually the most recent version, but I could change this so that it runs tests from all versions.
Catherine, Galaxy Australia