sbcl.sbcl/tests/run-tests.sh
Christophe Rhodes 430495fb5f Allow compiling the system with coverage instrumentation
To build, pass `--with-sb-cover-for-internals` to make.sh

Test running scripts have been adapted; pass `--coverage` to
run-tests.sh and/or ansi-tests.sh to generate .coverage files, then
use a script like `cover-script.lisp` to generate a report.

Things that we need to fix:
- it's pretty slow (build time roughly doubles)
- the report is fairly ugly (and doesn't sort the sources in the way
  I would expect)
- it exposes some issue in combination with --with-sb-show
  Can't compute fixup relative to movable object
    #<code id=5419 [7] (FLET "PPRINT-BLOCK" :IN "SYS:SRC;CODE;WARM-ERROR.LISP") {1203AEC9BF..1203AED4A0}>
2025-11-21 18:25:03 +00:00

62 lines
1.7 KiB
Bash
Executable file

#!/bin/sh
# This software is part of the SBCL system. See the README file for
# more information.
#
# While most of SBCL is derived from the CMU CL system, the test
# files (like this one) were written from scratch after the fork
# from CMU CL.
#
# This software is in the public domain and is provided with
# absolutely no warranty. See the COPYING and CREDITS files for
# more information.
if [ "$1" = "--help" ]; then
cat <<EOF
Run the regression tests in this directory.
Usage: $0 [OPTIONS] [files]
Options:
--evaluator-mode Either compile or interpret. Set the
value of SB-EXT:*EVALUATOR-MODE* while
running tests.
--break-on-failure Break into the debugger when a test fails
unexpectedly.
--break-on-expected-failure Break into the debugger when any test fails.
--report-skipped-tests Include tests :skipped-on target SBCL in
the test report.
--no-color Disable coloring of results.
--slow Enable slow tests.
--coverage Collect coverage information from running
each test file.
If no test files are specified, runs all tests.
EOF
exit 0
fi
. ./subr.sh
echo /running tests on \'$SBCL_RUNTIME --core $SBCL_CORE $SBCL_ARGS\'
tenfour () {
if [ $1 = $EXIT_TEST_WIN ]; then
echo ok
else
echo test failed, expected $EXIT_TEST_WIN return code, got $1
exit 1
fi
}
set +u
run_sbcl \
--eval '(with-compilation-unit () (load "run-tests.lisp"))' \
--eval '(run-tests::run-all)' $*
tenfour $?
echo '//apparent success (reached end of run-tests.sh normally)'
date