diff --git a/.travis.yml b/.travis.yml index b170539088..8c9eae4f9a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,7 @@ --- language: c -matrix: +os: linux +jobs: include: # macOS - env: TARGET_MACHINE=i3osx diff --git a/.travis/build.sh b/.travis/build.sh index 692ed3057c..79871157cb 100755 --- a/.travis/build.sh +++ b/.travis/build.sh @@ -2,14 +2,14 @@ set -e -o pipefail echo 'travis_fold:start:build' echo Building Chez Scheme... -./configure -m=$TARGET_MACHINE +./configure -m="$TARGET_MACHINE" make -case $TARGET_MACHINE in +case "$TARGET_MACHINE" in *a6nt) - curl -Ls https://github.com/burgerrg/win-iconv/releases/download/v0.0.9/iconv-x64.dll > $TARGET_MACHINE/bin/$TARGET_MACHINE/iconv.dll + curl -Ls https://github.com/burgerrg/win-iconv/releases/download/v0.0.9/iconv-x64.dll > "$TARGET_MACHINE"/bin/"$TARGET_MACHINE"/iconv.dll ;; *i3nt) - curl -Ls https://github.com/burgerrg/win-iconv/releases/download/v0.0.9/iconv-x86.dll > $TARGET_MACHINE/bin/$TARGET_MACHINE/iconv.dll + curl -Ls https://github.com/burgerrg/win-iconv/releases/download/v0.0.9/iconv-x86.dll > "$TARGET_MACHINE"/bin/"$TARGET_MACHINE"/iconv.dll ;; esac echo 'travis_fold:end:build' diff --git a/.travis/matting.sh b/.travis/matting.sh new file mode 100755 index 0000000000..81a85d8130 --- /dev/null +++ b/.travis/matting.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# We don't use grep because on Windows, it doesn't flush its output. +live=no +while read -r line; do + echo "$line" >> mats.out + if [[ "$line" = matting* ]]; then + echo "$line" + live=yes + elif [[ "$live" = no ]]; then + echo "$line" + fi +done diff --git a/.travis/test.sh b/.travis/test.sh index 38ee73fb95..7c6dae6b25 100755 --- a/.travis/test.sh +++ b/.travis/test.sh @@ -2,19 +2,18 @@ runmats() { echo travis_fold:start:mats echo make allxhelp "$@" - make -C ${TARGET_MACHINE}/mats allxhelp "$@" 2>&1 | tee -a Make.out | grep '^matting ' + make -C "$TARGET_MACHINE"/mats allxhelp "$@" 2>&1 | .travis/matting.sh echo travis_fold:end:mats } -# Split these out so that we get output every 10 minutes on Windows builds. runmats o=0 runmats o=3 runmats o=3 cp0=t runmats o=3 cp0=t eval=interpret -if [ -f ${TARGET_MACHINE}/mats/summary ]; then - cat ${TARGET_MACHINE}/mats/summary - diff -q .travis/summary ${TARGET_MACHINE}/mats/summary +if [ -f "$TARGET_MACHINE"/mats/summary ]; then + cat "$TARGET_MACHINE"/mats/summary + diff -q .travis/summary "$TARGET_MACHINE"/mats/summary exit $? else exit 1 diff --git a/mats/Mf-a6nt b/mats/Mf-a6nt index 74ca208c14..7e532a76e9 100644 --- a/mats/Mf-a6nt +++ b/mats/Mf-a6nt @@ -21,6 +21,8 @@ mdclean = cat_flush.exe cat_flush.obj foreign1.exp foreign1.lib foreign1.obj for include Mf-base +export MSYS_NO_PATHCONV=1 + foreign1.so: $(fsrc) cmd.exe /c "vs.bat amd64 && cl /DWIN32 /DX86_64 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv953.lib $(fsrc)" diff --git a/mats/Mf-i3nt b/mats/Mf-i3nt index 3c8da577f1..c65675f948 100644 --- a/mats/Mf-i3nt +++ b/mats/Mf-i3nt @@ -21,6 +21,8 @@ mdclean = cat_flush.exe cat_flush.obj foreign1.exp foreign1.lib foreign1.obj for include Mf-base +export MSYS_NO_PATHCONV=1 + foreign1.so: $(fsrc) cmd.exe /c "vs.bat x86 && cl /DWIN32 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv953.lib $(fsrc)" diff --git a/mats/Mf-ta6nt b/mats/Mf-ta6nt index 23f65694b0..f8b3e8197b 100644 --- a/mats/Mf-ta6nt +++ b/mats/Mf-ta6nt @@ -21,6 +21,8 @@ mdclean = cat_flush.exe cat_flush.obj foreign1.exp foreign1.lib foreign1.obj for include Mf-base +export MSYS_NO_PATHCONV=1 + foreign1.so: $(fsrc) cmd.exe /c "vs.bat amd64 && cl /DWIN32 /DX86_64 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv953.lib $(fsrc)" diff --git a/mats/Mf-ti3nt b/mats/Mf-ti3nt index 3c7e300574..31d6a672de 100644 --- a/mats/Mf-ti3nt +++ b/mats/Mf-ti3nt @@ -21,6 +21,8 @@ mdclean = cat_flush.exe cat_flush.obj foreign1.exp foreign1.lib foreign1.obj for include Mf-base +export MSYS_NO_PATHCONV=1 + foreign1.so: $(fsrc) cmd.exe /c "vs.bat x86 && cl /DWIN32 /Fe$@ /I${Include} /LD /MD /nologo ../bin/$m/csv953.lib $(fsrc)" diff --git a/mats/thread.ms b/mats/thread.ms index 23d1b90060..e7f7144986 100644 --- a/mats/thread.ms +++ b/mats/thread.ms @@ -126,7 +126,7 @@ (lambda (start stop target) (let ([t (time-difference stop start)]) (<= (abs (- (+ (time-second t) (* (time-nanosecond t) 1e-9)) target)) - 0.1)))) + 0.2)))) (andmap procedure? (list $threads $fib $thread-check $time-in-range?))) ($thread-check) (not (= (let ([n #f]) @@ -1530,5 +1530,6 @@ (= (container-ref container) (* M N)))) (check (box 0) unbox box-cas!)) (check (vector 1 0 2) (lambda (v) (vector-ref v 1)) (lambda (v o n) (vector-cas! v 1 o n)))) - + ; give the bump threads 0.2 s to finish + (sleep (make-time 'time-duration 200000000 0)) )