* config/monitor.exp: Detect the "Couldn't establish connection"
authorBob Manson <manson@cygnus>
Sat, 1 Mar 1997 04:50:01 +0000 (04:50 +0000)
committerBob Manson <manson@cygnus>
Sat, 1 Mar 1997 04:50:01 +0000 (04:50 +0000)
message from GDB.

one of many, presumably.

gdb/testsuite/ChangeLog
gdb/testsuite/config/monitor.exp

index 8760331..7fb7986 100644 (file)
@@ -1,7 +1,48 @@
+Fri Feb 28 20:47:39 1997  Bob Manson  <manson@charmed.cygnus.com>
+
+       * config/monitor.exp: Detect the "Couldn't establish connection"
+       message from GDB.
+
+Tue Feb 25 14:08:55 1997  Bob Manson  <manson@charmed.cygnus.com>
+
+       * gdb.base/bitfields.exp: Use runto instead of explicit
+       gdb_run_cmd/gdb_expect sequences.
+
+       * gdb.base/break.exp(text_next_with_recursion): Add match for
+       gdb_expect call.
+
+       * config/monitor.exp(gdb_target_monitor): Calling exit loses big.
+       We also need to handle the "A program is being debugged already"
+       prompt from gdb. Use gdb_test to set the baud rate.
+
+       * lib/gdb.exp(gdb_init): Increase the default expect buffer size
+       to 20000. Really. I mean it.
+
 Mon Feb 24 13:23:26 1997  Bob Manson  <manson@charmed.cygnus.com>
 
-       * lib/gdb.exp(gdb_test): Generate a FAIL message when
-       send_gdb fails.
+       * lib/gdb.exp(gdb_test): Generate a FAIL message when send_gdb
+       fails. If suppress_flag is set, skip perror message about not
+       being able to send to GDB.
+       (send_gdb): If suppress_flag is set, don't try to send commands to
+       GDB.
+       (gdb_expect): If suppress_flag is set, always fail immediately.
+       (gdb_suppress_tests, gdb_stop_suppressing_tests): New functions.
+       (gdb_init): Call gdb_stop_suppressing_tests.
+       (default_gdb_exit): Ditto.
+       (default_gdb_start): Ditto.
+
+       * gdb.base/bitfields.exp: Call gdb_suppress_tests and
+       gdb_stop_suppressing_tests as appropriate.
+       * gdb.base/break.exp: Ditto.
+       * gdb.base/callfuncs.exp: Ditto.
+       * gdb.base/commands.exp: Ditto.
+       * gdb.base/exprs.exp: Ditto.
+       * gdb.base/funcargs.exp: Ditto.
+       * gdb.base/list.exp: Ditto.
+       * gdb.base/recurse.exp: Ditto.
+       * gdb.base/scope.exp:  Ditto.
+       * gdb.base/structs.exp: Ditto.
+       * gdb.c++/inherit.exp: Ditto.
 
 Sun Feb 23 19:56:02 1997  Bob Manson  <manson@charmed.cygnus.com>
 
index facb5be..a2863b2 100644 (file)
@@ -36,7 +36,7 @@ proc gdb_target_monitor { } {
        return -1;
     }
     if [target_info exists baud] {
-       send_gdb "set remotebaud [target_info baud]\n"
+       gdb_test "set remotebaud [target_info baud]" "" ""
     }
     if [target_info exists netport] {
        set serialport "[target_info netport]"
@@ -47,25 +47,33 @@ proc gdb_target_monitor { } {
     for {set j 1} {$j <= 2} {incr j} {
        for {set i 1} {$i <= 3} {incr i} {
            send_gdb "target $targetname $serialport\n"
-           expect {
-               -re "Remote MIPS debugging.*" {
+           gdb_expect {
+               -re "A program is being debugged already.*ill it.*y or n. $" {
+                   send_gdb "y\n";
+                   exp_continue;
+               }
+               -re ".*Couldn't establish connection to remote.*$gdb_prompt" {
+                   verbose "Connection failed"
+               }
+               -re "Remote MIPS debugging.*$gdb_prompt" {
                    verbose "Set target to $targetname"
                    return
                }
-               -re "Remote debugging using $serialport.*" {
+               -re "Remote debugging using $serialport.*$gdb_prompt" {
                    verbose "Set target to $targetname"
                    return
                }
-               -re "Remote target $targetname connected to.* {
+               -re "Remote target $targetname connected to.*$gdb_prompt" {
                    verbose "Set target to $targetname"
                    return
                }
-               -re "Connection refused" {
+               -re "Connection refused.*$gdb_prompt" {
                    verbose "Connection refused by remote target.  Pausing, and trying again."
                    sleep 30
                    continue
                }
-               timeout { 
+               timeout {
+                   send_gdb "\ 3";
                    break
                }
            }
@@ -76,8 +84,7 @@ proc gdb_target_monitor { } {
     }
 
     perror "Couldn't set target for $targetname, port is $serialport."
-    cleanup
-    exit $exit_status
+    return -1;
 }
 
 #
@@ -107,18 +114,11 @@ proc gdb_load { arg } {
     send_gdb "load $arg\n"
     set timeout 1000
     verbose "Timeout is now $timeout seconds" 2
-    expect {
+    gdb_expect {
        -re ".*$gdb_prompt $" {
-           if { $verbose > 1 } {
-               send_user "Loaded $arg into $GDB\n"
-           }
+           verbose "Loaded $arg into $GDB\n"
            return 1
        }
-       -re "$gdb_prompt $"     {
-           if { $verbose > 1 } {
-               perror "GDB couldn't load."
-           }
-       }
        timeout {
            if { $verbose > 1 } {
                perror "Timed out trying to load $arg."