2 # SPDX-License-Identifier: GPL-2.0-or-later
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
16 git clone
$MAXIMAGITREPOSITORY ~
/maxima-test
17 cd ~
/maxima-test ||
exit
19 .
/bootstrap
>logfile-bootstrap.txt
2>&1
22 .
/configure
--enable-clisp --enable-ecl --with-ecl=/opt
/ecl-21.2
.1/bin
/ecl
--enable-sbcl --with-sbcl=/opt
/sbcl-2.1
.7/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.8
.0/abcl.jar
--prefix="$(pwd)/installroot" >logfile-configure.txt
2>&1
25 make VERBOSE
=1 >logfile-make.txt
2>&1
27 make pdf VERBOSE
=1 >logfile-makepdf.txt
2>&1
29 make install VERBOSE
=1 >logfile-makeinstall.txt
2>&1
31 make dist VERBOSE
=1 >logfile-makedist.txt
2>&1
33 # limit GCLs memory consumption to 20% of the main memory:
34 export GCL_MEM_MULTIPLE
=0.2
36 ~
/maxima-test
/installroot
/bin
/maxima
--batch-string="build_info();" >logfile-buildinfo.txt
38 for lisp
in abcl clisp ecl sbcl gcl ccl64 cmucl acl
; do
39 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"
40 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"
43 echo "$commands" | parallel
--no-notice
46 rm -f logfile-summary.txt logfile-share-summary.txt logfile-timings-summary.txt
47 for lisp
in clisp ecl sbcl gcl ccl64 cmucl acl abcl
; do
48 echo "$lisp summary" >>logfile-summary.txt
49 echo "$lisp summary" >>logfile-share-summary.txt
50 echo -e "$lisp summary" >>logfile-timings-summary.txt
51 echo -e "\nMain testsuite" >>logfile-timings-summary.txt
52 cat logfile-timing-testsuite-
$lisp.txt
>>logfile-timings-summary.txt
53 echo -e "\nShare testsuite" >>logfile-timings-summary.txt
54 cat logfile-timing-share-testsuite-
$lisp.txt
>>logfile-timings-summary.txt
55 sed -n -e '/^Error summary\|^No unexpected errors/,$p' logfile-testsuite-
$lisp.txt
>>logfile-summary.txt
56 sed -n -e '/^Error summary\|^No unexpected errors/,$p' logfile-share-testsuite-
$lisp.txt
>>logfile-share-summary.txt
57 echo -e "\n\n" >>logfile-summary.txt
58 echo -e "\n\n" >>logfile-share-summary.txt
59 echo -e "\n\n-----------------------------------\n" >>logfile-timings-summary.txt
62 # remove the single timing files before copying to the server
63 # every information is in the logfile-timings-summary.txt file.
65 scp
-i ~
/.ssh
/maximakopierkey ~
/maxima-test
/logfile-
*.txt maxima@ns3.dautermann.
at:/var
/www
/wolfgang.dautermann.at
/maxima
/nightlybuild
/