[Python-checkins] cpython: Issue #25220: Use print(flush=True) in libregrtest

victor.stinner python-checkins at python.org
Wed Sep 30 02:05:13 CEST 2015


https://hg.python.org/cpython/rev/7e07c51d8fc6
changeset:   98423:7e07c51d8fc6
user:        Victor Stinner <victor.stinner at gmail.com>
date:        Wed Sep 30 00:48:27 2015 +0200
summary:
  Issue #25220: Use print(flush=True) in libregrtest

files:
  Lib/test/libregrtest/main.py       |   7 +++----
  Lib/test/libregrtest/refleak.py    |  10 ++++------
  Lib/test/libregrtest/runtest.py    |  14 +++++---------
  Lib/test/libregrtest/runtest_mp.py |   9 +++------
  4 files changed, 15 insertions(+), 25 deletions(-)


diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py
--- a/Lib/test/libregrtest/main.py
+++ b/Lib/test/libregrtest/main.py
@@ -157,8 +157,8 @@
             return
         fmt = "[{1:{0}}{2}/{3}] {4}" if self.bad else "[{1:{0}}{2}] {4}"
         print(fmt.format(self.test_count_width, test_index,
-                         self.test_count, len(self.bad), test))
-        sys.stdout.flush()
+                         self.test_count, len(self.bad), test),
+              flush=True)
 
     def setup_regrtest(self):
         if self.ns.huntrleaks:
@@ -333,8 +333,7 @@
         if self.ns.verbose2 and self.bad:
             print("Re-running failed tests in verbose mode")
             for test in self.bad[:]:
-                print("Re-running test %r in verbose mode" % test)
-                sys.stdout.flush()
+                print("Re-running test %r in verbose mode" % test, flush=True)
                 try:
                     self.ns.verbose = True
                     ok = runtest(test, True, self.ns.quiet, self.ns.huntrleaks,
diff --git a/Lib/test/libregrtest/refleak.py b/Lib/test/libregrtest/refleak.py
--- a/Lib/test/libregrtest/refleak.py
+++ b/Lib/test/libregrtest/refleak.py
@@ -44,13 +44,12 @@
     alloc_deltas = [0] * repcount
 
     print("beginning", repcount, "repetitions", file=sys.stderr)
-    print(("1234567890"*(repcount//10 + 1))[:repcount], file=sys.stderr)
-    sys.stderr.flush()
+    print(("1234567890"*(repcount//10 + 1))[:repcount], file=sys.stderr,
+          flush=True)
     for i in range(repcount):
         indirect_test()
         alloc_after, rc_after = dash_R_cleanup(fs, ps, pic, zdc, abcs)
-        sys.stderr.write('.')
-        sys.stderr.flush()
+        print('.', end='', flush=True)
         if i >= nwarmup:
             rc_deltas[i] = rc_after - rc_before
             alloc_deltas[i] = alloc_after - alloc_before
@@ -74,8 +73,7 @@
         if checker(deltas):
             msg = '%s leaked %s %s, sum=%s' % (
                 test, deltas[nwarmup:], item_name, sum(deltas))
-            print(msg, file=sys.stderr)
-            sys.stderr.flush()
+            print(msg, file=sys.stderr, flush=True)
             with open(fname, "a") as refrep:
                 print(msg, file=refrep)
                 refrep.flush()
diff --git a/Lib/test/libregrtest/runtest.py b/Lib/test/libregrtest/runtest.py
--- a/Lib/test/libregrtest/runtest.py
+++ b/Lib/test/libregrtest/runtest.py
@@ -161,27 +161,23 @@
             test_time = time.time() - start_time
     except support.ResourceDenied as msg:
         if not quiet:
-            print(test, "skipped --", msg)
-            sys.stdout.flush()
+            print(test, "skipped --", msg, flush=True)
         return RESOURCE_DENIED, test_time
     except unittest.SkipTest as msg:
         if not quiet:
-            print(test, "skipped --", msg)
-            sys.stdout.flush()
+            print(test, "skipped --", msg, flush=True)
         return SKIPPED, test_time
     except KeyboardInterrupt:
         raise
     except support.TestFailed as msg:
         if display_failure:
-            print("test", test, "failed --", msg, file=sys.stderr)
+            print("test", test, "failed --", msg, file=sys.stderr, flush=True)
         else:
-            print("test", test, "failed", file=sys.stderr)
-        sys.stderr.flush()
+            print("test", test, "failed", file=sys.stderr, flush=True)
         return FAILED, test_time
     except:
         msg = traceback.format_exc()
-        print("test", test, "crashed --", msg, file=sys.stderr)
-        sys.stderr.flush()
+        print("test", test, "crashed --", msg, file=sys.stderr, flush=True)
         return FAILED, test_time
     else:
         if refleak:
diff --git a/Lib/test/libregrtest/runtest_mp.py b/Lib/test/libregrtest/runtest_mp.py
--- a/Lib/test/libregrtest/runtest_mp.py
+++ b/Lib/test/libregrtest/runtest_mp.py
@@ -70,9 +70,8 @@
     except BaseException as e:
         traceback.print_exc()
         result = CHILD_ERROR, str(e)
-    sys.stdout.flush()
     print()   # Force a newline (just in case)
-    print(json.dumps(result))
+    print(json.dumps(result), flush=True)
     sys.exit(0)
 
 
@@ -184,11 +183,9 @@
 
             # Copy stdout and stderr from the child process
             if stdout:
-                print(stdout)
+                print(stdout, flush=True)
             if stderr:
-                print(stderr, file=sys.stderr)
-            sys.stdout.flush()
-            sys.stderr.flush()
+                print(stderr, file=sys.stderr, flush=True)
 
             if result[0] == INTERRUPTED:
                 raise KeyboardInterrupt

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list