From 7ab5dc3d51edf1313ac74ac6ff07d26f507e7449 Mon Sep 17 00:00:00 2001 From: guerler Date: Wed, 18 May 2016 14:43:51 -0400 Subject: [PATCH] Remove asserts triggering false exceptions when dynamic parameters are evaluated for initial tool models --- lib/galaxy/tools/parameters/dynamic_options.py | 6 +----- test/unit/tools/test_select_parameters.py | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/galaxy/tools/parameters/dynamic_options.py b/lib/galaxy/tools/parameters/dynamic_options.py index c70a385f27c..6e64e7cdef2 100644 --- a/lib/galaxy/tools/parameters/dynamic_options.py +++ b/lib/galaxy/tools/parameters/dynamic_options.py @@ -124,7 +124,6 @@ class DataMetaFilter( Filter ): if self.multiple: return dataset_value in file_value.split( self.separator ) return file_value == dataset_value - assert self.ref_name in other_values or ( trans is not None and trans.workflow_building_mode), "Required dependency '%s' not found in incoming values" % self.ref_name ref = other_values.get( self.ref_name, None ) is_data = isinstance( ref, galaxy.tools.wrappers.DatasetFilenameWrapper ) is_data_list = isinstance( ref, galaxy.tools.wrappers.DatasetListWrapper ) or isinstance( ref, list ) @@ -146,7 +145,7 @@ class DataMetaFilter( Filter ): else: meta_value = ref.metadata.get( self.key, None ) - if meta_value is None: # assert meta_value is not None, "Required metadata value '%s' not found in referenced dataset" % self.key + if meta_value is None: return [ ( disp_name, optval, selected ) for disp_name, optval, selected in options ] if self.column is not None: @@ -208,7 +207,6 @@ class ParamValueFilter( Filter ): def filter_options( self, options, trans, other_values ): if trans is not None and trans.workflow_building_mode: return [] - assert self.ref_name in other_values, "Required dependency '%s' not found in incoming values" % self.ref_name ref = other_values.get( self.ref_name, None ) for ref_attribute in self.ref_attribute: if not hasattr( ref, ref_attribute ): @@ -381,7 +379,6 @@ class RemoveValueFilter( Filter ): def filter_options( self, options, trans, other_values ): if trans is not None and trans.workflow_building_mode: return options - assert self.value is not None or ( self.ref_name is not None and self.ref_name in other_values ) or (self.meta_ref is not None and self.meta_ref in other_values ) or ( trans is not None and trans.workflow_building_mode), Exception( "Required dependency '%s' or '%s' not found in incoming values" % ( self.ref_name, self.meta_ref ) ) def compare_value( option_value, filter_value ): if isinstance( filter_value, list ): @@ -582,7 +579,6 @@ class DynamicOptions( object ): if self.dataset_ref_name: dataset = other_values.get( self.dataset_ref_name, None ) if not dataset or not hasattr( dataset, 'file_name' ): - log.warn( "Required dataset '%s' missing from input" % self.dataset_ref_name ) return [] # no valid dataset in history # Ensure parsing dynamic options does not consume more than a megabyte worth memory. path = dataset.file_name diff --git a/test/unit/tools/test_select_parameters.py b/test/unit/tools/test_select_parameters.py index 7eca591a0fa..fb6f4ccf763 100644 --- a/test/unit/tools/test_select_parameters.py +++ b/test/unit/tools/test_select_parameters.py @@ -20,8 +20,8 @@ class SelectToolParameterTestCase( BaseParameterTestCase ): self.options_xml = '''''' try: self.param.from_json("42", self.trans) - except AssertionError as err: - assert str(err) == "Required dependency 'input_bam' not found in incoming values" + except ValueError as err: + assert str(err) == "Parameter my_name requires a value, but has no legal values defined." return assert False