On openSUSE Leap 15.4 with system python 3.6, I run into:
...
(gdb) python check_everything()^M
(gdb) FAIL: gdb.dap/type_check.exp: type checker
...
In check_everything, the hasattr test fails silently:
...
def check_everything():
# Older versions of Python can't really implement this.
if hasattr(typing, "get_origin"):
...
and that makes the gdb_test in the test-case fail.
Fix this by emitting UNSUPPORTED instead in check_everything, and detecting
this in the test-case.
Tested on x86_64-linux.
[gdb_remote_download host ${srcdir}/${subdir}/${gdb_test_file_name}.py]
gdb_test_no_output "source ${remote_python_file}" "load python file"
-gdb_test "python check_everything()" OK "type checker"
+gdb_test_multiple "python check_everything()" "type checker" {
+ -re -wrap "OK" {
+ pass $gdb_test_name
+ }
+ -re -wrap "UNSUPPORTED" {
+ unsupported $gdb_test_name
+ }
+}
check_map()
check_opt()
print("OK")
+ else:
+ print("UNSUPPORTED")