Functional Test Errors for Tool Shed Tools
Hi everyone, I'm running into a bit of trouble with running functional tests on tool wrappers for rseqc that I am writing (testing according to the wiki page<http://wiki.galaxyproject.org/TestingInstalledTools>). The tools are listed in shed_tool_conf.xml. Though I'm working with ~15 tool wrappers, I'm attaching the error for read_quality.py, which is recurring for each of the other tools I'm writing. I'm attaching the link to the xml wrapper for read_quality<https://gist.github.com/nkav/abae3a22c1e4c881c2d8>to show you how I write the tests. Here is the specific error message (this was the same message returned for the 12 other rseqc tools I had wrapped): ====================================================================== ERROR: test_tool_000000 ( functional.test_toolbox.TestForTool_testtoolshed.g2.bx.psu.edu/repos/nilesh/rseqc_dev2/read_quality/1.0.0 ) Read Quality ( testtoolshed.g2.bx.psu.edu/repos/nilesh/rseqc_dev2/read_quality/1.0.0 ) > Test-1 ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/nilesh/galaxy-dist/test/functional/test_toolbox.py", line 171, in test_tool self.do_it( td, shed_tool_id=shed_tool_id ) File "/home/nilesh/galaxy-dist/test/functional/test_toolbox.py", line 43, in do_it shed_tool_id=shed_tool_id ) File "/home/nilesh/galaxy-dist/test/base/twilltestcase.py", line 204, in upload_file filename = self.get_filename( filename, shed_tool_id=shed_tool_id ) File "/home/nilesh/galaxy-dist/test/base/twilltestcase.py", line 179, in get_filename return os.path.abspath( os.path.join( file_dir, filename ) ) File "/usr/lib/python2.7/posixpath.py", line 77, in join elif path == '' or path.endswith('/'): AttributeError: 'NoneType' object has no attribute 'endswith' -------------------- >> begin captured stdout << --------------------- form 'login' contains the following controls ( note the values ) --------------------- >> end captured stdout << ---------------------- I'm using the latest version of Galaxy and the RSeQC package, and the tool dependencies for rseqc install correctly after downloading from the test tool shed. Am I forgetting to do something here? Thanks so much for your help.
Hi Nilesh, A test_data folder and contents seem to be missing from your (eg) dev repository - the docs at http://wiki.galaxyproject.org/Tool%20Shed include http://wiki.galaxyproject.org/TestingInstalledTools which starts with: Tool shed repositories that contain tools with defined functional tests can be tested when they've been installed into your local Galaxy instance using Galaxy's functional test framework. For tests to work, the repository must include a directory named test-data somewhere in its file system hierarchy, and all functional test input and output datasets must be included in this directory. Maybe take a look at the contents of some of the devteam or Bjorn's repositories for examples? Note that there are still some toolshed test framework limitations like repeat groups...but simple test cases should work once you provide the test i/o files in the repository test-data subdirectory so they get installed when the repo is installed. I hope this helps? On Fri, Jul 19, 2013 at 7:44 AM, Nilesh Kavthekar <nakavthekar@gmail.com>wrote:
Hi everyone,
I'm running into a bit of trouble with running functional tests on tool wrappers for rseqc that I am writing (testing according to the wiki page<http://wiki.galaxyproject.org/TestingInstalledTools>). The tools are listed in shed_tool_conf.xml. Though I'm working with ~15 tool wrappers, I'm attaching the error for read_quality.py, which is recurring for each of the other tools I'm writing. I'm attaching the link to the xml wrapper for read_quality<https://gist.github.com/nkav/abae3a22c1e4c881c2d8>to show you how I write the tests.
Here is the specific error message (this was the same message returned for the 12 other rseqc tools I had wrapped):
====================================================================== ERROR: test_tool_000000 ( functional.test_toolbox.TestForTool_testtoolshed.g2.bx.psu.edu/repos/nilesh/rseqc_dev2/read_quality/1.0.0 ) Read Quality ( testtoolshed.g2.bx.psu.edu/repos/nilesh/rseqc_dev2/read_quality/1.0.0 ) > Test-1 ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/nilesh/galaxy-dist/test/functional/test_toolbox.py", line 171, in test_tool self.do_it( td, shed_tool_id=shed_tool_id ) File "/home/nilesh/galaxy-dist/test/functional/test_toolbox.py", line 43, in do_it shed_tool_id=shed_tool_id ) File "/home/nilesh/galaxy-dist/test/base/twilltestcase.py", line 204, in upload_file filename = self.get_filename( filename, shed_tool_id=shed_tool_id ) File "/home/nilesh/galaxy-dist/test/base/twilltestcase.py", line 179, in get_filename return os.path.abspath( os.path.join( file_dir, filename ) ) File "/usr/lib/python2.7/posixpath.py", line 77, in join elif path == '' or path.endswith('/'): AttributeError: 'NoneType' object has no attribute 'endswith' -------------------- >> begin captured stdout << ---------------------
form 'login' contains the following controls ( note the values )
--------------------- >> end captured stdout << ----------------------
I'm using the latest version of Galaxy and the RSeQC package, and the tool dependencies for rseqc install correctly after downloading from the test tool shed. Am I forgetting to do something here? Thanks so much for your help.
Hi Ross, Thanks so much for your help. Actually, I initially all my tools in the test-data directory as the wiki described, and thought that running functional tests on tools installed from the tool shed would automatically look for appropriate files in this directory. However, after looking a little more into functional_tests.py, it turns out that ONLY the test-data directories within the installed tool shed tool repositories themselves (which would be installed locally in the shed_tools directory) are searched for these testing data sets. Perhaps this would be helpful information to include at http://wiki.galaxyproject.org/TestingInstalledTools? Thanks, Nilesh On Thu, Jul 18, 2013 at 9:26 PM, Ross <ross.lazarus@gmail.com> wrote:
Hi Nilesh, A test_data folder and contents seem to be missing from your (eg) dev repository - the docs at http://wiki.galaxyproject.org/Tool%20Shedinclude http://wiki.galaxyproject.org/TestingInstalledTools which starts with:
Tool shed repositories that contain tools with defined functional tests can be tested when they've been installed into your local Galaxy instance using Galaxy's functional test framework. For tests to work, the repository must include a directory named test-data somewhere in its file system hierarchy, and all functional test input and output datasets must be included in this directory.
Maybe take a look at the contents of some of the devteam or Bjorn's repositories for examples? Note that there are still some toolshed test framework limitations like repeat groups...but simple test cases should work once you provide the test i/o files in the repository test-data subdirectory so they get installed when the repo is installed.
I hope this helps?
On Fri, Jul 19, 2013 at 7:44 AM, Nilesh Kavthekar <nakavthekar@gmail.com>wrote:
Hi everyone,
I'm running into a bit of trouble with running functional tests on tool wrappers for rseqc that I am writing (testing according to the wiki page<http://wiki.galaxyproject.org/TestingInstalledTools>). The tools are listed in shed_tool_conf.xml. Though I'm working with ~15 tool wrappers, I'm attaching the error for read_quality.py, which is recurring for each of the other tools I'm writing. I'm attaching the link to the xml wrapper for read_quality<https://gist.github.com/nkav/abae3a22c1e4c881c2d8>to show you how I write the tests.
Here is the specific error message (this was the same message returned for the 12 other rseqc tools I had wrapped):
====================================================================== ERROR: test_tool_000000 ( functional.test_toolbox.TestForTool_testtoolshed.g2.bx.psu.edu/repos/nilesh/rseqc_dev2/read_quality/1.0.0 ) Read Quality ( testtoolshed.g2.bx.psu.edu/repos/nilesh/rseqc_dev2/read_quality/1.0.0 )
Test-1
Traceback (most recent call last): File "/home/nilesh/galaxy-dist/test/functional/test_toolbox.py", line 171, in test_tool self.do_it( td, shed_tool_id=shed_tool_id ) File "/home/nilesh/galaxy-dist/test/functional/test_toolbox.py", line 43, in do_it shed_tool_id=shed_tool_id ) File "/home/nilesh/galaxy-dist/test/base/twilltestcase.py", line 204, in upload_file filename = self.get_filename( filename, shed_tool_id=shed_tool_id ) File "/home/nilesh/galaxy-dist/test/base/twilltestcase.py", line 179, in get_filename return os.path.abspath( os.path.join( file_dir, filename ) ) File "/usr/lib/python2.7/posixpath.py", line 77, in join elif path == '' or path.endswith('/'): AttributeError: 'NoneType' object has no attribute 'endswith' -------------------- >> begin captured stdout << ---------------------
form 'login' contains the following controls ( note the values )
--------------------- >> end captured stdout << ----------------------
I'm using the latest version of Galaxy and the RSeQC package, and the tool dependencies for rseqc install correctly after downloading from the test tool shed. Am I forgetting to do something here? Thanks so much for your help.
participants (2)
-
Nilesh Kavthekar
-
Ross