This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] gdb.base/setshow.exp: fix racy tests (PR testsuite/12649)
- From: Marek Polacek <mpolacek at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Mon, 18 Apr 2011 18:39:00 +0200
- Subject: [PATCH] gdb.base/setshow.exp: fix racy tests (PR testsuite/12649)
It took some time, but I've fixed all racy cases by using {,old_}gdb_prompt
variable. Also it was needed to escape "(gdb) " prompt properly. Ok to apply?
2011-04-18 Marek Polacek <mpolacek@redhat.com>
* gdb.base/setshow.exp: Fix racy tests.
($old_gdb_prompt): New variable.
Index: testsuite/gdb.base/setshow.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/setshow.exp,v
retrieving revision 1.20
diff -u -r1.20 setshow.exp
--- testsuite/gdb.base/setshow.exp 1 Jan 2011 15:33:42 -0000 1.20
+++ testsuite/gdb.base/setshow.exp 18 Apr 2011 16:28:28 -0000
@@ -55,25 +55,32 @@
#test set annotate 2
+# Here we need to fiddle with prompts.
+set old_gdb_prompt $gdb_prompt
+set gdb_prompt "\r\n\032\032pre-prompt\r\n$gdb_prompt \r\n\032\032prompt\r\n"
+
gdb_test_multiple "set annotate 2" "set annotate 2" {
- -re ".*\032\032pre-prompt.*$gdb_prompt .*\032\032prompt.*$" {
- pass "set annotate 2"
+ -re "\r\n$gdb_prompt$" {
+ pass "set annotate 2"
}
}
gdb_test_multiple "show annotate" "show annotate 2" {
- -re ".*\032\032post-prompt.*Annotation_level is 2..*\032\032pre-prompt.*$gdb_prompt .*\032\032prompt.*$" {
+ -re ".*\032\032post-prompt.*Annotation_level is 2..*\032\032pre-prompt.*$old_gdb_prompt .*\032\032prompt.*$" {
pass "show annotate 2"
}
}
#test annotation_level 2
gdb_test_multiple "info line 1" "annotation_level 2" {
- -re ".*\032\032post-prompt.*Line 1 of .* is at address .* but contains no code.*:1:0:beg:0x.*\032\032pre-prompt.*$gdb_prompt .*\032\032prompt.*$" {
+ -re ".*\032\032post-prompt.*Line 1 of .* is at address .* but contains no code.*:1:0:beg:0x.*\032\032pre-prompt.*$old_gdb_prompt .*\032\032prompt.*$" {
pass "annotation_level 2"
}
}
+# Restore the original prompt for the rest of the testsuite.
+set gdb_prompt $old_gdb_prompt
+
#test set annotate 1
gdb_test "set annotate 1" ".*post-prompt.*" "set annotate 1"
gdb_test "show annotate" "Annotation_level is 1..*" "show annotate (1)"
@@ -212,7 +219,7 @@
#test set prompt (gdb)
- gdb_test_multiple "set prompt (gdb) " "set prompt gdb" {
+ gdb_test_multiple "set prompt \\(gdb\\) " "set prompt gdb" {
-re "$gdb_prompt $" {
pass "set prompt gdb"
}