]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
s3: torture: Add samba3.blackbox.NT1.shadow_copy_torture.
authorJeremy Allison <jra@samba.org>
Tue, 5 May 2020 00:57:29 +0000 (17:57 -0700)
committerJeremy Allison <jra@samba.org>
Tue, 5 May 2020 19:18:44 +0000 (19:18 +0000)
Runs the SMB1 root @GMT-pathname open test.

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
source3/script/tests/test_smb1_shadow_copy_torture.sh [new file with mode: 0755]
source3/selftest/tests.py

diff --git a/source3/script/tests/test_smb1_shadow_copy_torture.sh b/source3/script/tests/test_smb1_shadow_copy_torture.sh
new file mode 100755 (executable)
index 0000000..cae9c02
--- /dev/null
@@ -0,0 +1,75 @@
+#!/bin/bash
+#
+# Blackbox test for shadow_copy2 VFS - SMB1 only.
+#
+
+if [ $# -lt 7 ]; then
+cat <<EOF
+Usage: test_shadow_copy SERVER SERVER_IP DOMAIN USERNAME PASSWORD WORKDIR SMBTORTURE
+EOF
+exit 1;
+fi
+
+SERVER=${1}
+SERVER_IP=${2}
+DOMAIN=${3}
+USERNAME=${4}
+PASSWORD=${5}
+WORKDIR=${6}
+SMBTORTURE="$VALGRIND ${7}"
+shift 7
+
+incdir=`dirname $0`/../../../testprogs/blackbox
+. $incdir/subunit.sh
+
+SNAPSHOT="@GMT-2015.10.31-19.40.30"
+
+failed=0
+
+# build a hierarchy of files, symlinks, and directories
+build_files()
+{
+    local destdir
+    destdir=$1
+
+    echo "$content" > $destdir/foo
+}
+
+# build a snapshots directory
+build_snapshots()
+{
+    local snapdir
+
+    snapdir=$WORKDIR/.snapshots
+
+    mkdir -p $snapdir
+    mkdir $snapdir/$SNAPSHOT
+
+    build_files $snapdir/$SNAPSHOT
+}
+
+test_shadow_copy_openroot()
+{
+    local msg
+
+    msg=$1
+
+    #delete snapshots from previous tests
+    find $WORKDIR -name ".snapshots" -exec rm -rf {} \; 1>/dev/null 2>&1
+    build_snapshots
+
+    testit "opening shadow copy root of share over SMB1" \
+          $SMBTORTURE \
+          -U$USERNAME%$PASSWORD \
+          "//$SERVER/shadow_write" \
+          --option="torture:twrp_snapshot=$SNAPSHOT" \
+           base.smb1-twrp-openroot || \
+        failed=`expr $failed + 1`
+}
+
+build_files $WORKDIR
+
+# test open for writing and write behaviour of snapshoted files
+test_shadow_copy_openroot "opening root of shadow copy share"
+
+exit $failed
index 45b8dca56c2574cc95d4072a6ba12af856bd51cf..73bb1a36cd8a687d18ecd416c32da67032035420 100755 (executable)
@@ -418,6 +418,9 @@ for env in ["fileserver"]:
     plantestsuite("samba3.blackbox.sacl_get_set", env,
                   [os.path.join(samba3srcdir, "script/tests/test_sacl_set_get.sh"),
                    '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
+    plantestsuite("samba3.blackbox.NT1.shadow_copy_torture", env + "_smb1_done",
+                  [os.path.join(samba3srcdir, "script/tests/test_smb1_shadow_copy_torture.sh"),
+                   '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbtorture4])
 
     #
     # tar command tests