diff options
Diffstat (limited to 'gdb/testsuite/gdb.gdbtk/srcwin2.test')
-rw-r--r-- | gdb/testsuite/gdb.gdbtk/srcwin2.test | 906 |
1 files changed, 906 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.gdbtk/srcwin2.test b/gdb/testsuite/gdb.gdbtk/srcwin2.test new file mode 100644 index 00000000000..395ce0b3138 --- /dev/null +++ b/gdb/testsuite/gdb.gdbtk/srcwin2.test @@ -0,0 +1,906 @@ +# Copyright (C) 1999 Cygnus Solutions +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# Please email any bugs, comments, and/or additions to this file to: +# bug-gdb@prep.ai.mit.edu + +# This file was written by Martin Hunt (hunt@cygnus.com) + + +# same as srcwin.test, except test debugging executables +# when source files are missing. + +# Read in the standard defs file + +if {![gdbtk_read_defs]} { + break +} + +global objdir srcdir + +##### ##### +# # +# SECTION 1: Mode Tests # +# # +##### ##### + +# Load the test executable +if {$tcl_platform(platform) == "windows"} { + set file [file join $objdir list.exe] +} else { + set file [file join $objdir list] +} + +# This isn't a test case, since if this fails, we're hosed. +if {[catch {gdb_cmd "file $file" 1} t]} { + # an error occured loading the file + gdbtk_test_error "loading \"$file\": $t" +} + +set srcwin [ManagedWin::open SrcWin] +set stw [$srcwin test_get twin] +set twin [$stw test_get twin] +set statbar [$srcwin test_get _statbar] + +# get things started +gdb_cmd "break main" +run_executable + +# Test: srcwin2-1.1 +# Desc: Check for something in source window +gdbtk_test srcwin2-1.1 "source window has contents" { + set r 0 + set file1(source) [$twin get 1.0 end] + if {$file1(source) == ""} {set r -1} + if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} + set r +} {0} + +# Test: srcwin2-1.2 +# Desc: source->assembly mode change +gdbtk_test srcwin2-1.2 "source->assembly mode change" { + $srcwin mode "" ASSEMBLY + set twin [$stw test_get twin] + set file1(assembly) [$twin get 1.0 end] + # source == assembly because for there is no source + string compare $file1(source) $file1(assembly) +} {0} + +# Test: srcwin2-1.3 +# Desc: assembly->mixed mode change +gdbtk_test srcwin2-1.3 "assembly->mixed mode change" { + set r 0 + $srcwin mode "" MIXED + set twin [$stw test_get twin] + set file1(mixed) [$twin get 1.0 end] + # mixed != assembly because the lines with source should + # be noted, even if source in unavailable. + if {$file1(mixed) == $file1(assembly)} {set r -1} + if {[$statbar.mode get] != "MIXED"} {set r -2} + set r +} {0} + +# Test: srcwin2-1.4 +# Desc: mixed->src+asm mode change +gdbtk_test srcwin2-1.4 "mixed->src+asm mode change" { + set r 0 + # mode change may fail if fallover to ASSEMBLY fails + if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 } + set twin [$stw test_get twin] + if {[$twin get 1.0 end] != $file1(assembly)} {set r -1} + if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} + set r +} {0} + +# Test: srcwin2-1.5 +# Desc: src+asm->source mode change +gdbtk_test srcwin2-1.5 "src+asm->source mode change" { + set r 0 + $srcwin mode "" SOURCE + set twin [$stw test_get twin] + if {[$stw test_get bwin] != ""} {set r -2} + if {[$twin get 1.0 end] != $file1(assembly)} {set r -1} + if {[$statbar.mode get] != "ASSEMBLY"} {set r -3} + set r +} {0} + +# Test: srcwin2-1.6 +# Desc: source->mixed mode change +gdbtk_test srcwin2-1.6 "source->mixed mode change" { + set r 0 + $srcwin mode "" MIXED + set twin [$stw test_get twin] + if {[$twin get 1.0 end] != $file1(mixed)} {set r -1} + if {[$statbar.mode get] != "MIXED"} {set r -2} + set r +} {0} + +# Test: srcwin2-1.7 +# Desc: mixed->source mode change +gdbtk_test srcwin2-1.7 "mixed->source mode change" { + set r 0 + $srcwin mode "" SOURCE + set twin [$stw test_get twin] + if {[$twin get 1.0 end] != $file1(source)} {set r -1} + if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} + set r +} {0} + +# Test: srcwin2-1.8 +# Desc: source->src+asm mode change +gdbtk_test srcwin2-1.8 "source->src+asm mode change" { + set r 0 + # mode change may fail if fallover to ASSEMBLY fails + if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 } + set twin [$stw test_get twin] + set bwin [$stw test_get bwin] + if {[$twin get 1.0 end] != $file1(assembly)} {set r -1} + if {$bwin != ""} {set r -2} + if {[$statbar.mode get] != "ASSEMBLY"} {set r -3} + set r +} {0} + +# Test: srcwin2-1.9 +# Desc: src+asm->assembly mode change +gdbtk_test srcwin2-1.9 "src+asm->assembly mode change" { + set r 0 + $srcwin mode "" ASSEMBLY + set twin [$stw test_get twin] + if {[$twin get 1.0 end] != $file1(assembly)} {set r -1} + if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} + set r +} {0} + +# Test: srcwin2-1.10 +# Desc: assembly->src+asm mode change +gdbtk_test srcwin2-1.10 "assembly->src+asm mode change" { + set r 0 + # mode change may fail if fallover to ASSEMBLY fails + if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 } + set twin [$stw test_get twin] + set bwin [$stw test_get bwin] + if {[$twin get 1.0 end] != $file1(assembly)} {set r -1} + if {$bwin != ""} {set r -2} + if {[$statbar.mode get] != "ASSEMBLY"} {set r -3} + set r +} {0} + +# Test: srcwin2-1.11 +# Desc: src+asm->mixed mode change +gdbtk_test srcwin2-1.11 "src+asm->mixed mode change" { + set r 0 + $srcwin mode "" MIXED + set twin [$stw test_get twin] + if {[$twin get 1.0 end] != $file1(mixed)} {set r -1} + if {[$statbar.mode get] != "MIXED"} {set r -2} + set r +} {0} + +# Test: srcwin2-1.12 +# Desc: mixed->assembly mode change +gdbtk_test srcwin2-1.12 "mixed->assembly mode change" { + set r 0 + $srcwin mode "" ASSEMBLY + set twin [$stw test_get twin] + if {[$twin get 1.0 end] != $file1(assembly)} {set r -1} + if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} + set r +} {0} + +# Test: srcwin2-1.13 +# Desc: assembly->source mode change +gdbtk_test srcwin2-1.13 "assembly->source mode change" { + set r 0 + $srcwin mode "" SOURCE + set twin [$stw test_get twin] + if {[$twin get 1.0 end] != $file1(source)} {set r -1} + if {[$statbar.mode get] != "ASSEMBLY"} {set r -2} + set r +} {0} + + +##### ##### +# # +# SECTION 2: Basic Operations # +# # +##### ##### + +# Test: srcwin2-2.1 +# Desc: check contents of filename combobox +gdbtk_test srcwin2-2.1 "check contents of filename combobox" { + set names [$statbar.name listget 0 end] + set r 0 + foreach f {list0.c list1.c list0.h} { + if {[lsearch $names $f] != -1} { + incr r + } + } + set r +} {3} + +# Test: srcwin2-2.2 +# Desc: check contents of function combobox +gdbtk_test srcwin2-2.2 "check contents of function combobox" { + set names [$statbar.func listget 0 end] + set r 0 + foreach f {main foo unused} { + if {[lsearch $names $f] != -1} { + incr r + } + } + set r +} {3} + +# Test: srcwin2-2.3 +# Desc: goto filename +gdbtk_test srcwin2-2.3 "goto filename" { + set func [$srcwin test_get _name 1] + $func "" list1.c + set twin [$stw test_get twin] + set file2(source) [$twin get 1.0 end] + expr {![string compare $file1(source) $file2(source)]} +} {0} + +# Test: srcwin2-2.4 +# Desc: check contents of function combobox +gdbtk_test srcwin2-2.4 "check contents of function combobox" { + set names [$statbar.func listget 0 end] + set r 0 + foreach f {bar long_line oof unused} { + if {[lsearch $names $f] != -1} { + incr r + } + } + set r +} {4} + +# Test: srcwin2-2.5 +# Desc: function combobox entry field should be empty after switching to a new file +gdbtk_test srcwin2-2.5 "function combobox entry field should be empty" { + set names [$statbar.func get] + string length $names +} {0} + +# Test: srcwin2-2.6 +# Desc: goto function +gdbtk_test srcwin2-2.6 "goto function bar" { + $srcwin goto_func "" bar + set r 0 + + # now get a dump of all tags and check that only one line is + # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG. + + # We know that list1.c should have BROWSE_TAG set at index 5.2 + # for function "bar". If list1.c is changed or the layout of the source + # window is changed, this must be updated. + if {![catch {set z [$twin dump -tag 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "BROWSE_TAG"} { + if {$i == "5.2"} { + incr r + } else { + incr r 5 + } + } + if {$v == "STACK_TAG"} { incr r 10} + if {$v == "PC_TAG"} { incr r 100} + } + } + } else { + set r -1 + } + + if {$r == 1} { + # things are OK so far, so just verify the function name is displayed + # in the combobox entry field. + set names [$statbar.func get] + if {[string compare $names "bar"]} {set r -2} + } + set r +} {1} + +# Test: srcwin2-2.7 +# Desc: goto function "oof". This tests that the correct line is highlighted +# with BROWSE_TAG and no other lines are highlighted. It also checks that +# the combobox has the correct function name in it. Finally, list1.c +# has an extremely long line, line 32, that breaks some functions. We verify +# that the GDBtk has the correct line number. + +gdbtk_test srcwin2-2.7 "goto function oof" { + $srcwin goto_func "" oof + set r 0 + + # now get a dump of all tags and check that only one line is + # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG. + + # We know that list1.c should have BROWSE_TAG set at index 32.2 + # for function "oof". If list1.c is changed or the layout of the source + # window is changed, this must be updated. + if {![catch {set z [$twin dump -tag 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "BROWSE_TAG"} { + if {$i == "32.2"} { + set line_number [$twin get "$i wordstart" "$i wordend"] + if {$line_number == "32"} { + incr r + } else { + incr r -100 + } + } else { + incr r 5 + } + } + if {$v == "STACK_TAG"} {incr r 10} + if {$v == "PC_TAG"} {incr r 100} + } + } + } else { + set r -1 + } + + if {$r == 1} { + # things are OK so far, so just verify the function name is displayed + # in the combobox entry field. + set names [$statbar.func get] + if {[string compare $names "oof"]} {set r -2} + } + set r +} {1} + +# Test: srcwin2-2.8 +# Desc: This test issues a next command while browsing list1.c. +# It should display list0.c and highlight the correct line. +gdbtk_test srcwin2-2.8 "step while browsing" { + gdb_immediate "next" 1 + set r 0 + set name [$statbar.name get] + set func [$statbar.func get] + + # check contents of name and function comboboxes + if {$name != "list0.c"} {set r -1} + if {$func != "main"} {set r -2} + + # check that correct file is displayed + set twin [$stw test_get twin] + set a [$twin get 1.0 end] + if {[string compare $file1(source) $a]} {set r -3} + + # check for PC_TAG + if {$r == 0} { + if {![catch {set z [$twin dump -tag 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "PC_TAG"} { + incr r + } + if {$v == "STACK_TAG"} {incr r 10} + if {$v == "BROWSE_TAG"} {incr r 100} + } + } + } else { + set r -4 + } + } + set r +} {1} + +# Test: srcwin2-2.11 +# Desc: This test issues a break and a continue +gdbtk_test srcwin2-2.11 "set BP and continue" { + gdb_immediate "break oof" 1 + gdb_immediate "continue" 1 + set r 0 + set name [$statbar.name get] + set func [$statbar.func get] + + # check contents of name and function comboboxes + if {$name != "list1.c"} {set r -1} + if {$func != "oof"} {set r -2} + + # check that the correct file is displayed + # we must clear the breakpoint first so it doesn't mess up the + # comparison... + gdb_immediate "clear oof" 1 + set twin [$stw test_get twin] + set a [$twin get 1.0 end] + if {[string compare $file2(source) $a]} {set r -3} + + # check for PC_TAG on correct line + if {$r == 0} { + if {![catch {set z [$twin dump -tag 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "PC_TAG"} { + if {$i == "32.2"} { + incr r + } else { + incr r 5 + } + } + if {$v == "STACK_TAG"} {incr r 10} + if {$v == "BROWSE_TAG"} {incr r 100} + } + } + } else { + set r -4 + } + } + set r +} {1} + +##### ##### +# # +# SECTION 3: Stack Operations # +# # +##### ##### + +# Test: srcwin2-3.1 +# Desc: This tests "stack up" +gdbtk_test srcwin2-3.1 "stack up (1)" { + $srcwin stack up + set r 0 + set name [$statbar.name get] + set func [$statbar.func get] + + # check contents of name and function comboboxes + if {$name != "list1.c"} {set r -1} + if {$func != "long_line"} {set r -2} + + # check that the correct file is displayed + set twin [$stw test_get twin] + set a [$twin get 1.0 end] + if {[string compare $file2(source) $a]} {set r -3} + + # check for PC_TAG and STACK_TAG on correct lines + if {$r == 0} { + if {![catch {set z [$twin dump -tag 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "PC_TAG"} { + if {$i == "32.2"} { + incr r + } else { + incr r 5 + } + } + if {$v == "STACK_TAG"} { + if {$i == "22.2"} { + incr r + } else { + incr r 10 + } + } + if {$v == "BROWSE_TAG"} {incr r 100} + } + } + } else { + set r -4 + } + } + set r +} {2} + +# Test: srcwin2-3.2 +# Desc: Another "stack up" test +gdbtk_test srcwin2-3.2 "stack up (2)" { + $srcwin stack up + set r 0 + set name [$statbar.name get] + set func [$statbar.func get] + + # check contents of name and function comboboxes + if {$name != "list1.c"} {set r -1} + if {$func != "bar"} {set r -2} + + # check that the correct file is displayed + set twin [$stw test_get twin] + set a [$twin get 1.0 end] + if {[string compare $file2(source) $a]} {set r -3} + + # check for PC_TAG and STACK_TAG on correct lines + if {$r == 0} { + if {![catch {set z [$twin dump -tag 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "PC_TAG"} { + if {$i == "32.2"} { + incr r + } else { + incr r 5 + } + } + if {$v == "STACK_TAG"} { + if {$i == "7.2"} { + incr r + } else { + incr r 10 + } + } + if {$v == "BROWSE_TAG"} {incr r 100} + } + } + } else { + set r -4 + } + } + set r +} {2} + +# Test: srcwin2-3.3 +# Desc: Another "stack up" test +gdbtk_test srcwin2-3.3 "stack up (3)" { + $srcwin stack up + set r 0 + set name [$statbar.name get] + set func [$statbar.func get] + + # check contents of name and function comboboxes + if {$name != "list0.h"} {set r -1} + if {$func != "foo"} {set r -2} + + # check that the correct file is displayed + set twin [$stw test_get twin] + set file3(source) [$twin get 1.0 end] + if {![string compare $file2(source) $file3(source)]} {set r -3} + + # check for PC_TAG and STACK_TAG on correct lines + if {$r == 0} { + if {![catch {set z [$twin dump -tag 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "STACK_TAG"} { + if {$i == "8.2"} { + incr r + } else { + incr r 5 + } + } + if {$v == "PC_TAG"} {incr r 10} + if {$v == "BROWSE_TAG"} {incr r 100} + } + } + } else { + set r -4 + } + } + set r +} {1} + +# Test: srcwin2-3.4 +# Desc: Another "stack up" test +gdbtk_test srcwin2-3.4 "stack up (4)" { + $srcwin stack up + set r 0 + set name [$statbar.name get] + set func [$statbar.func get] + + # check contents of name and function comboboxes + if {$name != "list0.c"} {set r -1} + if {$func != "main"} {set r -2} + + # check that the correct file is displayed + set twin [$stw test_get twin] + set a [$twin get 1.0 end] + if {[string compare $file1(source) $a]} {set r -3} + + # check for STACK_TAG + if {$r == 0} { + if {![catch {set z [$twin dump -tag 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "STACK_TAG"} { + incr r + } + if {$v == "PC_TAG"} {incr r 10} + if {$v == "BROWSE_TAG"} {incr r 100} + } + } + } else { + set r -4 + } + } + set r +} {1} + +# Test: srcwin2-3.5 +# Desc: "stack up" when we are at the top +gdbtk_test srcwin2-3.5 "stack up when at the top" { + $srcwin stack up + set r 0 + set name [$statbar.name get] + set func [$statbar.func get] + + # check contents of name and function comboboxes + if {$name != "list0.c"} {set r -1} + if {$func != "main"} {set r -2} + + # check that the correct file is displayed + set twin [$stw test_get twin] + set a [$twin get 1.0 end] + if {[string compare $file1(source) $a]} {set r -3} + + # check for STACK_TAG + if {$r == 0} { + if {![catch {set z [$twin dump -tag 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "STACK_TAG"} { + incr r + } + if {$v == "PC_TAG"} {incr r 10} + if {$v == "BROWSE_TAG"} {incr r 100} + } + } + } else { + set r -4 + } + } + set r +} {1} + +# Test: srcwin2-3.6 +# Desc: "stack down" test +gdbtk_test srcwin2-3.6 "stack down" { + $srcwin stack down + set r 0 + set name [$statbar.name get] + set func [$statbar.func get] + + # check contents of name and function comboboxes + if {$name != "list0.h"} {set r -1} + if {$func != "foo"} {set r -2} + + # check that the correct file is displayed + set twin [$stw test_get twin] + set a [$twin get 1.0 end] + if {![string compare $file2(source) $a]} {set r -3} + + # check for PC_TAG and STACK_TAG on correct lines + if {$r == 0} { + if {![catch {set z [$twin dump -tag 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "STACK_TAG"} { + if {$i == "8.2"} { + incr r + } else { + incr r 5 + } + } + if {$v == "PC_TAG"} {incr r 10} + if {$v == "BROWSE_TAG"} {incr r 100} + } + } + } else { + set r -4 + } + } + set r +} {1} + +# Test: srcwin2-3.7 +# Desc: "stack bottom" test +gdbtk_test srcwin2-3.7 "stack bottom" { + $srcwin stack bottom + set r 0 + set name [$statbar.name get] + set func [$statbar.func get] + + # check contents of name and function comboboxes + if {$name != "list1.c"} {set r -1} + if {$func != "oof"} {set r -2} + + # check that the correct file is displayed + set twin [$stw test_get twin] + set a [$twin get 1.0 end] + if {[string compare $file2(source) $a]} {set r -3} + + # check for PC_TAG on correct line + if {$r == 0} { + if {![catch {set z [$twin dump -tag 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "PC_TAG"} { + if {$i == "32.2"} { + incr r + } else { + incr r 5 + } + } + if {$v == "STACK_TAG"} {incr r 10} + if {$v == "BROWSE_TAG"} {incr r 100} + } + } + } else { + set r -4 + } + } + set r +} {1} + +# Test: srcwin2-3.8 +# Desc: "stack down" when at bottom +gdbtk_test srcwin2-3.8 "stack down when at bottom" { + $srcwin stack down + set r 0 + set name [$statbar.name get] + set func [$statbar.func get] + + # check contents of name and function comboboxes + if {$name != "list1.c"} {set r -1} + if {$func != "oof"} {set r -2} + + # check that the correct file is displayed + set twin [$stw test_get twin] + set a [$twin get 1.0 end] + if {[string compare $file2(source) $a]} {set r -3} + + # check for PC_TAG on correct line + if {$r == 0} { + if {![catch {set z [$twin dump -tag 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "PC_TAG"} { + if {$i == "32.2"} { + incr r + } else { + incr r 5 + } + } + if {$v == "STACK_TAG"} {incr r 10} + if {$v == "BROWSE_TAG"} {incr r 100} + } + } + } else { + set r -4 + } + } + set r +} {1} + +# 4.1 bp, multiple, balloon, etc + +# Test: srcwin2-4.1 +# Desc: Set BP in another file. Tests bp and cache functions +gdbtk_test srcwin2-4.1 "set BP in another file" { + gdb_immediate "break foo" 1 + $srcwin goto_func "" foo + set r 0 + set name [$statbar.name get] + set func [$statbar.func get] + + # check contents of name and function comboboxes + if {$name != "list0.h"} {set r -1} + if {$func != "foo"} {set r -2} + + set twin [$stw test_get twin] + + # check for BROWSE_TAG and BP image on correct line + if {$r == 0} { + if {![catch {set z [$twin dump 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "BROWSE_TAG"} { + if {$i == "8.2"} { + incr r + } else { + incr r 5 + } + } + if {$v == "STACK_TAG"} {incr r 10} + if {$v == "PC_TAG"} {incr r 100} + } elseif {$k == "image"} { + if {$i == "8.0"} { + incr r + } else { + set r -200 + } + } + } + } else { + set r -4 + } + } + + if {$r == 2} { + # clear BP and compare with previous contents. This should succeed, + gdb_immediate "clear foo" 1 + set a [$twin get 1.0 end] + if {[string compare $file3(source) $a]} {set r -3} + } + + set r +} {2} + +# Test: srcwin2-4.2 +# Desc: Test temporary BP +gdbtk_test srcwin2-4.2 "temporary BP" { + set r 0 + if {[catch {gdb_immediate "tbreak foo" 1} msg]} { + set r -500 + } + set name [$statbar.name get] + set func [$statbar.func get] + + # check contents of name and function comboboxes + if {$name != "list0.h"} {set r -1} + if {$func != "foo"} {set r -2} + + set twin [$stw test_get twin] + + # check for BROWSE_TAG and BP image on correct line + if {$r == 0} { + if {![catch {set z [$twin dump 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "BROWSE_TAG"} { + if {$i == "8.2"} { + incr r + } else { + incr r 5 + } + } + if {$v == "STACK_TAG"} {incr r 10} + if {$v == "PC_TAG"} {incr r 100} + } elseif {$k == "image"} { + if {$i == "8.0"} { + incr r + } else { + set r -200 + } + } + } + } else { + set r -4 + } + } + + gdb_immediate "continue" 1 + + # now check for PC_TAG and no image + if {$r == 2} { + if {![catch {set z [$twin dump 1.0 end]}]} { + foreach {k v i} $z { + if {$k == "tagon"} { + if {$v == "PC_TAG"} { + if {$i == "8.2"} { + incr r + } else { + incr r 5 + } + } + if {$v == "STACK_TAG"} {incr r 10} + if {$v == "BROWSE_TAG"} {incr r 100} + } elseif {$k == "image"} { + set r -200 + } + } + } else { + set r -4 + } + } + + set r +} {3} + +gdbtk_test_done + +# Local variables: +# mode: tcl +# change-log-default-name: "ChangeLog-gdbtk" +# End: |