/usr/src/blcr-0.8.5/tests/clisp_test.sh is in blcr-dkms 0.8.5-2.1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #!/bin/sh
# Some clisp versions complain w/ utf8
LANG=C
export LANG
# First check that we *have* clisp
clisp -q -q -x '(quit)' || exit 77
# NOTE: Unlike most other script test cases, this one uses the
# --kill flag to cr_checkpoint. This is because we've observed
# a bug in signal handling in some clisp releases (BLCR bug 2470).
. ${cr_testsdir:-`dirname $0`}/shellinit
\rm -f Context[123] .Context[123].tmp 2>/dev/null
exec 2>/dev/null # To drop job control messages
echo '#ST_IGNORE:^Exiting on signal'
echo '#ST_ALARM:120'
$cr_run clisp -q -q -x '
(progn
(defun greet (n)
(format t "~D equals ~R~%" n n)
(sleep 1)
(if (< n 9) (greet (+ n 1))))
(greet 0)
(format t "# Checkpointing self~%")
(ext:execute
(ext:getenv "cr_checkpoint")
"--file=Context3" "--kill" "--tree"
(write-to-string (funcall (or (find-symbol "PROGRAM-ID" :system)
(find-symbol "PROCESS-ID" :system)))))
(format t "11 DONE~%")
(quit))' 2>&1 &
pid=$!
sleep 3
echo "# Checkpoint original child"
$cr_checkpoint --file=Context1 --kill $pid 2>&1
wait
sleep 1
echo "# Restart 1"
$cr_restart Context1 2>&1 &
pid=$!
sleep 3
echo "# Checkpoint restarted child"
$cr_checkpoint --file=Context2 --kill --tree $pid 2>&1
wait
sleep 1
echo "# Restart^2"
$cr_restart Context2 2>&1 &
pid=$!
wait
echo "10 Restart interpreter"
$cr_restart Context3 2>&1
\rm -f Context[123] .Context[123].tmp 2>/dev/null
|