gdb/testsuite: check the python module is available before using it

The gdb.python/py-inferior-leak.exp test makes use of the tracemalloc
module.  When running the Python tests with a GDB built against Python
2 I ran into a test failure due to the tracemalloc module not being
available.

This commit adds a new helper function to lib/gdb-python.exp that
checks if a named module is available.  Using this we can then skip
the py-inferior-leak.exp test when the tracemalloc module is not
available.
This commit is contained in:
Andrew Burgess
2021-11-29 13:52:40 +00:00
parent 1527fe5f58
commit ae9aa73767
2 changed files with 31 additions and 0 deletions

View File

@ -25,6 +25,12 @@ clean_restart
# Skip all tests if Python scripting is not enabled.
if { [skip_python_tests] } { continue }
# Skip this test if the tracemalloc module is not available.
if { ![gdb_py_module_available "tracemalloc"] } {
unsupported "tracemalloc module not available"
continue
}
set pyfile [gdb_remote_download host ${srcdir}/${subdir}/${testfile}.py]
# Source the Python script, this runs the test (which is written