This is the mail archive of the gdb-patches@sources.redhat.com 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]

[PATCH]: Testsuite changes



Various changes to make it easier to test on a remote target, 
esp. a gdbserver.

2000-11-03  Michael Snyder  <msnyder@cleaver.cygnus.com>

        * config/monitor.exp (gdb_target_cmd): Abstracts some of the
        code from gdb_target_monitor, so it can be used independantly
        for gdbserver.  Also comment out an unnecessary PUTS.

2000-11-03  Michael Snyder  <msnyder@cleaver.cygnus.com>

        * gdb.base/a2-run.exp: Use gdb_skip_stdio_test.
        * gdb.base/corefile.exp: Expect the message "Program is being
        debugged already" when we send the "corefile" command, since
        the preceeding gdb_load may have connected gdb to a remote target.
        * gdb.base/display.exp: Disable hardware watchpoints if new
        board info variable "no_hardware_watchpoints" is true.
        Replace single-letter commands with more readable ones.
        * gdb.base/recurse.exp (recurse_tests): Disable hardware watchpoints
        if new board info variable "no_hardware_watchpoints" is true.
        * gdb.base/restore.exp (restore_tests): Call gdb_skip_stdio_tests
        to see if stdio (printf) testing is possible.
        * gdb.base/watchpoint.exp: Disable hardware watchpoints if new
        board info variable "no_hardware_watchpoints" is true.  Use new
        proc "gdb_skip_stdio_tests" to see if printf tests are possible.

Index: config/monitor.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/config/monitor.exp,v
retrieving revision 1.1
retrieving revision 1.2
diff -c -3 -p -r1.1 -r1.2
*** monitor.exp	1999/04/16 01:34:29	1.1
--- monitor.exp	2000/11/14 22:19:02	1.2
***************
*** 16,23 ****
--- 16,76 ----
  # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
  
  load_lib gdb.exp
+ # puts "***** DID USE MONITOR ******"
  
  #
+ # gdb_target_cmd
+ # Send gdb the "target" command
+ #
+ proc gdb_target_cmd { targetname serialport } {
+     global gdb_prompt
+ 
+     for {set i 1} {$i <= 3} {incr i} {
+ 	send_gdb "target $targetname $serialport\n"
+ 	gdb_expect 60 {
+ 	    -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 0;
+ 	    }
+ 	    -re "Remote debugging using .*$serialport.*$gdb_prompt" {
+ 		verbose "Set target to $targetname";
+ 		return 0;
+ 	    }
+ 	    -re "Remote target $targetname connected to.*$gdb_prompt" {
+ 		verbose "Set target to $targetname";
+ 		return 0;
+ 	    }
+ 	    -re "Connected to.*$gdb_prompt" { 
+ 		verbose "Set target to $targetname";
+ 		return 0;
+ 	    }
+ 	    -re "Ending remote.*$gdb_prompt" { }
+ 	    -re "Connection refused.*$gdb_prompt" {
+ 		verbose "Connection refused by remote target.  Pausing, and trying again."
+ 		sleep 30
+ 		continue
+ 	    }
+ 	    -re "Timeout reading from remote system.*$gdb_prompt" {
+ 		verbose "Got timeout error from gdb.";
+ 	    }
+ 	    timeout {
+ 		send_gdb "";
+ 		break
+ 	    }
+ 	}
+     }
+ }
+ 
+ 
+ 
+ #
  # gdb_target_monitor
  # Set gdb to target the monitor
  #
