testsuite: Disable some tests when logging

Fix up all failures encountered when running the testsuite with
GDB_DEBUG="infrun".

Some tests rely on enabling debugging for various components.  With
debugging on, this will be lost to the debug file.

Disable separate tty for mi tests when debugging.  This currently
does not work.

disasm.c should send errors to the stderr instead of the logfile.

Note that enabling debug for other components might still cause
additional errors above what has been fixed here.

gdb/ChangeLog:

	* disasm.c (set_disassembler_options): Send errors to stderr.

gdb/testsuite/ChangeLog:

	* gdb.base/breakpoint-in-ro-region.exp: Disable when debugging.
	* gdb.base/debug-expr.exp: Likewise.
	* gdb.base/foll-fork.exp: Likewise.
	* gdb.base/foll-vfork.exp: Likewise.
	* gdb.base/fork-print-inferior-events.exp: Likewise.
	* gdb.base/gdb-sigterm.exp: Likewise.
	* gdb.base/gdbinit-history.exp: Likewise.
	* gdb.base/osabi.exp: Likewise.
	* gdb.base/sss-bp-on-user-bp-2.exp: Likewise.
	* gdb.base/ui-redirect.exp: Likewise.
	* gdb.gdb/unittest.exp: Likewise.
	* gdb.mi/mi-break.exp: Disable separate-mi-tty when debugging.
	* gdb.mi/mi-watch.exp: Likewise.
	* gdb.mi/new-ui-mi-sync.exp: Likewise.
	* gdb.mi/user-selected-context-sync.exp: Likewise.
	* gdb.python/python.exp: Disable debug test when debugging.
	* gdb.threads/check-libthread-db.exp: Disable when debugging.
	* gdb.threads/signal-while-stepping-over-bp-other-thread.exp:
	Likewise.
	* gdb.threads/stepi-random-signal.exp: Likewise.
This commit is contained in:
Alan Hayward 2019-05-17 15:35:08 +01:00
parent 29b523140e
commit 81f47ac29f
22 changed files with 166 additions and 15 deletions

View File

@ -1,3 +1,7 @@
2019-05-17 Alan Hayward <alan.hayward@arm.com>
* disasm.c (set_disassembler_options): Send errors to stderr.
2019-05-17 Alan Hayward <alan.hayward@arm.com>
* cli/cli-interp.c (struct saved_output_files): Add saved entry.

View File

