[PATCH 08/13] torture: skip FSCTL_SRV_ENUM_SNAPS test when not supported

David Disseldorp ddiss at samba.org
Tue Nov 13 08:16:32 MST 2012


From: David Disseldorp <ddiss at suse.de>

If FSCTL_SRV_ENUM_SNAPS fails with NT_STATUS_NOT_SUPPORTED then skip the
test, this means we can run the full ioctl test suite as part of
autobuild.
---
 selftest/skip                |    1 -
 source4/torture/smb2/ioctl.c |    6 ++++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/selftest/skip b/selftest/skip
index 66bb85c..16e1ca5 100644
--- a/selftest/skip
+++ b/selftest/skip
@@ -101,7 +101,6 @@ bench # don't run benchmarks in our selftest
 # we should build a samba4ktutil and use that instead
 ^samba4.blackbox.ktpass # this test isn't portable ...
 ^samba4.drs.repl_schema.python # flakey test
-^samba4.smb2.ioctl # snapshots not supported by default
 ^samba4.drs.delete_object.python # flakey test
 ^samba4.rpc.unixinfo # This contains a server-side getpwuid call which hangs the server when nss_winbindd is in use
 ^samba.tests.dcerpc.unix  # This contains a server-side getpwuid call which hangs the server when nss_winbindd is in use
diff --git a/source4/torture/smb2/ioctl.c b/source4/torture/smb2/ioctl.c
index c170cb8..ae727f0 100644
--- a/source4/torture/smb2/ioctl.c
+++ b/source4/torture/smb2/ioctl.c
@@ -59,6 +59,12 @@ static bool test_ioctl_get_shadow_copy(struct torture_context *torture,
 	ioctl.smb2.in.flags = SMB2_IOCTL_FLAG_IS_FSCTL;
 
 	status = smb2_ioctl(tree, tmp_ctx, &ioctl.smb2);
+	if (NT_STATUS_EQUAL(status, NT_STATUS_NOT_SUPPORTED)
+	 || NT_STATUS_EQUAL(status, NT_STATUS_INVALID_DEVICE_REQUEST)) {
+		torture_comment(torture,
+			"FSCTL_SRV_ENUM_SNAPS not supported, skipping\n");
+		return true;
+	}
 	torture_assert_ntstatus_ok(torture, status, "FSCTL_SRV_ENUM_SNAPS");
 
 	return true;
-- 
1.7.10.4



More information about the samba-technical mailing list