mirror of
https://github.com/python/cpython.git
synced 2026-01-05 23:12:38 +00:00
gh-80744: do not read .pdbrc twice when cwd == $home (#136816)
This commit is contained in:
parent
b8d3fddba6
commit
09044dd42b
3 changed files with 30 additions and 7 deletions
19
Lib/pdb.py
19
Lib/pdb.py
|
|
@ -391,17 +391,22 @@ def __init__(self, completekey='tab', stdin=None, stdout=None, skip=None,
|
|||
# Read ~/.pdbrc and ./.pdbrc
|
||||
self.rcLines = []
|
||||
if readrc:
|
||||
home_rcfile = os.path.expanduser("~/.pdbrc")
|
||||
local_rcfile = os.path.abspath(".pdbrc")
|
||||
|
||||
try:
|
||||
with open(os.path.expanduser('~/.pdbrc'), encoding='utf-8') as rcFile:
|
||||
self.rcLines.extend(rcFile)
|
||||
except OSError:
|
||||
pass
|
||||
try:
|
||||
with open(".pdbrc", encoding='utf-8') as rcFile:
|
||||
self.rcLines.extend(rcFile)
|
||||
with open(home_rcfile, encoding='utf-8') as rcfile:
|
||||
self.rcLines.extend(rcfile)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
if local_rcfile != home_rcfile:
|
||||
try:
|
||||
with open(local_rcfile, encoding='utf-8') as rcfile:
|
||||
self.rcLines.extend(rcfile)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
self.commands = {} # associates a command list to breakpoint numbers
|
||||
self.commands_defining = False # True while in the process of defining
|
||||
# a command list
|
||||
|
|
|
|||
|
|
@ -4093,6 +4093,23 @@ def test_readrc_homedir(self):
|
|||
f.write("invalid")
|
||||
self.assertEqual(pdb.Pdb().rcLines[0], "invalid")
|
||||
|
||||
def test_readrc_current_dir(self):
|
||||
with os_helper.temp_cwd() as cwd:
|
||||
rc_path = os.path.join(cwd, ".pdbrc")
|
||||
with open(rc_path, "w") as f:
|
||||
f.write("invalid")
|
||||
self.assertEqual(pdb.Pdb().rcLines[-1], "invalid")
|
||||
|
||||
def test_readrc_cwd_is_home(self):
|
||||
with os_helper.EnvironmentVarGuard() as env:
|
||||
env.unset("HOME")
|
||||
with os_helper.temp_cwd() as cwd, patch("os.path.expanduser"):
|
||||
rc_path = os.path.join(cwd, ".pdbrc")
|
||||
os.path.expanduser.return_value = rc_path
|
||||
with open(rc_path, "w") as f:
|
||||
f.write("invalid")
|
||||
self.assertEqual(pdb.Pdb().rcLines, ["invalid"])
|
||||
|
||||
def test_header(self):
|
||||
stdout = StringIO()
|
||||
header = 'Nobody expects... blah, blah, blah'
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
Fix issue where ``pdb`` would read a ``.pdbrc`` twice if launched from the home directory
|
||||
Loading…
Add table
Add a link
Reference in a new issue