Gzipped input to functional tests with multiple="true"
Hi all, I think I've found a bug in the Galaxy test framework :( With most file inputs, a gzipped input file works fine (Galaxy's upload code handles unzipping it). However, with multiple="true" this seems to break (with the Twill backend, the API test framework is OK), e.g. <param name="filenames" type="data" format="fastq,mira" multiple="true" required="true" label="Read file(s)" help="Multiple files allowed, for example paired reads can be given as two files (MIRA looks at read names to identify pairs)." /> Fails: <param name="filenames" value="SRR639755_mito_pairs_sample.fastq.gz" ftype="fastqsanger" /> e.g. https://travis-ci.org/peterjc/pico_galaxy/builds/27426318 Excerpt from log: ====================================================================== FAIL: test_tool_000000 (functional.test_toolbox.TestForTool_mira_4_0_de_novo) MIRA v4.0 de novo assember ( mira_4_0_de_novo ) > Test-1 ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/functional/test_toolbox.py", line 108, in test_tool self.do_it( td ) File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/functional/test_toolbox.py", line 32, in do_it data_list = galaxy_interactor.run_tool( testdef, test_history ) File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/base/interactor.py", line 449, in run_tool self.twill_test_case.run_tool( testdef.tool.id, repeat_name=repeat_name, **page_inputs ) File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/base/twilltestcase.py", line 1789, in run_tool self.submit_form( **kwd ) File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/base/twilltestcase.py", line 1999, in submit_form raise AssertionError( errmsg ) AssertionError: Attempting to set field 'read_group_0|filenames' to value '['SRR639755_mito_pairs_sample.fastq.gz']' in form 'tool_form' threw exception: id=None name=None label='SRR639755_mito_pairs_sample.fastq.gz' control: <SelectControl(read_group_0|filenames=[80])> If the above control is a DataToolparameter whose data type class does not include a sniff() method, make sure to include a proper 'ftype' attribute to the tag for the control within the <test> tag set. This works, <param name="filenames" value="SRR639755_mito_pairs_sample.fastq" ftype="fastqsanger" /> e.g. https://travis-ci.org/peterjc/pico_galaxy/builds/27426336 See: https://github.com/peterjc/pico_galaxy/commit/e6967767535ca29debcdc19d7f0502... Regards, Peter
I've filed this bug in the Twill test framework on Trello: https://trello.com/c/XG3KemZE/1732-gzipped-input-to-twill-functional-tests-f... Peter On Fri, Jun 13, 2014 at 10:12 AM, Peter Cock <p.j.a.cock@googlemail.com> wrote:
Hi all,
I think I've found a bug in the Galaxy test framework :(
With most file inputs, a gzipped input file works fine (Galaxy's upload code handles unzipping it). However, with multiple="true" this seems to break (with the Twill backend, the API test framework is OK), e.g.
<param name="filenames" type="data" format="fastq,mira" multiple="true" required="true" label="Read file(s)" help="Multiple files allowed, for example paired reads can be given as two files (MIRA looks at read names to identify pairs)." />
Fails:
<param name="filenames" value="SRR639755_mito_pairs_sample.fastq.gz" ftype="fastqsanger" />
e.g. https://travis-ci.org/peterjc/pico_galaxy/builds/27426318
Excerpt from log:
====================================================================== FAIL: test_tool_000000 (functional.test_toolbox.TestForTool_mira_4_0_de_novo) MIRA v4.0 de novo assember ( mira_4_0_de_novo ) > Test-1 ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/functional/test_toolbox.py", line 108, in test_tool self.do_it( td ) File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/functional/test_toolbox.py", line 32, in do_it data_list = galaxy_interactor.run_tool( testdef, test_history ) File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/base/interactor.py", line 449, in run_tool self.twill_test_case.run_tool( testdef.tool.id, repeat_name=repeat_name, **page_inputs ) File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/base/twilltestcase.py", line 1789, in run_tool self.submit_form( **kwd ) File "/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/base/twilltestcase.py", line 1999, in submit_form raise AssertionError( errmsg ) AssertionError: Attempting to set field 'read_group_0|filenames' to value '['SRR639755_mito_pairs_sample.fastq.gz']' in form 'tool_form' threw exception: id=None name=None label='SRR639755_mito_pairs_sample.fastq.gz' control: <SelectControl(read_group_0|filenames=[80])> If the above control is a DataToolparameter whose data type class does not include a sniff() method, make sure to include a proper 'ftype' attribute to the tag for the control within the <test> tag set.
This works,
<param name="filenames" value="SRR639755_mito_pairs_sample.fastq" ftype="fastqsanger" />
e.g. https://travis-ci.org/peterjc/pico_galaxy/builds/27426336
See: https://github.com/peterjc/pico_galaxy/commit/e6967767535ca29debcdc19d7f0502...
Regards,
Peter
participants (1)
-
Peter Cock