Skip to content

Commit 0ec86f1

Browse files
committed
Add num_expected_failures stat to jsontests
1 parent 8452dbe commit 0ec86f1

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

tests/custom_text_test_runner.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ def startTestRun(self):
210210
'num_passed': 0,
211211
'num_failed': 0,
212212
'num_skipped': 0,
213+
'num_expected_failures': 0,
213214
'execution_time': None}
214215
self.suite_number = int(sorted(self.results['suites'].keys())[-1]) + 1 if len(self.results['suites']) else 0
215216
self.case_number = 0
@@ -264,12 +265,14 @@ def startTest(self, test):
264265
'num_passed': 0,
265266
'num_failed': 0,
266267
'num_skipped': 0,
268+
'num_expected_failures': 0,
267269
'execution_time': None}
268270
self.suite_number += 1
269271
self.num_cases = 0
270272
self.num_passed = 0
271273
self.num_failed = 0
272274
self.num_skipped = 0
275+
self.num_expected_failures = 0
273276
self.results['suites'][self.suite_map[self.suite]]['cases'][self.case_number] = {
274277
'name': self.case,
275278
'method': test._testMethodName,
@@ -306,10 +309,12 @@ def stopTest(self, test):
306309
self.results['suites'][self.suite_map[self.suite]]['num_passed'] = self.num_passed
307310
self.results['suites'][self.suite_map[self.suite]]['num_failed'] = self.num_failed
308311
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
309313
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)
310314
self.results['num_passed'] += self.num_passed
311315
self.results['num_failed'] += self.num_failed
312316
self.results['num_skipped'] += self.num_skipped
317+
self.results['num_expected_failures'] += self.num_expected_failures
313318
self.case_number += 1
314319

315320
def print_error_string(self, err):
@@ -375,7 +380,7 @@ def addExpectedFailure(self, test, err):
375380
self.stream.writeln("EXPECTED FAILURE")
376381
self.stream.flush()
377382
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
379384
self.addScreenshots(test)
380385

381386
def addUnexpectedSuccess(self, test):
@@ -406,6 +411,7 @@ def printOverallSuiteResults(self, r):
406411
'passed': r[x]['num_passed'],
407412
'failed': r[x]['num_failed'],
408413
'skipped': r[x]['num_skipped'],
414+
'expected_failures': r[x]['num_expected_failures'],
409415
'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,
410416
'time': r[x]['execution_time']})
411417
total_suites_passed = len([x for x in data if not x['failed']])

0 commit comments

Comments
 (0)