From: Antoine Pitrou Date: Sun, 24 Nov 2013 13:58:17 +0000 (+0100) Subject: Issue #19743: fix test_gdb on some optimized Python builds X-Git-Tag: v3.4.0b1~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f6eb31fdc6b246cd1ff131d818d59b53066eae95;p=thirdparty%2FPython%2Fcpython.git Issue #19743: fix test_gdb on some optimized Python builds --- diff --git a/Lib/test/test_gdb.py b/Lib/test/test_gdb.py index c791cb0f4487..b543889d868c 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,