Add some basic tests to check out fuse
authorTroy Benjegerdes <hozer@hozed.org>
Mon, 27 Feb 2012 04:56:06 +0000 (22:56 -0600)
committerDerrick Brashear <shadow@your-file-system.com>
Wed, 3 Oct 2012 12:41:51 +0000 (05:41 -0700)
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>

Makefile.in
configure.ac
tests/TESTS
tests/fuse/Makefile.in [new file with mode: 0644]
tests/fuse/conf/ThisCell [new file with mode: 0644]
tests/fuse/conf/cacheinfo [new file with mode: 0644]
tests/fuse/dynroot-t [new file with mode: 0755]
tests/fuse/fuse.sh [new file with mode: 0755]
tests/fuse/try-fuse.sh [new file with mode: 0755]

index 44d914a..cf74460 100644 (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.
index 6277815..036d6fc 100644 (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 \
index 59c4fb3..0c08189 100644 (file)
@@ -18,3 +18,4 @@ volser/vos-man
 volser/vos
 bucoord/backup-man
 kauth/kas-man
+fuse/dynroot
diff --git a/tests/fuse/Makefile.in b/tests/fuse/Makefile.in
new file mode 100644 (file)
index 0000000..71846c7
--- /dev/null
@@ -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/
diff --git a/tests/fuse/conf/ThisCell b/tests/fuse/conf/ThisCell
new file mode 100644 (file)
index 0000000..ebb8cea
--- /dev/null
@@ -0,0 +1 @@
+test.cell
diff --git a/tests/fuse/conf/cacheinfo b/tests/fuse/conf/cacheinfo
new file mode 100644 (file)
index 0000000..f5fe457
--- /dev/null
@@ -0,0 +1 @@
+mntdir:vcache:100000
diff --git a/tests/fuse/dynroot-t b/tests/fuse/dynroot-t
new file mode 100755 (executable)
index 0000000..c84eefd
--- /dev/null
@@ -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
diff --git a/tests/fuse/fuse.sh b/tests/fuse/fuse.sh
new file mode 100755 (executable)
index 0000000..10f497a
--- /dev/null
@@ -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
diff --git a/tests/fuse/try-fuse.sh b/tests/fuse/try-fuse.sh
new file mode 100755 (executable)
index 0000000..f5458f9
--- /dev/null
@@ -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