[gdb/testsuite] Fix check-read1 FAIL in attach-many-short-lived-threads.exp

When running test-case gdb.threads/attach-many-short-lived-threads.exp with
check-read1, I ran into:
...
FAIL: gdb.threads/attach-many-short-lived-threads.exp: iter 1: \
  no new threads (timeout)
...

Fix this by rewriting the gdb_test_multiple call using -lbl and exp_continue.

Tested on x86_64-linux, with make targets check and check-read1.

gdb/testsuite/ChangeLog:

2020-03-14  Tom de Vries  <tdevries@suse.de>

	* gdb.threads/attach-many-short-lived-threads.exp: Read "info threads"
	result in line-by-line fashion.
This commit is contained in:
Tom de Vries 2020-03-14 15:48:26 +01:00
parent 75c56d3d12
commit 54c4382534
2 changed files with 16 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2020-03-14 Tom de Vries <tdevries@suse.de>
* gdb.threads/attach-many-short-lived-threads.exp: Read "info threads"
result in line-by-line fashion.
2020-03-14 Tom de Vries <tdevries@suse.de>
* lib/gdb.exp (supports_statement_frontiers): New proc.

View File

@ -108,12 +108,18 @@ proc test {} {
sleep 1
set test "no new threads"
gdb_test_multiple "info threads" $test {
-re "New .*$gdb_prompt $" {
fail $test
set status 1
gdb_test_multiple "info threads" $test -lbl {
-re "\r\n\[^\r\n\]*New " {
set status 0
exp_continue
}
-re "$gdb_prompt $" {
pass $test
-re -wrap "" {
if { $status == 1 } {
pass $gdb_test_name
} else {
fail $gdb_test_name
}
}
}