From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6587 invoked by alias); 15 Nov 2018 23:25:52 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 6571 invoked by uid 89); 15 Nov 2018 23:25:50 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.3 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=2528, new_list, Hx-spam-relays-external:100.42.49.4, UD:skip.exp X-HELO: gateway31.websitewelcome.com Received: from gateway31.websitewelcome.com (HELO gateway31.websitewelcome.com) (192.185.143.47) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 15 Nov 2018 23:25:47 +0000 Received: from cm10.websitewelcome.com (cm10.websitewelcome.com [100.42.49.4]) by gateway31.websitewelcome.com (Postfix) with ESMTP id A712D229CF for ; Thu, 15 Nov 2018 17:25:46 -0600 (CST) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id NR18gydTpBcCXNR18g7DPY; Thu, 15 Nov 2018 17:25:46 -0600 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=T0F8YTkC8ZyqBTj1B8cotcklEGgvoUUi7RLpZRIadRM=; b=EDXn5DBUAPmVMQrLThvQh09Cbw ZaRNbgCGghhX+a6O5mvCukCQNJlRtttWQWqCrUwqIJVlW3kkOWv9AgwEDXa45NK1bgUAlewZiMA22 k6QzRa8KUmZlC+B+wn9mdjso2; Received: from 97-122-190-66.hlrn.qwest.net ([97.122.190.66]:37830 helo=bapiya) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1gNR18-000r8S-De; Thu, 15 Nov 2018 17:25:46 -0600 From: Tom Tromey To: Pedro Alves Cc: Tom Tromey , gdb-patches@sourceware.org Subject: Re: [PATCH v2] Avoid crash when calling warning too early References: <20181031181820.24308-1-tom@tromey.com> <5993d96c-afe2-99b1-af8d-56173ea73e08@redhat.com> Date: Thu, 15 Nov 2018 23:25:00 -0000 In-Reply-To: <5993d96c-afe2-99b1-af8d-56173ea73e08@redhat.com> (Pedro Alves's message of "Fri, 9 Nov 2018 19:41:36 +0000") Message-ID: <87va4xudmu.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2018-11/txt/msg00242.txt.bz2 >>>>> "Pedro" == Pedro Alves writes: [ ... save_vars and... ] Pedro> I think that the test should instead be replacing/sed'ing Pedro> the existing -data-directory option, instead of overriding Pedro> INTERNAL_GDBFLAGS completely. Pedro> That's what gdb.base/gdbinit-history.exp does. I didn't address checking the warning output, but here's a patch for the rest. Let me know what you think. Tom commit 42cbd945dddcc019af24b75aa353fd42d06b17a6 Author: Tom Tromey Date: Thu Nov 15 16:23:25 2018 -0700 Use save_vars in gdb.base/warning.exp This changes gdb.base/warning.exp per Pedro's comments: it now uses save_vars and it rewrites INTERNAL_GDBFLAGS in place, rather than replcing it entirely. gdb/testsuite/ChangeLog 2018-11-15 Tom Tromey * gdb.base/warning.exp: Use save_vars. Rewrite INTERNAL_GDBFLAGS rather than replacing it. diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 90faeda261..8ad17ca5c5 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-11-15 Tom Tromey + + * gdb.base/warning.exp: Use save_vars. Rewrite INTERNAL_GDBFLAGS + rather than replacing it. + 2018-11-12 Simon Marchi * gdb.base/skip.exp: Add standard_testfile. Add "skip delete" diff --git a/gdb/testsuite/gdb.base/warning.exp b/gdb/testsuite/gdb.base/warning.exp index 53067f48d5..975d994e30 100644 --- a/gdb/testsuite/gdb.base/warning.exp +++ b/gdb/testsuite/gdb.base/warning.exp @@ -25,12 +25,28 @@ set fd [open $tname w] puts $fd "anything" close $fd -set save $INTERNAL_GDBFLAGS -set INTERNAL_GDBFLAGS "-nw -nx -data-directory $tname" - -gdb_start - -# Make sure gdb started up. -gdb_test "echo 23\\n" "23" - -set INTERNAL_GDBFLAGS $save +save_vars { INTERNAL_GDBFLAGS } { + set last_was_dd 0 + set new_list {} + foreach opt [split $INTERNAL_GDBFLAGS] { + if {$last_was_dd} { + # Just drop it. + set last_was_dd 0 + } elseif {[regexp -- "^--?data-directory\$" $opt]} { + set last_was_dd 1 + } elseif {[regexp -- "^--?data-directory=" $opt]} { + # Drop but don't drop the next argument. + } else { + lappend new_list $opt + } + } + lappend new_list -data-directory + lappend new_list $tname + + set INTERNAL_GDBFLAGS [join $new_list] + + gdb_start + + # Make sure gdb started up. + gdb_test "echo 23\\n" "23" +}