vfs_offline: add a blackbox test
authorUri Simchoni <uri@samba.org>
Wed, 4 Nov 2015 10:06:03 +0000 (12:06 +0200)
committerJeremy Allison <jra@samba.org>
Wed, 4 Nov 2015 21:15:24 +0000 (22:15 +0100)
Signed-off-by: Uri Simchoni <uri@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
selftest/target/Samba3.pm
source3/script/tests/test_offline.sh [new file with mode: 0755]
source3/selftest/tests.py

index f66aea75b31968e61f882f4d4afbbbee5d252ce6..281ac3cc5706124167d55307e09a6d4926259b22 100755 (executable)
@@ -594,6 +594,9 @@ sub setup_fileserver($$)
        my $valid_users_sharedir="$share_dir/valid_users";
        push(@dirs,$valid_users_sharedir);
 
+       my $offline_sharedir="$share_dir/offline";
+       push(@dirs,$offline_sharedir);
+
        my $fileserver_options = "
 [lowercase]
        path = $lower_case_share_dir
@@ -616,6 +619,9 @@ sub setup_fileserver($$)
 [valid-users-access]
        path = $valid_users_sharedir
        valid users = +userdup
+[offline]
+       path = $offline_sharedir
+       vfs objects = offline
        ";
 
        my $vars = $self->provision($path,
diff --git a/source3/script/tests/test_offline.sh b/source3/script/tests/test_offline.sh
new file mode 100755 (executable)
index 0000000..fbc071a
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# Blackbox test for shadow_copy2 VFS.
+#
+if [ $# -lt 7 ]; then
+cat <<EOF
+Usage: test_offline SERVER SERVER_IP DOMAIN USERNAME PASSWORD WORKDIR SMBCLIENT
+EOF
+exit 1;
+fi
+
+SERVER=${1}
+SERVER_IP=${2}
+DOMAIN=${3}
+USERNAME=${4}
+PASSWORD=${5}
+WORKDIR=${6}
+SMBCLIENT=${7}
+shift 7
+SMBCLIENT="$VALGRIND ${SMBCLIENT}"
+ADDARGS="$*"
+
+incdir=`dirname $0`/../../../testprogs/blackbox
+. $incdir/subunit.sh
+
+touch $WORKDIR/foo
+
+failed=0
+
+attribs=`$SMBCLIENT -U$USERNAME%$PASSWORD "//$SERVER/offline" -I $SERVER_IP -c "allinfo foo" | sed -n 's/^attributes:.*(\([^)]*\)).*/\1/p'`
+testit "file has offline attribute" test "x$attribs" = "x1000"  || failed=`expr $failed + 1`
+
+exit $failed
index 048675a84cb207eaf8514772e038fcafde0d6d40..9c68943ecc2f538c98d40e81f679c6127f9bebf4 100755 (executable)
@@ -178,6 +178,7 @@ for env in ["fileserver"]:
     plantestsuite("samba3.blackbox.preserve_case (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_preserve_case.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
     plantestsuite("samba3.blackbox.dfree_command (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
     plantestsuite("samba3.blackbox.valid_users (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
+    plantestsuite("samba3.blackbox.offline (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
 
     #
     # tar command tests