[3.11] gh-90095: Ignore empty lines and comments in .pdbrc (GH-116834) (#116855)

gh-90095: Ignore empty lines and comments in `.pdbrc` (GH-116834)
(cherry picked from commit a50cf6c3d7)

Co-authored-by: Tian Gao <gaogaotiantian@hotmail.com>
This commit is contained in:
Miss Islington (bot) 2024-03-15 10:55:44 +01:00 committed by GitHub
parent d83b4c570c
commit eaefa0b1f7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 26 additions and 2 deletions

View file

@ -269,7 +269,8 @@ is to use implicit string concatenation ``';'';'`` or ``";"";"``.
If a file :file:`.pdbrc` exists in the user's home directory or in the current
directory, it is read with ``'utf-8'`` encoding and executed as if it had been
typed at the debugger prompt. This is particularly useful for aliases. If both
typed at the debugger prompt, with the exception that empty lines and lines
starting with ``#`` are ignored. This is particularly useful for aliases. If both
files exist, the one in the home directory is read first and aliases defined there
can be overridden by the local file.

View file

@ -297,7 +297,10 @@ def setup(self, f, tb):
self.curframe_locals = self.curframe.f_locals
if self.rcLines:
self.cmdqueue = self.rcLines
self.cmdqueue = [
line for line in self.rcLines
if line.strip() and not line.strip().startswith("#")
]
self.rcLines = []
# Override Bdb methods

View file

@ -2061,8 +2061,27 @@ def test_pdbrc_basic(self):
""")
stdout, stderr = self.run_pdb_script(script, 'q\n', pdbrc=pdbrc, remove_home=True)
self.assertNotIn("SyntaxError", stdout)
self.assertIn("a+8=9", stdout)
def test_pdbrc_empty_line(self):
"""Test that empty lines in .pdbrc are ignored."""
script = textwrap.dedent("""
a = 1
b = 2
c = 3
""")
pdbrc = textwrap.dedent("""
n
""")
stdout, stderr = self.run_pdb_script(script, 'q\n', pdbrc=pdbrc, remove_home=True)
self.assertIn("b = 2", stdout)
self.assertNotIn("c = 3", stdout)
def test_pdbrc_alias(self):
script = textwrap.dedent("""
class A:

View file

@ -0,0 +1 @@
Ignore empty lines and comments in ``.pdbrc``