summaryrefslogtreecommitdiffstats
path: root/Lib/unittest/runner.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2021-12-04 18:57:20 (GMT)
committerGitHub <noreply@github.com>2021-12-04 18:57:20 (GMT)
commitf42a06ba279c916fb67289e47f9bc60dc5dee4ee (patch)
tree448bcd0c11fc1089de6a6dc9a4964092b1f2932a /Lib/unittest/runner.py
parent87a18deda43a9e512e8ca85daf363e9924f6db5f (diff)
downloadcpython-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.py6
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