Nightly test: Update SBCL
[maxima/cygwin.git] / crosscompile-windows / nightlytest.sh
blobe497542a1538cbc888196a2f18fbf49bf417cff3
1 #!/bin/bash
3 # Script for nightly testruns
4 # should be copied to a private location (~/bin), so that
5 # git changes to that script can be reviewed before.
7 # the working directory is ~/maxima-test - attention: it will be deleted and recreated.
9 # do everything in English
10 export LANG=C
12 MAXIMAGITREPOSITORY=https://git.code.sf.net/p/maxima/code
13 # if there is already a local repository (from the nightly Windows build),
14 # clone from that git repository
15 test -d ~/maxima-code/.git && MAXIMAGITREPOSITORY=~/maxima-code
17 rm -rf ~/maxima-test
19 git clone $MAXIMAGITREPOSITORY ~/maxima-test
20 cd ~/maxima-test || exit
22 ./bootstrap >logfile-bootstrap.txt 2>&1
24 echo "./configure"
25 ./configure --enable-clisp --enable-ecl --with-ecl=/opt/ecl-16.1.3/bin/ecl --enable-sbcl --with-sbcl=/opt/sbcl-2.0.2/bin/sbcl --enable-gcl --enable-ccl64 --with-ccl64=/opt/ccl/lx86cl64 --enable-cmucl --with-cmucl=/opt/cmucl-21d/bin/lisp --with-cmucl-runtime=/opt/cmucl-21d/bin/lisp --enable-acl --with-acl=/opt/acl10.1express/alisp --enable-abcl --with-abcl-jar=/opt/abcl-bin-1.5.0/abcl.jar --prefix="$(pwd)/installroot" >logfile-configure.txt 2>&1
27 echo "make"
28 make VERBOSE=1 >logfile-make.txt 2>&1
29 echo "make pdf"
30 make pdf VERBOSE=1 >logfile-makepdf.txt 2>&1
31 echo "make install"
32 make install VERBOSE=1 >logfile-makeinstall.txt 2>&1
33 echo "make dist"
34 make dist VERBOSE=1 >logfile-makedist.txt 2>&1
36 # limit GCLs memory consumption to 20% of the main memory:
37 export GCL_MEM_MULTIPLE=0.2
39 ~/maxima-test/installroot/bin/maxima --batch-string="build_info();" >logfile-buildinfo.txt
40 commands=$(
41 for lisp in abcl clisp ecl sbcl gcl ccl64 cmucl acl ; do
42 echo "echo Running Maxima testsuite with $lisp ; /usr/bin/time --portability --output=logfile-timing-testsuite-$lisp.txt ~/maxima-test/installroot/bin/maxima --lisp=$lisp --batch-string='run_testsuite();' >logfile-testsuite-$lisp.txt 2>&1"
43 echo "echo Running Maxima share testsuite with $lisp ; /usr/bin/time --portability --output=logfile-timing-share-testsuite-$lisp.txt ~/maxima-test/installroot/bin/maxima --lisp=$lisp --batch-string='run_testsuite(share_tests=only);' >logfile-share-testsuite-$lisp.txt 2>&1"
44 done
46 echo "$commands" | parallel --no-notice
49 rm -f logfile-summary.txt logfile-share-summary.txt logfile-timings-summary.txt
50 for lisp in clisp ecl sbcl gcl ccl64 cmucl acl abcl ; do
51 echo "$lisp summary" >>logfile-summary.txt
52 echo "$lisp summary" >>logfile-share-summary.txt
53 echo -e "$lisp summary" >>logfile-timings-summary.txt
54 echo -e "\nMain testsuite" >>logfile-timings-summary.txt
55 cat logfile-timing-testsuite-$lisp.txt >>logfile-timings-summary.txt
56 echo -e "\nShare testsuite" >>logfile-timings-summary.txt
57 cat logfile-timing-share-testsuite-$lisp.txt >>logfile-timings-summary.txt
58 sed -n -e '/^Error summary\|^No unexpected errors/,$p' logfile-testsuite-$lisp.txt >>logfile-summary.txt
59 sed -n -e '/^Error summary\|^No unexpected errors/,$p' logfile-share-testsuite-$lisp.txt >>logfile-share-summary.txt
60 echo -e "\n\n" >>logfile-summary.txt
61 echo -e "\n\n" >>logfile-share-summary.txt
62 echo -e "\n\n-----------------------------------\n" >>logfile-timings-summary.txt
63 done
65 # remove the single timing files before copying to the server
66 # every information is in the logfile-timings-summary.txt file.
67 rm logfile-timing-*
68 scp -i ~/.ssh/maximakopierkey ~/maxima-test/logfile-*.txt maxima@ns1.dautermann.at:/var/www/wolfgang.dautermann.at/maxima/nightlybuild/