]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/testsuite/gdb.chill/result.exp
* config/sh/tm-sh.h (BELIEVE_PCC_PROMOTION): Define, so that
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.chill / result.exp
index d07d9a5b159ee901fc69674ea35791fc0840835b..64ca33529c8f565c8cd69838b106ea0708dfdf8f 100644 (file)
@@ -1,4 +1,4 @@
-# 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
@@ -12,7 +12,7 @@
 # 
 # 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
@@ -23,8 +23,18 @@ if $tracelevel then {
        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
@@ -34,38 +44,34 @@ proc do_tests {} {
     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