s3-selftest: convert stream_depot vfstest driver into a subunit test
authorAndrew Bartlett <abartlet@samba.org>
Wed, 15 Aug 2012 22:37:54 +0000 (08:37 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 15 Aug 2012 23:15:45 +0000 (09:15 +1000)
This gives us our first automated coverage of the vfstest binary.

We don't use the simple smb.conf because we need to override all the
paths for this to work as non-root without a panic, so we use the s3dc
environment, which already loads this module.

Andrew Bartlett

source3/script/tests/stream-depot/run.sh
source3/script/tests/stream-depot/smb.conf [deleted file]
source3/selftest/tests.py

index f1e75fbf716bc0424179498c51f2d434e77b48ba..38ef283294899b460b82fe66d49cbf7ab4986e0d 100755 (executable)
@@ -1,9 +1,36 @@
 #!/bin/sh
-rm -r .streams
-../../../bin/vfstest -s smb.conf -f vfstest.cmd
+if [ $# -lt 2 ]; then
+cat <<EOF
+Usage: run.sh VFSTEST PREFIX
+EOF
+exit 1;
+fi
+
+TESTBASE=`dirname $0`
+VFSTEST=$1
+PREFIX=$2
+shift 2
+ADDARGS="$*"
+
+VFSTEST_PREFIX=vfstest
+VFSTEST_TMPDIR=$(mktemp -d ${PREFIX}/${VFSTEST_PREFIX}_XXXXXX)
+
+incdir=`dirname $0`/../../../../testprogs/blackbox
+. $incdir/subunit.sh
+
+failed=0
+
+cd $VFSTEST_TMPDIR || exit 1
+
+testit "vfstest" $VFSTEST -f $TESTBASE/vfstest.cmd $ADDARGS || failed=`expr $failed + 1`
+testname=".streams check"
+subunit_start_test $testname
 NUM=`find .streams | wc -l`
 if [ $NUM -ne 3 ] ; then
-    echo "streams_depot left ${NUM} in .streams, expected 3"
-    exit 1
+echo "streams_depot left ${NUM} in .streams, expected 3" | subunit_fail_test $testname
+    failed=`expr $failed + 1`
+else 
+    subunit_pass_test $testname
 fi
-exit 0
+
+exit $failed
diff --git a/source3/script/tests/stream-depot/smb.conf b/source3/script/tests/stream-depot/smb.conf
deleted file mode 100644 (file)
index 426d23c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-[tmp]
-# "path" is ignored by vfstest, it's always set to $(pwd)
-path = /tmp
-writable = yes
-vfs objects =  streams_depot xattr_tdb
index 945d26a6736cd3ce3b7c16790debf42e36d51536..d892b16042f8647e8a336751a06397b0d9c72fd9 100755 (executable)
@@ -33,6 +33,7 @@ net = binpath('net')
 smbtorture3 = binpath('smbtorture3')
 ntlm_auth = binpath('ntlm_auth3')
 dbwrap_tool = binpath('dbwrap_tool')
+vfstest = binpath('vfstest')
 
 torture_options = [configuration, "--maximum-runtime=$SELFTEST_MAXTIME", 
                    "--basedir=$SELFTEST_TMPDIR",
@@ -154,6 +155,8 @@ tests=["--ping", "--separator",
        "--allocate-uid",
        "--allocate-gid"]
 
+plantestsuite("samba.vfstest.stream_depot", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
+
 for options in ["--option=clientusespnego=no", " --option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", ""]:
     env = "s3dc"
     plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) %s" % (env, options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient, configuration, options])