[Python-checkins] cpython (merge default -> default): merge

brett.cannon python-checkins at python.org
Sun Apr 22 19:02:39 CEST 2012


http://hg.python.org/cpython/rev/9afdbef0622f
changeset: 76473:9afdbef0622f
parent: 76472:4e853913054c
parent: 76471:b3a565e9701e
user: Brett Cannon <brett at python.org>
date: Sun Apr 22 13:02:31 2012 -0400
summary:
 merge
files:
 Lib/os.py | 11 ++---------
 Lib/test/test_cmd_line_script.py | 11 ++++++++---
 Misc/NEWS | 3 +++
 3 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/Lib/os.py b/Lib/os.py
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -126,13 +126,6 @@
 umask(mask)
 return mode & ~mask
 
-def _are_same_file(stat1, stat2):
- """Helper function that checks whether two stat results refer to the same
- file.
- """
- return (stat1.st_ino == stat2.st_ino and stat1.st_dev == stat2.st_dev)
-#
-
 # Super directory utilities.
 # (Inspired by Eric Raymond; the doc strings are mostly his)
 
@@ -345,7 +338,7 @@
 topfd = open(top, O_RDONLY)
 try:
 if (followlinks or (st.S_ISDIR(orig_st.st_mode) and
- _are_same_file(orig_st, fstat(topfd)))):
+ path.samestat(orig_st, fstat(topfd)))):
 for x in _fwalk(topfd, top, topdown, onerror, followlinks):
 yield x
 finally:
@@ -382,7 +375,7 @@
 onerror(err)
 return
 try:
- if followlinks or _are_same_file(orig_st, fstat(dirfd)):
+ if followlinks or path.samestat(orig_st, fstat(dirfd)):
 dirpath = path.join(toppath, name)
 for x in _fwalk(dirfd, dirpath, topdown, onerror, followlinks):
 yield x
diff --git a/Lib/test/test_cmd_line_script.py b/Lib/test/test_cmd_line_script.py
--- a/Lib/test/test_cmd_line_script.py
+++ b/Lib/test/test_cmd_line_script.py
@@ -13,6 +13,8 @@
 
 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 @@
 # 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 @@
 *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 @@
 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 @@
 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
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -146,6 +146,9 @@
 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)
 
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

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