Hi all,

I am using TravisCI for testing my Galaxy Tools developed
on GitHub, see:
http://blastedbio.blogspot.co.uk/2013/09/using-travis-ci-for-testing-galaxy-tools.html

Currently this uses a hard coded datatypes_conf.xml file consisting
of the local datatypes in use (e.g. BLAST databases) plus a cut down
list those core dataypes also being used (e.g. FASTA).

The following test run failed because one of the newly added tests
used "sam" format, which was not defined:

https://travis-ci.org/peterjc/pico_galaxy/builds/23041174

I've added the SAM definition now, the reason for this email
is to suggest clearer error messages from the test framework
for undefined dataypes.

Currently Twill (default) said:

======================================================================
ERROR: test_tool_000001 (functional.test_toolbox.TestForTool_samtools_depad)
BAM mapping statistics ( samtools_depad ) > Test-2
----------------------------------------------------------------------
Traceback (most recent call last):
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/functional/test_toolbox.py",
line 106, in test_tool
    self.do_it( td )
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/functional/test_toolbox.py",
line 29, in do_it
    stage_data_in_history( galaxy_interactor, testdef.test_data(),
test_history, shed_tool_id )
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/base/interactor.py",
line 30, in stage_data_in_history
    upload_waits.append( galaxy_interactor.stage_data_async(
test_data, history, shed_tool_id ) )
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/base/interactor.py",
line 336, in stage_data_async
    wait=(not async) )
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/base/twilltestcase.py",
line 209, in upload_file
    self.refresh_form( "file_type", ftype )  # Refresh, to support
composite files
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/test/base/twilltestcase.py",
line 1369, in refresh_form
    tc.fv( f.name, control.name, value )
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/eggs/twill-0.9-py2.7.egg/twill/commands.py",
line 450, in formvalue
    set_form_control_value(control, value)
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/eggs/twill-0.9-py2.7.egg/twill/utils.py",
line 190, in set_form_control_value
    raise ClientForm.ItemNotFoundError('cannot find value/label "%s"
in list control' % (val,))
ItemNotFoundError: cannot find value/label "sam" in list control



Similarly unclear, the API test framework said:

galaxy.web.framework: ERROR: Uncaught exception in exposed API method:
Traceback (most recent call last):
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/galaxy/web/framework/__init__.py",
line 199, in decorator
    rval = func( self, trans, *args, **kwargs)
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/galaxy/webapps/galaxy/api/tools.py",
line 130, in create
    template, vars = tool.handle_input( trans, incoming,
history=target_history, process_state=process_state, source="json" )
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/galaxy/tools/__init__.py",
line 1921, in handle_input
    errors, params = self.__check_param_values( trans, incoming,
state, old_errors, process_state, history=history, source=source )
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/galaxy/tools/__init__.py",
line 2029, in __check_param_values
    errors = self.populate_state( trans, inputs, state.inputs,
incoming, history, source=source )
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/galaxy/tools/__init__.py",
line 2136, in populate_state
    current_case = input.get_current_case( value, trans )
  File 
"/home/travis/build/peterjc/pico_galaxy/galaxy-central-master/lib/galaxy/tools/parameters/grouping.py",
line 462, in get_current_case
    raise Exception( "No case matched value:", self.name, str_value )
Exception: ('No case matched value:', 'files_metadata', u'sam')
requests.packages.urllib3.connectionpool: DEBUG: "POST /api/tools
HTTP/1.1" 500 None


In both cases, I would prefer something like a ValueError
explicitly saying the problem is an undefined dataype
(in this case, "sam" was not defined).

This will be most useful when dealing with 3rd party tools
using 3rd part datatype definitions.

Thanks,

Peter
___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
  http://lists.bx.psu.edu/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/

Reply via email to