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
13 PATH
=/opt
/texinfo-7.0
.3/bin
:$PATH
18 git clone
--depth 1 $MAXIMAGITREPOSITORY ~
/maxima-test
19 cd ~
/maxima-test ||
exit
21 .
/bootstrap
>logfile-bootstrap.txt
2>&1
24 .
/configure
--enable-clisp --enable-ecl --with-ecl=/opt
/ecl-24.5
.10/bin
/ecl
--enable-sbcl --with-sbcl=/opt
/sbcl-2.4
.9/bin
/sbcl
--enable-gcl --with-gcl=/opt
/gcl-2.6
.14/bin
/gcl
--enable-ccl64 --with-ccl64=/opt
/ccl
/lx86cl64
--enable-cmucl --with-cmucl=/opt
/cmucl-2024-08-x86-linux
/bin
/lisp
--with-cmucl-runtime=/opt
/cmucl-2024-08-x86-linux
/bin
/lisp
--enable-acl --with-acl=/opt
/acl11.0express
.64/alisp
--enable-abcl --with-abcl-jar=/opt
/abcl-bin-1.9
.2/abcl.jar
--prefix="$(pwd)/installroot" >logfile-configure.txt
2>&1
27 make VERBOSE
=1 >logfile-make.txt
2>&1
29 make pdf VERBOSE
=1 >logfile-makepdf.txt
2>&1
31 make install VERBOSE
=1 >logfile-makeinstall.txt
2>&1
33 make dist VERBOSE
=1 >logfile-makedist.txt
2>&1
35 # limit GCLs memory consumption to 20% of the main memory:
36 export GCL_MEM_MULTIPLE
=0.2
38 ~
/maxima-test
/installroot
/bin
/maxima
--batch-string="build_info();" >logfile-buildinfo.txt
40 for lisp
in abcl clisp ecl sbcl gcl ccl64 cmucl acl
; do
41 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"
42 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"
45 echo "$commands" | parallel
--no-notice
48 rm -f logfile-summary.txt logfile-share-summary.txt logfile-timings-summary.txt
49 for lisp
in clisp ecl sbcl gcl ccl64 cmucl acl abcl
; do
50 echo "$lisp summary" >>logfile-summary.txt
51 echo "$lisp summary" >>logfile-share-summary.txt
52 echo -e "$lisp summary" >>logfile-timings-summary.txt
53 echo -e "\nMain testsuite" >>logfile-timings-summary.txt
54 cat logfile-timing-testsuite-
$lisp.txt
>>logfile-timings-summary.txt
55 echo -e "\nShare testsuite" >>logfile-timings-summary.txt
56 cat logfile-timing-share-testsuite-
$lisp.txt
>>logfile-timings-summary.txt
57 sed -n -e '/^Error summary\|^No unexpected errors/,$p' logfile-testsuite-
$lisp.txt
>>logfile-summary.txt
58 sed -n -e '/^Error summary\|^No unexpected errors/,$p' logfile-share-testsuite-
$lisp.txt
>>logfile-share-summary.txt
59 echo -e "\n\n" >>logfile-summary.txt
60 echo -e "\n\n" >>logfile-share-summary.txt
61 echo -e "\n\n-----------------------------------\n" >>logfile-timings-summary.txt
64 # remove the single timing files before copying to the server
65 # every information is in the logfile-timings-summary.txt file.
67 scp
-i ~
/.ssh
/maximakopierkey ~
/maxima-test
/logfile-
*.txt maxima@ns1.dautermann.
at:/var
/www
/wolfgang.dautermann.at
/maxima
/nightlybuild
/