@ -943,7 +943,7 @@ set_disassembler_options (char *prospective_options)
valid_options_and_args = gdbarch_valid_disassembler_options (gdbarch);
if (valid_options_and_args == NULL)
{
fprintf_filtered (gdb_stdlog, _("\
fprintf_filtered (gdb_stderr, _("\
'set disassembler-options ...' is not supported on this architecture.\n"));
return;
}
@ -979,7 +979,7 @@ set_disassembler_options (char *prospective_options)
break;
if (valid_options->name[i] == NULL)
{
fprintf_filtered (gdb_stdlog,
fprintf_filtered (gdb_stderr,
_("Invalid disassembler option value: '%s'.\n"),
opt);
return;

View File

@ -1,20 +1,43 @@
2019-05-17 Alan Hayward <alan.hayward@arm.com>
* Makefile.in: Pass through GDB_DEBUG.
* README (Testsuite Parameters): Add GDB_DEBUG.
(gdb,debug): Add board setting.
* lib/gdb.exp (default_gdb_start): Start debugging.
(gdb_debug_enabled): New procedure.
(gdb_debug_init): Likewise.
* gdb.base/breakpoint-in-ro-region.exp: Disable when debugging.
* gdb.base/debug-expr.exp: Likewise.
* gdb.base/foll-fork.exp: Likewise.
* gdb.base/foll-vfork.exp: Likewise.
* gdb.base/fork-print-inferior-events.exp: Likewise.
* gdb.base/gdb-sigterm.exp: Likewise.
* gdb.base/gdbinit-history.exp: Likewise.
* gdb.base/osabi.exp: Likewise.
* gdb.base/sss-bp-on-user-bp-2.exp: Likewise.
* gdb.base/ui-redirect.exp: Likewise.
* gdb.gdb/unittest.exp: Likewise.
* gdb.mi/mi-break.exp: Disable separate-mi-tty when debugging.
* gdb.mi/mi-watch.exp: Likewise.
* gdb.mi/new-ui-mi-sync.exp: Likewise.
* gdb.mi/user-selected-context-sync.exp: Likewise.
* gdb.python/python.exp: Disable debug test when debugging.
* gdb.threads/check-libthread-db.exp: Disable when debugging.
* gdb.threads/signal-while-stepping-over-bp-other-thread.exp:
Likewise.
* gdb.threads/stepi-random-signal.exp: Likewise.
2019-05-17 Alan Hayward <alan.hayward@arm.com>
* Makefile.in: Pass through GDB_DEBUG.
* README (Testsuite Parameters): Add GDB_DEBUG.
(gdb,debug): Add board setting.
* lib/gdb.exp (default_gdb_start): Start debugging.
(gdb_debug_enabled): New procedure.
(gdb_debug_init): Likewise.
(gdb,debug): Add board setting.
* lib/gdb.exp (default_gdb_start): Start debugging.
(gdb_debug_enabled): New procedure.
(gdb_debug_init): Likewise.
2019-05-17 Alan Hayward <alan.hayward@arm.com>
* Makefile.in: Pass through GDB_DEBUG.
* README (Testsuite Parameters): Add GDB_DEBUG.
(gdb,debug): Add board setting.
* lib/gdb.exp (default_gdb_start): Start debugging.
(gdb_debug_enabled): New procedure.
(gdb_debug_init): Likewise.
2019-05-17 Alan Hayward <alan.hayward@arm.com>

View File

@ -15,6 +15,13 @@
# This file is part of the gdb testsuite
# Test relies on checking gdb debug output. Do not run if gdb debug is
# enabled as any debug will be redirected to the log.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
standard_testfile
if { [prepare_for_testing "failed to prepare" $testfile $srcfile] } {

View File

@ -15,6 +15,13 @@
# Test "set debug expr 1" on c expressions.
# Test relies on checking gdb debug output. Do not run if gdb debug is
# enabled as any debug will be redirected to the log.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
standard_testfile .c
if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug}]} {

View File

@ -20,6 +20,13 @@ if { ![istarget "*-*-linux*"] && ![istarget "*-*-openbsd*"] } then {
continue
}
# Test relies on checking follow-fork output. Do not run if gdb debug is
# enabled as it will be redirected to the log.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
standard_testfile
if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {

View File

@ -25,6 +25,13 @@ if {![istarget "*-linux*"]} then {
continue
}
# Test relies on checking follow-fork output. Do not run if gdb debug is
# enabled as it will be redirected to the log.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
standard_testfile
set compile_options debug

View File

@ -25,6 +25,13 @@ if { [use_gdb_stub] } {
return
}
# Test relies on checking follow-fork output. Do not run if gdb debug is
# enabled as it will be redirected to the log.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
standard_testfile
if { [prepare_for_testing "failed to prepare" $testfile $srcfile debug] } {

View File

@ -15,6 +15,13 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test relies on checking gdb debug output. Do not run if gdb debug is
# enabled as any debug will be redirected to the log.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
standard_testfile
# The test program exits after a while, in case GDB crashes. Make it

View File

@ -21,6 +21,12 @@
# We cannot expect remote hosts to see environment variables set on the
# local machine.
# Do not run if gdb debug is enabled - it interferes with the command history.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
if { [is_remote host] } {
unsupported "can't set environment variables on remote host"
return -1

View File

@ -15,6 +15,13 @@
# This file is part of the gdb testsuite.
# Test relies on checking gdb debug output. Do not run if gdb debug is
# enabled as any debug will be redirected to the log.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
# Test that choosing "set osabi none" really requests a gdbarch with no osabi.
proc test_set_osabi_none { } {

View File

@ -31,6 +31,13 @@
# 4 - The single-step finishes, and GDB removes the single-step
# breakpoint.
# Test relies on checking gdb debug output. Do not run if gdb debug is
# enabled as any debug will be redirected to the log.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
standard_testfile
if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {

View File

@ -13,6 +13,12 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Do not run if gdb debug is enabled as it will interfere with log redirect.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
if { [prepare_for_testing "failed to prepare" ui-redirect start.c] } {
return -1
}

View File

@ -13,6 +13,13 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Do not run if gdb debug is enabled as maintenance output will be
# redirected to the log files.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
set do_xml_test [expr ![gdb_skip_xml_test]]
gdb_start

View File

@ -429,6 +429,13 @@ proc test_break {mi_mode} {
test_explicit_breakpoints
}
foreach_with_prefix mi-mode {"main" "separate"} {
if [gdb_debug_enabled] {
# gdb debug doesn't work for separate-mi-tty.
set modes {"main"}
} else {
set modes {"main" "separate"}
}
foreach_with_prefix mi-mode $modes {
test_break ${mi-mode}
}

View File

@ -174,9 +174,16 @@ proc test_watchpoint_all {mi_mode type} {
test_watchpoint_triggering
}
if [gdb_debug_enabled] {
# gdb debug doesn't work for separate-mi-tty.
set modes {"main"}
} else {
set modes {"main" "separate"}
}
# Run the tests twice, once using software watchpoints, and another
# with hardware watchpoints.
foreach_with_prefix mi-mode {"main" "separate"} {
foreach_with_prefix mi-mode $modes {
foreach_with_prefix wp-type {"sw" "hw"} {
test_watchpoint_all ${mi-mode} ${wp-type}
}

View File

@ -20,6 +20,12 @@
# commands, MI should not process further commands until the inferior
# stops again. See PR gdb/20418.
# Do not run if gdb debug is enabled as it doesn't work for separate-mi-tty.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
load_lib mi-support.exp
standard_testfile

View File

@ -29,6 +29,12 @@
# - Thread 3 of each inferior is either stopped at /* thread loop line */, if we
# are using all-stop, or running, if we are using non-stop.
# Do not run if gdb debug is enabled as it doesn't work for separate-mi-tty.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
load_lib mi-support.exp
standard_testfile

View File

@ -293,7 +293,10 @@ gdb_test "python print (sys.stdout)" ".*gdb.GdbOutputFile (instance|object) at.*
gdb_test "python gdb.write(\"Foo\\n\")" "Foo" "test default write"
gdb_test "python gdb.write(\"Error stream\\n\", stream=gdb.STDERR)" "Error stream" "test stderr write"
gdb_test "python gdb.write(\"Normal stream\\n\", stream=gdb.STDOUT)" "Normal stream" "test stdout write"
gdb_test "python gdb.write(\"Log stream\\n\", stream=gdb.STDLOG)" "Log stream" "test stdlog write"
if ![gdb_debug_enabled] {
gdb_test "python gdb.write(\"Log stream\\n\", stream=gdb.STDLOG)" "Log stream" "test stdlog write"
}
# Turn on full stack printing for subsequent tests.
gdb_py_test_silent_cmd "set python print-stack full" \

View File

@ -18,6 +18,13 @@ if {[target_info gdb_protocol] != "" || ![istarget *-linux*]} {
continue
}
# Test relies on checking gdb debug output. Do not run if gdb debug is
# enabled as any debug will be redirected to the log.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
standard_testfile
if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \

View File

@ -18,6 +18,12 @@
# stop, when the thread that hit that breakpoint is not the stepped
# thread.
# Test relies on checking gdb debug output. Do not run if gdb debug is
# enabled as any debug will be redirected to the log.
if [gdb_debug_enabled] {
continue
}
standard_testfile
set executable ${testfile}

View File

@ -13,6 +13,13 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Test relies on checking gdb debug output. Do not run if gdb debug is
# enabled as any debug will be redirected to the log.
if [gdb_debug_enabled] {
untested "debug is enabled"
return 0
}
standard_testfile
set executable ${testfile}