~ chicken-core (chicken-5) 04c1ad1bc4539bc183484d9cbb7c1580862d2eb7


commit 04c1ad1bc4539bc183484d9cbb7c1580862d2eb7
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Tue Dec 26 17:42:31 2017 +1300
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Tue Dec 26 17:42:31 2017 +1300

    Fix linking tests on Windows
    
    We can't pass "-ignore-repository" to csc in the linking tests, since
    they include a test to ensure that static compilation will use files
    from the CHICKEN_REPOSITORY_PATH.
    
    Also, simplify the commands used to invoke csc in the test scripts by
    moving all common options into a single variable, and rename the
    "compile2" variable to "compile_r" (for repository) to indicate the
    absence of the "-ignore-repository" flag.

diff --git a/tests/runtests.bat b/tests/runtests.bat
index 9967c9cc..de2f0510 100644
--- a/tests/runtests.bat
+++ b/tests/runtests.bat
@@ -11,14 +11,15 @@ set CHICKEN_INSTALL_REPOSITORY=%TEST_DIR%\test-repository
 set CHICKEN_REPOSITORY_PATH=%TEST_DIR%\..;%CHICKEN_INSTALL_REPOSITORY%
 set PATH=%TEST_DIR%\..;%PATH%
 
-set TYPESDB=..\types.db
 rem Increase this when tests start failing on "inexplicable" diffs
 set FCBUFSIZE=500
 
-set compile=..\csc -types %TYPESDB% -ignore-repository -compiler %CHICKEN% -v -I%TEST_DIR%/.. -L%TEST_DIR%/.. -include-path %TEST_DIR%/.. -libdir %TEST_DIR%/.. -o a.out
-set compile2=..\csc -compiler %CHICKEN% -v -I%TEST_DIR%/.. -L%TEST_DIR%/.. -include-path %TEST_DIR%/.. -libdir %TEST_DIR%/..
-set compile_s=..\csc -s -types %TYPESDB% -ignore-repository -compiler %CHICKEN% -v -I%TEST_DIR%/.. -L%TEST_DIR%/.. -include-path %TEST_DIR%/.. -libdir %TEST_DIR%/..
-set compile_static=..\csc -static -types %TYPESDB% -ignore-repository -compiler %CHICKEN% -v -I%TEST_DIR%/.. -L%TEST_DIR%/.. -include-path %TEST_DIR%/.. -libdir %TEST_DIR%/..
+set TYPESDB=..\types.db
+set COMPILE_OPTIONS=-v -compiler %CHICKEN% -I%TEST_DIR%/.. -L%TEST_DIR%/.. -include-path %TEST_DIR%/.. -libdir %TEST_DIR%/..
+
+set compile=..\csc %COMPILE_OPTIONS% -o a.out -types %TYPESDB% -ignore-repository
+set compile_r=..\csc %COMPILE_OPTIONS% -o a.out
+set compile_s=..\csc %COMPILE_OPTIONS% -s -types %TYPESDB% -ignore-repository
 set interpret=..\csi -n -include-path %TEST_DIR%/..
 
 del /f /q /s *.exe *.so *.o *.import.* ..\foo.import.* %CHICKEN_INSTALL_REPOSITORY%
@@ -587,22 +588,22 @@ a.out
 if errorlevel 1 exit /b 1
 
 echo ======================================== linking tests ...
-%compile2% -unit reverser reverser\tags\1.0\reverser.scm -J -c -o reverser.o
-%compile2% -link reverser linking-tests.scm -o a.out
+%compile_r% -unit reverser reverser\tags\1.0\reverser.scm -J -c -o reverser.o
+%compile_r% -link reverser linking-tests.scm
 if errorlevel 1 exit /b 1
 a.out
 if errorlevel 1 exit /b 1
-%compile_static% -link reverser linking-tests.scm -o a.out 
+%compile_r% -link reverser linking-tests.scm -static
 if errorlevel 1 exit /b 1
 a.out
 if errorlevel 1 exit /b 1
 move reverser.o %CHICKEN_INSTALL_REPOSITORY%
 move reverser.import.scm %CHICKEN_INSTALL_REPOSITORY%
