[PATCH][gdb] Fix python selftest with python 3.11
Tom de Vries
tdevries@suse.de
Thu Jul 21 11:13:17 GMT 2022
Hi,
With python 3.11 I noticed:
...
$ gdb -q -batch -ex "maint selftest python"
Running selftest python.
Self test failed: self-test failed at gdb/python/python.c:2246
Ran 1 unit tests, 1 failed
...
In more detail:
...
(gdb) p output
$5 = "Traceback (most recent call last):\n File \"<string>\", line 0, \
in <module>\nKeyboardInterrupt\n"
(gdb) p ref_output
$6 = "Traceback (most recent call last):\n File \"<string>\", line 1, \
in <module>\nKeyboardInterrupt\n"
...
Fix this by also allowing line number 0.
Tested on x86_64-linux.
This should hopefully fix buildbot builder gdb-rawhide-x86_64.
Any comments?
Thanks,
- Tom
[gdb] Fix python selftest with python 3.11
---
gdb/python/python.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/gdb/python/python.c b/gdb/python/python.c
index 8fa935c8286..365859a2e4e 100644
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -2240,10 +2240,13 @@ test_python ()
SELF_CHECK (*e.message == "Error while executing Python code.");
}
SELF_CHECK (saw_exception);
- std::string ref_output("Traceback (most recent call last):\n"
- " File \"<string>\", line 1, in <module>\n"
- "KeyboardInterrupt\n");
- SELF_CHECK (output == ref_output);
+ std::string ref_output_0("Traceback (most recent call last):\n"
+ " File \"<string>\", line 0, in <module>\n"
+ "KeyboardInterrupt\n");
+ std::string ref_output_1("Traceback (most recent call last):\n"
+ " File \"<string>\", line 1, in <module>\n"
+ "KeyboardInterrupt\n");
+ SELF_CHECK (output == ref_output_0 || output == ref_output_1);
}
#undef CMD
More information about the Gdb-patches
mailing list