2929_logger .setLevel (logging .INFO )
3030
3131UNSUPPORTED_FEATURE = 33
32-
32+ RUNTIME = sys . version_info . major
3333
3434class CompareFail (Exception ):
3535
@@ -48,20 +48,21 @@ class TestResult(object):
4848
4949 """Encapsulate relevant test result data."""
5050
51- def __init__ (self , return_code , standard_output , error_output , duration , message = '' ):
52- # type: (int, Text, Text, float, str) -> None
51+ def __init__ (self , return_code , standard_output , error_output , duration , classname , message = '' ):
52+ # type: (int, Text, Text, float, Text, str) -> None
5353 self .return_code = return_code
5454 self .standard_output = standard_output
5555 self .error_output = error_output
5656 self .duration = duration
5757 self .message = message
58+ self .classname = classname
5859
5960 def create_test_case (self , test ):
6061 # type: (Dict[Text, Any]) -> junit_xml.TestCase
6162 doc = test .get (u'doc' , 'N/A' ).strip ()
6263 case = junit_xml .TestCase (
63- doc , elapsed_sec = self .duration ,
64- stdout = self .standard_output , stderr = self .error_output
64+ doc , elapsed_sec = self .duration , classname = self . classname ,
65+ stdout = self .standard_output , stderr = self .error_output ,
6566 )
6667 if self .return_code > 0 :
6768 case .failure_message = self .message
@@ -218,13 +219,13 @@ def run_test(args, i, tests): # type: (argparse.Namespace, int, List[Dict[str,
218219 _logger .error (outerr )
219220 except subprocess .CalledProcessError as err :
220221 if err .returncode == UNSUPPORTED_FEATURE :
221- return TestResult (UNSUPPORTED_FEATURE , outstr , outerr , duration )
222+ return TestResult (UNSUPPORTED_FEATURE , outstr , outerr , duration , args . classname )
222223 else :
223224 _logger .error (u"""Test failed: %s""" , " " .join ([pipes .quote (tc ) for tc in test_command ]))
224225 _logger .error (t .get ("doc" ))
225226 _logger .error ("Returned non-zero" )
226227 _logger .error (outerr )
227- return TestResult (1 , outstr , outerr , duration , str (err ))
228+ return TestResult (1 , outstr , outerr , duration , args . classname , str (err ))
228229 except (yamlscanner .ScannerError , TypeError ) as e :
229230 _logger .error (u"""Test failed: %s""" , " " .join ([pipes .quote (tc ) for tc in test_command ]))
230231 _logger .error (outstr )
@@ -247,7 +248,7 @@ def run_test(args, i, tests): # type: (argparse.Namespace, int, List[Dict[str,
247248 if outdir :
248249 shutil .rmtree (outdir , True )
249250
250- return TestResult ((1 if fail_message else 0 ), outstr , outerr , duration , fail_message )
251+ return TestResult ((1 if fail_message else 0 ), outstr , outerr , duration , args . classname , fail_message )
251252
252253
253254def main (): # type: () -> int
@@ -267,6 +268,7 @@ def main(): # type: () -> int
267268 parser .add_argument ("-j" , type = int , default = 1 , help = "Specifies the number of tests to run simultaneously "
268269 "(defaults to one)." )
269270 parser .add_argument ("--verbose" , action = "store_true" , help = "More verbose output during test run." )
271+ parser .add_argument ("--classname" , type = str , default = "" , help = "Specify classname for the Test Suite." )
270272
271273 args = parser .parse_args ()
272274 if '--' in args .args :
0 commit comments