mirror of https://github.com/python/cpython.git
Implemented suggested improvements for pdb test by Éric Araujo
This commit is contained in:
parent
2bc1e8fbf2
commit
77cd258550
|
@ -280,35 +280,36 @@ def test_pdb_continue_in_bottomframe():
|
|||
4
|
||||
"""
|
||||
|
||||
class Tester7750(unittest.TestCase):
|
||||
# if the filename has something that resolves to a python
|
||||
# escape character (such as \t), it will fail
|
||||
test_fn = '.\\test7750.py'
|
||||
class ModuleInitTester(unittest.TestCase):
|
||||
|
||||
msg = "issue7750 only applies when os.sep is a backslash"
|
||||
@unittest.skipUnless(os.path.sep == '\\', msg)
|
||||
def test_issue7750(self):
|
||||
with open(self.test_fn, 'w') as f:
|
||||
f.write('print("hello world")')
|
||||
cmd = [sys.executable, '-m', 'pdb', self.test_fn,]
|
||||
def test_filename_correct(self):
|
||||
"""
|
||||
In issue 7750, it was found that if the filename has a sequence that
|
||||
resolves to an escape character in a Python string (such as \t), it
|
||||
will be treated as the escaped character.
|
||||
"""
|
||||
# the test_fn must contain something like \t
|
||||
# on Windows, this will create 'test_mod.py' in the current directory.
|
||||
# on Unix, this will create '.\test_mod.py' in the current directory.
|
||||
test_fn = '.\\test_mod.py'
|
||||
code = 'print("testing pdb")'
|
||||
with open(test_fn, 'w') as f:
|
||||
f.write(code)
|
||||
self.addCleanup(os.remove, test_fn)
|
||||
cmd = [sys.executable, '-m', 'pdb', test_fn,]
|
||||
proc = subprocess.Popen(cmd,
|
||||
stdout=subprocess.PIPE,
|
||||
stdin=subprocess.PIPE,
|
||||
stderr=subprocess.STDOUT,
|
||||
)
|
||||
stdout, stderr = proc.communicate('quit\n')
|
||||
self.assertNotIn('IOError', stdout, "pdb munged the filename")
|
||||
|
||||
def tearDown(self):
|
||||
if os.path.isfile(self.test_fn):
|
||||
os.remove(self.test_fn)
|
||||
self.assertIn(code, stdout, "pdb munged the filename")
|
||||
|
||||
|
||||
def test_main():
|
||||
from test import test_pdb
|
||||
test_support.run_doctest(test_pdb, verbosity=True)
|
||||
|
||||
test_support.run_unittest(ModuleInitTester)
|
||||
|
||||
if __name__ == '__main__':
|
||||
test_main()
|
||||
unittest.main()
|
||||
|
|
Loading…
Reference in New Issue