Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [committed][gdb/testsuite] Make gdb.mi/mi-sym-info.exp more robust against timeouts
@ 2021-04-30  9:27 Tom de Vries
  2021-04-30 12:55 ` Luis Machado via Gdb-patches
  0 siblings, 1 reply; 8+ messages in thread
From: Tom de Vries @ 2021-04-30  9:27 UTC (permalink / raw)
  To: gdb-patches

Hi,

Once in a while, I run into this timeout:
...
FAIL: gdb.mi/mi-sym-info.exp: List all variables from debug information \
  only (timeout)
...

I can make the timeout reproducible by setting timeout to 8s (instead of the
default 10s) for the duration of that test.

Make the test-case more stable by fixing all timeouts caused by setting
timeout to 5, either by adding with_timeout_factor, or increasing its factor.

Tested on x86_64-linux.  Also tested in parallel with stress -c 5, to simulate
a busy system in another way.

Committed to trunk.

Thanks,
- Tom

[gdb/testsuite] Make gdb.mi/mi-sym-info.exp more robust against timeouts

gdb/testsuite/ChangeLog:

2021-04-30  Tom de Vries  <tdevries@suse.de>

	* gdb.mi/mi-sym-info.exp: Add with_timeout_factor, and increase
	existing timeout factors.

---
 gdb/testsuite/gdb.mi/mi-sym-info.exp | 70 +++++++++++++++++++-----------------
 1 file changed, 37 insertions(+), 33 deletions(-)

diff --git a/gdb/testsuite/gdb.mi/mi-sym-info.exp b/gdb/testsuite/gdb.mi/mi-sym-info.exp
index f7f574aaeae..18f85182a7b 100644
--- a/gdb/testsuite/gdb.mi/mi-sym-info.exp
+++ b/gdb/testsuite/gdb.mi/mi-sym-info.exp
@@ -55,42 +55,46 @@ set type_syms \
 
 # Fetch all functions, variables and types without any non-debug
 # symbols.
-set testname "List all functions from debug information only"
-set cmd "111-symbol-info-functions"
-set state 0
-gdb_test_multiple $cmd $testname -prompt "${mi_gdb_prompt}$" {
-    -re "111\\^done,symbols=\{debug=\\\[${symtab_re}" {
-	if { $state == 0 } { incr state }
-	exp_continue
-    }
-    -re ",${symtab_re}" {
-	exp_continue
-    }
-    -re "\\\]\}\r\n${mi_gdb_prompt}$" {
-	if { $state == 1 } {
-	    pass $gdb_test_name
-	} else {
-	    fail $gdb_test_name
+with_timeout_factor 2 {
+    set testname "List all functions from debug information only"
+    set cmd "111-symbol-info-functions"
+    set state 0
+    gdb_test_multiple $cmd $testname -prompt "${mi_gdb_prompt}$" {
+	-re "111\\^done,symbols=\{debug=\\\[${symtab_re}" {
+	    if { $state == 0 } { incr state }
+	    exp_continue
+	}
+	-re ",${symtab_re}" {
+	    exp_continue
+	}
+	-re "\\\]\}\r\n${mi_gdb_prompt}$" {
+	    if { $state == 1 } {
+		pass $gdb_test_name
+	    } else {
+		fail $gdb_test_name
+	    }
 	}
     }
 }
 
-set testname "List all variables from debug information only"
-set cmd "112-symbol-info-variables"
-set state 0
-gdb_test_multiple $cmd $testname -prompt "${mi_gdb_prompt}$" {
-    -re "112\\^done,symbols=\{debug=\\\[${symtab_re}" {
-	if { $state == 0 } { incr state }
-	exp_continue
-    }
-    -re ",${symtab_re}" {
-	exp_continue
-    }
-    -re "\\\]\}\r\n${mi_gdb_prompt}$" {
-	if { $state == 1 } {
-	    pass $gdb_test_name
-	} else {
-	    fail $gdb_test_name
+with_timeout_factor 2 {
+    set testname "List all variables from debug information only"
+    set cmd "112-symbol-info-variables"
+    set state 0
+    gdb_test_multiple $cmd $testname -prompt "${mi_gdb_prompt}$" {
+	-re "112\\^done,symbols=\{debug=\\\[${symtab_re}" {
+	    if { $state == 0 } { incr state }
+	    exp_continue
+	}
+	-re ",${symtab_re}" {
+	    exp_continue
+	}
+	-re "\\\]\}\r\n${mi_gdb_prompt}$" {
+	    if { $state == 1 } {
+		pass $gdb_test_name
+	    } else {
+		fail $gdb_test_name
+	    }
 	}
     }
 }
@@ -150,7 +154,7 @@ gdb_test_multiple $cmd ${testname} -prompt "${mi_gdb_prompt}$" {
     }
 }
 
-with_timeout_factor 2 {
+with_timeout_factor 4 {
     set testname "List all variables"
     set cmd "115-symbol-info-variables --include-nondebug"
     set state 0

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-04-30 13:41 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-30  9:27 [committed][gdb/testsuite] Make gdb.mi/mi-sym-info.exp more robust against timeouts Tom de Vries
2021-04-30 12:55 ` Luis Machado via Gdb-patches
2021-04-30 13:05   ` tdevries
2021-04-30 13:06   ` Simon Marchi via Gdb-patches
2021-04-30 13:20     ` Luis Machado via Gdb-patches
2021-04-30 13:28       ` Simon Marchi via Gdb-patches
2021-04-30 13:34         ` Luis Machado via Gdb-patches
2021-04-30 13:41           ` Simon Marchi via Gdb-patches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox