diff options
author | Daniel Jacobowitz <drow@false.org> | 2007-10-08 12:41:25 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2007-10-08 12:41:25 +0000 |
commit | a912286e388254bfa8e1120e176ebab17c2a2fe8 (patch) | |
tree | 965127635491717dc05fc02a23b252d3cbf07ea8 /gdb/testsuite/gdb.pascal/hello.exp | |
parent | 4d439271949d14903407bc0cccf36a3c3d70c371 (diff) | |
download | gdb-a912286e388254bfa8e1120e176ebab17c2a2fe8.zip gdb-a912286e388254bfa8e1120e176ebab17c2a2fe8.tar.gz gdb-a912286e388254bfa8e1120e176ebab17c2a2fe8.tar.bz2 |
2007-10-08 Pierre Muller <muller@ics.u-strasbg.fr>
Daniel Jacobowitz <dan@codesourcery.com>
* Makefile.in (ALL_SUBDIRS): Add gdb.pascal.
* configure.ac (AC_OUTPUT): Add gdb.pascal/Makefile.
* configure: Regenerated.
* gdb.pascal/Makefile.in, gdb.pascal/hello.exp, gdb.pascal/hello.pas,
gdb.pascal/types.exp, lib/pascal.exp: New files.
Diffstat (limited to 'gdb/testsuite/gdb.pascal/hello.exp')
-rw-r--r-- | gdb/testsuite/gdb.pascal/hello.exp | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.pascal/hello.exp b/gdb/testsuite/gdb.pascal/hello.exp new file mode 100644 index 0000000..3d0a986 --- /dev/null +++ b/gdb/testsuite/gdb.pascal/hello.exp @@ -0,0 +1,75 @@ +# Copyright 2007 Free Software Foundation, Inc. +# +# 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 3 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, see <http://www.gnu.org/licenses/>. + +if $tracelevel then { + strace $tracelevel +} + +load_lib "pascal.exp" + +set testfile "hello" +set srcfile ${testfile}.pas +set binfile ${objdir}/${subdir}/${testfile} + +if {[gdb_compile_pascal "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable [list debug ]] != "" } { + return -1 +} + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} +set bp_location1 [gdb_get_line_number "set breakpoint 1 here"] +set bp_location2 [gdb_get_line_number "set breakpoint 2 here"] + +if { [gdb_breakpoint ${srcfile}:${bp_location1}] } { + pass "setting breakpoint 1" +} +if { [gdb_breakpoint ${srcfile}:${bp_location2}] } { + pass "setting breakpoint 2" +} + +# Verify that "start" lands inside the right procedure. +if { [gdb_start_cmd] < 0 } { + untested start + return -1 +} + +# This test fails for gpc +# because debug information for 'main' +# is in some <implicit code> +gdb_test "" \ + ".* at .*hello.pas.*" \ + "start" + +gdb_test "cont" \ + "Breakpoint .*:${bp_location1}.*" \ + "Going to first breakpoint" +gdb_test "print st" \ + ".* = ''.*" \ + "Empty string check" + +# This test also fails for gpc because the program +# stops after the string has been written +# while it should stop before writing it +if { $pascal_compiler_is_gpc } { + setup_xfail *-*-* +} +gdb_test "cont" \ + "Breakpoint .*:${bp_location2}.*" \ + "Going to second breakpoint" +gdb_test "print st" \ + ".* = 'Hello, world!'.*" \ + "String after assignment check" |