(gdb_run_cmd): Look for gdb,do_reload_on_run target feature--if it
exists, reload the executable and do a "continue" instead of
doing a jump.
(runto_main): Use gdb_step_for_stub.
* gdb.base/break.exp: Use gdb_step_for_stub. Also, rename certain
tests to have unique names.
* gdb.base/callfuncs.exp: Ditto.
* gdb.base/commands.exp: Ditto.
* gdb.base/default.exp: Ditto.
* gdb.base/help.exp: Ditto.
* gdb.base/list.exp: Ditto.
* gdb.base/opaque.exp: Ditto.
* gdb.base/printcmds.exp: Ditto. Use a loop to emit multiple
similar tests.
* gdb.base/setshow.c: Add set_debug_traps/breakpoint calls.
* gdb.c++/cplusfuncs.cc: Ditto.
* gdb.c++/virtfunc.cc: Ditto.
* config/monitor.exp: Keep track of the last file we saw, rather
than trying to get the info from gdb.
* gdb.fortran/types.exp: Move comment to previous line.
Fixes for TCL8 miscellaneous problems, plus other changes.
if we can't get a debug format from GDB (we may be testing an
older GDB). Use a 10 second timeout when checking for the format.
* gdb.stabs/weird.exp: Fix quoting.
until it has been modified to work with the new testsuite.
* gdb.*/*.exp: Instead of causing 1 unresolved test when the
testcase won't compile, cause all of the testcases in the file to
fail instead.
* lib/gdb.exp(gdb_suppress_entire_file): New procedure.
(gdb_clear_suppressed): New procedure.
(gdb_stop_suppressing_tests): Only clear suppress_flag if
it contains a positive value.
(get_debug_format): New function to get debug format.
(debug_format): New global variable to hold last value set
by get_debug_format.
* gdb.base/list.exp: Call get_debug_format and expect some
tests to fail for DWARF 1 and COFF formats.
* gdb.c++/ptype.exp: Ditto.
* gdb.c++/classes.exp: Ditto.
* gdb.c++/cplusfuncs.exp: Ditto.
* gdb.c++/inherit.exp: Ditto.
* gdb.c++/templates.exp: Ditto.
* gdb.c++/virtfunc.exp: Ditto.
host doesn't have a currently-open connection.
* config/sparclet.exp: Cleanups and fixes to make it generic for
any gdb stub target. Handle cases where gdb doesn't respond when
interrupted in a sane fashion.
* config/m32r.exp: Load sparclet.exp instead of trying to do the
same thing in a totally different way.
* config/monitor.exp: Pass in timeouts to gdb_expect instead of
setting "timeout".
(gdb_start): We set the global gdb_prompt variable in
default_gdb_init now.
initialize.
(default_gdb_init): New procedure; allow gdb_init to be overridden
by a target configuration file.
(gdb_expect): Pass the timeout to remote_expect.
* config/dos.exp(dos_wait): Add timeout parameter.
* lib/remote.exp(remote_expect): Add timeout parameter.
(remote_wait): Ditto.
(standard_wait): Ditto. Also give up if the program outputs
more than 512,000 bytes.
* config/vxworks.exp: Use timeout parameter instead of setting
timeout variable.
* config/dos.exp: Ditto.
* config/ddb.exp: Ditto.
* lib/mondfe.exp: Ditto.
* lib/rlogin.exp: Ditto.
* lib/telnet.exp: Ditto.
* config/base68k.exp: Ditto.
* config/i386-bozo.exp: Ditto.
* config/gdb-comm.exp: Ditto.
* config/gdb_stub.exp: Ditto.
* config/i960.exp: Ditto.
* config/ddb-ether.exp: Ditto.
* config/sim.exp: Ditto.
* lib/g++.exp(g++_init): Use g++_include_flags instead of making
up the includes ourselves.
exit status and/or results from the target.
* gdb.base/watchpoint.exp, gdb.base/langs.exp: Likewise.
* lib/gdb.exp: Remove old (now bogus) initialization of
noinferior, noargs, noresults and nosignals.
More cleanups for new testing framework.
* config/slite.exp: Try to connect multiple times to the board
before rebooting. Only send a "monitor run" if need_monitor_run
is set.
* gdb.base/break.exp: Don't do the "stub continue" test if
the target has gdb_stub set.
* gdb.base/callfuncs.exp: Increase the timeout.
* gdb.base/interrupt.exp: Don't even try to compile the testcase
if the target has gdb,noinferiorio set.
* gdb.base/list.exp: Increase match_max to 10000 characters.
* gdb.base/sigall.exp: Check for gdb,nosignals on the target.
* gdb.base/watchpoint.exp: Check for gdb,noinferiorio on the
target.
* lib/gdb.exp(gdb_run_cmd): Fix for targets that use stubs.
Misc fixes for sparclite and SH.
parenthesis in case it contains multiple regexps separated
with |.
Fixes last nights native failures.
* gdb.base/watchpoint.exp: Use gdb_test.
* gdb.base/default.exp: Ditto.
More improvements.
* gdb.base/signals.exp: Check for a gdb,nosignals feature of
the target.
* gdb.base/watchpoint.exp: Fix regexp.
Random miscellaneous fixes. Gotta dig up all these global variables someday..
close and wait commands, as the descriptor may now be
invalid. Always call "remote_close host".
Makes sure things get cleaned up if gdb dies in the middle of a test.
"p func1 ()" and note that rests of tests are skipped.
* gdb.base/corefile.exp: Add i*86-*-linux* and m68*-*-hpux*
setup_xfails for "print func2::coremaker_local".
Add i*86-*-linux* setup_xfail for "backtrace in corefile.exp".
* gdb.base/mips_pro.exp: Restart gdb in this test so it isn't
affected by the previous run test.
* gdb.chill/misc.exp: Add m68*-*-hpux* setup_xfails for
"print array () ubyte (foo)" and "print/x array () byte (\$i)"
* gdb.chill/pr-8742.exp: Add m68*-*-hpux* setup_xfails for
"pass int powerset tuple" and "pass modeless int powerset tuple".
* gdb.chill/tests2.exp: Add m68*-*-hpux* setup xfails for
"real write 4" and "real write 8".
* gdb.shill/tuples.exp: Add i*86-*-linux* and m68*-*-hpux*
setup_xfails for "print vs1 after tuple assign 2",
"print \$i after tuple assign 2", and
"print vs2 after tuple assign 2".
* lib/gdb.exp (gdb_test): When a gdb aborts, print a more
meaningful error message and return -1 so the caller can
suppress further tests and avoid a cascade of errors.
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 initialization, also report how long dejagnu waited. Restore
old timeout before doing error return. Temporarily increase timeout
by 3 minutes to allow for slow startups over heavy NFS use.
printing of '\'' (which is what the comment says we are testing,
even though we were not), not '''.
(test_integer_literals_rejected): Test that printing ''' is an error.
* gdb.fortran/exprs.exp, gdb.fortran/types.exp,
gdb.chill/chexp.exp, gdb.base/printcmds.exp,
gdb.c++/cplusfuncs.exp, gdb.chill/callch.exp, gdb.chill/misc.exp,
gdb.chill/pr-6292.exp, gdb.chill/string.exp, gdb.chill/tuples.exp:
Use gdb_test not test_print_accept.
* lib/gdb.exp: Remove test_print_accept.
only \r\n, not .*. The test can pass .* as the last thing in
$pattern if that is what it wants. In addition to providing this
flexibility, this change should speed up pattern matching in cases
where the pattern already ended with .* (there were a number of
them). This change also helps catch bad patterns--in the old
scheme the typo "char \*" instead of "char \\*" would pass. Now
it is caught.
* Many .exp files: Update callers.
gdb.c++/inherit.exp, gdb.c++/templates.exp, gdb.c++/virtfunc.exp,
gdb.fortran/exprs.exp, gdb.fortran/types.exp, gdb.chill/chexp.exp,
gdb.base/printcmds.exp: Remove passcount, failcount, etc., stuff;
it makes the tests harder to understand and confuses test-o-matic.
The preferred style is that each test provides a PASS or a FAIL,
and has a unique message (e.g. "continue #54" not just "continue")
which is the same for the pass and the fail.
* gdb.fortran/exprs.exp, gdb.fortran/types.exp,
gdb.chill/chexp.exp: Move test_print_accept and test_print_reject
to lib/gdb.exp.
* gdb.base/printcmds.exp: Use test_print_accept. Remove
prt_accept which was basically the same thing. Likewise for
test_print_reject and prt_reject.
* lib/gdb.exp (test_print_reject): Add some more error message
patterns to match from the former printcmds.exp (prt_reject).
* gdb.c++/classes.exp, gdb.base/scope.exp: Remove spurious xfails.
One defect of the passcount stuff is that some of it failed to
report XPASS where appropriate.
* gdb.c++/cplusfuncs.exp (print_addr_of): No longer accept extra
stuff before and after arg in expected pattern.
(test_paddr_operator_functions): Re-do test without print_addr_of;
this is the only test which seems to want extra stuff there.