/usr/bin/tessrun is in slang-tess 0.3.0-6.
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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | #! /bin/sh
# Description {{{
#
# This script is part of TESS, the (Te)st (S)ystem for (S)-Lang.
# It is intended to simplify the invocation, typically within a
# Makefile, of TESS-based automated regression suites.
#
# Copyright (C) 2004 Massachusetts Institute of Technology
# Michael S. Noble <mnoble@space.mit.edu> }}}
# Initialization {{{
slsh_local() # {{{ Allows TESS to be exercised locally, before install
{
slsh - <<EOT
prepend_to_slang_load_path("..");
prepend_to_slang_load_path(".");
set_import_module_path("..");
set_import_module_path(".");
putenv( sprintf("TESS_COMPONENT=%S",path_sans_extname(path_basename("$1"))));
evalfile("$1");
EOT
} # }}}
instruct() # {{{
{
Version=`slsh <<EOT # {{{
require("tess");
vmessage(_tess_version_string);
tess_auto_summarize(0);
EOT` 2>/dev/null
if test -z "$Version" ; then
Version="unknown"
fi
# }}}
echo "tessrun: convenience script for running TESS scripts en masse"
echo "Version $Version"
echo ""
echo "tessrun is intended to simplify the invocation, typically within"
echo "a Makefile, of automated regression test suites for TESS, the"
echo "(Te)st (S)ystem for (S)-Lang. Each test (marked by a .t suffix)"
echo "in the current directory will be automatically loaded into the"
echo "S-Lang interpreter (within slsh, by default) and executed."
echo ""
echo "Returns 1 if any tests fail, otherwise 0."
echo ""
echo "Options:"
echo " -h this help text"
echo " -l supports local execution of examples (before install)"
echo " -v verbose mode"
exit 0
} # }}}
Silencer="2>/dev/null"
while getopts hlv opt 2>/dev/null ; do
case $opt in
h) instruct
;;
l) App=slsh_local
;;
v) Silencer=""
;;
*) instruct
;;
esac
done
shift `expr $OPTIND - 1`
if [ -z "$App" ] ; then
if [ $# -gt 0 ] ; then
App="$*"
else
App=slsh
fi
fi
# }}}
Outcome=0
for test in *.t ; do
if [ "$test" = "*.t" ] ; then break ; fi
eval $App $test $Silencer
Code=$?
if test $Code -ne 0 ; then
echo "Error: $test failed in <$App> with error code <$Code>"
Outcome=1
fi
done
exit $Outcome
|