diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2021-12-04 18:57:20 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-04 18:57:20 (GMT) |
commit | f42a06ba279c916fb67289e47f9bc60dc5dee4ee (patch) | |
tree | 448bcd0c11fc1089de6a6dc9a4964092b1f2932a /Lib/unittest/runner.py | |
parent | 87a18deda43a9e512e8ca85daf363e9924f6db5f (diff) | |
download | cpython-f42a06ba279c916fb67289e47f9bc60dc5dee4ee.zip cpython-f42a06ba279c916fb67289e47f9bc60dc5dee4ee.tar.gz cpython-f42a06ba279c916fb67289e47f9bc60dc5dee4ee.tar.bz2 |
bpo-13236: Flush the output stream more often in unittest (GH-29864)
It can prevent some losses when output to buffered stream.
Diffstat (limited to 'Lib/unittest/runner.py')
-rw-r--r-- | Lib/unittest/runner.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Lib/unittest/runner.py b/Lib/unittest/runner.py index b51def8..120ee6a 100644 --- a/Lib/unittest/runner.py +++ b/Lib/unittest/runner.py @@ -68,6 +68,7 @@ class TextTestResult(result.TestResult): self.stream.write(self.getDescription(test)) self.stream.write(" ... ") self.stream.writeln(status) + self.stream.flush() self._newline = True def addSubTest(self, test, subtest, err): @@ -121,6 +122,7 @@ class TextTestResult(result.TestResult): super(TextTestResult, self).addExpectedFailure(test, err) if self.showAll: self.stream.writeln("expected failure") + self.stream.flush() elif self.dots: self.stream.write("x") self.stream.flush() @@ -129,6 +131,7 @@ class TextTestResult(result.TestResult): super(TextTestResult, self).addUnexpectedSuccess(test) if self.showAll: self.stream.writeln("unexpected success") + self.stream.flush() elif self.dots: self.stream.write("u") self.stream.flush() @@ -136,6 +139,7 @@ class TextTestResult(result.TestResult): def printErrors(self): if self.dots or self.showAll: self.stream.writeln() + self.stream.flush() self.printErrorList('ERROR', self.errors) self.printErrorList('FAIL', self.failures) @@ -145,6 +149,7 @@ class TextTestResult(result.TestResult): self.stream.writeln("%s: %s" % (flavour,self.getDescription(test))) self.stream.writeln(self.separator2) self.stream.writeln("%s" % err) + self.stream.flush() class TextTestRunner(object): @@ -239,4 +244,5 @@ class TextTestRunner(object): self.stream.writeln(" (%s)" % (", ".join(infos),)) else: self.stream.write("\n") + self.stream.flush() return result |