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
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
19 git clone
$MAXIMAGITREPOSITORY ~
/maxima-test
20 cd ~
/maxima-test ||
exit
22 .
/bootstrap
>logfile-bootstrap.txt
2>&1
25 .
/configure
--enable-clisp --enable-ecl --with-ecl=/opt
/ecl-20.4
.24/bin
/ecl
--enable-sbcl --with-sbcl=/opt
/sbcl-2.0
.4/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.6
.1/abcl.jar
--prefix="$(pwd)/installroot" >logfile-configure.txt
2>&1
28 make VERBOSE
=1 >logfile-make.txt
2>&1
30 make pdf VERBOSE
=1 >logfile-makepdf.txt
2>&1
32 make install VERBOSE
=1 >logfile-makeinstall.txt
2>&1
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
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"
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
65 # remove the single timing files before copying to the server
66 # every information is in the logfile-timings-summary.txt file.
68 scp
-i ~
/.ssh
/maximakopierkey ~
/maxima-test
/logfile-
*.txt maxima@ns1.dautermann.
at:/var
/www
/wolfgang.dautermann.at
/maxima
/nightlybuild
/