- Rev pulsar-galaxy-lib for improved error messages.
- Rev to a newer container - one that actually logs.
- More use of host.docker.internal to improve testing robustness.
- Add documentation for overriding container to use.
The tests included here are really very manual and brittle tests, but I'm not sure how to do much better. See documentation in the file docstring for more information.
Behavior changes:
- Now includes a trailing new line if the input contained a trailing newline.
- Now returns only as many lines as are present if the file contains fewer lines than LINE_COUNT.
This is (so far a subset of) the tool utilities from galaxy-lib. galaxy-lib mocked out a fake galaxy.tools to allow these to all exist below the galaxy.tools - but this was a terrible hack - in order for the new packages to be true subsets of Galaxy they need to be refactored into a new package that doesn't depend on models, SA, galaxy.jobs, etc...
[x] galaxy.tools.deps -> galaxy.tool_util.deps
[x] galaxy.tools.loader -> galaxy.tool_util.loader
[x] galaxy.tools.cwl -> galaxy.tool_util.cwl
[x] galaxy.tools.loader -> galaxy.tool_util.loader
[x] galaxy.tools.fetcher -> galaxy.tool_util.fetcher
[x] galaxy.tools.locations -> galaxy.tool_util.locations
[x] galaxy.tools.parser -> galaxy.tool_util.parser
Behavior changes:
- Now includes a trailing new line if the input contained a trailing newline.
- Now returns only as many lines as are present if the file contains fewer lines than LINE_COUNT.
Remove copy and paste problems, remote excess configuration unrelated to the what is being tested (handler configuration, multiple worker counts, etc..).
I want to be able to make more integration tests like test_pulsar_embedded.py, where we just define a configuration and then some tool tests to run. In particular this will be useful for extended metadata testing of the most interesting tools.
This should allow Galaxy to reason about what the tool reports vs. what dependency resolution and metadata reports, allow us to enable logging during metadata collection, and allow us to reason about the tool's I/O from inside the job script during cleanup/metadata collection at the end.