@@ -220,6 +220,8 @@ def run_test(args, i, tests): # type: (argparse.Namespace, int, List[Dict[str,
220
220
except subprocess .CalledProcessError as err :
221
221
if err .returncode == UNSUPPORTED_FEATURE :
222
222
return TestResult (UNSUPPORTED_FEATURE , outstr , outerr , duration , args .classname )
223
+ elif t .get ("should_fail" , False ):
224
+ return TestResult (0 , outstr , outerr , duration , args .classname )
223
225
else :
224
226
_logger .error (u"""Test failed: %s""" , " " .join ([pipes .quote (tc ) for tc in test_command ]))
225
227
_logger .error (t .get ("doc" ))
@@ -237,6 +239,12 @@ def run_test(args, i, tests): # type: (argparse.Namespace, int, List[Dict[str,
237
239
238
240
fail_message = ''
239
241
242
+ if t .get ("should_fail" , False ):
243
+ _logger .warn (u"""Test failed: %s""" , " " .join ([pipes .quote (tc ) for tc in test_command ]))
244
+ _logger .warn (t .get ("doc" ))
245
+ _logger .warn (u"Returned zero but it should be non-zero" )
246
+ return TestResult (1 , outstr , outerr , duration , args .classname )
247
+
240
248
try :
241
249
compare (t .get ("output" ), out )
242
250
except CompareFail as ex :
0 commit comments