From c57ac5108667b52f5cde6c1bbdd4a1496626c1a8 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Thu, 21 Jul 2022 14:04:41 +0200 Subject: [PATCH] [gdb/python] Fix python selftest with python 3.11 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 \"\", line 0, \ in \nKeyboardInterrupt\n" (gdb) p ref_output $6 = "Traceback (most recent call last):\n File \"\", line 1, \ in \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. --- 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..c0312413a73 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 \"\", line 1, in \n" - "KeyboardInterrupt\n"); - SELF_CHECK (output == ref_output); + std::string ref_output_0 ("Traceback (most recent call last):\n" + " File \"\", line 0, in \n" + " KeyboardInterrupt\n"); + std::string ref_output_1 ("Traceback (most recent call last):\n" + " File \"\", line 1, in \n" + "KeyboardInterrupt\n"); + SELF_CHECK (output == ref_output_0 || output == ref_output_1); } #undef CMD -- 2.30.2