Thanks to detailed biostar question from @lindenb (sorry these parameters are so counter-intuitive - I don't have an excuse other than a need to preserve backward compatibility).
Rebased with indention requested by @nsoranzo and fixes for the test case tool.
- Include deprecated ``interpreter`` tag in XSD. (Closesgalaxyproject/planemo#574)
- Allow the use of ``$__tool_directory__`` in interpreter command (so we can actually call ``interpreter`` deprecated).
- Include sample tools of both of these styles.
- General improvements to the version command documentation.
Seems like a race condition but I can't determine why there would be one here - this check should help determine if it is a race condition or something else.
I call explicit outputs galaxy.json entries of type="dataset" (as opposed to type="new_primary_dataset" - which I call discovered datasets). Previously galaxy.json could set the name and extension of these datasets. I've added a test case to verify this and a small tweak to the tool test framework to allow easy testing of such metadata setting.
In order to bring explicit output metadata setting closer to parity with discovered dataset metadata setting, I've added the ability to define 'dbkey' and 'info' entries in galaxy.json for these outputs.
This differs from a traditional tool in that its inputs don't need to be in an 'ok' state and instead of creating new datasets and duplicating data on disk, new HDAs are created from the existing datasets.
Incorporates https://github.com/galaxyproject/galaxy-lib/pull/10 which modifies the interface to the test output verification code to allow reuse from within Planemo in both non-tool and non-Galaxy contexts. I also think this represents a better separation of concerns.
One upshot of this is that CWL-style checksum verification is now possible from within Galaxy tools - a test case of this is included.
Refactor test verification into galaxy-lib-compat module.
- Refactor a bunch class methods in ``test.base.twilltestcase`` into module functions in ``galaxy.tools.verify``.
- Move ``test.base.test_data`` to ``galaxy.tools.verify.test_data``.
- Move ``test.base.asserts`` to ``galaxy.tools.verify.asserts``.
Remove duplication in execution of these methods between composite and normal test outputs. This also entailed reworking the parsing of the composite test outputs to bring them inline with normal outputs. In addition to simplify removing duplication, this means many more tests can be made over composite outputs - such as md5 checks and test assertions. I've added a new framework test tool to verify this.
- Rename expected output Log from input Log. This relieves a concern I had that the tests were just working because the inputs and outputs match.
- Add another "unregistered" output file to the output directory and add a test for it. This verifies that such files are infact tested.
- Add a nested "unregistered" output file to the output directory and add a test for it. This verifies that nested files are tested.