win32: get parallel-exec.sh working

The whole suite finishes in under 2 minutes on a 4 CPU VirtualBox
on a macbook. Some tests fail due to incorrect tempdir isolation.
This commit is contained in:
Douglas Katzman 2020-09-08 12:51:30 -04:00
parent 1e4a52cfb7
commit ecf1c0c32f
2 changed files with 29 additions and 0 deletions

15
tests/genmakefile.lisp Normal file
View file

@ -0,0 +1,15 @@
;;;
;;; invocation: "$SBCL --script genmakefile.lisp >Makefile"
;;;
(let ((files (append (directory "*.test.sh")
(directory "*.*pure*.lisp"))))
(format t "~%all:")
(dolist (file (mapcar 'pathname-name files))
(format t " \\~% $(LOGDIR)/~a.log" file))
(terpri)
(terpri)
(dolist (file files)
(let ((in (format nil "~a.~a" (pathname-name file) (pathname-type file)))
(out (format nil "$(LOGDIR)/~a.log" (pathname-name file))))
(format t "~a: ~a~%~a./run-tests.sh ~a >~a 2>&1~%"
out in #\tab in out))))

View file

@ -5,6 +5,20 @@ echo ==== Writing logs to $logdir ====
junkdir=${SBCL_PAREXEC_TMP:-/tmp}/junk
mkdir -p $junkdir $logdir
case `uname` in
CYGWIN* | WindowsNT | MINGW* | MSYS*)
if [ $# -ne 1 ]
then
echo $0: Need arg
exit 1
fi
echo ";; Using -j$1"
echo "LOGDIR=$logdir" >$logdir/Makefile
../run-sbcl.sh --script genmakefile.lisp >>$logdir/Makefile
exec $GNUMAKE -j $1 -f $logdir/Makefile
;;
esac
export TEST_DIRECTORY SBCL_HOME
TEST_DIRECTORY=$junkdir SBCL_HOME=../obj/sbcl-home exec ../src/runtime/sbcl \
--noinform --core ../output/sbcl.core \