-Fri Jan 29 06:32:16 1999 Keith Seitz <keiths@cygnus.com>
-
- * gdb.gdbtk/cpp_variable.test (cpp_variable-1.1): Fix
- function name error.
-
- * gdb.gdbtk/cpp_variable.h (class VC): Fix compiler warning.
-
1999-01-29 Martin Hunt <hunt@cygnus.com>
- * srcwin.test(srcwin-4.3) Change bytype field to 3.
+ * srcwin.test (click): New function that generates an event
+ at a location.
+ (srcwin-4.4): New test. Simulate a click on a line and
+ check for breakpoint set.
+ (srcwin-4.5): New test. Right-click on a line and select "Continue
+ to Here" from popup.
+
+ * srcwin.exp: Source srcwin3.test, which will test source window
+ assembly debugging on executables built without "-g".
+
+1999-01-29 Martin Hunt <hunt@cygnus.com>
* srcwin.exp: Add srcwin2.test, which are basically the same
tests as srcwin.test, but run with a missing source file.
testing BP balloons, variable balloons, and mixed-mode disassembly
of include files.
-Wed Dec 30 08:52:58 1998 Keith Seitz <keiths@cygnus.com>
-
- * gdb.gdbtk/{console.exp, browser.exp}: If no DISPLAY is set,
- skip the tests.
-
-1998-09-29 Keith Seitz <keiths@cygnus.com>
-
- * gdb.gdbtk/browser.test: Fix tests which incorrectly assume
- that gdb knows _exactly_ which files belong to the user
- and which come from libraries.
-
-Fri Jul 24 14:57:19 1998 Keith Seitz <keiths@cygnus.com>
-
- * gdb.gdbtk/Makefile.in: Add new example program "stack".
- * gdb.gdbtk/browser.test,browser.exp: Add browser window
- tests.
- * gdb.gdbtk/stack1.c,stack2.c: Test case for browser window.
-
-Sun Jun 28 22:34:34 1998 Martin M. Hunt <hunt@cygnus.com>
-
- * gdb.gdbtk/simple.c (main): Make main return an
- int so compiler will stop complaining.
-
-Fri Jun 26 14:27:13 1998 Keith Seitz <keiths@cygnus.com>
-
- * lib/gdb.exp (gdbtk_start): Add startup for gdbtk.
-
- * configure.in: Add options for gdbtk testsuite.
-
- * configure: Regenerate.
-
- * gdb.gdbtk: New directory to hold gdbtk tests.
-
- * gdb.gdbtk/console.{exp, test}: New console window tests.
Local Variables:
mode: change-log
}
}
+proc click {win bbox event} {
+ move_mouse_to $win $bbox
+ update
+ set x [expr [lindex $bbox 0] + [lindex $bbox 2] / 2]
+ set y [expr [lindex $bbox 1] + [lindex $bbox 3] / 2]
+
+ if {[catch {event generate $win $event -x $x -y $y} result]} {
+ return 0
+ }
+ return 1
+}
+
##### #####
# #
if {$i == "12.2"} {
incr r
} else {
- dbug X $i
incr r 5
}
}
set r
} {1}
-# 4.1 bp, multiple, balloon, etc
+# 4 - BREAKPOINTS
# Test: srcwin-4.1
# Desc: Set BP in another file. Tests bp and cache functions
set r
} {2}
+#ManagedWin::open DebugWin
+
+# Test: srcwin-4.4
+# Desc: Click on line to set BP
+gdbtk_test srcwin-4.4 "Click on line to set BP" {
+ set r 0
+
+ # click mouse button 1 at index 14.1
+ if {![click $twin [$twin bbox 14.1] <Button-1>]} {set r -100}
+
+ # now look for BP at line 14
+ foreach bpnum [gdb_get_breakpoint_list] {
+ set bpinfo [gdb_get_breakpoint_info $bpnum]
+ lassign $bpinfo file func line pc type enabled disposition \
+ ignore_count commands cond thread hit_count
+ set file [lindex [file split $file] end]
+ if {$file == "list0.h"} {
+ if {$line == "14"} {
+ if {$enabled == "1"} {incr r}
+ if {$func == "foo"} {incr r}
+ if {$type == "breakpoint"} {incr r}
+ if {$disposition == "donttouch"} {incr r}
+ }
+ }
+ }
+ set r
+} {4}
+
+
+# Test: srcwin-4.5
+# Desc: Continue till here popup
+gdbtk_test srcwin-4.4 "Continue till here popup" {
+ set r
+ set twin [$stw test_get twin]
+
+ # click mouse button 1 at index 12.1
+ set b [$twin bbox 12.1]
+ if {![click $twin $b <ButtonPress-3>]} {set r -100}
+
+ # Hack. Just release the botton 10 pixels to the right and below
+ # where the press was. This should select the first entry in the
+ # popup menu, "Continue to Here". This should be made more robust.
+ set x [expr [lindex $b 0] + [lindex $b 2] / 2 + 10]
+ set y [expr [lindex $b 1] + [lindex $b 3] / 2 + 10]
+ if {![click $twin [list $x $y 0 0] <ButtonRelease-3>]} {set r -200}
+
+ # check for PC_TAG on the correct line
+ if {$r == 0} {
+ if {![catch {set z [$twin dump 1.0 end]}]} {
+ foreach {k v i} $z {
+ if {$k == "tagon"} {
+ if {$v == "PC_TAG"} {
+ if {$i == "12.2"} {
+ incr r
+ } else {
+ incr r 5
+ }
+ }
+ if {$v == "STACK_TAG"} {incr r 10}
+ if {$v == "BROWSE_TAG"} {incr r 100}
+ } elseif {$k == "image"} {
+ switch $i {
+ 10.0 {incr r}
+ 12.0 {incr r}
+ 14.0 {incr r}
+ default {incr r 1000}
+ }
+ }
+ }
+ } else {
+ set r -4
+ }
+ }
+ # should have seen on PC_TAG at line 12, plus BP images at 10.0, 12.0 and 14.0
+ set r
+} {4}
+
# 5.1 balloon variables
# Test: srcwin-5.1
# Desc: variable balloon test
+# continues to BP at line 14 and checks to see that value was updated
gdbtk_test srcwin-5.1 "variable balloon test" {
# move pointer out of the way
warp_pointer . 0 0
move_mouse_to $twin [$twin bbox 10.$index]
sleep 1
if {[winfo ismapped $balloon]} {
- if {![string compare "x=2" [$balloon.label cget -text]]} {incr r}
+ if {![string compare "x=6" [$balloon.label cget -text]]} {incr r}
gdb_immediate "continue" 1
- if {![string compare "x=4" [$balloon.label cget -text]]} {incr r}
+ if {![string compare "x=8" [$balloon.label cget -text]]} {incr r}
} else {
set r -1
}