Add ability to dump command line options in texi format
[maxima.git] / crosscompile-windows / nightlytest.sh
bloba82b25048984b0c5d41263306f26c03b1fcd9b93
1 #!/bin/bash
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
10 export LANG=C.UTF-8
12 MAXIMAGITREPOSITORY=https://git.code.sf.net/p/maxima/code
13 PATH=/opt/texinfo-7.0.3/bin:$PATH
14 export PATH
16 rm -rf ~/maxima-test
18 git clone $MAXIMAGITREPOSITORY ~/maxima-test
19 cd ~/maxima-test || exit
21 ./bootstrap >logfile-bootstrap.txt 2>&1
23 echo "./configure"
24 ./configure --enable-clisp --enable-ecl --with-ecl=/opt/ecl-23.9.9/bin/ecl --enable-sbcl --with-sbcl=/opt/sbcl-2.4.1/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-2023-08-x86-linux/bin/lisp --with-cmucl-runtime=/opt/cmucl-2023-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
26 echo "make"
27 make VERBOSE=1 >logfile-make.txt 2>&1
28 echo "make pdf"
29 make pdf VERBOSE=1 >logfile-makepdf.txt 2>&1
30 echo "make install"
31 make install VERBOSE=1 >logfile-makeinstall.txt 2>&1
32 echo "make dist"
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
39 commands=$(
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"
43 done
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
62 done
64 # remove the single timing files before copying to the server
65 # every information is in the logfile-timings-summary.txt file.
66 rm logfile-timing-*
67 scp -i ~/.ssh/maximakopierkey ~/maxima-test/logfile-*.txt maxima@ns1.dautermann.at:/var/www/wolfgang.dautermann.at/maxima/nightlybuild/