[committed][gdb/testsuite] Fix timeouts in gdb.threads/step-over-*.exp

Tom de Vries tdevries@suse.de
Fri Mar 20 13:59:51 GMT 2020


Hi,

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.

Committed to trunk.

Thanks,
- Tom

[gdb/testsuite] Fix timeouts in gdb.threads/step-over-*.exp

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/gdb.threads/step-over-lands-on-breakpoint.exp | 5 ++++-
 gdb/testsuite/gdb.threads/step-over-trips-on-watchpoint.exp | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

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 64ef6e81bf..1921aff1e8 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 7d5da52c9e..41c21aebb4 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"
 


More information about the Gdb-patches mailing list