test: runner should return 0 on flaky tests

Make the test runner return a 0 exit code when only
flaky tests fail and --flaky-tests=dontcare is specified.

Ported from a9b642cf5b

PR-URL: https://github.com/nodejs/node/pull/2424
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
This commit is contained in:
Alexis Campailla 2015-07-07 22:48:26 +02:00
parent c8caf8d616
commit 8c41b9a826

View File

@ -75,7 +75,9 @@ class ProgressIndicator(object):
self.remaining = len(cases) self.remaining = len(cases)
self.total = len(cases) self.total = len(cases)
self.failed = [ ] self.failed = [ ]
self.flaky_failed = [ ]
self.crashed = 0 self.crashed = 0
self.flaky_crashed = 0
self.lock = threading.Lock() self.lock = threading.Lock()
self.shutdown_event = threading.Event() self.shutdown_event = threading.Event()
@ -143,9 +145,14 @@ class ProgressIndicator(object):
return return
self.lock.acquire() self.lock.acquire()
if output.UnexpectedOutput(): if output.UnexpectedOutput():
self.failed.append(output) if FLAKY in output.test.outcomes and self.flaky_tests_mode == DONTCARE:
if output.HasCrashed(): self.flaky_failed.append(output)
self.crashed += 1 if output.HasCrashed():
self.flaky_crashed += 1
else:
self.failed.append(output)
if output.HasCrashed():
self.crashed += 1
else: else:
self.succeeded += 1 self.succeeded += 1
self.remaining -= 1 self.remaining -= 1