selftest: add snapshot share configuration
authorDavid Disseldorp <ddiss@samba.org>
Tue, 14 May 2013 22:42:35 +0000 (00:42 +0200)
committerJeremy Allison <jra@samba.org>
Tue, 31 Mar 2015 16:40:25 +0000 (18:40 +0200)
Define a share that uses both vfs_shell_snap and fake_snap.pl to create,
delete and expose fake snapshots in response to FSRVP requests.
Additionally test snapshot enumeration and access via the shadow_copy2
module.

Allow for simple testing of FSRVP message sequence timeouts, by
specifying an artificially small interval.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
selftest/selftesthelpers.py
selftest/target/Samba3.pm

index aa1d2b31b5a1ab67355e31a46e3c629cd162f885..fc2937c4bddfac44a39bef52931803d127d9b34c 100644 (file)
@@ -166,6 +166,7 @@ smbtorture4_testsuite_list = subprocess.Popen([smbtorture4, "--list-suites"], st
 
 smbtorture4_options = [
     configuration,
+    "--option=\'fss:sequence timeout=1\'",
     "--maximum-runtime=$SELFTEST_MAXTIME",
     "--basedir=$SELFTEST_TMPDIR",
     "--format=subunit"
index 3f2d2473752c4adb3af9f41addc921c697e285a4..758ca6bc0e5df732c5f71bfe21bd9561444dd92b 100755 (executable)
@@ -212,10 +212,13 @@ sub setup_nt4_dc($$)
        rpc_server:samr = external
        rpc_server:netlogon = external
        rpc_server:register_embedded_np = yes
+       rpc_server:FssagentRpc = external
 
        rpc_daemon:epmd = fork
        rpc_daemon:spoolssd = fork
        rpc_daemon:lsasd = fork
+       rpc_daemon:fssd = fork
+       fss: sequence timeout = 1
 ";
 
        my $vars = $self->provision($path,
@@ -1071,6 +1074,8 @@ sub provision($$$$$$$$)
 
        my $mod_printer_pl = "$ENV{PERL} $self->{srcdir}/source3/script/tests/printing/modprinter.pl";
 
+       my $fake_snap_pl = "$ENV{PERL} $self->{srcdir}/source3/script/tests/fake_snap.pl";
+
        my @eventlog_list = ("dns server", "application");
 
        ##
@@ -1198,6 +1203,9 @@ sub provision($$$$$$$$)
         # sending messages works, and that the %m sub works.
         message command = mv %s $shrdir/message.%m
 
+       # fsrvp server requires registry shares
+       registry shares = yes
+
        # Begin extra options
        $extra_options
        # End extra options
@@ -1333,6 +1341,16 @@ sub provision($$$$$$$$)
 [dynamic_share]
        path = $shrdir/%R
        guest ok = yes
+
+[fsrvp_share]
+       path = $shrdir
+       comment = fake shapshots using rsync
+       vfs objects = shell_snap shadow_copy2
+       shell_snap:check path command = $fake_snap_pl --check
+       shell_snap:create command = $fake_snap_pl --create
+       shell_snap:delete command = $fake_snap_pl --delete
+       # a relative path here fails, the snapshot dir is no longer found
+       shadow:snapdir = $shrdir/.snapshots
        ";
        close(CONF);