summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2012-04-22 07:16:39 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2012-04-22 07:16:39 (GMT)
commit243994dc2180e66c6c062a44a110c702727373ae (patch)
tree6d560f1f89d7f3759c80beeac385cb068be3e71e
parentce9bb9eaa057dbac9950baf3008e9e17c1390468 (diff)
parent37fc401188430149075c05315b00b0cf41ccb865 (diff)
downloadcpython-243994dc2180e66c6c062a44a110c702727373ae.zip
cpython-243994dc2180e66c6c062a44a110c702727373ae.tar.gz
cpython-243994dc2180e66c6c062a44a110c702727373ae.tar.bz2
Resolve #14026 (Merge from 3.2)
-rw-r--r--Lib/test/test_cmd_line_script.py11
-rw-r--r--Misc/NEWS3
2 files changed, 11 insertions, 3 deletions
diff --git a/Lib/test/test_cmd_line_script.py b/Lib/test/test_cmd_line_script.py
index 4d51ab6..77af347 100644
--- a/Lib/test/test_cmd_line_script.py
+++ b/Lib/test/test_cmd_line_script.py
@@ -13,6 +13,8 @@ from test.script_helper import (
verbose = support.verbose
+example_args = ['test1', 'test2', 'test3']
+
test_source = """\
# Script may be run with optimisation enabled, so don't rely on assert
# statements being executed
@@ -36,6 +38,9 @@ print('__package__==%r' % __package__)
# Check the sys module
import sys
assertIdentical(globals(), sys.modules[__name__].__dict__)
+from test import test_cmd_line_script
+example_args_list = test_cmd_line_script.example_args
+assertEqual(sys.argv[1:], example_args_list)
print('sys.argv[0]==%a' % sys.argv[0])
print('sys.path[0]==%a' % sys.path[0])
# Check the working directory
@@ -100,7 +105,7 @@ class CmdLineTest(unittest.TestCase):
*cmd_line_switches):
if not __debug__:
cmd_line_switches += ('-' + 'O' * sys.flags.optimize,)
- run_args = cmd_line_switches + (script_name,)
+ run_args = cmd_line_switches + (script_name,) + tuple(example_args)
rc, out, err = assert_python_ok(*run_args)
self._check_output(script_name, rc, out + err, expected_file,
expected_argv0, expected_path0, expected_package)
@@ -240,7 +245,7 @@ class CmdLineTest(unittest.TestCase):
pkg_dir = os.path.join(script_dir, 'test_pkg')
make_pkg(pkg_dir, "import sys; print('init_argv0==%r' % sys.argv[0])")
script_name = _make_test_script(pkg_dir, 'script')
- rc, out, err = assert_python_ok('-m', 'test_pkg.script')
+ rc, out, err = assert_python_ok('-m', 'test_pkg.script', *example_args)
if verbose > 1:
print(out)
expected = "init_argv0==%r" % '-m'
@@ -270,7 +275,7 @@ class CmdLineTest(unittest.TestCase):
with support.temp_cwd(path=script_dir):
with open("-m", "w") as f:
f.write("data")
- rc, out, err = assert_python_ok('-m', 'other')
+ rc, out, err = assert_python_ok('-m', 'other', *example_args)
self._check_output(script_name, rc, out,
script_name, script_name, '', '')
diff --git a/Misc/NEWS b/Misc/NEWS
index 732cd9b..975e684 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -146,6 +146,9 @@ Library
Tests
-----
+- Issue #14026: In test_cmd_line_script, check that sys.argv is populated
+ correctly for the various invocation approaches (Patch by Jason Yeo)
+
- Issue #14032: Fix incorrect variable name in test_cmd_line_script debugging
message (Patch by Jason Yeo)