diff options
author | Tom de Vries <tdevries@suse.de> | 2021-05-05 15:13:17 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2021-05-05 15:13:17 +0200 |
commit | 2f000c80e2f6c2946939b2a7a1ea1c0340626afb (patch) | |
tree | c6ea57da8e809e1b7a83a31b5fe24de84b63aba0 /gdb/testsuite/gdb.threads | |
parent | 09f83f79f7d7334715e5fca9e89d5a97da5b0bd3 (diff) | |
download | gdb-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.
Diffstat (limited to 'gdb/testsuite/gdb.threads')
-rw-r--r-- | gdb/testsuite/gdb.threads/detach-step-over.exp | 49 |
1 files changed, 32 insertions, 17 deletions
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 + } + } } } |