From 6dd1341ae09c73a11ed19b256d1f95da191f004b Mon Sep 17 00:00:00 2001 From: John Chilton Date: Fri, 27 Jan 2017 12:28:26 -0500 Subject: [PATCH 1/2] Give ToolRequirements a string representation for easier debugging. --- lib/galaxy/tools/deps/requirements.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/galaxy/tools/deps/requirements.py b/lib/galaxy/tools/deps/requirements.py index bdb0ae0451a..171772f08f1 100644 --- a/lib/galaxy/tools/deps/requirements.py +++ b/lib/galaxy/tools/deps/requirements.py @@ -1,5 +1,7 @@ import copy +import six + from galaxy.util import ( asbool, xml_text, @@ -11,6 +13,7 @@ DEFAULT_REQUIREMENT_TYPE = "package" DEFAULT_REQUIREMENT_VERSION = None +@six.python_2_unicode_compatible class ToolRequirement( object ): """ Represents an external requirement that must be available for the tool to @@ -47,6 +50,11 @@ class ToolRequirement( object ): def __hash__(self): return hash((self.name, self.type, self.version, frozenset(self.specs))) + def __str__(self): + return "ToolRequirement[%s,version=%s,type=%s,specs=%s]" % (self.name, self.version, self.type, self.specs) + + __repr__ = __str__ + class RequirementSpecification(object): """Refine a requirement using a URI.""" From ba3b00d1f813298e345c6f47bf6d6db31041c2ed Mon Sep 17 00:00:00 2001 From: John Chilton Date: Fri, 27 Jan 2017 12:28:59 -0500 Subject: [PATCH 2/2] Fix integration test for default Conda mapping. It worked locally simply because I had R already installed on my system globally. --- test/integration/test_resolvers.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/integration/test_resolvers.py b/test/integration/test_resolvers.py index d130592e6e0..e1f66720439 100644 --- a/test/integration/test_resolvers.py +++ b/test/integration/test_resolvers.py @@ -77,10 +77,15 @@ class CondaResolutionIntegrationTestCase(integration_util.IntegrationTestCase): def test_legacy_r_mapping( self ): """ """ + tool_id = "legacy_R" dataset_populator = DatasetPopulator(self.galaxy_interactor) history_id = dataset_populator.new_history() + endpoint = "tools/%s/install_dependencies" % tool_id + data = {'id': tool_id} + create_response = self._post(endpoint, data=data, admin=True) + self._assert_status_code_is( create_response, 200 ) payload = dataset_populator.run_tool_payload( - tool_id="legacy_R", + tool_id=tool_id, inputs={}, history_id=history_id, )