This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Allow use of breakpoint commands inside `if' or `while'


> Date: Sat, 13 Jan 2007 19:11:41 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> 
> (I will post an initial attempt to add a test for this in a moment.)

Here it is.  It is admittedly inelegant; in particular, the
diagnostics for a GDB that fails the test is not very smart, and one
of the two tests isn't counted in the sum of failed tests, although it
does fail.  Hopefully, someone more fluent with Expect will be able to
improve on the test (I think Daniel offered help back when I first
reported this).

--- testsuite/gdb.base/commands.exp.~0	2007-01-09 12:59:09.000000000 -0500
+++ testsuite/gdb.base/commands.exp	2007-01-13 12:00:18.912682122 -0500
@@ -618,6 +618,23 @@
     file delete file3
 }
 
+proc breakpoint_commands_in_if_command_test {} {
+    if [target_info exists noargs] { 
+        verbose "Skipping breakpoint_commands_in_if_command_test because of noargs."
+        return
+    }
+
+    gdb_test "set \$tem = 1" "" "set \$tem in breakpoint_commands_in_if_command_test"
+    delete_breakpoints
+    gdb_test "if \$tem == 2\nbreak main\nelse\nbreak factorial\ncommands\nsilent\nset \$tem = 3\n\continue\nend\nend" \
+	    "Breakpoint \[0-9\]+ at .*: file .*/run.c, line \[0-9\]+\." \
+	    "breakpoint in else condition"
+    delete_breakpoints
+    gdb_test "if \$tem == 1\nbreak main\nelse\nbreak factorial\ncommands\nsilent\nset \$tem = 3\n\continue\nend\nend" \
+	    "Breakpoint \[0-9\]+ at .*: file .*/run.c, line \[0-9\]+\." \
+	    "breakpoint in if condition"
+}
+
 gdbvar_simple_if_test
 gdbvar_simple_while_test
 gdbvar_complex_if_while_test
@@ -635,3 +652,4 @@
 temporary_breakpoint_commands
 stray_arg0_test
 recursive_source_test
+breakpoint_commands_in_if_command_test


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]