aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorAlan Hayward <alan.hayward@arm.com>2019-05-17 15:35:08 +0100
committerAlan Hayward <alan.hayward@arm.com>2019-05-17 15:35:08 +0100
commit81f47ac29f8cdb888f2d81c5daa9bfc4747738aa (patch)
tree198731f2847b2eea110e3f2fb25509fccb160fad /gdb
parent29b523140ecf72bc3fdf570c71fbda6fe85cf930 (diff)
downloadfsf-binutils-gdb-81f47ac29f8cdb888f2d81c5daa9bfc4747738aa.zip
fsf-binutils-gdb-81f47ac29f8cdb888f2d81c5daa9bfc4747738aa.tar.gz
fsf-binutils-gdb-81f47ac29f8cdb888f2d81c5daa9bfc4747738aa.tar.bz2
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.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/disasm.c4
-rw-r--r--gdb/testsuite/ChangeLog41
-rw-r--r--gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp7
-rw-r--r--gdb/testsuite/gdb.base/debug-expr.exp7
-rw-r--r--gdb/testsuite/gdb.base/foll-fork.exp7
-rw-r--r--gdb/testsuite/gdb.base/foll-vfork.exp7
-rw-r--r--gdb/testsuite/gdb.base/fork-print-inferior-events.exp7
-rw-r--r--gdb/testsuite/gdb.base/gdb-sigterm.exp7
-rw-r--r--gdb/testsuite/gdb.base/gdbinit-history.exp6
-rw-r--r--gdb/testsuite/gdb.base/osabi.exp7
-rw-r--r--gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp7
-rw-r--r--gdb/testsuite/gdb.base/ui-redirect.exp6
-rw-r--r--gdb/testsuite/gdb.gdb/unittest.exp7
-rw-r--r--gdb/testsuite/gdb.mi/mi-break.exp9
-rw-r--r--gdb/testsuite/gdb.mi/mi-watch.exp9
-rw-r--r--gdb/testsuite/gdb.mi/new-ui-mi-sync.exp6
-rw-r--r--gdb/testsuite/gdb.mi/user-selected-context-sync.exp6
-rw-r--r--gdb/testsuite/gdb.python/python.exp5
-rw-r--r--gdb/testsuite/gdb.threads/check-libthread-db.exp7
-rw-r--r--gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp6
-rw-r--r--gdb/testsuite/gdb.threads/stepi-random-signal.exp7
22 files changed, 165 insertions, 14 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0e79bd0..8d8a678 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
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.
(cli_interp_base::set_logging): Check debug_redirect.
* cli/cli-interp.h (set_logging): Add debug_redirect parameter.
diff --git a/gdb/disasm.c b/gdb/disasm.c
index 7c7a148..ed740c2 100644
--- a/gdb/disasm.c
+++ b/gdb/disasm.c
@@ -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;
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index e76a101..724bd51 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,20 +1,43 @@
2019-05-17 Alan Hayward <alan.hayward@arm.com>
+ * 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.
+ (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>
diff --git a/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp b/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp
index 8655f54..9099df0 100644
--- a/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp
+++ b/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp
@@ -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] } {
diff --git a/gdb/testsuite/gdb.base/debug-expr.exp b/gdb/testsuite/gdb.base/debug-expr.exp
index 8885ec6..6da591b 100644
--- a/gdb/testsuite/gdb.base/debug-expr.exp
+++ b/gdb/testsuite/gdb.base/debug-expr.exp
@@ -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}]} {
diff --git a/gdb/testsuite/gdb.base/foll-fork.exp b/gdb/testsuite/gdb.base/foll-fork.exp
index 8884686..9f27c4c 100644
--- a/gdb/testsuite/gdb.base/foll-fork.exp
+++ b/gdb/testsuite/gdb.base/foll-fork.exp
@@ -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]} {
diff --git a/gdb/testsuite/gdb.base/foll-vfork.exp b/gdb/testsuite/gdb.base/foll-vfork.exp
index 96d8539..7bfebb2 100644
--- a/gdb/testsuite/gdb.base/foll-vfork.exp
+++ b/gdb/testsuite/gdb.base/foll-vfork.exp
@@ -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
diff --git a/gdb/testsuite/gdb.base/fork-print-inferior-events.exp b/gdb/testsuite/gdb.base/fork-print-inferior-events.exp
index 1c5a470..2befdd8 100644
--- a/gdb/testsuite/gdb.base/fork-print-inferior-events.exp
+++ b/gdb/testsuite/gdb.base/fork-print-inferior-events.exp
@@ -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] } {
diff --git a/gdb/testsuite/gdb.base/gdb-sigterm.exp b/gdb/testsuite/gdb.base/gdb-sigterm.exp
index 36d24fc..f0a26c6 100644
--- a/gdb/testsuite/gdb.base/gdb-sigterm.exp
+++ b/gdb/testsuite/gdb.base/gdb-sigterm.exp
@@ -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
diff --git a/gdb/testsuite/gdb.base/gdbinit-history.exp b/gdb/testsuite/gdb.base/gdbinit-history.exp
index f4f0686..b45e711 100644
--- a/gdb/testsuite/gdb.base/gdbinit-history.exp
+++ b/gdb/testsuite/gdb.base/gdbinit-history.exp
@@ -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
diff --git a/gdb/testsuite/gdb.base/osabi.exp b/gdb/testsuite/gdb.base/osabi.exp
index 5014631..f4418ca 100644
--- a/gdb/testsuite/gdb.base/osabi.exp
+++ b/gdb/testsuite/gdb.base/osabi.exp
@@ -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 { } {
diff --git a/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp b/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp
index 898233a..d25ad79 100644
--- a/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp
+++ b/gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp
@@ -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]} {
diff --git a/gdb/testsuite/gdb.base/ui-redirect.exp b/gdb/testsuite/gdb.base/ui-redirect.exp
index e62d5e8..4507ac5 100644
--- a/gdb/testsuite/gdb.base/ui-redirect.exp
+++ b/gdb/testsuite/gdb.base/ui-redirect.exp
@@ -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
}
diff --git a/gdb/testsuite/gdb.gdb/unittest.exp b/gdb/testsuite/gdb.gdb/unittest.exp
index 09c6030..e6ec628 100644
--- a/gdb/testsuite/gdb.gdb/unittest.exp
+++ b/gdb/testsuite/gdb.gdb/unittest.exp
@@ -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
diff --git a/gdb/testsuite/gdb.mi/mi-break.exp b/gdb/testsuite/gdb.mi/mi-break.exp
index 365e4fa..c517ce8 100644
--- a/gdb/testsuite/gdb.mi/mi-break.exp
+++ b/gdb/testsuite/gdb.mi/mi-break.exp
@@ -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}
}
diff --git a/gdb/testsuite/gdb.mi/mi-watch.exp b/gdb/testsuite/gdb.mi/mi-watch.exp
index e7c59c8..23cc178 100644
--- a/gdb/testsuite/gdb.mi/mi-watch.exp
+++ b/gdb/testsuite/gdb.mi/mi-watch.exp
@@ -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}
}
diff --git a/gdb/testsuite/gdb.mi/new-ui-mi-sync.exp b/gdb/testsuite/gdb.mi/new-ui-mi-sync.exp
index c9de792..5560a8b 100644
--- a/gdb/testsuite/gdb.mi/new-ui-mi-sync.exp
+++ b/gdb/testsuite/gdb.mi/new-ui-mi-sync.exp
@@ -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
diff --git a/gdb/testsuite/gdb.mi/user-selected-context-sync.exp b/gdb/testsuite/gdb.mi/user-selected-context-sync.exp
index 989bc56..621b4c5 100644
--- a/gdb/testsuite/gdb.mi/user-selected-context-sync.exp
+++ b/gdb/testsuite/gdb.mi/user-selected-context-sync.exp
@@ -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
diff --git a/gdb/testsuite/gdb.python/python.exp b/gdb/testsuite/gdb.python/python.exp
index b62572c..3b5d1a4 100644
--- a/gdb/testsuite/gdb.python/python.exp
+++ b/gdb/testsuite/gdb.python/python.exp
@@ -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" \
diff --git a/gdb/testsuite/gdb.threads/check-libthread-db.exp b/gdb/testsuite/gdb.threads/check-libthread-db.exp
index b569079..6baa491 100644
--- a/gdb/testsuite/gdb.threads/check-libthread-db.exp
+++ b/gdb/testsuite/gdb.threads/check-libthread-db.exp
@@ -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}" \
diff --git a/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp b/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp
index 7043a7a..9fb3762 100644
--- a/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp
+++ b/gdb/testsuite/gdb.threads/signal-while-stepping-over-bp-other-thread.exp
@@ -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}
diff --git a/gdb/testsuite/gdb.threads/stepi-random-signal.exp b/gdb/testsuite/gdb.threads/stepi-random-signal.exp
index ce93bed..fd593c3 100644
--- a/gdb/testsuite/gdb.threads/stepi-random-signal.exp
+++ b/gdb/testsuite/gdb.threads/stepi-random-signal.exp
@@ -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}