@@ -210,6 +210,7 @@ def startTestRun(self):
210
210
'num_passed' : 0 ,
211
211
'num_failed' : 0 ,
212
212
'num_skipped' : 0 ,
213
+ 'num_expected_failures' : 0 ,
213
214
'execution_time' : None }
214
215
self .suite_number = int (sorted (self .results ['suites' ].keys ())[- 1 ]) + 1 if len (self .results ['suites' ]) else 0
215
216
self .case_number = 0
@@ -264,12 +265,14 @@ def startTest(self, test):
264
265
'num_passed' : 0 ,
265
266
'num_failed' : 0 ,
266
267
'num_skipped' : 0 ,
268
+ 'num_expected_failures' : 0 ,
267
269
'execution_time' : None }
268
270
self .suite_number += 1
269
271
self .num_cases = 0
270
272
self .num_passed = 0
271
273
self .num_failed = 0
272
274
self .num_skipped = 0
275
+ self .num_expected_failures = 0
273
276
self .results ['suites' ][self .suite_map [self .suite ]]['cases' ][self .case_number ] = {
274
277
'name' : self .case ,
275
278
'method' : test ._testMethodName ,
@@ -306,10 +309,12 @@ def stopTest(self, test):
306
309
self .results ['suites' ][self .suite_map [self .suite ]]['num_passed' ] = self .num_passed
307
310
self .results ['suites' ][self .suite_map [self .suite ]]['num_failed' ] = self .num_failed
308
311
self .results ['suites' ][self .suite_map [self .suite ]]['num_skipped' ] = self .num_skipped
312
+ self .results ['suites' ][self .suite_map [self .suite ]]['num_expected_failures' ] = self .num_expected_failures
309
313
self .results ['suites' ][self .suite_map [self .suite ]]['cases' ][self .current_case_number ]['execution_time' ]= format (self .execution_time , '.%sf' % CustomTextTestResult ._execution_time_significant_digits )
310
314
self .results ['num_passed' ] += self .num_passed
311
315
self .results ['num_failed' ] += self .num_failed
312
316
self .results ['num_skipped' ] += self .num_skipped
317
+ self .results ['num_expected_failures' ] += self .num_expected_failures
313
318
self .case_number += 1
314
319
315
320
def print_error_string (self , err ):
@@ -375,7 +380,7 @@ def addExpectedFailure(self, test, err):
375
380
self .stream .writeln ("EXPECTED FAILURE" )
376
381
self .stream .flush ()
377
382
self .results ['suites' ][self .suite_map [self .suite ]]['cases' ][self .current_case_number ]['result' ] = 'expected_failure'
378
- self .num_passed += 1
383
+ self .num_expected_failures += 1
379
384
self .addScreenshots (test )
380
385
381
386
def addUnexpectedSuccess (self , test ):
@@ -406,6 +411,7 @@ def printOverallSuiteResults(self, r):
406
411
'passed' : r [x ]['num_passed' ],
407
412
'failed' : r [x ]['num_failed' ],
408
413
'skipped' : r [x ]['num_skipped' ],
414
+ 'expected_failures' : r [x ]['num_expected_failures' ],
409
415
'percentage' : float (r [x ]['num_passed' ])/ (r [x ]['num_passed' ] + r [x ]['num_failed' ]) * 100 if (r [x ]['num_passed' ] + r [x ]['num_failed' ]) > 0 else 0 ,
410
416
'time' : r [x ]['execution_time' ]})
411
417
total_suites_passed = len ([x for x in data if not x ['failed' ]])
0 commit comments