public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Simon Marchi <simon.marchi@polymtl.ca>
To: gdb-patches@sourceware.org
Cc: Simon Marchi <simon.marchi@polymtl.ca>
Subject: [PATCH 10/14] gdb/testsuite/gdb.base/break.exp: split test_break_default
Date: Wed, 23 Nov 2022 13:39:55 -0500	[thread overview]
Message-ID: <20221123183959.2476477-11-simon.marchi@polymtl.ca> (raw)
In-Reply-To: <20221123183959.2476477-1-simon.marchi@polymtl.ca>

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.
-- 
2.38.1


  parent reply	other threads:[~2022-11-23 18:42 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-23 18:39 [PATCH 00/14] Break up gdb.base/break.exp in multiple procs Simon Marchi
2022-11-23 18:39 ` [PATCH 01/14] gdb/testsuite/gdb.base/break.exp: split test_break_commands_clear Simon Marchi
2022-11-23 18:39 ` [PATCH 02/14] gdb/testsuite/gdb.base/break.exp: split test_break_file_line_convenience_var Simon Marchi
2022-11-23 18:39 ` [PATCH 03/14] gdb/testsuite/gdb.base/break.exp: split test_rbreak_shlib Simon Marchi
2022-11-23 18:39 ` [PATCH 04/14] gdb/testsuite/gdb.base/break.exp: split test_break_optimized_prologue Simon Marchi
2022-11-23 18:39 ` [PATCH 05/14] gdb/testsuite/gdb.base/break.exp: use proc_with_prefix for test_next_with_recursion Simon Marchi
2022-11-23 18:39 ` [PATCH 06/14] gdb/testsuite/gdb.base/break.exp: split test_finish_arguments Simon Marchi
2022-11-23 18:39 ` [PATCH 07/14] gdb/testsuite/gdb.base/break.exp: split test_break_user_call Simon Marchi
2022-11-23 18:39 ` [PATCH 08/14] gdb/testsuite/gdb.base/break.exp: split test_break_line_convenience_var Simon Marchi
2022-11-23 18:39 ` [PATCH 09/14] gdb/testsuite/gdb.base/break.exp: split test_break_silent_and_more Simon Marchi
2022-11-23 18:39 ` Simon Marchi [this message]
2022-11-23 18:39 ` [PATCH 11/14] gdb/testsuite/gdb.base/break.exp: split test_break_nonexistent_line Simon Marchi
2022-11-23 18:39 ` [PATCH 12/14] gdb/testsuite/gdb.base/break.exp: split test_no_break_on_catchpoint Simon Marchi
2022-11-23 18:39 ` [PATCH 13/14] gdb/testsuite/gdb.base/break.exp: split test_tbreak Simon Marchi
2022-11-23 18:39 ` [PATCH 14/14] gdb/testsuite/gdb.base/break.exp: split test_break Simon Marchi
2022-11-24  3:03 ` [PATCH 00/14] Break up gdb.base/break.exp in multiple procs Kevin Buettner
2022-11-24 15:14   ` Simon Marchi

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=20221123183959.2476477-11-simon.marchi@polymtl.ca \
    --to=simon.marchi@polymtl.ca \
    --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).