[Python-checkins] cpython (3.5): Issue #18300: Set TERM='' by default in assert_python_*

berker.peksag python-checkins at python.org
Fri Jun 24 02:28:04 EDT 2016


https://hg.python.org/cpython/rev/983fe8f96b08
changeset: 102151:983fe8f96b08
branch: 3.5
parent: 102149:79e4593ce746
user: Berker Peksag <berker.peksag at gmail.com>
date: Fri Jun 24 09:28:50 2016 +0300
summary:
 Issue #18300: Set TERM='' by default in assert_python_*
files:
 Lib/test/support/script_helper.py | 4 +++
 Lib/test/test_doctest.py | 24 +++++++-----------
 2 files changed, 13 insertions(+), 15 deletions(-)
diff --git a/Lib/test/support/script_helper.py b/Lib/test/support/script_helper.py
--- a/Lib/test/support/script_helper.py
+++ b/Lib/test/support/script_helper.py
@@ -73,6 +73,10 @@
 # Need to preserve the original environment, for in-place testing of
 # shared library builds.
 env = os.environ.copy()
+ # set TERM='' unless the TERM environment variable is passed explicitly
+ # see issues #11390 and #18300
+ if 'TERM' not in env_vars:
+ env['TERM'] = ''
 # But a special flag that can be set to override -- in this case, the
 # caller is responsible to pass the full environment.
 if env_vars.pop('__cleanenv', None):
diff --git a/Lib/test/test_doctest.py b/Lib/test/test_doctest.py
--- a/Lib/test/test_doctest.py
+++ b/Lib/test/test_doctest.py
@@ -2719,12 +2719,6 @@
 >>> def normalize(s):
 ... return '\n'.join(s.decode().splitlines())
 
-Note: we also pass TERM='' to all the assert_python calls to avoid a bug
-in the readline library that is triggered in these tests because we are
-running them in a new python process. See:
-
- http://lists.gnu.org/archive/html/bug-readline/2013-06/msg00000.html
-
 With those preliminaries out of the way, we'll start with a file with two
 simple tests and no errors. We'll run both the unadorned doctest command, and
 the verbose version, and then check the output:
@@ -2741,9 +2735,9 @@
 ... _ = f.write('\n')
 ... _ = f.write('And that is it.\n')
 ... rc1, out1, err1 = script_helper.assert_python_ok(
- ... '-m', 'doctest', fn, TERM='')
+ ... '-m', 'doctest', fn)
 ... rc2, out2, err2 = script_helper.assert_python_ok(
- ... '-m', 'doctest', '-v', fn, TERM='')
+ ... '-m', 'doctest', '-v', fn)
 
 With no arguments and passing tests, we should get no output:
 
@@ -2806,17 +2800,17 @@
 ... _ = f.write(' \"\"\"\n')
 ... import shutil
 ... rc1, out1, err1 = script_helper.assert_python_failure(
- ... '-m', 'doctest', fn, fn2, TERM='')
+ ... '-m', 'doctest', fn, fn2)
 ... rc2, out2, err2 = script_helper.assert_python_ok(
- ... '-m', 'doctest', '-o', 'ELLIPSIS', fn, TERM='')
+ ... '-m', 'doctest', '-o', 'ELLIPSIS', fn)
 ... rc3, out3, err3 = script_helper.assert_python_ok(
 ... '-m', 'doctest', '-o', 'ELLIPSIS',
- ... '-o', 'NORMALIZE_WHITESPACE', fn, fn2, TERM='')
+ ... '-o', 'NORMALIZE_WHITESPACE', fn, fn2)
 ... rc4, out4, err4 = script_helper.assert_python_failure(
- ... '-m', 'doctest', '-f', fn, fn2, TERM='')
+ ... '-m', 'doctest', '-f', fn, fn2)
 ... rc5, out5, err5 = script_helper.assert_python_ok(
 ... '-m', 'doctest', '-v', '-o', 'ELLIPSIS',
- ... '-o', 'NORMALIZE_WHITESPACE', fn, fn2, TERM='')
+ ... '-o', 'NORMALIZE_WHITESPACE', fn, fn2)
 
 Our first test run will show the errors from the first file (doctest stops if a
 file has errors). Note that doctest test-run error output appears on stdout,
@@ -2922,7 +2916,7 @@
 Invalid file name:
 
 >>> rc, out, err = script_helper.assert_python_failure(
- ... '-m', 'doctest', 'nosuchfile', TERM='')
+ ... '-m', 'doctest', 'nosuchfile')
 >>> rc, out
 (1, b'')
 >>> print(normalize(err)) # doctest: +ELLIPSIS
@@ -2933,7 +2927,7 @@
 Invalid doctest option:
 
 >>> rc, out, err = script_helper.assert_python_failure(
- ... '-m', 'doctest', '-o', 'nosuchoption', TERM='')
+ ... '-m', 'doctest', '-o', 'nosuchoption')
 >>> rc, out
 (2, b'')
 >>> print(normalize(err)) # doctest: +ELLIPSIS
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /