This replaces a previous (now closed) PR:
https://github.com/galaxyproject/galaxy/pull/8279
A few changes:
- tests for code in galaxy/tool_util moved under test/unit/tool_util
- common parts (used in both tools and tool_util) factored out into
unittest_utils/sample_data.py
- symlink to sample_data.py in test/unit/tool_util/ is needed to make
the tool_util package tests run. This is not an ideal solution, but it
avoids duplication of the sample data used by tests in tools/ and
tool_util/.
The cause of this is related to pulling tool_util out of tools:
https://github.com/galaxyproject/galaxy/pull/8279
The solution here is a temporary hack (add helper module, util.py, to
tests/, then make tests a package).
A better solution will be to separate test/unit/tools into tools/ and
tool_util/ - I intend to take care of it soon.
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