Hi,
I have investigated the testing possibilities within a Galaxy local instance and within a toolshed. I met some difficulties and I have 4 questions listed below.
1- Tests on tools installed in a local Galaxy instance (with run_tests.sh) : It seems that it is only possible to test the tools that have been manually installed (run_test.sh -id ...), not the tools that have been installed through a toolshed. Is that true ? When I try to launch the tests of a toolshed installed tool, I have the following error message :
#########
Failure: ValueError (No such test TestForTool_sartools_edger) ... ERROR ====================================================================== ERROR: Failure: ValueError (No such test TestForTool_sartools_edger) ---------------------------------------------------------------------- Traceback (most recent call last): File "/projet/htdocs/galaxy-dev/galaxy-dist/eggs/nose-0.11.1-py2.7.egg/nose/failure.py", line 39, in runTest raise self.exc_class(self.exc_val) ValueError: No such test TestForTool_sartools_edger
---------------------------------------------------------------------- Ran 1 test in 0.002s FAILED (errors=1)
#########
2- Tests on tools installed in a local Galaxy instance (with run_tests.sh) : Is it possible to test tools which have repository or tool dependencies ? I have a tool (manually installed in galaxy-dist/tools/) with a dependence to a datatype installed from a toolshed. The datatype (no_unzip.zip) is defined in the <param> input tag (in <test>) with attribute "ftype". When running run_tests.sh, it seems that the dataype is not known :
#########
====================================================================== ERROR: test_tool_000001 (functional.test_toolbox.TestForTool_sartools_edger) SARTools edgeR ( sartools_edger ) > Test-2 ---------------------------------------------------------------------- Traceback (most recent call last): File "/w/galaxy/galaxy4loraine/galaxy-dist/test/functional/test_toolbox.py", line 268, in test_tool self.do_it( td ) File "/w/galaxy/galaxy4loraine/galaxy-dist/test/functional/test_toolbox.py", line 37, in do_it stage_data_in_history( galaxy_interactor, testdef.test_data(), test_history, shed_tool_id ) File "/w/galaxy/galaxy4loraine/galaxy-dist/test/base/interactor.py", line 36, in stage_data_in_history upload_waits.append( galaxy_interactor.stage_data_async( test_data, history, shed_tool_id ) ) File "/w/galaxy/galaxy4loraine/galaxy-dist/test/base/interactor.py", line 182, in stage_data_async raise Exception(submit_response) Exception: {u'message': {u'type': u'error', u'data': {u'file_type': u"An invalid option was selected for file_type, u'no_unzip.zip', please verify.", u'files_metadata': [u"An invalid option was selected for file_type, u'no_unzip.zip', please verify."]}}}
#########
3- Toolshed Install and Test framework ( install_and_test_tool_shed_repositories.sh) : For my tool, the test fails if I don't explicitely defined the dbkey attribute to "unknown" (dbkey="?") in the <param> input tag (in <test>). The default dbkey value seems to be "hg17" (whereas hg17 is not defined on the server running my toolshed). So I have the following error message if I don't add dbkey="?" in <test> :
#########
====================================================================== ERROR: test_tool_000001 (functional.test_toolbox.TestForTool_galaxy4loraine:9009/repos/lgueguen/sartools_1_0_2/sartools_edger/20150209) SARTools edgeR ( galaxy4loraine:9009/repos/lgueguen/sartools_1_0_2/sartools_edger/20150209 )
Test-2
---------------------------------------------------------------------- Traceback (most recent call last): File "/w/galaxy/galaxy4loraine/galaxy-dist/test/functional/test_toolbox.py", line 268, in test_tool self.do_it( td ) File "/w/galaxy/galaxy4loraine/galaxy-dist/test/functional/test_toolbox.py", line 37, in do_it stage_data_in_history( galaxy_interactor, testdef.test_data(), test_history, shed_tool_id ) File "/w/galaxy/galaxy4loraine/galaxy-dist/test/base/interactor.py", line 36, in stage_data_in_history upload_waits.append( galaxy_interactor.stage_data_async( test_data, history, shed_tool_id ) ) File "/w/galaxy/galaxy4loraine/galaxy-dist/test/base/interactor.py", line 182, in stage_data_async raise Exception(submit_response) Exception: {u'message': {u'type': u'error', u'data': {u'dbkey': u"An invalid option was selected for dbkey, u'hg17', please verify."}}}
#########
4- Is it possible to launch the tests against an external server ? That would be very useful to be able run the tests on a production Galaxy instance in order to test the tools in real condition, within the whole environment.
Thanks in advance for your answers.
Loraine