From patchwork Wed Nov 23 18:39:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 61037 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 82F3438518AA for ; Wed, 23 Nov 2022 18:43:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 82F3438518AA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669228987; bh=wYuKSpxUUCq5cNJpKcpZnYgF8sxxhIW4rk5ah18bJns=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=k2VmrutlqExkfgyjrwSQBa1IEiRK+IC6STZ31uFjwH4bynUWv0ivKYPsgp4SKVOyV lEaK5g20LayyE3HOl0ryTEZZuchAdpvOE+xKw0v2TeBzWtMhYsIRjRET7zcnRM1Eo9 snxMiGM4Hw84vrojkenxc6rhA6jvAnihYYdu4LpM= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from smtp.polymtl.ca (smtp.polymtl.ca [132.207.4.11]) by sourceware.org (Postfix) with ESMTPS id 4203638518A7 for ; Wed, 23 Nov 2022 18:42:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4203638518A7 Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id 2ANIg6Ts028150 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 23 Nov 2022 13:42:11 -0500 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.polymtl.ca 2ANIg6Ts028150 Received: from simark.localdomain (unknown [217.28.27.60]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 4E0481E124; Wed, 23 Nov 2022 13:42:06 -0500 (EST) To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 10/14] gdb/testsuite/gdb.base/break.exp: split test_break_default Date: Wed, 23 Nov 2022 13:39:55 -0500 Message-Id: <20221123183959.2476477-11-simon.marchi@polymtl.ca> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221123183959.2476477-1-simon.marchi@polymtl.ca> References: <20221123183959.2476477-1-simon.marchi@polymtl.ca> MIME-Version: 1.0 X-Poly-FromMTA: (simark.ca [158.69.221.121]) at Wed, 23 Nov 2022 18:42:06 +0000 X-Spam-Status: No, score=-3189.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Simon Marchi via Gdb-patches From: Simon Marchi Reply-To: Simon Marchi Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" One special thing here is that the part just above this one, that sets catchpoints and verifies they are not hit, requires that we resume execution to verify that the catchpoints are indeed not hit. I guess it was previously achieved by the until command, but it doesn't happen now that the until is moved into test_break_default. Add a gdb_continue_to_end after setting the catchpoints. If any catchpoint were to be hit, it would catch the problem. Change-Id: I5d4b43da91886b1beda9f6e56b05aa04331a9c05 --- gdb/testsuite/gdb.base/break.exp | 62 +++++++++++++++++++------------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/gdb/testsuite/gdb.base/break.exp b/gdb/testsuite/gdb.base/break.exp index e8762ffa664c..b4d12cb56a92 100644 --- a/gdb/testsuite/gdb.base/break.exp +++ b/gdb/testsuite/gdb.base/break.exp @@ -492,6 +492,8 @@ gdb_test "catch vfork" "Catchpoint \[0-9\]+ \\(vfork\\)" \ gdb_test "catch exec" "Catchpoint \[0-9\]+ \\(exec\\)" \ "set catch exec, never expected to trigger" +gdb_continue_to_end + # Verify that GDB responds gracefully when asked to set a breakpoint # on a nonexistent source line. # @@ -500,36 +502,46 @@ gdb_test "break 999" \ "No line 999 in the current file." \ "break on non-existent source line" -# Run to the desired default location. If not positioned here, the -# tests below don't work. -# -gdb_test "until $bp_location1" "main .* at .*:$bp_location1.*" \ - "until bp_location1" +proc_with_prefix test_break_default {} { + clean_restart break -# Verify that GDB allows one to just say "break", which is treated -# as the "default" breakpoint. Note that GDB gets cute when printing -# the informational message about other breakpoints at the same -# location. We'll hit that bird with this stone too. -# -gdb_test "break" "Breakpoint \[0-9\]*.*" \ - "break on default location, 1st time" + if ![runto_main] then { + return + } -gdb_test "break" \ - "Note: breakpoint \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \ - "break on default location, 2nd time" + # Run to the desired default location. If not positioned here, the + # tests below don't work. + # + gdb_test "until $::bp_location1" "main .* at .*:$::bp_location1.*" \ + "until bp_location1" + + # Verify that GDB allows one to just say "break", which is treated + # as the "default" breakpoint. Note that GDB gets cute when printing + # the informational message about other breakpoints at the same + # location. We'll hit that bird with this stone too. + # + gdb_test "break" "Breakpoint \[0-9\]*.*" \ + "break on default location, 1st time" -gdb_test "break" \ - "Note: breakpoints \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \ - "break on default location, 3rd time" + gdb_test "break" \ + "Note: breakpoint \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \ + "break on default location, 2nd time" -gdb_test "break" \ - "Note: breakpoints \[0-9\]*, \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \ - "break on default location, 4th time" + gdb_test "break" \ + "Note: breakpoints \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \ + "break on default location, 3rd time" + + gdb_test "break" \ + "Note: breakpoints \[0-9\]*, \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \ + "break on default location, 4th time" + + # Check setting a breakpoint at the default location with a condition attached. + gdb_test "break if (1)" \ + "Note: breakpoints \[0-9\]*, \[0-9\]*, \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \ + "break on the default location, 5th time, but with a condition" +} -# Check setting a breakpoint at the default location with a condition attached. -gdb_test "break if (1)" \ - "Note: breakpoints \[0-9\]*, \[0-9\]*, \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \ - "break on the default location, 5th time, but with a condition" +test_break_default # Verify that a "silent" breakpoint can be set, and that GDB is indeed # "silent" about its triggering.