0.9.11.19:
[sbcl.git] / tests / foreign.test.sh
index 35efc19..ea05cbc 100644 (file)
@@ -23,20 +23,20 @@ PUNT=104
 
 testfilestem=${TMPDIR:-/tmp}/sbcl-foreign-test-$$
 
-## Make a little shared object files to test with.
+## Make some shared object files to test with.
 
 build_so() {
   echo building $1.so
-  if [ "$(uname -m)" = x86_64 ]; then
+  if [ "`uname -m`" = x86_64 ]; then
     CFLAGS="$CFLAGS -fPIC"
   fi
-  if [ "$(uname)" = Darwin ]; then
+  if [ "`uname`" = Darwin ]; then
     SO_FLAGS="-bundle"
   else
     SO_FLAGS="-shared"
   fi
   cc -c $1.c -o $1.o $CFLAGS
-  ld $SO_FLAGS -o $1.so $1.o
+  ld $SO_FLAGS -o $1.so $1.o  
 }
 
 echo 'int summish(int x, int y) { return 1 + x + y; }' > $testfilestem.c
@@ -123,7 +123,7 @@ cat > $testfilestem.test.lisp <<EOF
 
   (print :stage-1)
 
-  ;; test realoading object file with new definitions
+  ;; test reloading object file with new definitions
   (assert (= 13 foo))
   (assert (= 42 (bar)))
   (rename-file "$testfilestem-b.so" "$testfilestem-b.bak")
@@ -137,17 +137,19 @@ cat > $testfilestem.test.lisp <<EOF
   (print :stage-2)
 
   ;; test late resolution
-  (define-alien-variable late-foo int)
-  (define-alien-routine late-bar int)
-  (multiple-value-bind (val err) (ignore-errors late-foo)
-    (assert (not val))
-    (assert (typep err 'undefined-alien-error)))
-  (multiple-value-bind (val err) (ignore-errors (late-bar))
-    (assert (not val))
-    (assert (typep err 'undefined-alien-error)))
-  (load-shared-object "$testfilestem-c.so")
-  (assert (= 43 late-foo))
-  (assert (= 14 (late-bar)))
+  #+linkage-table
+  (progn
+    (define-alien-variable late-foo int)
+    (define-alien-routine late-bar int)
+    (multiple-value-bind (val err) (ignore-errors late-foo)
+      (assert (not val))
+      (assert (typep err 'undefined-alien-error)))
+    (multiple-value-bind (val err) (ignore-errors (late-bar))
+      (assert (not val))
+      (assert (typep err 'undefined-alien-error)))
+    (load-shared-object "$testfilestem-c.so")
+    (assert (= 43 late-foo))
+    (assert (= 14 (late-bar))))
 
   (print :stage-3)