bpo-34185: Fix test module collision in test_bdb when ran as script. (GH-8537)
When running test_bdb.py as a script, `import test_module` would be
importing the existing Lib/test/test_modules.py instead of the
tempcwd/test_module.py module which was dynamically created by
test_bdb.py itself.
(cherry picked from commit 54fd45505b
)
Co-authored-by: Alex H <1884912+lajarre@users.noreply.github.com>
This commit is contained in:
parent
e2f376f284
commit
c7c4e938b9
|
@ -549,11 +549,11 @@ def create_modules(modules):
|
|||
def break_in_func(funcname, fname=__file__, temporary=False, cond=None):
|
||||
return 'break', (fname, None, temporary, cond, funcname)
|
||||
|
||||
TEST_MODULE = 'test_module'
|
||||
TEST_MODULE = 'test_module_for_bdb'
|
||||
TEST_MODULE_FNAME = TEST_MODULE + '.py'
|
||||
def tfunc_import():
|
||||
import test_module
|
||||
test_module.main()
|
||||
import test_module_for_bdb
|
||||
test_module_for_bdb.main()
|
||||
|
||||
def tfunc_main():
|
||||
lno = 2
|
||||
|
@ -971,9 +971,9 @@ class RunTestCase(BaseTestCase):
|
|||
('return', 3, 'main'), ('step', ),
|
||||
('return', 1, '<module>'), ('quit', ),
|
||||
]
|
||||
import test_module
|
||||
import test_module_for_bdb
|
||||
with TracerRun(self) as tracer:
|
||||
tracer.runeval('test_module.main()', globals(), locals())
|
||||
tracer.runeval('test_module_for_bdb.main()', globals(), locals())
|
||||
|
||||
class IssuesTestCase(BaseTestCase):
|
||||
"""Test fixed bdb issues."""
|
||||
|
@ -983,7 +983,7 @@ class IssuesTestCase(BaseTestCase):
|
|||
# Check that the tracer does step into the caller frame when the
|
||||
# trace function is not set in that frame.
|
||||
code_1 = """
|
||||
from test_module_2 import func
|
||||
from test_module_for_bdb_2 import func
|
||||
def main():
|
||||
func()
|
||||
lno = 5
|
||||
|
@ -994,12 +994,12 @@ class IssuesTestCase(BaseTestCase):
|
|||
"""
|
||||
modules = {
|
||||
TEST_MODULE: code_1,
|
||||
'test_module_2': code_2,
|
||||
'test_module_for_bdb_2': code_2,
|
||||
}
|
||||
with create_modules(modules):
|
||||
self.expect_set = [
|
||||
('line', 2, 'tfunc_import'),
|
||||
break_in_func('func', 'test_module_2.py'),
|
||||
break_in_func('func', 'test_module_for_bdb_2.py'),
|
||||
('None', 2, 'tfunc_import'), ('continue', ),
|
||||
('line', 3, 'func', ({1:1}, [])), ('step', ),
|
||||
('return', 3, 'func'), ('step', ),
|
||||
|
|
Loading…
Reference in New Issue