This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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"
 	}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]