gh-87115: Set __main__.__spec__ to None in pdb (#116141)

This commit is contained in:
Tian Gao 2024-02-29 13:39:50 -08:00 committed by GitHub
parent 556749c3e3
commit ccfc042bbf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 14 additions and 0 deletions

View file

@ -188,6 +188,7 @@ class _ScriptTarget(str):
__name__='__main__',
__file__=self,
__builtins__=__builtins__,
__spec__=None,
)
@property

View file

@ -2695,6 +2695,18 @@ def bœr():
('bœr', 2),
)
def test_spec(self):
# Test that __main__.__spec__ is set to None when running a script
script = """
import __main__
print(__main__.__spec__)
"""
commands = "continue"
stdout, _ = self.run_pdb_script(script, commands)
self.assertIn('None', stdout)
def test_find_function_first_executable_line(self):
code = textwrap.dedent("""\
def foo(): pass

View file

@ -0,0 +1 @@
Set ``__main__.__spec__`` to ``None`` when running a script with :mod:`pdb`