summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorBerker Peksag <berker.peksag@gmail.com>2014-07-07 11:58:12 (GMT)
committerBerker Peksag <berker.peksag@gmail.com>2014-07-07 11:58:12 (GMT)
commit0a0d1da987118e11bc9c28937817facdcc9801cb (patch)
tree9b2398c6bb7b2a6bebc5e3082048b570a515a12b /Lib
parent344f8316fd52205b19689dbdf44cfcfb338d127e (diff)
downloadcpython-0a0d1da987118e11bc9c28937817facdcc9801cb.zip
cpython-0a0d1da987118e11bc9c28937817facdcc9801cb.tar.gz
cpython-0a0d1da987118e11bc9c28937817facdcc9801cb.tar.bz2
Issue #21707: Add missing kwonlyargcount argument to ModuleFinder.replace_paths_in_code().
Diffstat (limited to 'Lib')
-rw-r--r--Lib/modulefinder.py11
-rw-r--r--Lib/test/test_modulefinder.py16
2 files changed, 18 insertions, 9 deletions
diff --git a/Lib/modulefinder.py b/Lib/modulefinder.py
index cc5b8cc..b778e60 100644
--- a/Lib/modulefinder.py
+++ b/Lib/modulefinder.py
@@ -568,11 +568,12 @@ class ModuleFinder:
if isinstance(consts[i], type(co)):
consts[i] = self.replace_paths_in_code(consts[i])
- return types.CodeType(co.co_argcount, co.co_nlocals, co.co_stacksize,
- co.co_flags, co.co_code, tuple(consts), co.co_names,
- co.co_varnames, new_filename, co.co_name,
- co.co_firstlineno, co.co_lnotab,
- co.co_freevars, co.co_cellvars)
+ return types.CodeType(co.co_argcount, co.co_kwonlyargcount,
+ co.co_nlocals, co.co_stacksize, co.co_flags,
+ co.co_code, tuple(consts), co.co_names,
+ co.co_varnames, new_filename, co.co_name,
+ co.co_firstlineno, co.co_lnotab, co.co_freevars,
+ co.co_cellvars)
def test():
diff --git a/Lib/test/test_modulefinder.py b/Lib/test/test_modulefinder.py
index ed30d6f..b5fdcc8 100644
--- a/Lib/test/test_modulefinder.py
+++ b/Lib/test/test_modulefinder.py
@@ -245,11 +245,12 @@ def create_package(source):
class ModuleFinderTest(unittest.TestCase):
- def _do_test(self, info, report=False):
+ def _do_test(self, info, report=False, debug=0, replace_paths=[]):
import_this, modules, missing, maybe_missing, source = info
create_package(source)
try:
- mf = modulefinder.ModuleFinder(path=TEST_PATH)
+ mf = modulefinder.ModuleFinder(path=TEST_PATH, debug=debug,
+ replace_paths=replace_paths)
mf.import_hook(import_this)
if report:
mf.report()
@@ -308,9 +309,16 @@ class ModuleFinderTest(unittest.TestCase):
os.remove(source_path)
self._do_test(bytecode_test)
+ def test_replace_paths(self):
+ old_path = os.path.join(TEST_DIR, 'a', 'module.py')
+ new_path = os.path.join(TEST_DIR, 'a', 'spam.py')
+ with support.captured_stdout() as output:
+ self._do_test(maybe_test, debug=2,
+ replace_paths=[(old_path, new_path)])
+ output = output.getvalue()
+ expected = "co_filename '%s' changed to '%s'" % (old_path, new_path)
+ self.assertIn(expected, output)
-def test_main():
- support.run_unittest(ModuleFinderTest)
if __name__ == "__main__":
unittest.main()