public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Bruno Larsen <blarsen@redhat.com>
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	[thread overview]
Message-ID: <20220126195053.69559-2-blarsen@redhat.com> (raw)
In-Reply-To: <20220126195053.69559-1-blarsen@redhat.com>

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


  reply	other threads:[~2022-01-26 19:51 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-26 19:50 [PATCH 00/11] gdb/testsuite: Cleanup gdb.base for clang testing Bruno Larsen
2022-01-26 19:50 ` Bruno Larsen [this message]
2022-02-25 17:00   ` [PATCH 01/11] change gdb.base/skip.exp to use finish instead of step Andrew Burgess
2022-03-02 16:11   ` Pedro Alves
2022-03-02 16:39     ` Andrew Burgess
2022-03-07 19:59       ` Bruno Larsen
2022-01-26 19:50 ` [PATCH 02/11] change gdb.base/symbol-alias to xfail with clang Bruno Larsen
2022-01-26 19:50 ` [PATCH 03/11] Change gdb.base/skip-solib.exp deal with lack of epilogue information Bruno Larsen
2022-03-02 16:17   ` Pedro Alves
2022-03-07 19:53     ` Bruno Larsen
2022-01-26 19:50 ` [PATCH 04/11] change gdb.base/nodebug.c to not fail with clang Bruno Larsen
2022-01-26 19:50 ` [PATCH 05/11] update gdb.base/info-program.exp " Bruno Larsen
2022-01-26 19:50 ` [PATCH 06/11] fix gdb.base/access-mem-running.exp for clang testing Bruno Larsen
2022-01-26 19:50 ` [PATCH 07/11] fix gdb.base/call-ar-st to work with clang Bruno Larsen
2022-03-02 18:59   ` Pedro Alves
2022-03-04 14:14     ` Tom Tromey
2022-03-07 20:39     ` Bruno Larsen
2022-01-26 19:50 ` [PATCH 08/11] add xfails to gdb.base/complex-parts.exp when testing " Bruno Larsen
2022-03-02 19:10   ` Pedro Alves
2022-01-26 19:50 ` [PATCH 09/11] gdb/testsuite: don't test gdb.base/msym-bp-shl " Bruno Larsen
2022-03-02 19:33   ` Pedro Alves
2022-03-08 12:58     ` Bruno Larsen
2022-03-30 12:19     ` Bruno Larsen
2022-03-31 18:49       ` Pedro Alves
2022-03-31 19:13         ` Bruno Larsen
2022-01-26 19:50 ` [PATCH 10/11] make use of finish to leave function in gdb.base/skip-inline.exp Bruno Larsen
2022-01-26 19:50 ` [PATCH 11/11] explicitly test for stderr in gdb.base/dprintf.exp Bruno Larsen
2022-03-02 16:50   ` Pedro Alves
2022-03-31 13:44     ` Bruno Larsen
2022-03-31 14:31       ` Pedro Alves
2022-02-09 12:03 ` [PING][PATCH 00/11] gdb/testsuite: Cleanup gdb.base for clang testing Bruno Larsen
2022-02-21 12:53   ` [PINGv2][PATCH " Bruno Larsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220126195053.69559-2-blarsen@redhat.com \
    --to=blarsen@redhat.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).