~ 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