summaryrefslogtreecommitdiff
path: root/selftest
diff options
context:
space:
mode:
authorDavid Disseldorp <ddiss@samba.org>2013-05-15 00:42:35 +0200
committerJeremy Allison <jra@samba.org>2015-03-31 18:40:25 +0200
commit2e9ea9f195d2050d17d3c5748a26c6ca0f6e3ff0 (patch)
tree004c171b7209667254702f4d9a14af5841677016 /selftest
parent7a96325baa80df515e110c5e110c2cde53a26ede (diff)
downloadsamba-2e9ea9f195d2050d17d3c5748a26c6ca0f6e3ff0.tar.gz
selftest: add snapshot share configuration
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>
Diffstat (limited to 'selftest')
-rw-r--r--selftest/selftesthelpers.py1
-rwxr-xr-xselftest/target/Samba3.pm18
2 files changed, 19 insertions, 0 deletions
diff --git a/selftest/selftesthelpers.py b/selftest/selftesthelpers.py
index aa1d2b31b5a..fc2937c4bdd 100644
--- a/selftest/selftesthelpers.py
+++ b/selftest/selftesthelpers.py
@@ -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"
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index 3f2d2473752..758ca6bc0e5 100755
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -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);