From patchwork Tue Dec 6 11:02:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 61544 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 A389D3856B5D for ; Tue, 6 Dec 2022 11:02:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A389D3856B5D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1670324564; bh=MF7HA7tOJDMhZKkJlu0QbrerOvzD41Gia8QOSYsNOko=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=dEyHeTmCAwuDGcD5C2m8rkF5/9jxw/tsly1PN+eI5UCiPppzG+zJKMVgSPqMhKxQa t2DULSC+LZJqz8mGwQ3DtNf98yM36k8WncjXAjQh5GKx/S76OU4u4sm2KQJN92uNrk BMoI3Kgad0ksgqODCrxhWbw4q301n00XOoC60Zvs= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by sourceware.org (Postfix) with ESMTPS id D93A23856B6E for ; Tue, 6 Dec 2022 11:02:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D93A23856B6E Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 1F46B21C29 for ; Tue, 6 Dec 2022 11:02:12 +0000 (UTC) Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id F2C71132F3 for ; Tue, 6 Dec 2022 11:02:11 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap1.suse-dmz.suse.de with ESMTPSA id APJGOjMhj2PmPAAAGKfGzw (envelope-from ) for ; Tue, 06 Dec 2022 11:02:11 +0000 To: gdb-patches@sourceware.org Subject: [pushed 2/2] [gdb/testsuite] Fix test names in gdb.base/longjmp.exp Date: Tue, 6 Dec 2022 12:02:11 +0100 Message-Id: <20221206110211.20786-2-tdevries@suse.de> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20221206110211.20786-1-tdevries@suse.de> References: <20221206110211.20786-1-tdevries@suse.de> MIME-Version: 1.0 X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, 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: Tom de Vries via Gdb-patches From: Tom de Vries Reply-To: Tom de Vries Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" When running test-case gdb.base/longjmp.exp, we have: ... PASS: gdb.base/longjmp.exp: next over setjmp (1) ... PASS: gdb.base/longjmp.exp: next over setjmp (2) ... The trailing " (1)" and " (2)" are interpreted as comments rather than parts of the test name, and therefore this is a duplicate, which is currently not detected by our duplicate detection mechanism (PR testsuite/29772). Fix the duplicate by using with_test_prefix. Tested on x86_64-linux. --- gdb/testsuite/gdb.base/longjmp.exp | 111 ++++++++++++++++------------- 1 file changed, 63 insertions(+), 48 deletions(-) diff --git a/gdb/testsuite/gdb.base/longjmp.exp b/gdb/testsuite/gdb.base/longjmp.exp index bd2fc21a442..10e440bfca8 100644 --- a/gdb/testsuite/gdb.base/longjmp.exp +++ b/gdb/testsuite/gdb.base/longjmp.exp @@ -42,30 +42,35 @@ set bp_start_test_3 [gdb_get_line_number "patt3"] # Pattern 1 - simple longjmp. # -delete_breakpoints - -gdb_test "break $bp_start_test_1" \ - "Breakpoint.*at.* file .*$srcfile, line.*$bp_start_test_1.*" \ - "breakpoint at pattern 1 start" -gdb_test "continue" "patt1.*" "continue to breakpoint at pattern 1 start" - -# set safe-net break -gdb_test "break $bp_miss_step_1" \ - "Breakpoint.*at.* file .*$srcfile, line.*$bp_miss_step_1.*" \ - "breakpoint at miss_step_1" - -gdb_test "next" "longjmps\\+\\+;.*" "next over setjmp (1)" -gdb_test "next" "longjmp \\(env, 1\\);.*" "next to longjmp (1)" - -set msg "next over longjmp(1)" -gdb_test_multiple "next" $msg { - -re ".*patt1.*$gdb_prompt $" { - pass $msg - gdb_test "next" "resumes\\+\\+.*" "next into else block (1)" - gdb_test "next" "miss_step_1.*" "next into safety net (1)" +with_test_prefix "pattern 1" { + + with_test_prefix setup { + delete_breakpoints + + gdb_test "break $bp_start_test_1" \ + "Breakpoint.*at.* file .*$srcfile, line.*$bp_start_test_1.*" \ + "breakpoint at pattern start" + gdb_test "continue" "patt1.*" "continue to breakpoint at pattern start" + + # set safe-net break + gdb_test "break $bp_miss_step_1" \ + "Breakpoint.*at.* file .*$srcfile, line.*$bp_miss_step_1.*" \ + "breakpoint at safety net" } - -re "miss_step_1.*$gdb_prompt $" { - fail $msg + + gdb_test "next" "longjmps\\+\\+;.*" "next over setjmp" + gdb_test "next" "longjmp \\(env, 1\\);.*" "next to longjmp" + + set msg "next over longjmp" + gdb_test_multiple "next" $msg { + -re ".*patt1.*$gdb_prompt $" { + pass $msg + gdb_test "next" "resumes\\+\\+.*" "next into else block" + gdb_test "next" "miss_step_1.*" "next into safety net" + } + -re "miss_step_1.*$gdb_prompt $" { + fail $msg + } } } @@ -73,30 +78,35 @@ gdb_test_multiple "next" $msg { # Pattern 2 - longjmp from an inner function. # -delete_breakpoints +with_test_prefix "pattern 2" { + + with_test_prefix setup { + delete_breakpoints -gdb_test "break $bp_start_test_2" \ - "Breakpoint.*at.* file .*$srcfile, line.*$bp_start_test_2.*" \ - "breakpoint at pattern 2 start" -gdb_test "continue" "patt2.*" "continue to breakpoint at pattern 2 start" + gdb_test "break $bp_start_test_2" \ + "Breakpoint.*at.* file .*$srcfile, line.*$bp_start_test_2.*" \ + "breakpoint at pattern start" + gdb_test "continue" "patt2.*" "continue to breakpoint at pattern start" -# set safe-net break -gdb_test "break $bp_miss_step_2" \ - "Breakpoint.*at.* file .*$srcfile, line.*$bp_miss_step_2.*" \ - "breakpoint at miss_step_2" + # set safe-net break + gdb_test "break $bp_miss_step_2" \ + "Breakpoint.*at.* file .*$srcfile, line.*$bp_miss_step_2.*" \ + "breakpoint at safety net" + } -gdb_test "next" "call_longjmp.*" "next over setjmp (2)" + gdb_test "next" "call_longjmp.*" "next over setjmp" -set msg "next over call_longjmp (2)" -gdb_test_multiple "next" $msg { - -re ".*patt2.*$gdb_prompt $" { - pass $msg + set msg "next over call_longjmp" + gdb_test_multiple "next" $msg { + -re ".*patt2.*$gdb_prompt $" { + pass $msg - gdb_test "next" "resumes\\+\\+.*" "next into else block (2)" - gdb_test "next" "miss_step_2.*" "next into safety net (2)" - } - -re "miss_step_2.*$gdb_prompt $" { - fail $msg + gdb_test "next" "resumes\\+\\+.*" "next into else block" + gdb_test "next" "miss_step_2.*" "next into safety net" + } + -re "miss_step_2.*$gdb_prompt $" { + fail $msg + } } } @@ -104,11 +114,16 @@ gdb_test_multiple "next" $msg { # Pattern 3 - setjmp/longjmp inside stepped-over function. # -delete_breakpoints +with_test_prefix "pattern 3" { -gdb_test "break $bp_start_test_3" \ - "Breakpoint.*at.* file .*$srcfile, line.*$bp_start_test_3.*" \ - "breakpoint at pattern 3 start" -gdb_test "continue" "patt3.*" "continue to breakpoint at pattern 3 start" + with_test_prefix setup { + delete_breakpoints -gdb_test "next" "longjmp caught.*" "next over patt3" + gdb_test "break $bp_start_test_3" \ + "Breakpoint.*at.* file .*$srcfile, line.*$bp_start_test_3.*" \ + "breakpoint at pattern start" + gdb_test "continue" "patt3.*" "continue to breakpoint at pattern start" + } + + gdb_test "next" "longjmp caught.*" "next over pattern" +}