-# Copyright (C) 1994 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1997 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
#
# 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. */
+# 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
strace $tracelevel
}
+if [skip_chill_tests] then { continue }
+
+set testfile "result"
+set srcfile ${srcdir}/$subdir/${testfile}.ch
+set binfile ${objdir}/${subdir}/${testfile}.exe
+if { [compile "${srcfile} -g -o ${binfile} ${CHILL_RT0} ${CHILL_LIB}"] != "" } {
+ perror "Couldn't compile ${srcfile}"
+ return -1
+}
+
proc do_tests {} {
- global prms_id bug_id subdir objdir srcdir binfile prompt
+ global prms_id bug_id subdir objdir srcdir binfile gdb_prompt
set prms_id 0
set bug_id 0
gdb_exit
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
- gdb_load $objdir/$subdir/$binfile
+ gdb_load $binfile
- send "set language chill\n" ; expect -re "$prompt $"
+ gdb_test "set language chill" ""
- send "set width 0\n" ; expect -re "$prompt $"
- send "set print sevenbit-strings\n" ; expect -re "$prompt $"
- send "set print address off\n" ; expect -re "$prompt $"
+ gdb_test "set width 0" ""
+ gdb_test "set print sevenbit-strings" ""
+ gdb_test "set print address off" ""
+ # simple function
runto simple_func
- send "step 2\n" ; expect -re "$prompt $"
+ gdb_test "step 2" ""
gdb_test "print j" "= 5"
gdb_test "p RESULT" "= 10"
- send "continue\n" ; expect -re "$prompt $"
+ gdb_test "continue" ""
gdb_test "print i" "= 7"
- send "step 4\n" ; expect -re "$prompt $"
- send "set RESULT := 50\n" ; expect -re "$prompt $"
- send "finish\n" ; expect -re "$prompt $"
- send "step\n" ; expect -re "$prompt $"
+ gdb_test "step 4" ""
+ gdb_test "set RESULT := 50" ""
+ gdb_test "finish" ""
+ gdb_test "step" ""
gdb_test "print i" "= 50"
-}
-# Check to see if we have an executable to test. If not, then either we
-# haven't tried to compile one, or the compilation failed for some reason.
-# In either case, just notify the user and skip the tests in this file.
-
-set binfile "result.exe"
-set srcfile $binfile.ch
-
-if [skip_chill_tests] then { continue }
-
-if ![file exists $objdir/$subdir/$binfile] then {
- warning "$objdir/$subdir/$binfile does not exist; tests suppressed."
-} else {
- do_tests
+ # returning a structure
+ runto ret_struct
+ gdb_test "step 2" ""
+ gdb_test "p result" {\[.l: 33, .b: FALSE\]}
+ gdb_test "set var result := \[383, TRUE\]" ""
+ gdb_test "finish" ""
+ gdb_test "p v_struct" {\[.l: 383, .b: TRUE\]}
}
+
+do_tests