[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 \"<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.
This commit is contained in:
Tom de Vries
2022-07-21 14:04:41 +02:00
parent 9b89bf16c3
commit c57ac51086

View File

@ -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