mirror of https://github.com/python/cpython.git
bpo-31676: Fix test_imp.test_load_source() side effect (#3871)
test_load_source() now replaces the current __name__ module with a temporary module to prevent side effects.
This commit is contained in:
parent
a99121526a
commit
a505ecdc50
|
@ -310,8 +310,13 @@ def test_multiple_calls_to_get_data(self):
|
||||||
loader.get_data(imp.__file__) # Will need to create a newly opened file
|
loader.get_data(imp.__file__) # Will need to create a newly opened file
|
||||||
|
|
||||||
def test_load_source(self):
|
def test_load_source(self):
|
||||||
with self.assertRaisesRegex(ValueError, 'embedded null'):
|
# Create a temporary module since load_source(name) modifies
|
||||||
imp.load_source(__name__, __file__ + "\0")
|
# sys.modules[name] attributes like __loader___
|
||||||
|
modname = f"tmp{__name__}"
|
||||||
|
mod = type(sys.modules[__name__])(modname)
|
||||||
|
with support.swap_item(sys.modules, modname, mod):
|
||||||
|
with self.assertRaisesRegex(ValueError, 'embedded null'):
|
||||||
|
imp.load_source(modname, __file__ + "\0")
|
||||||
|
|
||||||
@support.cpython_only
|
@support.cpython_only
|
||||||
def test_issue31315(self):
|
def test_issue31315(self):
|
||||||
|
|
Loading…
Reference in New Issue