From: Tom de Vries Date: Fri, 20 Mar 2020 13:59:01 +0000 (+0100) Subject: [gdb/testsuite] Fix timeouts in gdb.threads/step-over-*.exp X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0dd7b8f788b8d5239800d59f97b43186dcf425e2;p=binutils-gdb.git [gdb/testsuite] Fix timeouts in gdb.threads/step-over-*.exp When running test-cases gdb.threads/step-over-lands-on-breakpoint.exp and gdb.threads/step-over-trips-on-watchpoint.exp with target board unix/-flto/-O0/-flto-partition=none/-ffat-lto-objects, we run into timeouts due not being able to set a breakpoint and then trying to continue to that breakpoint. In total, we run into 186 timeouts, which roughly corresponds to half an hour: ... $ grep "FAIL.*(timeout)" gdb.sum \ | awk '{print $2}' \ | sort \ | uniq -c 66 gdb.threads/step-over-lands-on-breakpoint.exp: 120 gdb.threads/step-over-trips-on-watchpoint.exp: ... Fix this by bailing out if the first break fails. Tested on x86_64-linux, both with native and with target board mentioned above. gdb/testsuite/ChangeLog: 2020-03-20 Tom de Vries * gdb.threads/step-over-lands-on-breakpoint.exp (do_test): Bail out if first break fails. * gdb.threads/step-over-trips-on-watchpoint.exp: (do_test): Same. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index cb65ffa784c..e863a097082 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2020-03-20 Tom de Vries + + * gdb.threads/step-over-lands-on-breakpoint.exp (do_test): Bail out if + first break fails. + * gdb.threads/step-over-trips-on-watchpoint.exp: (do_test): Same. + 2020-03-19 Andrew Burgess * gdb.server/exit-multiple-threads.c: New file. diff --git a/gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.exp b/gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.exp index 64ef6e81bfd..1921aff1e8d 100644 --- a/gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.exp +++ b/gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.exp @@ -38,7 +38,10 @@ proc do_test {displaced command} { gdb_test_no_output "set displaced-stepping $displaced" - gdb_breakpoint [gdb_get_line_number "set wait-thread breakpoint here"] + set line [gdb_get_line_number "set wait-thread breakpoint here"] + if { ![gdb_breakpoint $line] } { + return + } gdb_continue_to_breakpoint "run to wait-thread breakpoint" gdb_test "info threads" "\\\* 1 .* 2 .*" "info threads shows all threads" diff --git a/gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.exp b/gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.exp index 7d5da52c9e2..41c21aebb4f 100644 --- a/gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.exp +++ b/gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.exp @@ -57,7 +57,10 @@ proc do_test { displaced with_bp } { gdb_test_no_output "set displaced-stepping $displaced" - gdb_breakpoint [gdb_get_line_number "set wait-thread breakpoint here"] + set line [gdb_get_line_number "set wait-thread breakpoint here"] + if { ![gdb_breakpoint $line] } { + return + } gdb_continue_to_breakpoint "run to wait-thread breakpoint" gdb_test "info threads" "\\\* 1 .* 2 .*" "info threads shows all threads"