testsuite/
authorDaniel Jacobowitz <drow@false.org>
Thu, 12 Nov 2009 19:54:39 +0000 (19:54 +0000)
committerDaniel Jacobowitz <drow@false.org>
Thu, 12 Nov 2009 19:54:39 +0000 (19:54 +0000)
* lib/gdb.exp (gdb_test_multiple): Handle "y or [n]", "[y] or n",
and the breakpoint menu.  Do not call perror if a prompt is seen.
Consume the following GDB prompt.
* gdb.cp/method2.exp (test_break): Use gdb_test_multiple.
* gdb.cp/namespace.exp: Use gdb_test.
* gdb.cp/templates.exp: Use gdb_test.
(test_template_breakpoints): Use gdb_test_multiple.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.cp/method2.exp
gdb/testsuite/gdb.cp/namespace.exp
gdb/testsuite/gdb.cp/templates.exp
gdb/testsuite/lib/gdb.exp

index b03b4205437008e1bee43c44386e32995f22fe58..aed26c8cab6afc4502fe48133ef046517d517c79 100644 (file)
@@ -1,3 +1,13 @@
+2009-11-12  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * lib/gdb.exp (gdb_test_multiple): Handle "y or [n]", "[y] or n",
+       and the breakpoint menu.  Do not call perror if a prompt is seen.
+       Consume the following GDB prompt.
+       * gdb.cp/method2.exp (test_break): Use gdb_test_multiple.
+       * gdb.cp/namespace.exp: Use gdb_test.
+       * gdb.cp/templates.exp: Use gdb_test.
+       (test_template_breakpoints): Use gdb_test_multiple.
+
 2009-11-12  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * gdb.base/break1.c (struct some_struct, values): Move earlier.
index 6181132cba470899a21e90f86c05d9a0a6b310ef..d651c742c82ed7908489d2453716bd38c38cd3ba 100644 (file)
@@ -50,15 +50,12 @@ proc test_break { lang } {
        "" \
        "setting language $lang"
 
-    send_gdb "break A::method\n"
-    gdb_expect {
+    gdb_test_multiple "break A::method" "breaking in method ($lang)" {
        -re ".0. cancel.*\[\r\n\]*.1. all.*\[\r\n\]*.2. A::method\\(A\\*\\) at .*\[\r\n\]*.3. A::method\\(int\\) at .*\[\r\n\]*\[\r\n\]*.4. A::method\\(\\) at .*\[\r\n\]*> $" {
            gdb_test "0" \
                "canceled" \
                "breaking in method ($lang)"
        }
-       -re ".*$gdb_prompt $" { fail "breaking in method ($lang)" }
-       default { fail "breaking in method ($lang) (timeout)" }
     }
 }
 
index 76b1b82c8127521763377353168d67097647f9ab..e1ddd5089c03c041a84cb8be12f387764cc8677d 100644 (file)
@@ -163,14 +163,8 @@ gdb_expect {
        
 # Break on a function in a namespace
 
-send_gdb "break AAA::xyzq\n"
-gdb_expect {
-    -re "Breakpoint.*at $hex: file.*namespace.cc, line 42\\.\r\n$gdb_prompt $" {
-         pass "break AAA::xyzq"
-    }    
-   -re ".*$gdb_prompt $" { fail "break AAA::xyzq" }
-   timeout { fail "(timeout) break AAA::xyzq" }
-}
+gdb_test "break AAA::xyzq" \
+    "Breakpoint.*at $hex: file.*namespace.cc, line 42\\."
 
 # Call a function in a nested namespace
 
@@ -194,14 +188,8 @@ gdb_expect {
        
 # Break on a function in a nested namespace
 
-send_gdb "break BBB::CCC::xyzq\n"
-gdb_expect {
-    -re "Breakpoint.*at $hex: file.*namespace.cc, line 58\\.\r\n$gdb_prompt $" {
-         pass "break BBB::CCC::xyzq"
-    }    
-   -re ".*$gdb_prompt $" { fail "break BBB::CCC::xyzq" }
-   timeout { fail "(timeout) break BBB::CCC::xyzq" }
-}
+gdb_test "break BBB::CCC::xyzq" \
+    "Breakpoint.*at $hex: file.*namespace.cc, line 58\\."
 
 # Print address of a function in a class in a namespace
 
@@ -225,14 +213,8 @@ gdb_expect {
 
 # Break on a function in a class in a namespace
 
-send_gdb "break BBB::Class::xyzq\n"
-gdb_expect {
-    -re "Breakpoint.*at $hex: file.*namespace.cc, line 63\\.\r\n$gdb_prompt $" {
-         pass "break BBB::Class::xyzq"
-    }    
-   -re ".*$gdb_prompt $" { fail "break BBB::Class::xyzq" }
-   timeout { fail "(timeout) break BBB::Class::xyzq" }
-}
+gdb_test "break BBB::Class::xyzq" \
+    "Breakpoint.*at $hex: file.*namespace.cc, line 63\\."
 
 # Test to see if the appropriate namespaces are in scope when trying
 # to print out stuff from within a function defined within a
index 487186a8ae0e3d5cae0e2537e6586ef9a8343553..5e16b1b139f7399beedafd42c01e640b85f099ad 100644 (file)
@@ -112,8 +112,7 @@ proc test_template_breakpoints {} {
     global srcdir
     global hp_aCC_compiler
 
-    send_gdb "break T5<int>::T5\n"
-    gdb_expect {
+    gdb_test_multiple "break T5<int>::T5" "constructor breakpoint" {
        -re "0. cancel.*\[\r\n\]*.1. all.*\[\r\n\]*.2. T5<int>::T5\\(int\\) at .*\[\r\n\]*.3. T5<int>::T5\\((T5<int> const|const T5<int>) ?&\\) at .*\[\r\n\]*> $" {
            gdb_test "0" \
                "canceled" \
@@ -135,8 +134,6 @@ proc test_template_breakpoints {} {
                    "nonsense intended to insure that this test fails" \
                    "constructor breakpoint (bad menu choices)"
        }
-       -re ".*$gdb_prompt $" { fail "constructor breakpoint" }
-       default { fail "constructor breakpoint (timeout)" }
     }
     
 # See CLLbs14792
@@ -546,9 +543,5 @@ gdb_expect {
 
 # djb - 06-03-2000
 # Now should work fine
-send_gdb "break Garply<Garply<char> >::garply\n"
-gdb_expect {
-   -re "Breakpoint \[0-9\]* at $hex: file .*templates.cc, line.*\r\n$gdb_prompt $" { pass "break Garply<Garply<char> >::garply" }
-   -re ".*$gdb_prompt $" { fail "break Garply<Garply<char> >::garply" }
-   timeout { fail "break Garply<Garply<char> >::garply (timeout)" }
-}
+gdb_test "break Garply<Garply<char> >::garply" \
+    "Breakpoint \[0-9\]* at $hex: file .*templates.cc, line.*"
index c9ce9051d6bfc827d1d77439598b57b58c39c8e0..b5e55ec12c3d4d167310b1a97f913b7e641d5160 100644 (file)
@@ -763,10 +763,16 @@ proc gdb_test_multiple { command message user_code } {
             fail "$message"
            set result -1
        }
-        -re "\\(y or n\\) " {
+       -re "\\((y or n|y or \\\[n\\\]|\\\[y\\\] or n)\\) " {
            send_gdb "n\n"
-           perror "Got interactive prompt."
-            fail "$message"
+           gdb_expect -re "$gdb_prompt $"
+           fail "$message (got interactive prompt)"
+           set result -1
+       }
+       -re "\\\[0\\\] cancel\r\n\\\[1\\\] all.*\r\n> $" {
+           send_gdb "0\n"
+           gdb_expect -re "$gdb_prompt $"
+           fail "$message (got breakpoint menu)"
            set result -1
        }
         eof {