aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2021-05-05 15:13:17 +0200
committerTom de Vries <tdevries@suse.de>2021-05-05 15:13:17 +0200
commit2f000c80e2f6c2946939b2a7a1ea1c0340626afb (patch)
treec6ea57da8e809e1b7a83a31b5fe24de84b63aba0
parent09f83f79f7d7334715e5fca9e89d5a97da5b0bd3 (diff)
downloadgdb-2f000c80e2f6c2946939b2a7a1ea1c0340626afb.zip
gdb-2f000c80e2f6c2946939b2a7a1ea1c0340626afb.tar.gz
gdb-2f000c80e2f6c2946939b2a7a1ea1c0340626afb.tar.bz2
[gdb/testsuite] Fix timeout in gdb.threads/detach-step-over.exp with readnow
When running test-case gdb.threads/detach-step-over.exp with target board readnow, I run into: ... Reading symbols from /lib64/libc.so.6...^M Reading symbols from \ /usr/lib/debug/lib64/libc-2.26.so-2.26-lp152.26.6.1.x86_64.debug...^M Expanding full symbols from \ /usr/lib/debug/lib64/libc-2.26.so-2.26-lp152.26.6.1.x86_64.debug...^M FAIL: gdb.threads/detach-step-over.exp: \ breakpoint-condition-evaluation=host: target-non-stop=on: non-stop=on: \ displaced=off: iter 2: attach (timeout) ... Fix this by doing exp_continue when encountering the "Reading symbols" or "Expanding full symbols" lines. This is still fragile and times out with a higher load, similated f.i. by stress -c 5. Fix that by using a timeout factor of 2. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2021-05-05 Tom de Vries <tdevries@suse.de> * gdb.threads/detach-step-over.exp: Do exp_continue when encountering "Reading symbols" or "Expanding full symbols" lines. Using timeout factor of 2 for attach.
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/gdb.threads/detach-step-over.exp49
2 files changed, 38 insertions, 17 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 2be97a2..c84f116 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,11 @@
2021-05-05 Tom de Vries <tdevries@suse.de>
+ * gdb.threads/detach-step-over.exp: Do exp_continue when encountering
+ "Reading symbols" or "Expanding full symbols" lines. Using timeout
+ factor of 2 for attach.
+
+2021-05-05 Tom de Vries <tdevries@suse.de>
+
* gdb.threads/fork-plus-threads.exp: Handle "New LWP <n>" and
"LWP <n> exited" messages.
diff --git a/gdb/testsuite/gdb.threads/detach-step-over.exp b/gdb/testsuite/gdb.threads/detach-step-over.exp
index 8c58aeb..2771855 100644
--- a/gdb/testsuite/gdb.threads/detach-step-over.exp
+++ b/gdb/testsuite/gdb.threads/detach-step-over.exp
@@ -106,23 +106,38 @@ proc test {condition_eval target_non_stop non_stop displaced} {
with_test_prefix "iter $attempt" {
gdb_test "inferior 1" "Switching to .*"
- set attached 0
- set eperm 0
- set test "attach"
- gdb_test_multiple "attach $testpid" $test {
- -re "new threads in iteration" {
- # Seen when "set debug libthread_db" is on.
- exp_continue
- }
- -re "is a zombie - the process has already terminated.*$gdb_prompt " {
- fail $gdb_test_name
- }
- -re "Unable to attach: .*$gdb_prompt " {
- fail $gdb_test_name
- }
- -re "Attaching to program.*process $testpid.*$gdb_prompt " {
- pass $test
- set attached 1
+ with_timeout_factor 2 {
+ set attached 0
+ set saw_attaching 0
+ set eperm 0
+ set test "attach"
+ gdb_test_multiple "attach $testpid" $test {
+ -re "Attaching to program.*process $testpid\r\n" {
+ set saw_attaching 1
+ exp_continue
+ }
+ -re "new threads in iteration" {
+ # Seen when "set debug libthread_db" is on.
+ exp_continue
+ }
+ -re "Reading symbols from|Expanding full symbols from" {
+ # Prevent -readnow timeout.
+ exp_continue
+ }
+ -re "is a zombie - the process has already terminated.*$gdb_prompt " {
+ fail $gdb_test_name
+ }
+ -re "Unable to attach: .*$gdb_prompt " {
+ fail $gdb_test_name
+ }
+ -re "\r\n$gdb_prompt " {
+ if { $saw_attaching } {
+ set attached 1
+ pass $test
+ } else {
+ fail $test
+ }
+ }
}
}