summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUri Simchoni <uri@samba.org>2015-11-04 12:06:03 +0200
committerJeremy Allison <jra@samba.org>2015-11-04 22:15:24 +0100
commitb3f3ffe35d50886cce730b6f78ed22e1e62959a1 (patch)
treedb47104644c951bd36a5398d30a862cb0d21f6a1
parentb37ecbd06d7a625d6889a9e8eaa66c807bb2a839 (diff)
downloadsamba-b3f3ffe35d50886cce730b6f78ed22e1e62959a1.tar.gz
vfs_offline: add a blackbox test
Signed-off-by: Uri Simchoni <uri@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
-rwxr-xr-xselftest/target/Samba3.pm6
-rwxr-xr-xsource3/script/tests/test_offline.sh33
-rwxr-xr-xsource3/selftest/tests.py1
3 files changed, 40 insertions, 0 deletions
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index f66aea75b31..281ac3cc570 100755
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -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
index 00000000000..fbc071af998
--- /dev/null
+++ b/source3/script/tests/test_offline.sh
@@ -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
diff --git a/source3/selftest/tests.py b/source3/selftest/tests.py
index 048675a84cb..9c68943ecc2 100755
--- a/source3/selftest/tests.py
+++ b/source3/selftest/tests.py
@@ -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