6 # Directory paths configured during the build.
7 if test -f .
/OpenAFS
/Dirpath.sh
; then
10 echo "error: Missing file OpenAFS/Dirpath.sh. Run 'make all' first."
14 if ! test -f .
/run-tests.conf
; then
15 echo "warning: Creating run-tests.conf with default values."
16 echo " Please edit run-tests.conf to match your test cell configuration."
17 echo "CELLNAME=testcell" > .
/run-tests.conf
18 echo "PARTITION=a" >>.
/run-tests.conf
19 echo "ADMIN=admin" >>.
/run-tests.conf
20 echo "KERBEROS_TYPE=kaserver" >>.
/run-tests.conf
21 echo "KERBEROS_REALM=TESTCELL" >>.
/run-tests.conf
22 echo "KERBEROS_KEYTAB=${AFSCONFDIR}/krb5.keytab" >>.
/run-tests.conf
31 VERSION
=@PACKAGE_VERSION@
32 PACKAGE
=@PACKAGE_TARNAME@
36 CELLNAME
=${CELLNAME-testcell}
41 PERL5LIB
=${PERL5LIB-`pwd`}
42 AFSROOT
=${AFSROOT-/afs}
43 TESTDIR
=${TESTDIR-unreplicated}
44 WORKDIR
=$AFSROOT/$CELLNAME/$TESTDIR
79 ACL_TESTS
="acladduser.pl \
83 aclclearnegrights.pl \
91 MMAP_TESTS
="append-over-page \
98 FS_TESTS
="strange-characters \
103 AFS_TESTS
="write-ro \
108 RMT_TESTS
="extcopyin \
111 ABUSE_TESTS
="read-write \
112 create-remove-files \
115 PTS_TESTS
="ptscreateuser.pl \
131 VOS_TESTS
="voscreate.pl \
154 BOS_TESTS
="bosaddhost.pl \
163 bosdeleterunning.pl \
166 bosrestartstopped.pl \
173 bossalvagevolume.pl \
177 REG_TESTS
="fcachesize-write-file \
178 fcachesize-read-file \
211 aclclearnegrights.pl \
234 create-remove-files \
282 bosdeleterunning.pl \
285 bosrestartstopped.pl \
292 bossalvagevolume.pl \
294 bossalvageserver.pl \
295 fcachesize-write-file \
296 fcachesize-read-file \
302 linebreak
=":-------------------------------;"
308 usage
="Usage: $0 [-user user] [-all] [-fast] [-large] [-j] [-verbose] [-x] tests ..."
316 -verbose) VERBOSE
=yes;;
317 -user) RUNAS
=$2; shift;;
318 -x) SHELLVERBOSE
="-x";;
319 -p) PRINT_CACHESIZE
="yes";;
320 -basic) TESTS
="$BASIC_TESTS";TEST_MODE
="basic";;
321 -mtpt) TESTS
="$MTPT_TESTS";TEST_MODE
="mtpt";;
322 -acl) TESTS
="$ACL_TESTS";TEST_MODE
="acl";;
323 -exec) TESTS
="$EXEC_TESTS";TEST_MODE
="exec";;
324 -mmap) TESTS
="$MMAP_TESTS";TEST_MODE
="mmap";;
325 -fs) TESTS
="$FS_TESTS";TEST_MODE
="fs";;
326 -afs) TESTS
="$AFS_TESTS";TEST_MODE
="afs";;
327 -rmt) TESTS
="$RMT_TESTS";TEST_MODE
="rmt";;
328 -abuse) TESTS
="$ABUSE_TESTS";TEST_MODE
="abuse";;
329 -pts) TESTS
="$PTS_TESTS";TEST_MODE
="pts";;
330 -vos) TESTS
="$VOS_TESTS";TEST_MODE
="vos";;
331 -bos) TESTS
="$BOS_TESTS";TEST_MODE
="bos";;
332 -reg) TESTS
="$REG_TESTS";TEST_MODE
="reg";;
333 -help|
--help) echo $usage;
334 echo "tests available: $linebreak"; for a
in "$ALL_TESTS"; do echo $a ; done;
336 -version|
--version) echo "$0 $Id$"; exit 0;;
337 -*) echo "$0: Bad option $1"; echo $usage; exit 1;;
343 if test "X$WORKDIR" = "X";then
344 echo "WORKDIR=workdir $0 $* or env WORKDIR=workdir $0 $*"; exit 1;
348 if test "X$ALL" != "X" ; then
350 elif test $# -lt 1; then
356 # these are variables exported to the scripts
363 # and file descriptors
368 if test "$VERBOSE" = "yes"; then
376 # Find out where we really are
378 srcdir
=`cd $srcdir; pwd`
379 objdir
=`cd $objdir; pwd`
385 if [ "$KERBEROS_TYPE" != "kaserver" ] ; then
386 kinit
-k -t $KERBEROS_KEYTAB $ADMIN ||
exit 1;
387 ${AFSWSBINDIR}/aklog
-d -c $CELLNAME ||
exit 1;
390 echo "-------------------------------------------------"
391 echo "$PACKAGE-$VERSION"
392 echo "hosttype $host"
393 echo "${SHELL},${SHELLVERBOSE},${VERBOSE},${PARALLELL},${FAST}"
394 echo "testmode ${TEST_MODE}"
395 echo "runas ${RUNAS}"
400 echo "-------------------------------------------------"
402 test "X$VERBOSE" != "X" && echo "Running tests"
407 for a
in $RUNTESTS; do
409 # XXX Test if binary in $srcdir, shellscript in $srcdir else
410 # its a binary in objdir
412 if test -x ${srcdir}/$a ; then
414 elif test -f ${srcdir}/$a ; then
415 b
="${SHELL} ${SHELLVERBOSE} ${srcdir}/$a"
419 if test "`echo $a | cut -c1`" = "#" ; then # tests to skip
424 test "X$VERBOSE" != "X" && echo "Running test $a ($b)."
425 if test "$a" = "setgroups" ; then
426 b
="${objdir}/asu root $b"
428 if test "X$RUNAS" != "X" ; then
429 b
="${objdir}/asu $RUNAS $b"
432 tmpdir
="`hostname`-$a-`date +%Y-%m-%d-%H-%M-%S`-$$"
433 cd $WORKDIR && mkdir
$tmpdir && (cd $tmpdir && $b ${PARALLELL})
435 test "X$VERBOSE" != "X" && echo "Saved res = $saved_res"
436 if test "X${PARALLELL}" = "X" ;then
437 if test $saved_res != 0 ; then
438 echo "Test $a FAILED"
439 FAILEDTESTS
="${FAILEDTESTS} $a";
442 test "X$VERBOSE" != "X" && echo "Test $a succeeded, tmpdir is removed"
443 ${objdir}/rm-rf
$tmpdir
445 test "X$VERBOSE" != "X" && echo "Done test $a."
447 test "X${PRINT_CACHESIZE}" = Xyes
&& $objdir/..
/appl
/fs
/fs calculate
453 if test "$FAILEDTESTS"; then
454 echo "-----------------------------------------------------------"
455 echo "Failed test(s) were: $FAILEDTESTS"
458 echo "All test(s) were succesful!"