mirror of
https://github.com/python/cpython.git
synced 2025-08-02 16:13:13 +00:00
bpo-42383: pdb: do not fail to restart the target if the current directory changed (#23412)
This commit only adds tests and a news entry. The actual bug was fixed in the earlier commit.
This commit is contained in:
parent
f066bd94b9
commit
501d4a51e3
2 changed files with 25 additions and 0 deletions
|
@ -1703,6 +1703,29 @@ def bœr():
|
||||||
|
|
||||||
self.assertEqual(stdout.split('\n')[2].rstrip('\r'), expected)
|
self.assertEqual(stdout.split('\n')[2].rstrip('\r'), expected)
|
||||||
|
|
||||||
|
def test_issue42383(self):
|
||||||
|
with os_helper.temp_cwd() as cwd:
|
||||||
|
with open('foo.py', 'w') as f:
|
||||||
|
s = textwrap.dedent("""
|
||||||
|
print('The correct file was executed')
|
||||||
|
|
||||||
|
import os
|
||||||
|
os.chdir("subdir")
|
||||||
|
""")
|
||||||
|
f.write(s)
|
||||||
|
|
||||||
|
subdir = os.path.join(cwd, 'subdir')
|
||||||
|
os.mkdir(subdir)
|
||||||
|
os.mkdir(os.path.join(subdir, 'subdir'))
|
||||||
|
wrong_file = os.path.join(subdir, 'foo.py')
|
||||||
|
|
||||||
|
with open(wrong_file, 'w') as f:
|
||||||
|
f.write('print("The wrong file was executed")')
|
||||||
|
|
||||||
|
stdout, stderr = self._run_pdb(['foo.py'], 'c\nc\nq')
|
||||||
|
expected = '(Pdb) The correct file was executed'
|
||||||
|
self.assertEqual(stdout.split('\n')[6].rstrip('\r'), expected)
|
||||||
|
|
||||||
|
|
||||||
def load_tests(*args):
|
def load_tests(*args):
|
||||||
from test import test_pdb
|
from test import test_pdb
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Fix pdb: previously pdb would fail to restart the debugging target if it was
|
||||||
|
specified using a relative path and the current directory changed.
|
Loading…
Add table
Add a link
Reference in a new issue