[gdb/testsuite] Fix timeouts in gdb.threads/step-over-*.exp
authorTom de Vries <tdevries@suse.de>
Fri, 20 Mar 2020 13:59:01 +0000 (14:59 +0100)
committerTom de Vries <tdevries@suse.de>
Fri, 20 Mar 2020 13:59:01 +0000 (14:59 +0100)
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  <tdevries@suse.de>

* 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.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.threads/step-over-lands-on-breakpoint.exp
gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.exp

index cb65ffa784c77f173c9da67f759824dfe7e0a529..e863a09708285b8f0e3e636cb333b6319f01bd6a 100644 (file)
@@ -1,3 +1,9 @@
+2020-03-20  Tom de Vries  <tdevries@suse.de>
+
+       * 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  <andrew.burgess@embecosm.com>
 
        * gdb.server/exit-multiple-threads.c: New file.
index 64ef6e81bfd959b86ebce9cd65c235bc98863a75..1921aff1e8d155361ebfb534d5fc2b9c69f1d9e9 100644 (file)
@@ -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"
 
index 7d5da52c9e2fd174057eedcb5164879b34454538..41c21aebb4f6a7cc8005e858ca45be77206814c7 100644 (file)
@@ -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"