[gdb/testsuite] Make skip_libstdcxx_probe_tests return 1 if true The tcl proc skip_libstdcxx_probe_tests currently returns 0 if the probe tests need to be skipped, while tcl interprets 0 as false rather than true, which is confusing. Fix this by making skip_libstdcxx_probe_tests return 1 if the probe tests need to be skipped. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2019-08-26 Tom de Vries * lib/gdb.exp (skip_libstdcxx_probe_tests_prompt): Return 1 if probe * tests need to be skipped. * gdb.cp/exceptprint.exp: Update call to skip_libstdcxx_probe_tests. * gdb.mi/mi-catch-cpp-exceptions.exp: Update call to mi_skip_libstdcxx_probe_tests. --- gdb/testsuite/gdb.cp/exceptprint.exp | 2 +- gdb/testsuite/gdb.mi/mi-catch-cpp-exceptions.exp | 2 +- gdb/testsuite/lib/gdb.exp | 9 +++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/gdb/testsuite/gdb.cp/exceptprint.exp b/gdb/testsuite/gdb.cp/exceptprint.exp index 46378d1b69..f6dcd0f5bd 100644 --- a/gdb/testsuite/gdb.cp/exceptprint.exp +++ b/gdb/testsuite/gdb.cp/exceptprint.exp @@ -27,7 +27,7 @@ if {![runto_main]} { return -1 } -if {![skip_libstdcxx_probe_tests]} { +if {[skip_libstdcxx_probe_tests]} { untested "could not find libstdc++ stap probe" return -1 } diff --git a/gdb/testsuite/gdb.mi/mi-catch-cpp-exceptions.exp b/gdb/testsuite/gdb.mi/mi-catch-cpp-exceptions.exp index 029dc1bd02..2951497882 100644 --- a/gdb/testsuite/gdb.mi/mi-catch-cpp-exceptions.exp +++ b/gdb/testsuite/gdb.mi/mi-catch-cpp-exceptions.exp @@ -36,7 +36,7 @@ mi_gdb_load ${binfile} if {![mi_run_to_main]} { return -1 } -set libstdcxx_probe_tests_supported [mi_skip_libstdcxx_probe_tests] +set libstdcxx_probe_tests_supported [expr ![mi_skip_libstdcxx_probe_tests]] # Grab some line numbers we'll need. set catch_1_lineno [gdb_get_line_number "Catch 1"] diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index af56e8aa12..76805fb5ec 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -3158,20 +3158,21 @@ proc skip_unwinder_tests {} { return $ok } -# Return 0 if we should skip tests that require the libstdc++ stap +# Return 1 if we should skip tests that require the libstdc++ stap # probes. This must be invoked while gdb is running, after shared # libraries have been loaded. PROMPT_REGEXP is the expected prompt. proc skip_libstdcxx_probe_tests_prompt { prompt_regexp } { - set ok 0 + set supported 0 gdb_test_multiple "info probe" "check for stap probe in libstdc++" { -re ".*libstdcxx.*catch.*\r\n$prompt_regexp" { - set ok 1 + set supported 1 } -re "\r\n$prompt_regexp" { } } "$prompt_regexp" - return $ok + set skip [expr !$supported] + return $skip } # As skip_libstdcxx_probe_tests_prompt, with gdb_prompt.