*************** proc gdb_target_monitor { exec_file } {
*** 35,40 ****
--- 88,102 ----
      if [target_info exists baud] {
  	gdb_test "set remotebaud [target_info baud]" "" ""
      }
+     if [target_info exists binarydownload] {
+ 	gdb_test "set remotebinarydownload [target_info binarydownload]" "" ""
+     }
+     if { [ target_info exists disable_x_packet ] } {
+ 	gdb_test "set remote X-packet disable" ""
+     }
+     if { [ target_info exists disable_z_packet ] } {
+ 	gdb_test "set remote Z-packet disable" ""
+     }
      if [target_info exists gdb_serial] {
         set serialport "[target_info gdb_serial]";
      } elseif [target_info exists netport] {
*************** proc gdb_target_monitor { exec_file } {
*** 46,92 ****
      for {set j 1} {$j <= 2} {incr j} {
  	if [gdb_file_cmd $exec_file] { return -1; }
  
! 	for {set i 1} {$i <= 3} {incr i} {
!     	    send_gdb "target $targetname $serialport\n"
! 	    gdb_expect 60 {
! 		-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 0;
! 		}
! 		-re "Remote debugging using .*$serialport.*$gdb_prompt" {
! 		    verbose "Set target to $targetname";
! 		    return 0;
! 		}
! 		-re "Remote target $targetname connected to.*$gdb_prompt" {
! 		    verbose "Set target to $targetname";
! 		    return 0;
! 		}
! 		-re "Connected to.*$gdb_prompt" { 
! 		    verbose "Set target to $targetname";
! 		    return 0;
! 		}
! 		-re "Ending remote.*$gdb_prompt" { }
! 		-re "Connection refused.*$gdb_prompt" {
! 		    verbose "Connection refused by remote target.  Pausing, and trying again."
! 		    sleep 30
! 		    continue
! 		}
! 		-re "Timeout reading from remote system.*$gdb_prompt" {
! 		    verbose "Got timeout error from gdb.";
! 		}
! 		timeout {
! 		    send_gdb "";
! 		    break
! 		}
! 	    }
! 	}
  
  	gdb_target_exec;
  
--- 108,114 ----
      for {set j 1} {$j <= 2} {incr j} {
  	if [gdb_file_cmd $exec_file] { return -1; }
  
! 	gdb_target_cmd $targetname $serialport;
  
  	gdb_target_exec;
  
Index: gdb.base/a2-run.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/a2-run.exp,v
retrieving revision 1.1
retrieving revision 1.2
diff -c -3 -p -r1.1 -r1.2
*** a2-run.exp	1999/04/16 01:34:30	1.1
--- a2-run.exp	2000/11/14 22:12:25	1.2
*************** if [target_info exists noargs] then {
*** 26,33 ****
      return
  }
  
! if [target_info exists gdb,noinferiorio] {
!     verbose "Skipping a2-run.exp because of noinferiorio."
      return
  }
  
--- 26,33 ----
      return
  }
  
! # Can't do this test without stdio support.
! if [gdb_skip_stdio_test "a2run.exp"] {
      return
  }
  
*************** if [istarget "*-*-vxworks*"] then {
*** 109,115 ****
      verbose "Timeout is now $timeout seconds" 2
      gdb_expect -re "$gdb_prompt $" {}
  } else {
! 	setup_xfail "mips-idt-*" "arm-*-coff"
  	gdb_run_cmd 5
  	gdb_expect {
  	    -re ".*120.*$gdb_prompt $"\
--- 109,115 ----
      verbose "Timeout is now $timeout seconds" 2
      gdb_expect -re "$gdb_prompt $" {}
  } else {
! 	setup_xfail "mips-idt-*" "arm-*-coff strongarm-*-coff"
  	gdb_run_cmd 5
  	gdb_expect {
  	    -re ".*120.*$gdb_prompt $"\
*************** if [istarget "*-*-vxworks*"] then {
*** 137,143 ****
      verbose "Timeout is now $timeout seconds" 2
      gdb_expect -re "$gdb_prompt $" {}
  } else {
!     setup_xfail "arm-*-coff"
      gdb_expect {
  	    -re ".*120.*$gdb_prompt $"\
  				{ pass "run \"$testfile\" again with same args" }
--- 137,143 ----
      verbose "Timeout is now $timeout seconds" 2
      gdb_expect -re "$gdb_prompt $" {}
  } else {
!     setup_xfail "arm-*-coff strongarm-*-coff"
      gdb_expect {
  	    -re ".*120.*$gdb_prompt $"\
  				{ pass "run \"$testfile\" again with same args" }
*************** if [istarget "*-*-vxworks*"] then {
*** 215,221 ****
      verbose "Timeout is now $timeout seconds" 2
      gdb_expect -re "$gdb_prompt $" {}
  } else {
!     setup_xfail "arm-*-coff"
      gdb_expect {
  	    -re ".*720.*$gdb_prompt $" {
  		pass "run \"$testfile\" again after setting args"
--- 215,221 ----
      verbose "Timeout is now $timeout seconds" 2
      gdb_expect -re "$gdb_prompt $" {}
  } else {
!     setup_xfail "arm-*-coff strongarm-*-coff"
      gdb_expect {
  	    -re ".*720.*$gdb_prompt $" {
  		pass "run \"$testfile\" again after setting args"
Index: gdb.base/corefile.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/corefile.exp,v
retrieving revision 1.1
retrieving revision 1.2
diff -c -3 -p -r1.1 -r1.2
*** corefile.exp	1999/04/16 01:34:30	1.1
--- corefile.exp	2000/11/14 22:12:25	1.2
*************** gdb_load ${binfile}
*** 164,169 ****
--- 164,174 ----
  
  send_gdb "core-file $objdir/$subdir/corefile\n"
  gdb_expect {
+     -re ".* program is being debugged already.*y or n. $" {
+ 	# gdb_load may connect us to a gdbserver.
+ 	send_gdb "y\n"
+ 	exp_continue;
+     }
      -re "Core was generated by .*coremaker.*\r\n\#0  .*\(\).*\r\n$gdb_prompt $" {
  	pass "core-file command"
      }
*************** gdb_test "print coremaker_data" "\\\$$de
*** 183,195 ****
  gdb_test "print coremaker_bss" "\\\$$decimal = 10"
  gdb_test "print coremaker_ro" "\\\$$decimal = 201"
  
- if {!$gcc_compiled} then { setup_xfail "hppa*-*-hpux*" }
  gdb_test "print func2::coremaker_local" "\\\$$decimal = {0, 1, 2, 3, 4}"
  
  # Somehow we better test the ability to read the registers out of the core
  # file correctly.  I don't think the other tests do this.
  
  gdb_test "bt" "abort.*func2.*func1.*main.*" "backtrace in corefile.exp"
  
  # Test ability to read mmap'd data
  
--- 188,200 ----
  gdb_test "print coremaker_bss" "\\\$$decimal = 10"
  gdb_test "print coremaker_ro" "\\\$$decimal = 201"
  
  gdb_test "print func2::coremaker_local" "\\\$$decimal = {0, 1, 2, 3, 4}"
  
  # Somehow we better test the ability to read the registers out of the core
  # file correctly.  I don't think the other tests do this.
  
  gdb_test "bt" "abort.*func2.*func1.*main.*" "backtrace in corefile.exp"
+ gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(.*\\).*" "up in corefile.exp"
  
  # Test ability to read mmap'd data
  
*************** gdb_expect {
*** 217,223 ****
  # test reinit_frame_cache
  
  gdb_load ${binfile}
! setup_xfail "*-*-*"
! gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(\\)" "up in corefile.exp"
  
  gdb_test "core" "No core file now."
--- 222,228 ----
  # test reinit_frame_cache
  
  gdb_load ${binfile}
! setup_xfail "*-*-*" CLLbs17002
! gdb_test "up" "#\[0-9\]* *\[0-9xa-fH'\]* in .* \\(\\)" "up in corefile.exp (reinit)"
  
  gdb_test "core" "No core file now."
Index: gdb.base/display.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/display.exp,v
retrieving revision 1.1
retrieving revision 1.2
diff -c -3 -p -r1.1 -r1.2
*** display.exp	1999/04/16 01:34:30	1.1
--- display.exp	2000/11/14 22:12:25	1.2
*************** gdb_start
*** 47,63 ****
  gdb_reinitialize_dir $srcdir/$subdir
  gdb_load ${binfile}
  
  # Ok, on to real life
  #
- gdb_test "b main"     ".*Breakpoint 1.*" "break main"
- gdb_test "r"          ".*Breakpoint 1, main.*" "get to main"
- gdb_test "b 14" ".*Breakpoint 2.*" "break do_loops"
- gdb_test "c"          ".*Breakpoint 2, do_loops.*" "get to do_loops"
  
  # Create stopping points.
  #
! gdb_test "wat sum"    ".*\[Ww\]atchpoint 3: sum.*" "set watch"
! gdb_test "b 19"       ".*Breakpoint 4.*" "break 19"
  
  # Create displays for those points
  #
--- 47,87 ----
  gdb_reinitialize_dir $srcdir/$subdir
  gdb_load ${binfile}
  
+ # Some coverage stuff
+ #
+ gdb_test "kill" ".*The program is not being run.*"
+ gdb_test "detach" ".*"
+ gdb_test "run" ".*"
+ 
+ gdb_load ${binfile}
+ gdb_test "kill" ".*"
+ gdb_test "detach" ".*"
+ 
  # Ok, on to real life
  #
  
+ gdb_exit
+ gdb_start
+ gdb_reinitialize_dir $srcdir/$subdir
+ gdb_load ${binfile}
+ 
+ if ![runto_main] then {
+     fail "Could not run to main - other tests will fail."
+     continue
+ }
+ 
+ # Disable hardware watchpoints if necessary.
+ if [target_info exists gdb,no_hardware_watchpoints] {
+     gdb_test "set can-use-hw-watchpoints 0" "" ""
+ }
+ 
+ gdb_test "break 14" ".*Breakpoint 2.*"           "break  do_loops"
+ gdb_test "cont"     ".*Breakpoint 2, do_loops.*" "get to do_loops"
+ 
  # Create stopping points.
  #
! gdb_test "watch sum"    ".*\[Ww\]atchpoint 3: sum.*" "set watch"
! gdb_test "break 19"     ".*Breakpoint 4.*" "break 19"
  
  # Create displays for those points
  #
*************** gdb_test "disp/s &sum" ".*5: x/s &sum  $
*** 70,87 ****
  
  # Hit the displays
  #
! gdb_test "c" ".*\[Ww\]atchpoint 3: sum.*\[1-9\]*: x/s &sum.*\[1-9\]*: /f sum = 1.40129846e.45\r\n\[1-9\]*: x/i &k.*\r\n\[1-9\]*: /x j = 0x0\r\n\[1-9\]*: i = 0.*" "first disp"
! gdb_test "c" ".*\[Ww\]atchpoint 3: sum.*\[1-9\]*: x/s &sum.*\[1-9\]*: /f sum = 2.80259693e.45\r\n\[1-9\]*: x/i &k.*\r\n\[1-9\]*: /x j = 0x0.*\[1-9\]*: i = 0.*" "second disp"
  
  gdb_test "enab  disp 6" ".*No display number 6..*" "catch err"
! gdb_test "disab disp 1" ".*" "disab"
! gdb_test "disab disp 2" ".*" ""
  gdb_test "enab disp 1"  ".*" "re-enab"
  gdb_test "enab disp 1"  ".*" "re-enab of enab"
  gdb_test "undisp 5"     ".*" "undisp"
! gdb_test "i disp"       ".*Auto-display expressions now in effect.*y  /f sum.*y  /1bi &k.*n  /x j.*y  i.*" "info disp"
  
! gdb_test "c" ".*\[Ww\]atch.*4.20389539e-45.*.*i = 0.*" "next hit"
  
  send_gdb "undisp\n"
  gdb_expect {
--- 94,111 ----
  
  # Hit the displays
  #
! gdb_test "cont" ".*\[Ww\]atchpoint 3: sum.*\[1-9\]*: x/s &sum.*\[1-9\]*: /f sum = 1.40129846e.45\r\n\[1-9\]*: x/i &k.*\r\n\[1-9\]*: /x j = 0x0\r\n\[1-9\]*: i = 0.*" "first disp"
! gdb_test "cont" ".*\[Ww\]atchpoint 3: sum.*\[1-9\]*: x/s &sum.*\[1-9\]*: /f sum = 2.80259693e.45\r\n\[1-9\]*: x/i &k.*\r\n\[1-9\]*: /x j = 0x0.*\[1-9\]*: i = 0.*" "second disp"
  
  gdb_test "enab  disp 6" ".*No display number 6..*" "catch err"
! gdb_test "disab disp 1" ".*" "disab disp 1"
! gdb_test "disab disp 2" ".*" "disab disp 2"
  gdb_test "enab disp 1"  ".*" "re-enab"
  gdb_test "enab disp 1"  ".*" "re-enab of enab"
  gdb_test "undisp 5"     ".*" "undisp"
! gdb_test "info disp"    ".*Auto-display expressions now in effect.*y  /f sum.*y  /1bi &k.*n  /x j.*y  i.*" "info disp"
  
! gdb_test "cont" ".*\[Ww\]atch.*4.20389539e-45.*.*i = 0.*" "next hit"
  
  send_gdb "undisp\n"
  gdb_expect {
*************** gdb_expect {
*** 106,145 ****
      timeout { fail "timeout" }
  }
  
! gdb_test "disab 3" ".*.*" ""
! gdb_test "c" ".*Breakpoint 4.*" "watch off"
  
  # Now the printf tests
  #
! gdb_test "fin" ".*Run till exit.*Value returned is.*= 10.*" "finish"
! gdb_test "s" ".*do_vars.*.*25" ""
! gdb_test "tb 35" ".*Breakpoint 5 a.*" ""
! gdb_test "c" ".*do_vars.*35.*35.*" ""
  
  # Beat on printf a bit
  #
! gdb_test "printf" ".*Argument required.*" ""
! gdb_test "printf %d" ".*Bad format string, missing.*" ""
! gdb_test "printf \"%d" ".*Bad format string, non-terminated.*" ""
! gdb_test "printf \"%d%d\",i" ".*Wrong number of arguments.*" ""
! gdb_test "printf \"\\\\!\\a\\f\\r\\t\\v\\b\"" ".*!.*" ""
  gdb_test "printf \"\"" ".*" "re-set term"
! gdb_test "printf \"\\w\"" ".*Unrecognized escape character.*" ""
! gdb_test "printf \"%d\" j" ".*Invalid argument syntax.*" ""
  
! # play with "p", too
  #
! gdb_test "p/r j" ".*Undefined output format.*" ""
! #gdb_test "x/rx j" ".*Cannot access memory.*" "no error!"
! gdb_test "x/0 j" ".*" "x/0 j"
! gdb_test "p/0 j" ".*Item count other than 1 is meaningless.*" "p/0 j"
! gdb_test "p/s sum" ".*Format letter.*is meaningless.*" " no s"
! gdb_test "p/i sum" ".*Format letter.*is meaningless.*.*" "no i"
! gdb_test "p/a &sum" ".*= 0x.*<sum>.*" ""
! gdb_test "p/a main+1000" ".*= 0x.*<.*>.*" ""
! gdb_test "p/a \\\$pc" ".*= 0x.*<do_vars+.*>.*" ""
! gdb_test "p/a &j" ".*= 0x.*<.*>.*" ""
! gdb_test "p/a &&j" ".*A syntax error.*" ""
  
  # Done!
  #
--- 130,202 ----
      timeout { fail "timeout" }
  }
  
! gdb_test "disab 3" ".*.*" "disab 3"
! gdb_test "cont" ".*Breakpoint 4.*" "watch off"
  
  # Now the printf tests
  #
! # The "finish" command may leave us mid-line in the caller on some
! # targets, including but not limited to the m68k, i386 & PA.  So we
! # have to arrange to step until we hit the line with the call to
! # "do_vars".
! send_gdb "finish\n"
! gdb_expect {
!     -re ".*do_loops\\(\\);.*$gdb_prompt $" {
! 	send_gdb "step\n"
! 	exp_continue
!     }
!     -re ".*do_vars.*$gdb_prompt $" {
! 	pass "finish"
!     }
!     -re ".*$gdb_prompt $" {
! 	fail "finish"
! 	gdb_suppress_tests
!     }
!     timeout  {
! 	fail "(timeout) finish"
! 	gdb_suppress_tests
!     }
! }
  
+ gdb_test "step"      ".*do_vars.*.*27.*"
+ gdb_test "tbreak 37" ".*Breakpoint 5 a.*"
+ gdb_test "cont"      ".*do_vars.*37.*37.*"
+ 
  # Beat on printf a bit
  #
! gdb_test "printf" ".*Argument required.*"
! gdb_test "printf %d" ".*Bad format string, missing.*"
! gdb_test "printf \"%d" ".*Bad format string, non-terminated.*"
! gdb_test "printf \"%d%d\",i" ".*Wrong number of arguments.*"
! gdb_test "printf \"\\\\!\\a\\f\\r\\t\\v\\b\\n\"" ".*!.*"
  gdb_test "printf \"\"" ".*" "re-set term"
! gdb_test "printf \"\\w\"" ".*Unrecognized escape character.*"
! gdb_test "printf \"%d\" j" ".*Invalid argument syntax.*"
  
! # play with "print", too
  #
! gdb_test "print/r j" ".*Undefined output format.*"
! gdb_test "print j"   ".*" "debug test output"
! 
! # x/0 j doesn't produce any output and terminates PA64 process when testing
! if [istarget "hppa2.0w-hp-hpux11*"] {
!     xfail "'x/0 j' terminates PA64 process - skipped test point"
! } else {
!     gdb_test "x/0 j" ".*"
! }
! if [istarget "hppa*-hp-hpux*"] {
!     # on HP-UX you could access the first page without getting an error
!     gdb_test "x/rx j" ".*(Cannot access|Error accessing) memory.*|.*0xa:\[ \t\]*\[0-9\]+.*"
! }
! gdb_test "print/0 j" ".*Item count other than 1 is meaningless.*" "print/0 j"
! gdb_test "print/s sum" ".*Format letter.*is meaningless.*" " no s"
! gdb_test "print/i sum" ".*Format letter.*is meaningless.*.*" "no i"
! gdb_test "print/a &sum" ".*= $hex.*<sum>.*"
! # If the constant below is larger than the length of main, then
! # this test will (incorrectly) fail.  So use a small number.
! gdb_test "print/a main+4" ".*= $hex.*<.*>.*"
! gdb_test "print/a \$pc" ".*= $hex.*<do_vars+.*>.*"
! gdb_test "print/a &&j" ".*A .* error in expression.*"
  
  # Done!
  #
Index: gdb.base/restore.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/restore.exp,v
retrieving revision 1.1
retrieving revision 1.2
diff -c -3 -p -r1.1 -r1.2
*** restore.exp	1999/04/16 01:34:31	1.1
--- restore.exp	2000/11/14 22:12:25	1.2
*************** proc restore_tests { } {
*** 80,103 ****
              # Check that the values of the local variables are what
  	    # they should be.
              for {set var 1} {$var <= $c} {incr var} {
!                 set expected [expr 0xfeeb + $var]
  	        gdb_test "print l$var" " = $expected" \
                           "caller$c called callee$e; variable l$var restored"
              }
          }
      }
  
!     send_gdb "continue\n"
  
!     gdb_expect {
!         -re "exiting" {
!              pass "run to completion"
!         }
!         timeout { 
!              fail "(timeout) run to completion"
!         }
      }
  }
  
  
  # Start with a fresh gdb.
--- 80,108 ----
              # Check that the values of the local variables are what
  	    # they should be.
              for {set var 1} {$var <= $c} {incr var} {
!                 set expected [expr 0x7eeb + $var]
  	        gdb_test "print l$var" " = $expected" \
                           "caller$c called callee$e; variable l$var restored"
              }
          }
      }
  
!     if ![gdb_skip_stdio_test "run to completion"] {
! 	send_gdb "continue\n"
  
! 	gdb_expect {
! 	    -re "exiting" {
! 		pass "run to completion"
! 	    }
! 	    timeout { 
! 		fail "(timeout) run to completion"
! 	    }
! 	}
!     } else {
! 	gdb_test "continue" "" ""
      }
  }
+ 
  
  
  # Start with a fresh gdb.
Index: gdb.base/recurse.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/recurse.exp,v
retrieving revision 1.2
retrieving revision 1.3
diff -c -3 -p -r1.2 -r1.3
*** recurse.exp	2000/07/28 20:17:28	1.2
--- recurse.exp	2000/11/14 22:12:25	1.3
*************** gdb_load ${binfile}
*** 42,47 ****
--- 42,52 ----
  
  proc recurse_tests {} {
  
+     # Disable hardware watchpoints if necessary.
+     if [target_info exists gdb,no_hardware_watchpoints] {
+ 	gdb_test "set can-use-hw-watchpoints 0" "" ""
+     }
+ 
      if [runto recurse] then {
  	# First we need to step over the assignment of b, so it has a known
  	# value.
Index: gdb.base/watchpoint.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/watchpoint.exp,v
retrieving revision 1.2
retrieving revision 1.3
diff -c -3 -p -r1.2 -r1.3
*** watchpoint.exp	2000/07/28 20:17:28	1.2
--- watchpoint.exp	2000/11/14 22:12:26	1.3
*************** proc initialize {} {
*** 63,68 ****
--- 63,73 ----
      global srcfile
      global wp_set
  
+     # Disable hardware watchpoints if necessary.
+     if [target_info exists gdb,no_hardware_watchpoints] {
+ 	gdb_test "set can-use-hw-watchpoints 0" "" ""
+     }
+ 
      if [gdb_test "break marker1" "Breakpoint 1 at $hex: file .*$srcfile, line $decimal.*" "set breakpoint at marker1" ] { 
        return 0; 
      }
*************** proc test_stepping {} {
*** 460,468 ****
  proc test_watchpoint_triggered_in_syscall {} {
      global gdb_prompt
  
!     if [target_info exists gdb,noinferiorio] {
! 	verbose "Skipping test_watchpoint_triggered_in_syscall due to noinferiorio"
! 	return
      }
      # Run until we get to the first marker function.
      set x 0
--- 465,473 ----
  proc test_watchpoint_triggered_in_syscall {} {
      global gdb_prompt
  
!     # These tests won't work without printf support.
!     if [gdb_skip_stdio_test "watchpoints triggered in syscall"] {
! 	return;
      }
      # Run until we get to the first marker function.
      set x 0

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