diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2013-11-24 13:58:17 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2013-11-24 13:58:17 (GMT) |
commit | f6eb31fdc6b246cd1ff131d818d59b53066eae95 (patch) | |
tree | 67761608cad1f5bad7bc7954963f652bade01880 | |
parent | 3ab9cfc50101f46ac31e4b85e1779e5b7492d158 (diff) | |
download | cpython-f6eb31fdc6b246cd1ff131d818d59b53066eae95.zip cpython-f6eb31fdc6b246cd1ff131d818d59b53066eae95.tar.gz cpython-f6eb31fdc6b246cd1ff131d818d59b53066eae95.tar.bz2 |
Issue #19743: fix test_gdb on some optimized Python builds
-rw-r--r-- | Lib/test/test_gdb.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Lib/test/test_gdb.py b/Lib/test/test_gdb.py index c791cb0..b543889 100644 --- a/Lib/test/test_gdb.py +++ b/Lib/test/test_gdb.py @@ -145,7 +145,7 @@ class DebuggerTests(unittest.TestCase): args += [script] # print args - # print ' '.join(args) + # print (' '.join(args)) # Use "args" to invoke gdb, capturing stdout, stderr: out, err = run_gdb(*args, PYTHONHASHSEED=PYTHONHASHSEED) @@ -191,6 +191,11 @@ class DebuggerTests(unittest.TestCase): # # For a nested structure, the first time we hit the breakpoint will # give us the top-level structure + + # NOTE: avoid decoding too much of the traceback as some + # undecodable characters may lurk there in optimized mode + # (issue #19743). + cmds_after_breakpoint = cmds_after_breakpoint or ["backtrace 1"] gdb_output = self.get_stack_trace(source, breakpoint=BREAKPOINT_FN, cmds_after_breakpoint=cmds_after_breakpoint, import_site=import_site) @@ -221,11 +226,10 @@ class PrettyPrintTests(DebuggerTests): gdb_output = self.get_stack_trace('id(42)') self.assertTrue(BREAKPOINT_FN in gdb_output) - def assertGdbRepr(self, val, exp_repr=None, cmds_after_breakpoint=None): + def assertGdbRepr(self, val, exp_repr=None): # Ensure that gdb's rendering of the value in a debugged process # matches repr(value) in this process: - gdb_repr, gdb_output = self.get_gdb_repr('id(' + ascii(val) + ')', - cmds_after_breakpoint) + gdb_repr, gdb_output = self.get_gdb_repr('id(' + ascii(val) + ')') if not exp_repr: exp_repr = repr(val) self.assertEqual(gdb_repr, exp_repr, |