Author: Armin Rigo <[email protected]>
Branch: py3.5
Changeset: r89551:5614377fb5fc
Date: 2017-01-13 18:42 +0100
http://bitbucket.org/pypy/pypy/changeset/5614377fb5fc/
Log: Really fix the test. Skip it in case there is a pypy-only mixture of
stdout and stderr
diff --git a/lib-python/3/test/test_cmd_line_script.py
b/lib-python/3/test/test_cmd_line_script.py
--- a/lib-python/3/test/test_cmd_line_script.py
+++ b/lib-python/3/test/test_cmd_line_script.py
@@ -188,11 +188,21 @@
stderr = p.stdout
try:
# Drain stderr until prompt
- while True:
- data = stderr.read(len(sys.ps1))
- if data == sys.ps1.encode('utf-8'):
- break
- stderr.readline()
+ if support.check_impl_detail(pypy=True):
+ ps1 = b">>>> "
+ # PyPy: the prompt is still printed to stdout, like it
+ # is in CPython 2.7. This messes up the logic below
+ # if stdout and stderr are different. Skip for now.
+ if separate_stderr:
+ self.skipTest("the prompt is still written to "
+ "stdout in pypy")
+ else:
+ ps1 = b">>> "
+ # logic fixed to support the case of lines that are shorter
+ # than len(ps1) characters
+ got = b""
+ while not got.endswith(ps1):
+ got += stderr.read(1)
yield p
finally:
kill_python(p)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit