summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2010-08-04 11:48:56 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2010-08-04 11:48:56 (GMT)
commit62f68ed31f6ace44f524797787df2eb66ffb306c (patch)
tree9bec0d19f4231fa005e4d82cb2396cc9782fa242 /Lib/test
parentf96482e91a1e1806a3d17b18a1307bbd67d30c15 (diff)
downloadcpython-62f68ed31f6ace44f524797787df2eb66ffb306c.zip
cpython-62f68ed31f6ace44f524797787df2eb66ffb306c.tar.gz
cpython-62f68ed31f6ace44f524797787df2eb66ffb306c.tar.bz2
Factor out stripping of interpreter debug output in test.support.strip_python_stderr()
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/support.py10
-rw-r--r--Lib/test/test_subprocess.py2
-rw-r--r--Lib/test/test_threading.py4
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):