-%compile2% -link reverser linking-tests.scm -o a.out
+%compile_r% -link reverser linking-tests.scm
 if errorlevel 1 exit /b 1
 a.out
 if errorlevel 1 exit /b 1
-%compile_static% -link reverser linking-tests.scm -o a.out 
+%compile_r% -link reverser linking-tests.scm -static
 if errorlevel 1 exit /b 1
 a.out
 if errorlevel 1 exit /b 1
diff --git a/tests/runtests.sh b/tests/runtests.sh
index bff41474..7b677c67 100755
--- a/tests/runtests.sh
+++ b/tests/runtests.sh
@@ -37,16 +37,15 @@ CHICKEN_INSTALL=${TEST_DIR}/../chicken-install
 CHICKEN_UNINSTALL=${TEST_DIR}/../chicken-uninstall
 CHICKEN_INSTALL_REPOSITORY=${TEST_DIR}/test-repository
 CHICKEN_REPOSITORY_PATH=${TEST_DIR}/..:$CHICKEN_INSTALL_REPOSITORY
-COMPILE_OPTIONS="-compiler ${CHICKEN} -v -I${TEST_DIR}/.. -L${TEST_DIR}/.. -rpath ${TEST_DIR}/.. -include-path ${TEST_DIR}/.."
 
 export CHICKEN_INSTALL_REPOSITORY CHICKEN_REPOSITORY_PATH
 
 TYPESDB=../types.db
+COMPILE_OPTIONS="-v -compiler ${CHICKEN} -I${TEST_DIR}/.. -L${TEST_DIR}/.. -include-path ${TEST_DIR}/.. -libdir ${TEST_DIR}/.. -rpath ${TEST_DIR}/.."
 
-compile="../csc -types ${TYPESDB} -ignore-repository ${COMPILE_OPTIONS} -o a.out -libdir ${TEST_DIR}/.."
-compile2="../csc -compiler ${CHICKEN} -v -I${TEST_DIR}/.. -L${TEST_DIR}/.. -include-path ${TEST_DIR}/.. -libdir ${TEST_DIR}/.."
-compile_s="../csc -s -types ${TYPESDB} -ignore-repository ${COMPILE_OPTIONS} -libdir ${TEST_DIR}/.."
-compile_static="../csc -compiler ${CHICKEN} -v -static -I${TEST_DIR}/.. -include-path ${TEST_DIR}/.. -libdir ${TEST_DIR}/.."
+compile="../csc ${COMPILE_OPTIONS} -o a.out -types ${TYPESDB} -ignore-repository"
+compile_r="../csc ${COMPILE_OPTIONS} -o a.out"
+compile_s="../csc ${COMPILE_OPTIONS} -s -types ${TYPESDB} -ignore-repository"
 interpret="../csi -n -include-path ${TEST_DIR}/.."
 time=time
 
@@ -457,15 +456,15 @@ $compile -e embedded3.c embedded4.scm
 ./a.out
 
 echo "======================================== linking tests ..."
-$compile2 -unit reverser reverser/tags/1.0/reverser.scm -J -c -o reverser.o
-$compile2 -link reverser linking-tests.scm -o a.out
+$compile_r -unit reverser reverser/tags/1.0/reverser.scm -J -c -o reverser.o
+$compile_r -link reverser linking-tests.scm
 ./a.out
-$compile_static -link reverser linking-tests.scm -o a.out
+$compile_r -link reverser linking-tests.scm -static
 ./a.out
 mv reverser.o reverser.import.scm "$CHICKEN_INSTALL_REPOSITORY"
-$compile2 -link reverser linking-tests.scm -o a.out
+$compile_r -link reverser linking-tests.scm
 ./a.out
-$compile_static -link reverser linking-tests.scm -o a.out 
+$compile_r -link reverser linking-tests.scm -static
 ./a.out
 
 echo "======================================== private repository test ..."
Trap