~ chicken-core (chicken-5) 7b083bfc42924b96489dc7dcd359d58182f7fc04


commit 7b083bfc42924b96489dc7dcd359d58182f7fc04
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Tue May 10 11:02:47 2011 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Tue May 10 11:02:47 2011 +0200

    disable -setup mode in deployment mode to handle problems reported by iraikov

diff --git a/setup-api.scm b/setup-api.scm
index 992e7968..e88dd302 100644
--- a/setup-api.scm
+++ b/setup-api.scm
@@ -242,6 +242,7 @@
 	   (shellpath (find-program "csc"))
 	   "-feature" "compiling-extension" 
 	   (if (and (feature? #:cross-chicken)
+		    (not (deployment-mode))
 		    (not (host-extension)))
 	       "" "-setup-mode")
 	   (if (keep-intermediates) "-k" "")
diff --git a/tests/rev-app.scm b/tests/rev-app.scm
new file mode 100644
index 00000000..a7dfb011
--- /dev/null
+++ b/tests/rev-app.scm
@@ -0,0 +1,3 @@
+(use reverser)
+(assert (equal? "oof" (rev "foo")))
+(assert (equal? '(a b c) (rev '(c b a))))
diff --git a/tests/reverser/reverser.meta b/tests/reverser/reverser.meta
new file mode 100644
index 00000000..6a452c18
--- /dev/null
+++ b/tests/reverser/reverser.meta
@@ -0,0 +1 @@
+()
diff --git a/tests/reverser/reverser.scm b/tests/reverser/reverser.scm
new file mode 100644
index 00000000..6af50656
--- /dev/null
+++ b/tests/reverser/reverser.scm
@@ -0,0 +1,9 @@
+(module reverser (rev)
+  (import scheme chicken)
+  (use srfi-13)
+  (define (rev x)
+    (cond ((string? x) (string-reverse x))
+	  ((symbol? x) (string->symbol (rev (symbol->string x))))
+	  ((list? x) (reverse x))
+	  ((vector? x) (list->vector (rev (vector->list x))))
+	  (else (error "can't reverse" x)))))
diff --git a/tests/reverser/reverser.setup b/tests/reverser/reverser.setup
new file mode 100644
index 00000000..68cc7a18
--- /dev/null
+++ b/tests/reverser/reverser.setup
@@ -0,0 +1 @@
+(standard-extension 'reverser)
diff --git a/tests/runtests.sh b/tests/runtests.sh
index fe2435e4..19e45245 100644
--- a/tests/runtests.sh
+++ b/tests/runtests.sh
@@ -26,12 +26,14 @@ for x in setup-api.so setup-api.import.so setup-download.so \
   cp ../$x test-repository
 done
 
-"${TEST_DIR}/../chicken-install" -init test-repository export
 CHICKEN_REPOSITORY=${TEST_DIR}/test-repository
 CHICKEN=../chicken
+CHICKEN_INSTALL=${TEST_DIR}/../chicken-install
 ASMFLAGS=
 FAST_OPTIONS="-O5 -d0 -b -disable-interrupts"
 
+$CHICKEN_INSTALL -init ${TEST_DIR}/test-repository
+
 if test -n "$MSYSTEM"; then
     CHICKEN="..\\chicken.exe"
     ASMFLAGS=-Wa,-w
@@ -40,6 +42,7 @@ if test -n "$MSYSTEM"; then
 fi
 
 compile="../csc -compiler $CHICKEN -v -I.. -L.. -include-path .. -o a.out"
+compile2="../csc -compiler $CHICKEN -v -I.. -L.. -include-path .."
 compile_s="../csc -s -compiler $CHICKEN -v -I.. -L.. -include-path .."
 interpret="../csi -n -include-path .."
 
@@ -292,4 +295,16 @@ tmp/xxx $PWD/tmp
 PATH=$PWD/tmp:$PATH xxx $PWD/tmp
 # this may crash, if the PATH contains a non-matching libchicken.dll on Windows:
 #PATH=$PATH:$PWD/tmp xxx $PWD/tmp
+
+echo "======================================== deployment tests"
+rm -fr rev-app rev-app-2 reverser/*.import.* reverser/*.so
+mkdir rev-app
+CHICKEN_REPOSITORY=$CHICKEN_REPOSITORY $CHICKEN_INSTALL -t local -l $TEST_DIR reverser
+CHICKEN_REPOSITORY=$CHICKEN_REPOSITORY $compile2 -deploy rev-app.scm
+CHICKEN_REPOSITORY=$CHICKEN_REPOSITORY $CHICKEN_INSTALL -deploy -prefix rev-app -t local -l $TEST_DIR reverser
+unset LD_LIBRARY_PATH DYLD_LIBRARY_PATH CHICKEN_REPOSITORY
+rev-app/rev-app
+mv rev-app rev-app-2
+rev-app-2/rev-app
+
 echo "======================================== done."
Trap