mirror of https://github.com/python/cpython
Merge heads
This commit is contained in:
commit
11116da935
|
@ -568,11 +568,12 @@ class ModuleFinder:
|
||||||
if isinstance(consts[i], type(co)):
|
if isinstance(consts[i], type(co)):
|
||||||
consts[i] = self.replace_paths_in_code(consts[i])
|
consts[i] = self.replace_paths_in_code(consts[i])
|
||||||
|
|
||||||
return types.CodeType(co.co_argcount, co.co_nlocals, co.co_stacksize,
|
return types.CodeType(co.co_argcount, co.co_kwonlyargcount,
|
||||||
co.co_flags, co.co_code, tuple(consts), co.co_names,
|
co.co_nlocals, co.co_stacksize, co.co_flags,
|
||||||
co.co_varnames, new_filename, co.co_name,
|
co.co_code, tuple(consts), co.co_names,
|
||||||
co.co_firstlineno, co.co_lnotab,
|
co.co_varnames, new_filename, co.co_name,
|
||||||
co.co_freevars, co.co_cellvars)
|
co.co_firstlineno, co.co_lnotab, co.co_freevars,
|
||||||
|
co.co_cellvars)
|
||||||
|
|
||||||
|
|
||||||
def test():
|
def test():
|
||||||
|
|
|
@ -245,11 +245,12 @@ def create_package(source):
|
||||||
|
|
||||||
|
|
||||||
class ModuleFinderTest(unittest.TestCase):
|
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
|
import_this, modules, missing, maybe_missing, source = info
|
||||||
create_package(source)
|
create_package(source)
|
||||||
try:
|
try:
|
||||||
mf = modulefinder.ModuleFinder(path=TEST_PATH)
|
mf = modulefinder.ModuleFinder(path=TEST_PATH, debug=debug,
|
||||||
|
replace_paths=replace_paths)
|
||||||
mf.import_hook(import_this)
|
mf.import_hook(import_this)
|
||||||
if report:
|
if report:
|
||||||
mf.report()
|
mf.report()
|
||||||
|
@ -308,9 +309,16 @@ class ModuleFinderTest(unittest.TestCase):
|
||||||
os.remove(source_path)
|
os.remove(source_path)
|
||||||
self._do_test(bytecode_test)
|
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__":
|
if __name__ == "__main__":
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
|
@ -27,6 +27,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #21707: Add missing kwonlyargcount argument to
|
||||||
|
ModuleFinder.replace_paths_in_code().
|
||||||
|
|
||||||
- Issue #20639: calling Path.with_suffix('') allows removing the suffix
|
- Issue #20639: calling Path.with_suffix('') allows removing the suffix
|
||||||
again. Patch by July Tikhonov.
|
again. Patch by July Tikhonov.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue