* gdb.base/signals.exp (test_handle_all_print): Test separately for
authorFred Fish <fnf@specifix.com>
Tue, 6 Aug 1996 01:18:18 +0000 (01:18 +0000)
committerFred Fish <fnf@specifix.com>
Tue, 6 Aug 1996 01:18:18 +0000 (01:18 +0000)
each signal's status in the output of "handle all print".
* lib/gdb.exp (gdb_test): Document that the pattern must NOT include
the \r\n sequence that immediately precedes the gdb prompt.
* gdb.base/a1-selftest.exp: Save original timeout and restore
after test.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/a1-selftest.exp
gdb/testsuite/gdb.base/signals.exp
gdb/testsuite/lib/gdb.exp

index 463a5dcc67adb469d4d61dce60949a3456ac8756..8c52eb6f4bd2fbb6d3fc64701f0b3d46c1d734fd 100644 (file)
@@ -1,3 +1,12 @@
+Mon Aug  5 18:11:53 1996  Fred Fish  <fnf@cygnus.com>
+
+       * gdb.base/signals.exp (test_handle_all_print): Test separately for
+       each signal's status in the output of "handle all print".
+       * lib/gdb.exp (gdb_test): Document that the pattern must NOT include
+       the \r\n sequence that immediately precedes the gdb prompt.
+       * gdb.base/a1-selftest.exp: Save original timeout and restore
+       after test.
+
 Sun Aug  4 10:20:50 1996  Jeffrey A Law  (law@cygnus.com)
 
        * gdb.disasm/hppa.s: Export fmemLRbug_tests_4 as a ST_CODE
index d9eb85941e8bc74faad40604746d4c0fb73c5ab4..c7c25fb2148274deb4b880b3b4c15cb4d572bd78 100644 (file)
@@ -56,11 +56,16 @@ proc test_with_self {} {
     # After gdb is started, set the timeout to 30 seconds for the duration
     # of this test, and then back to the original value.
 
+    set oldtimeout $timeout
     set timeout 600
     verbose "Timeout is now $timeout seconds" 2
     if {[gdb_load "./x$tool"] <0} then {
+       set timeout $oldtimeout
+       verbose "Timeout is now $timeout seconds" 2
        return -1
     }
+    set timeout 30
+    verbose "Timeout is now $timeout seconds" 2
 
     # disassemble yourself
     send "x/10i main\n"
@@ -95,6 +100,10 @@ proc test_with_self {} {
     }
 
     # run yourself
+    # It may take a very long time for the inferior gdb to start (lynx),
+    # so we bump it back up for the duration of this command.
+    set timeout 600
+
     set description "run until breakpoint at main"
     send "run -nw\n"
     expect {
@@ -106,10 +115,14 @@ proc test_with_self {} {
        }
        -re "vfork: No more processes.*$prompt $" {
            fail "$description (out of virtual memory)"
+           set timeout $oldtimeout
+           verbose "Timeout is now $timeout seconds" 2
            return -1
        }
        -re ".*$prompt $" {
            fail "$description"
+           set timeout $oldtimeout
+           verbose "Timeout is now $timeout seconds" 2
            return -1
        }
        timeout {
@@ -117,8 +130,6 @@ proc test_with_self {} {
        }
     }
 
-    # It may take a very long time for the inferior gdb to start (lynx),
-    # so we wait until after it's started to reset the timeout value.
     set timeout 30
     verbose "Timeout is now $timeout seconds" 2
 
@@ -486,6 +497,8 @@ GDB.*Copyright \[0-9\]+ Free Software Foundation, Inc..*$prompt $"\
     gdb_exit
 
     # Set the timeout back to the value it had when we were called.
+    set timeout $oldtimeout
+    verbose "Timeout is now $timeout seconds" 2
 
     # Restart gdb in case next test expects it to be started already.
     gdb_start
index 28977c7cf032a30cec94915292110abdd73f06a8..0df14785af06c811e4a1bb00a61f6e6287326e80 100644 (file)
@@ -300,15 +300,257 @@ gdb_start
 # This will need to be updated as the exact list of signals changes,
 # but I want to test that TARGET_SIGNAL_0, TARGET_SIGNAL_DEFAULT, and
 # TARGET_SIGNAL_UNKNOWN are skipped.
+# Increase timeout and expect input buffer for large output from gdb.
+# Allow blank or TAB as whitespace characters and test individually for
+# each specific signal.
+
 proc test_handle_all_print {} {
     global timeout
-    # Increase timeout and expect input buffer for large output from gdb.
-    # Allow blank or TAB as whitespace characters.
+
     set oldtimeout $timeout
-    set timeout [expr "$timeout + 60"]
+    set timeout [expr "$timeout + 15"]
     verbose "Timeout is now $timeout seconds" 2
-    match_max 8000
-    gdb_test "handle all print" "Signal\[      \]+Stop\[       \]+Print\[      \]+Pass to program\[    \]+Description\r\nSIGHUP\[      \]+Yes\[        \]+Yes\[        \]+Yes\[        \]+Hangup.*SIG63\[      \]+Yes\[        \]+Yes\[        \]+Yes\[        \]+Real-time event 63"
+    match_max 10000
+    gdb_test "handle all print" \
+        "Signal\[ \t\]+Stop\[ \t\]+Print\[ \t\]+Pass to program\[ \t\]+Description\r\n.*" \
+        "handle all print - Output headers"
+    gdb_test "handle all print" \
+        ".*SIGHUP\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Hangup\r\n.*" \
+        "handle all print - Hangup"
+    gdb_test "handle all print" \
+        ".*SIGQUIT\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Quit\r\n.*" \
+        "handle all print - Quit"
+    gdb_test "handle all print" \
+        ".*SIGILL\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Illegal instruction\r\n.*" \
+        "handle all print - Illegal instruction"
+    gdb_test "handle all print" \
+        ".*SIGABRT\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Aborted\r\n.*" \
+        "handle all print - Aborted"
+    gdb_test "handle all print" \
+        ".*SIGEMT\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Emulation trap\r\n.*" \
+        "handle all print - Emulation trap"
+    gdb_test "handle all print" \
+        ".*SIGFPE\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Arithmetic exception\r\n.*" \
+        "handle all print - Arithmetic exception"
+    gdb_test "handle all print" \
+        ".*SIGKILL\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Killed\r\n.*" \
+        "handle all print - Killed"
+    gdb_test "handle all print" \
+        ".*SIGBUS\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Bus error\r\n.*" \
+        "handle all print - Bus error"
+    gdb_test "handle all print" \
+        ".*SIGSEGV\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Segmentation fault\r\n.*" \
+        "handle all print - Segmentation fault"
+    gdb_test "handle all print" \
+        ".*SIGSYS\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Bad system call\r\n.*" \
+        "handle all print - Bad system call"
+    gdb_test "handle all print" \
+        ".*SIGPIPE\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Broken pipe\r\n.*" \
+        "handle all print - Broken pipe"
+    gdb_test "handle all print" \
+        ".*SIGALRM\[ \t\]+No\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Alarm clock\r\n.*" \
+        "handle all print - Alarm clock"
+    gdb_test "handle all print" \
+        ".*SIGTERM\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Terminated\r\n.*" \
+        "handle all print - Terminated"
+    gdb_test "handle all print" \
+        ".*SIGURG\[ \t\]+No\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Urgent I/O condition\r\n.*" \
+        "handle all print - Urgent I/O condition"
+    gdb_test "handle all print" \
+        ".*SIGSTOP\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Stopped \\(signal\\)\r\n.*" \
+        "handle all print - Stopped (signal)"
+    gdb_test "handle all print" \
+        ".*SIGTSTP\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Stopped \\(user\\)\r\n.*" \
+        "handle all print - Stopped (user)"
+    gdb_test "handle all print" \
+        ".*SIGCONT\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Continued\r\n.*" \
+        "handle all print - Continued"
+    gdb_test "handle all print" \
+        ".*SIGCHLD\[ \t\]+No\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Child status changed\r\n.*" \
+        "handle all print - Child status changed"
+    gdb_test "handle all print" \
+        ".*SIGTTIN\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Stopped \\(tty input\\)\r\n.*" \
+        "handle all print - Stopped (tty input)"
+    gdb_test "handle all print" \
+        ".*SIGTTOU\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Stopped \\(tty output\\)\r\n.*" \
+        "handle all print - Stopped (tty output)"
+    gdb_test "handle all print" \
+        ".*SIGIO\[ \t\]+No\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+I/O possible\r\n.*" \
+        "handle all print - I/O possible"
+    gdb_test "handle all print" \
+        ".*SIGXCPU\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+CPU time limit exceeded\r\n.*" \
+        "handle all print - CPU time limit exceeded"
+    gdb_test "handle all print" \
+        ".*SIGXFSZ\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+File size limit exceeded\r\n.*" \
+        "handle all print - File size limit exceeded"
+    gdb_test "handle all print" \
+        ".*SIGVTALRM\[ \t\]+No\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Virtual timer expired\r\n.*" \
+        "handle all print - Virtual timer expired"
+    gdb_test "handle all print" \
+        ".*SIGPROF\[ \t\]+No\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Profiling timer expired\r\n.*" \
+        "handle all print - Profiling timer expired"
+    gdb_test "handle all print" \
+        ".*SIGWINCH\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Window size changed\r\n.*" \
+        "handle all print - Window size changed"
+    gdb_test "handle all print" \
+        ".*SIGLOST\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Resource lost\r\n.*" \
+        "handle all print - Resource lost"
+    gdb_test "handle all print" \
+        ".*SIGUSR1\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+User defined signal 1\r\n.*" \
+        "handle all print - User defined signal 1"
+    gdb_test "handle all print" \
+        ".*SIGUSR2\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+User defined signal 2\r\n.*" \
+        "handle all print - User defined signal 2"
+    gdb_test "handle all print" \
+        ".*SIGPWR\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Power fail/restart\r\n.*" \
+        "handle all print - Power fail/restart"
+    gdb_test "handle all print" \
+        ".*SIGPOLL\[ \t\]+No\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Pollable event occurred\r\n.*" \
+        "handle all print - Pollable event occurred"
+    gdb_test "handle all print" \
+        ".*SIGWIND\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+SIGWIND\r\n.*" \
+        "handle all print - SIGWIND"
+    gdb_test "handle all print" \
+        ".*SIGPHONE\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+SIGPHONE\r\n.*" \
+        "handle all print - SIGPHONE"
+    gdb_test "handle all print" \
+        ".*SIGWAITING\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Process's LWPs are blocked\r\n.*" \
+        "handle all print - Process's LWPs are blocked"
+    gdb_test "handle all print" \
+        ".*SIGLWP\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Signal LWP\r\n.*" \
+        "handle all print - Signal LWP"
+    gdb_test "handle all print" \
+        ".*SIGDANGER\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Swap space dangerously low\r\n.*" \
+        "handle all print - Swap space dangerously low"
+    gdb_test "handle all print" \
+        ".*SIGGRANT\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Monitor mode granted\r\n.*" \
+        "handle all print - Monitor mode granted"
+    gdb_test "handle all print" \
+        ".*SIGRETRACT\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Need to relinguish monitor mode\r\n.*" \
+        "handle all print - Need to relinguish monitor mode"
+    gdb_test "handle all print" \
+        ".*SIGMSG\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Monitor mode data available\r\n.*" \
+        "handle all print - Monitor mode data available"
+    gdb_test "handle all print" \
+        ".*SIGSOUND\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Sound completed\r\n.*" \
+        "handle all print - Sound completed"
+    gdb_test "handle all print" \
+        ".*SIGSAK\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Secure attention\r\n.*" \
+        "handle all print - Secure attention"
+    gdb_test "handle all print" \
+        ".*SIGPRIO\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+SIGPRIO\r\n.*" \
+        "handle all print - SIGPRIO"
+    gdb_test "handle all print" \
+        ".*SIG33\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 33\r\n.*" \
+        "handle all print - Real-time event 33"
+    gdb_test "handle all print" \
+        ".*SIG34\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 34\r\n.*" \
+        "handle all print - Real-time event 34"
+    gdb_test "handle all print" \
+        ".*SIG35\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 35\r\n.*" \
+        "handle all print - Real-time event 35"
+    gdb_test "handle all print" \
+        ".*SIG36\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 36\r\n.*" \
+        "handle all print - Real-time event 36"
+    gdb_test "handle all print" \
+        ".*SIG37\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 37\r\n.*" \
+        "handle all print - Real-time event 37"
+    gdb_test "handle all print" \
+        ".*SIG38\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 38\r\n.*" \
+        "handle all print - Real-time event 38"
+    gdb_test "handle all print" \
+        ".*SIG39\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 39\r\n.*" \
+        "handle all print - Real-time event 39"
+    gdb_test "handle all print" \
+        ".*SIG40\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 40\r\n.*" \
+        "handle all print - Real-time event 40"
+    gdb_test "handle all print" \
+        ".*SIG41\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 41\r\n.*" \
+        "handle all print - Real-time event 41"
+    gdb_test "handle all print" \
+        ".*SIG42\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 42\r\n.*" \
+        "handle all print - Real-time event 42"
+    gdb_test "handle all print" \
+        ".*SIG43\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 43\r\n.*" \
+        "handle all print - Real-time event 43"
+    gdb_test "handle all print" \
+        ".*SIG44\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 44\r\n.*" \
+        "handle all print - Real-time event 44"
+    gdb_test "handle all print" \
+        ".*SIG45\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 45\r\n.*" \
+        "handle all print - Real-time event 45"
+    gdb_test "handle all print" \
+        ".*SIG46\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 46\r\n.*" \
+        "handle all print - Real-time event 46"
+    gdb_test "handle all print" \
+        ".*SIG47\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 47\r\n.*" \
+        "handle all print - Real-time event 47"
+    gdb_test "handle all print" \
+        ".*SIG48\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 48\r\n.*" \
+        "handle all print - Real-time event 48"
+    gdb_test "handle all print" \
+        ".*SIG49\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 49\r\n.*" \
+        "handle all print - Real-time event 49"
+    gdb_test "handle all print" \
+        ".*SIG50\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 50\r\n.*" \
+        "handle all print - Real-time event 50"
+    gdb_test "handle all print" \
+        ".*SIG51\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 51\r\n.*" \
+        "handle all print - Real-time event 51"
+    gdb_test "handle all print" \
+        ".*SIG52\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 52\r\n.*" \
+        "handle all print - Real-time event 52"
+    gdb_test "handle all print" \
+        ".*SIG53\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 53\r\n.*" \
+        "handle all print - Real-time event 53"
+    gdb_test "handle all print" \
+        ".*SIG54\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 54\r\n.*" \
+        "handle all print - Real-time event 54"
+    gdb_test "handle all print" \
+        ".*SIG55\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 55\r\n.*" \
+        "handle all print - Real-time event 55"
+    gdb_test "handle all print" \
+        ".*SIG56\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 56\r\n.*" \
+        "handle all print - Real-time event 56"
+    gdb_test "handle all print" \
+        ".*SIG57\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 57\r\n.*" \
+        "handle all print - Real-time event 57"
+    gdb_test "handle all print" \
+        ".*SIG58\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 58\r\n.*" \
+        "handle all print - Real-time event 58"
+    gdb_test "handle all print" \
+        ".*SIG59\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 59\r\n.*" \
+        "handle all print - Real-time event 59"
+    gdb_test "handle all print" \
+        ".*SIG60\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 60\r\n.*" \
+        "handle all print - Real-time event 60"
+    gdb_test "handle all print" \
+        ".*SIG61\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 61\r\n.*" \
+        "handle all print - Real-time event 61"
+    gdb_test "handle all print" \
+        ".*SIG62\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 62\r\n.*" \
+        "handle all print - Real-time event 62"
+    gdb_test "handle all print" \
+        ".*SIG63\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Real-time event 63\r\n.*" \
+        "handle all print - Real-time event 63"
+    gdb_test "handle all print" \
+        ".*EXC_BAD_ACCESS\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Could not access memory\r\n.*" \
+        "handle all print - Could not access memory"
+    gdb_test "handle all print" \
+        ".*EXC_BAD_INSTRUCTION\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Illegal instruction/operand\r\n.*" \
+        "handle all print - Illegal instruction/operand"
+    gdb_test "handle all print" \
+        ".*EXC_ARITHMETIC\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Arithmetic exception\r\n.*" \
+        "handle all print - Arithmetic exception"
+    gdb_test "handle all print" \
+        ".*EXC_EMULATION\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Emulation instruction\r\n.*" \
+        "handle all print - Emulation instruction"
+    gdb_test "handle all print" \
+        ".*EXC_SOFTWARE\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Software generated exception\r\n.*" \
+        "handle all print - Software generated exception"
+    gdb_test "handle all print" \
+        ".*EXC_BREAKPOINT\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Yes\[ \t\]+Breakpoint.*" \
+        "handle all print - Breakpoint"
     set timeout $oldtimeout
     verbose "Timeout restored to $timeout seconds" 2
 }
index 501076b5e91d9c74e8af032397702d222f7214d1..376b56ed12ac3c624beee1261c41c28322bc3dca 100644 (file)
@@ -306,7 +306,8 @@ proc runto_main {} {
 #             Takes three parameters.
 #             Parameters:
 #                First one is the command to execute,
-#                Second one is the pattern to match for a PASS,
+#                Second one is the pattern to match for a PASS, and must NOT include
+#                 the \r\n sequence immediately before the gdb prompt.
 #                Third one is an optional message to be printed. If this
 #                  a null string "", then the pass/fail messages are not printed.
 #             Returns: