summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2012-08-16 08:37:54 +1000
committerAndrew Bartlett <abartlet@samba.org>2012-08-16 09:15:45 +1000
commit748d8f5310501bb585c9be1b261554ec690a3132 (patch)
treebf926ca13921b10da5590c6267e128c7590f65b4
parent08baa11ab869551f61dc7a7d363587b70582ffeb (diff)
downloadsamba-748d8f5310501bb585c9be1b261554ec690a3132.tar.gz
samba-748d8f5310501bb585c9be1b261554ec690a3132.tar.bz2
samba-748d8f5310501bb585c9be1b261554ec690a3132.zip
s3-selftest: convert stream_depot vfstest driver into a subunit test
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
-rwxr-xr-xsource3/script/tests/stream-depot/run.sh37
-rw-r--r--source3/script/tests/stream-depot/smb.conf5
-rwxr-xr-xsource3/selftest/tests.py3
3 files changed, 35 insertions, 10 deletions
diff --git a/source3/script/tests/stream-depot/run.sh b/source3/script/tests/stream-depot/run.sh
index f1e75fbf71..38ef283294 100755
--- a/source3/script/tests/stream-depot/run.sh
+++ b/source3/script/tests/stream-depot/run.sh
@@ -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
index 426d23c949..0000000000
--- a/source3/script/tests/stream-depot/smb.conf
+++ /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
diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py
index 945d26a673..d892b16042 100755
--- a/source3/selftest/tests.py
+++ b/source3/selftest/tests.py
@@ -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])