From patchwork Fri May 17 14:36:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Alan Hayward X-Patchwork-Id: 32743 Received: (qmail 83533 invoked by alias); 17 May 2019 14:36:59 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 83444 invoked by uid 89); 17 May 2019 14:36:58 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-24.1 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, MIME_BASE64_BLANKS, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=UD:signal-while-stepping-over-bp-other-thread.exp, Normal, sk:signal, sk:signal- X-HELO: EUR04-DB3-obe.outbound.protection.outlook.com Received: from mail-eopbgr60061.outbound.protection.outlook.com (HELO EUR04-DB3-obe.outbound.protection.outlook.com) (40.107.6.61) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 17 May 2019 14:36:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EGHXGf/YdDbjY0GWYwIeAPG7EPBnu7rw93hKDL1dDNc=; b=sX5qZuAH6ZY+XLkPXd+TjASUdsXKFU3pC47YjDeNKDBRNcMvis4SOhz+l3sx0Sk3gtlSaS2eQJbGz6ud5tuNdMrhcGlmbKHyKZ3uGQ9bdoFX6cyAUNrSpVcud6sYaofTqDtxaJLk/Eo6zPizYSzFmNzv5J4gDmw+Wh0PtSx9zXQ= Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com (10.172.227.22) by DB6PR0802MB2536.eurprd08.prod.outlook.com (10.172.252.10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1900.18; Fri, 17 May 2019 14:36:51 +0000 Received: from DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::8c26:bb4b:6c93:9d40]) by DB6PR0802MB2133.eurprd08.prod.outlook.com ([fe80::8c26:bb4b:6c93:9d40%2]) with mapi id 15.20.1900.010; Fri, 17 May 2019 14:36:51 +0000 From: Alan Hayward To: Tom Tromey CC: "gdb-patches@sourceware.org" , nd Subject: Re: [PATCH 4/9] testsuite: Disable some tests when logging Date: Fri, 17 May 2019 14:36:50 +0000 Message-ID: <51A09969-A894-40F5-A016-18BFD3188EE7@arm.com> References: <20190514151238.8765-1-alan.hayward@arm.com> <20190514151238.8765-5-alan.hayward@arm.com> <87r28yurzk.fsf@tromey.com> In-Reply-To: <87r28yurzk.fsf@tromey.com> authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alan.Hayward@arm.com; x-ms-exchange-purlcount: 2 x-ms-oob-tlc-oobclassifiers: OLM:7219; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 Content-ID: <932EE85F3B72E14092D2FA6D2F43045C@eurprd08.prod.outlook.com> MIME-Version: 1.0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-IsSubscribed: yes > On 16 May 2019, at 20:19, Tom Tromey wrote: > >>>>>> "Alan" == Alan Hayward writes: > > Alan> Fix up all failures encountered when running the testsuite with > Alan> GDB_DEBUG="infrun". > > Alan> Some tests rely on enabling debugging for various components. With > Alan> debugging on, this will be lost to the debug file. > > Alan> Disable separate tty for mi tests when debugging. This currently > Alan> does not work. > > Alan> disasm.c should send errors to the stderr instead of the logfile. > > I wonder if it should error(), but this isn't something you need to > worry about for this patch. Sounds reasonable. > > Alan> +# Test relies on checking gdb debug ouput. Do not run if gdb debug is > > All these patches have the "ouput" typo, should be "output”. Doh! Fixed. > > Alan> +if [gdb_debug_enabled] { > Alan> + continue > > I think these early returns should call "untested", see: > > https://sourceware.org/gdb/wiki/GDBTestcaseCookbook#A.22untested.22_calls > Makes sense. Fixed these all up to be: if [gdb_debug_enabled] { untested "debug is enabled" return 0 } Pushed with the above changes: diff --git a/gdb/disasm.c b/gdb/disasm.c index 7c7a148935..ed740c26e0 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/gdb.base/breakpoint-in-ro-region.exp b/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp index 8655f54e03..9099df0a08 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 8885ec6b9b..6da591b9ca 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 8884686928..9f27c4c962 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 96d8539bee..7bfebb2a91 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 1c5a470bd6..2befdd8ede 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 36d24fcc56..f0a26c6085 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 . +# 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 f4f0686ccc..b45e7116d9 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 50146311f7..f4418cac65 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 898233afa4..d25ad794cb 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 e62d5e8341..4507ac51a2 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 . +# 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 09c603059f..e6ec628049 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 . +# 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 365e4faa81..c517ce886f 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 e7c59c8fb7..23cc178d71 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 c9de792e28..5560a8be96 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 989bc56d35..621b4c5163 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 b62572ceb8..3b5d1a462c 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 b569079f46..6baa4910d3 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 7043a7a9f9..9fb3762934 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 ce93bed501..fd593c38e4 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 . +# 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}