diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2010-08-04 11:48:56 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2010-08-04 11:48:56 (GMT) |
commit | 62f68ed31f6ace44f524797787df2eb66ffb306c (patch) | |
tree | 9bec0d19f4231fa005e4d82cb2396cc9782fa242 | |
parent | f96482e91a1e1806a3d17b18a1307bbd67d30c15 (diff) | |
download | cpython-62f68ed31f6ace44f524797787df2eb66ffb306c.zip cpython-62f68ed31f6ace44f524797787df2eb66ffb306c.tar.gz cpython-62f68ed31f6ace44f524797787df2eb66ffb306c.tar.bz2 |
Factor out stripping of interpreter debug output in test.support.strip_python_stderr()
-rw-r--r-- | Lib/test/support.py | 10 | ||||
-rw-r--r-- | Lib/test/test_subprocess.py | 2 | ||||
-rw-r--r-- | Lib/test/test_threading.py | 4 |
3 files changed, 13 insertions, 3 deletions
diff --git a/Lib/test/support.py b/Lib/test/support.py index 558fbc2..0372f16 100644 --- a/Lib/test/support.py +++ b/Lib/test/support.py @@ -1243,3 +1243,13 @@ def swap_item(obj, item, new_val): yield finally: del obj[item] + +def strip_python_stderr(stderr): + """Strip the stderr of a Python process from potential debug output + emitted by the interpreter. + + This will typically be run on the result of the communicate() method + of a subprocess.Popen object. + """ + stderr = re.sub(br"\[\d+ refs\]\r?\n?$", b"", stderr).strip() + return stderr diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index e6ba8cb..eb0f5d7 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -53,7 +53,7 @@ class BaseTestCase(unittest.TestCase): # In a debug build, stuff like "[6580 refs]" is printed to stderr at # shutdown time. That frustrates tests trying to check stderr produced # from a spawned Python process. - actual = re.sub("\[\d+ refs\]\r?\n?$", "", stderr.decode()).encode() + actual = support.strip_python_stderr(stderr) self.assertEqual(actual, expected, msg) diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py index bf9f90d..39c5a17 100644 --- a/Lib/test/test_threading.py +++ b/Lib/test/test_threading.py @@ -1,7 +1,7 @@ # Very rudimentary test of threading module import test.support -from test.support import verbose +from test.support import verbose, strip_python_stderr import random import re import sys @@ -350,7 +350,7 @@ class ThreadTests(BaseTestCase): stdout, stderr = p.communicate() self.assertEqual(stdout.strip(), b"Woke up, sleep function is: <built-in function sleep>") - stderr = re.sub(br"^\[\d+ refs\]", b"", stderr, re.MULTILINE).strip() + stderr = strip_python_stderr(stderr) self.assertEqual(stderr, b"") def test_enumerate_after_join(self): |