From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 6B9113857C62 for ; Wed, 26 Jan 2022 19:51:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6B9113857C62 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-625-tzcrXYbkPfuVKz32oWqpyQ-1; Wed, 26 Jan 2022 14:51:17 -0500 X-MC-Unique: tzcrXYbkPfuVKz32oWqpyQ-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 353E9100CCC3 for ; Wed, 26 Jan 2022 19:51:16 +0000 (UTC) Received: from blarsen.com (ovpn-116-36.gru2.redhat.com [10.97.116.36]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 84EAA4ABBC; Wed, 26 Jan 2022 19:51:14 +0000 (UTC) From: Bruno Larsen To: gdb-patches@sourceware.org Subject: [PATCH 01/11] change gdb.base/skip.exp to use finish instead of step Date: Wed, 26 Jan 2022 16:50:43 -0300 Message-Id: <20220126195053.69559-2-blarsen@redhat.com> In-Reply-To: <20220126195053.69559-1-blarsen@redhat.com> References: <20220126195053.69559-1-blarsen@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" X-Spam-Status: No, score=-13.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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-List-Received-Date: Wed, 26 Jan 2022 19:51:22 -0000 skip.exp was making use of a fixed amount of step commands to exit some functions. This caused some problems when testing GDB with clang, as it doesn't add epilogue information for functions. Since the step commands weren't testing important features, they were changed to finish commands. --- gdb/testsuite/gdb.base/skip.exp | 56 ++++++++++++++------------------- 1 file changed, 23 insertions(+), 33 deletions(-) diff --git a/gdb/testsuite/gdb.base/skip.exp b/gdb/testsuite/gdb.base/skip.exp index 7c71bb07a84..a961fbbdf41 100644 --- a/gdb/testsuite/gdb.base/skip.exp +++ b/gdb/testsuite/gdb.base/skip.exp @@ -117,9 +117,8 @@ with_test_prefix "step after deleting 1" { return } - gdb_test "step" "foo \\(\\) at.*" "step 1" - gdb_test "step" ".*" "step 2" ; # Return from foo() - gdb_test "step" "main \\(\\) at.*" "step 3" + gdb_test "step" "foo \\(\\) at.*" "step" + gdb_test "finish" ".*" "finish" ; # Return from foo() } # Now disable the skiplist entry for skip1.c. We should now @@ -137,13 +136,11 @@ with_test_prefix "step after disabling 3" { } gdb_test "step" "bar \\(\\) at.*" "step 1" - gdb_test "step" ".*" "step 2"; # Return from bar() - # With gcc 9.2.0 we jump once back to main before entering foo here. - # If that happens try to step a second time. - gdb_test "step" "foo \\(\\) at.*" "step 3" \ - "main \\(\\) at .*\r\n$gdb_prompt " "step" - gdb_test "step" ".*" "step 4"; # Return from foo() - gdb_test "step" "main \\(\\) at.*" "step 5" + # guarantee that we jump once back to main before entering foo here. + gdb_test "finish" ".*" "finish 1"; # Return to main() + gdb_test "step" "foo \\(\\) at.*" "step 2" \ + "main \\(\\) at .*\r\n$gdb_prompt " "step" # enter foo() + gdb_test "finish" ".*" "finish 2"; # Return from foo() } # Enable skiplist entry 3 and make sure we step over it like before. @@ -159,9 +156,8 @@ with_test_prefix "step after enable 3" { return } - gdb_test "step" "foo \\(\\) at.*" "step 1" - gdb_test "step" ".*" "step 2"; # Return from foo() - gdb_test "step" "main \\(\\) at.*" "step 3" + gdb_test "step" "foo \\(\\) at.*" "step" + gdb_test "finish" ".*" "finish"; # Return from foo() } # Admin tests (disable,enable,delete). @@ -230,9 +226,8 @@ with_test_prefix "step using -fi" { gdb_test_no_output "skip disable" gdb_test_no_output "skip enable 5" - gdb_test "step" "foo \\(\\) at.*" "step 1" - gdb_test "step" ".*" "step 2"; # Return from foo() - gdb_test "step" "main \\(\\) at.*" "step 3" + gdb_test "step" "foo \\(\\) at.*" "step" + gdb_test "finish" ".*" "finish"; # Return from foo() } with_test_prefix "step using -gfi" { @@ -242,9 +237,8 @@ with_test_prefix "step using -gfi" { gdb_test_no_output "skip disable" gdb_test_no_output "skip enable 6" - gdb_test "step" "foo \\(\\) at.*" "step 1" - gdb_test "step" ".*" "step 2"; # Return from foo() - gdb_test "step" "main \\(\\) at.*" "step 3" + gdb_test "step" "foo \\(\\) at.*" "step" + gdb_test "finish" ".*" "finish"; # Return from foo() } with_test_prefix "step using -fu for baz" { @@ -255,13 +249,11 @@ with_test_prefix "step using -fu for baz" { gdb_test_no_output "skip disable" gdb_test_no_output "skip enable 7" gdb_test "step" "bar \\(\\) at.*" "step 1" - gdb_test "step" ".*" "step 2"; # Return from bar() - # With gcc 9.2.0 we jump once back to main before entering foo here. - # If that happens try to step a second time. - gdb_test "step" "foo \\(\\) at.*" "step 3" \ - "main \\(\\) at .*\r\n$gdb_prompt " "step" - gdb_test "step" ".*" "step 4"; # Return from foo() - gdb_test "step" "main \\(\\) at.*" "step 5" + # guarantee that we jump once back to main before entering foo here. + gdb_test "finish" ".*" "finish 1"; # Return to main() + gdb_test "step" "foo \\(\\) at.*" "step 2" \ + "main \\(\\) at .*\r\n$gdb_prompt " "step" # enter foo() + gdb_test "finish" ".*" "finish 2"; # Return from foo() } with_test_prefix "step using -rfu for baz" { @@ -272,13 +264,11 @@ with_test_prefix "step using -rfu for baz" { gdb_test_no_output "skip disable" gdb_test_no_output "skip enable 8" gdb_test "step" "bar \\(\\) at.*" "step 1" - gdb_test "step" ".*" "step 2"; # Return from bar() - # With gcc 9.2.0 we jump once back to main before entering foo here. - # If that happens try to step a second time. - gdb_test "step" "foo \\(\\) at.*" "step 3" \ - "main \\(\\) at .*\r\n$gdb_prompt " "step" - gdb_test "step" ".*" "step 4"; # Return from foo() - gdb_test "step" "main \\(\\) at.*" "step 5" + # guarantee that we jump once back to main before entering foo here. + gdb_test "finish" ".*" "finish 1"; # Return to main() + gdb_test "step" "foo \\(\\) at.*" "step 2" \ + "main \\(\\) at .*\r\n$gdb_prompt " "step" # enter foo() + gdb_test "finish" ".*" "finish 2"; # Return from foo() } # Test -fi + -fu. -- 2.31.1