Author: gd
Date: 2007-11-06 01:39:47 +0000 (Tue, 06 Nov 2007)
New Revision: 25849

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25849

Log:
Add test for dfs FlushFtTable.

Guenther

Modified:
   branches/SAMBA_4_0/source/torture/rpc/dfs.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/rpc/dfs.c
===================================================================
--- branches/SAMBA_4_0/source/torture/rpc/dfs.c 2007-11-06 01:24:07 UTC (rev 
25848)
+++ branches/SAMBA_4_0/source/torture/rpc/dfs.c 2007-11-06 01:39:47 UTC (rev 
25849)
@@ -596,6 +596,47 @@
        return true;
 }
 
+static bool test_FlushFtTable(struct dcerpc_pipe *p,
+                             TALLOC_CTX *mem_ctx,
+                             const char *host,
+                             const char *sharename)
+{
+       NTSTATUS status;
+       struct dfs_FlushFtTable r;
+       enum dfs_ManagerVersion version;
+
+       printf("Testing FlushFtTable\n");
+
+       if (!test_GetManagerVersion(p, mem_ctx, &version)) {
+               return false;
+       }
+
+       r.in.servername = host;
+       r.in.rootshare = sharename;
+
+       status = dcerpc_dfs_FlushFtTable(p, mem_ctx, &r);
+       if (!NT_STATUS_IS_OK(status)) {
+               printf("FlushFtTable failed - %s\n", nt_errstr(status));
+               return false;
+       } else if (!W_ERROR_IS_OK(r.out.result)) {
+               printf("dfs_FlushFtTable failed - %s\n",
+                       win_errstr(r.out.result));
+               IS_DFS_VERSION_UNSUPPORTED_CALL_W2K3(version, r.out.result);
+               return false;
+       }
+
+       return true;
+}
+
+static bool test_FtRoot(struct dcerpc_pipe *p,
+                       TALLOC_CTX *mem_ctx,
+                       const char *host)
+{
+       const char *sharename = SMBTORTURE_DFS_SHARENAME;
+
+       return test_FlushFtTable(p, mem_ctx, host, sharename);
+}
+
 bool torture_rpc_dfs(struct torture_context *torture)
 {
        NTSTATUS status;
@@ -612,6 +653,7 @@
        ret &= test_Enum(p, torture);
        ret &= test_EnumEx(p, torture, host);
        ret &= test_StdRoot(p, torture, host);
+       ret &= test_FtRoot(p, torture, host);
        ret &= test_DcAddress(p, torture, host);
 
        return ret;

Reply via email to