Add some basic tests to check out fuse

Update makefiles to have 'make test' and 'make check' use the
_nolibafs build version, since there are no tests that (currently)
require the AFS kernel module to be built.

Clean up fuse test copyright notice, Alphabetize configure.ac

Change-Id: Icc95dd3393cd66f0d04fa5f6e8f806db60ca031e
Reviewed-on: http://gerrit.openafs.org/8135
Reviewed-by: Troy Benjegerdes <hozer-gerrit@hozed.org>
Reviewed-by: Derrick Brashear <shadow@your-file-system.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
This commit is contained in:
Troy Benjegerdes 2012-02-26 22:56:06 -06:00 committed by Derrick Brashear
parent bb84ed0f56
commit 94bf003a72
9 changed files with 113 additions and 2 deletions

View File

@ -139,7 +139,10 @@ prelude: ${TOP_INCDIR}/afs ${TOP_INCDIR}/rx ${TOP_INCDIR}/hcrypto ${TOP_INCDIR}/
project: cmd comerr
tests: all
tests: all_nolibafs
+${COMPILE_PART1} tests ${COMPILE_PART2}
tests_libafs: all
+${COMPILE_PART1} tests ${COMPILE_PART2}
config: prelude
@ -656,7 +659,7 @@ finale_nolibafs: project cmd comerr afsd butc tbutc tbudb libuafs audit kauth lo
rpctestlib: util fsint rx opr libafsrpc libafsauthent
+${TEST_PART1} rpctestlib ${COMPILE_PART2}
check test: finale
check test: finale_nolibafs
cd tests && $(MAKE) check
# Use washtool to ensure MakefileProto is current and obj/libafs exists.

View File

@ -265,6 +265,7 @@ tests/Makefile \
tests/auth/Makefile \
tests/cmd/Makefile \
tests/common/Makefile \
tests/fuse/Makefile \
tests/opr/Makefile \
tests/rpctestlib/Makefile \
tests/rx/Makefile \

View File

@ -18,3 +18,4 @@ volser/vos-man
volser/vos
bucoord/backup-man
kauth/kas-man
fuse/dynroot

13
tests/fuse/Makefile.in Normal file
View File

@ -0,0 +1,13 @@
# This software has been released under the terms of the IBM Public
# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
#
# This file (software) make also be used separately from OpenAFS
# under other licenses, contact the author(s) listed below for details.
#
# copyright 2011, 2012 Troy Benjegerdes <hozer@hozed.org>
CELLSRV=@TOP_OBJDIR@/src/afsd/CellServDB
conf/CellServDB: $(CELLSRV)
cp $(CELLSRV) conf/

1
tests/fuse/conf/ThisCell Normal file
View File

@ -0,0 +1 @@
test.cell

View File

@ -0,0 +1 @@
mntdir:vcache:100000

33
tests/fuse/dynroot-t Executable file
View File

@ -0,0 +1,33 @@
#!/bin/sh
#
# This software has been released under the terms of the IBM Public
# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
#
# This file (software) may also be used separately from OpenAFS
# under other licenses, contact the author(s) listed below for details.
#
# copyright 2011, 2012 Troy Benjegerdes <hozer@hozed.org>
. tap/libtap.sh
plan 1
grep -e "^>" fuse/conf/CellServDB | cut -d " " -f 1 | cut -b2- | sort > fuse/cells.tmp
(cd fuse; ./try-fuse.sh > ./fuse-log 2>&1 ) &
fusepid=$!
sleep 1
ls fuse/mntdir | sort > fuse/ls.tmp
ok "ls dynroot" diff fuse/cells.tmp fuse/ls.tmp
rm fuse/cells.tmp fuse/ls.tmp
#not the best way to handle this
killall afsd.fuse
wait

35
tests/fuse/fuse.sh Executable file
View File

@ -0,0 +1,35 @@
#!/bin/sh
#
# This software has been released under the terms of the IBM Public
# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
#
# This file (software) may also be used separately from OpenAFS
# under other licenses, contact the author(s) listed below for details.
#
# This software copyright 2011, 2012 Troy Benjegerdes <hozer@hozed.org>
. ../tap/libtap.sh
plan 1
if [ ! -f "$TOPDIR/src/afsd/afsd.fuse" ] ; then
skip_all
fi
grep -e "^>" conf/CellServDB | cut -d " " -f 1 | cut -b2- | sort > cells.tmp
(./try-fuse.sh > fuse-log 2>&1 ) &
fusepid=$!
sleep 1
ls mntdir | sort > ls.tmp
ok "ls dynroot" diff cells.tmp ls.tmp
rm cells.tmp ls.tmp
kill $fusepid
wait $fusepid

23
tests/fuse/try-fuse.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/sh -x
#
# This software has been released under the terms of the IBM Public
# License. For details, see the LICENSE file in the top-level source
# directory or online at http://www.openafs.org/dl/license10.html
#
# This file (software) may also be used separately from OpenAFS
# under other licenses, contact the author(s) listed below for details.
#
# copyright 2011, 2012 Troy Benjegerdes <hozer@hozed.org>
TESTDIR=$PWD
TOPDIR=$PWD/../..
export LD_LIBRARY_PATH=$TOPDIR/lib
#in case there's a stale mount here
fusermount -u $TESTDIR/mntdir
$TOPDIR/src/afsd/afsd.fuse -dynroot -fakestat -d -confdir $TESTDIR/conf -cachedir $TESTDIR/vcache -mountdir $TESTDIR/mntdir
fusermount -u $TESTDIR/mntdir