diff --git a/gdb/testsuite/gdb.python/py-xmethods.exp b/gdb/testsuite/gdb.python/py-xmethods.exp index 97b6ffa..7f51cb1 100644 --- a/gdb/testsuite/gdb.python/py-xmethods.exp +++ b/gdb/testsuite/gdb.python/py-xmethods.exp @@ -36,28 +36,35 @@ if ![runto_main] { set xmethods_script [gdb_remote_download host \ ${srcdir}/${subdir}/${testfile}.py] +proc gdb_test_if_inferiorio {gdb_cmd pattern name} { + if ![target_info exists gdb,noinferiorio] { + gdb_test $gdb_cmd $pattern $name + } +} + gdb_breakpoint [gdb_get_line_number "Break here."] gdb_continue_to_breakpoint "Break here" ".*Break here.*" # Tests before loading the debug methods. -gdb_test "p a1 + a2" "From CC .*15" "Before: a1 + a2" -gdb_test "p a2 - a1" "From CC .*5" "Before: a1 - a2" -gdb_test "p b1 - a1" "From CC .*25" "Before: b1 - a1" -gdb_test "p a1.geta()" "From CC A::geta.*5" "Before: a1.geta()" +gdb_test_if_inferiorio "p a1 + a2" "From CC .*15" "Before: a1 + a2" +gdb_test_if_inferiorio "p a2 - a1" "From CC .*5" "Before: a1 - a2" +gdb_test_if_inferiorio "p b1 - a1" "From CC .*25" "Before: b1 - a1" +gdb_test_if_inferiorio "p a1.geta()" "From CC A::geta.*5" "Before: a1.geta()" gdb_test "p ++a1" "No symbol.*" "Before: ++a1" gdb_test "p a1.getarrayind(5)" "Couldn't find method.*" \ "Before: a1.getarrayind(5)" -gdb_test "p a_ptr->geta()" "From CC B::geta.*60" "Before: a_ptr->geta()" -gdb_test "p e.geta()" "From CC A::geta.*100" "Before: e.geta()" -gdb_test "p g.size_diff()" "From CC G<>::size_diff.*" \ +gdb_test_if_inferiorio "p a_ptr->geta()" "From CC B::geta.*60" \ + "Before: a_ptr->geta()" +gdb_test_if_inferiorio "p e.geta()" "From CC A::geta.*100" "Before: e.geta()" +gdb_test_if_inferiorio "p g.size_diff()" "From CC G<>::size_diff.*" \ "Before: g.size_diff()" gdb_test "p g.size_diff()" "Couldn't find method.*" \ "Before: g.size_diff()" -gdb_test "p g.size_mul<2>()" "From CC G<>::size_mul.*" \ +gdb_test_if_inferiorio "p g.size_mul<2>()" "From CC G<>::size_mul.*" \ "Before: g.size_mul<2>()" gdb_test "p g.size_mul<5>()" "Couldn't find method.*" \ "Before: g.size_mul<5>()" -gdb_test "p g.mul(2.0)" "From CC G<>::mul.*" \ +gdb_test_if_inferiorio "p g.mul(2.0)" "From CC G<>::mul.*" \ "Before: g.mul(2.0)" gdb_test "p g.mul('a')" "Couldn't find method.*" \ "Before: g.mul('a')" @@ -67,9 +74,9 @@ gdb_test_no_output "source ${xmethods_script}" "load the script file" # Tests after loading debug methods. gdb_test "p a1 + a2" "From Python .*15" "After: a1 + a2" -gdb_test "p a2 - a1" "From CC .*5" "After: a1 - a2" +gdb_test_if_inferiorio "p a2 - a1" "From CC .*5" "After: a1 - a2" gdb_test "p b1 + a1" "From Python .*35" "After: b1 + a1" -gdb_test "p b1 - a1" "From CC .*25" "After: b1 - a1" +gdb_test_if_inferiorio "p b1 - a1" "From CC .*25" "After: b1 - a1" gdb_test "p a1.geta()" "From Python .*5" "After: a1.geta()" gdb_test "p ++a1" "From Python .*6" "After: ++a1" gdb_test "p a1.getarrayind(5)" "From Python .*5" \