From 80184b52f5ca11ca9c0c67f1f658a02c59bbbb59 Mon Sep 17 00:00:00 2001 From: Daniel Blankenberg Date: Tue, 9 Mar 2010 14:28:33 -0500 Subject: [PATCH] Allow better testing of tool outputs with an unknown number of dynamically created outputs. --- test/functional/test_toolbox.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/test/functional/test_toolbox.py b/test/functional/test_toolbox.py index f07531568fc..d98c8a2cea7 100644 --- a/test/functional/test_toolbox.py +++ b/test/functional/test_toolbox.py @@ -53,6 +53,11 @@ class ToolTestCase( TwillTestCase ): if isinstance( input_value, grouping.Repeat ): repeat_name = input_name break + #check if we need to verify number of outputs created dynamically by tool + if testdef.tool.force_history_refresh: + job_finish_by_output_count = len( self.get_history_as_data_list() ) + else: + job_finish_by_output_count = False # Do the first page page_inputs = self.__expand_grouping(testdef.tool.inputs_by_page[0], all_inputs) # Run the tool @@ -65,7 +70,11 @@ class ToolTestCase( TwillTestCase ): print "page_inputs (%i)" % i, page_inputs # Check the results ( handles single or multiple tool outputs ). Make sure to pass the correct hid. # The output datasets from the tool should be in the same order as the testdef.outputs. - data_list = self.get_history_as_data_list() + data_list = None + while data_list is None: + data_list = self.get_history_as_data_list() + if job_finish_by_output_count and len( testdef.outputs ) > ( len( data_list ) - job_finish_by_output_count ): + data_list = None self.assertTrue( data_list ) elem_index = 0 - len( testdef.outputs ) for output_tuple in testdef.outputs: