aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2019-07-03 16:57:48 +0100
committerPedro Alves <palves@redhat.com>2019-07-03 16:57:48 +0100
commitb2b2a2159876fa8db57ce017b949cafc6f1a32df (patch)
tree2b763c0578cc9f2383d75180e92d5d4f5b35ef4f
parent077a039f70d870899da31eb8cee597964515fa3c (diff)
downloadgdb-b2b2a2159876fa8db57ce017b949cafc6f1a32df.zip
gdb-b2b2a2159876fa8db57ce017b949cafc6f1a32df.tar.gz
gdb-b2b2a2159876fa8db57ce017b949cafc6f1a32df.tar.bz2
Fix test_gdb_complete_tab_multiple race
Running 'make check-read1 TESTS="gdb.base/options.exp"' revealed a race in test_gdb_complete_tab_multiple. There's a gdb_test_multiple call that expects a prompt in the middle of the regexp. That's racy because gdb_test_multiple includes a built-in FAIL pattern for the prompt, which may match if gdb is slow enough to produce the rest of the output after the prompt. Fix this in the usual way of splitting the matching in two. gdb/testsuite/ChangeLog: 2019-07-03 Pedro Alves <palves@redhat.com> * lib/completion-support.exp (test_gdb_complete_tab_multiple): Split one gdb_test_multiple call in two to avoid a race.
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/lib/completion-support.exp8
2 files changed, 11 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 9b988dc..6e22349 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2019-07-03 Pedro Alves <palves@redhat.com>
+ * lib/completion-support.exp (test_gdb_complete_tab_multiple):
+ Split one gdb_test_multiple call in two to avoid a race.
+
+2019-07-03 Pedro Alves <palves@redhat.com>
+
* gdb.base/with.c: New file.
* gdb.base/with.exp: New file.
diff --git a/gdb/testsuite/lib/completion-support.exp b/gdb/testsuite/lib/completion-support.exp
index 97fed18..3199e85 100644
--- a/gdb/testsuite/lib/completion-support.exp
+++ b/gdb/testsuite/lib/completion-support.exp
@@ -151,8 +151,12 @@ proc test_gdb_complete_tab_multiple { input_line add_completed_line \
set maybe_bell ""
}
gdb_test_multiple "" "$test (second tab)" {
- -re "^${maybe_bell}\r\n$expected_re\r\n$gdb_prompt $input_line_re$add_completed_line_re$" {
- pass "$test"
+ -re "^${maybe_bell}\r\n$expected_re\r\n$gdb_prompt " {
+ gdb_test_multiple "" "$test (second tab)" {
+ -re "^$input_line_re$add_completed_line_re$" {
+ pass "$test"
+ }
+ }
}
}
}