s4-torture: ran minimal_includes.pl over source4/torture
[obnox/samba/samba-obnox.git] / source4 / torture / rpc / dssetup.c
index 4d90b242c4fa8c57720a2e37a9d7aaf899aeacf5..f52aa9fb90f11a4f69922f4c46755281ccba0cac 100644 (file)
 */
 
 #include "includes.h"
-#include "torture/torture.h"
 #include "librpc/gen_ndr/ndr_dssetup_c.h"
 #include "torture/rpc/rpc.h"
 
 
-BOOL test_DsRoleGetPrimaryDomainInformation(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
+bool test_DsRoleGetPrimaryDomainInformation_ext(struct torture_context *tctx, 
+                                               struct dcerpc_pipe *p,
+                                               NTSTATUS ext_status)
 {
        struct dssetup_DsRoleGetPrimaryDomainInformation r;
        NTSTATUS status;
-       BOOL ret = True;
        int i;
 
-       printf("\ntesting DsRoleGetPrimaryDomainInformation\n");
-
        for (i=DS_ROLE_BASIC_INFORMATION; i <= DS_ROLE_OP_STATUS; i++) {
                r.in.level = i;
+               torture_comment(tctx, "dcerpc_dssetup_DsRoleGetPrimaryDomainInformation level %d\n", i);
 
-               status = dcerpc_dssetup_DsRoleGetPrimaryDomainInformation(p, mem_ctx, &r);
-               if (!NT_STATUS_IS_OK(status)) {
-                       const char *errstr = nt_errstr(status);
-                       if (NT_STATUS_EQUAL(status, NT_STATUS_NET_WRITE_FAULT)) {
-                               errstr = dcerpc_errstr(mem_ctx, p->last_fault_code);
-                       }
-                       printf("dcerpc_dssetup_DsRoleGetPrimaryDomainInformation level %d failed - %s\n",
-                               i, errstr);
-                       ret = False;
-               } else if (!W_ERROR_IS_OK(r.out.result)) {
-                       printf("DsRoleGetPrimaryDomainInformation level %d failed - %s\n",
-                               i, win_errstr(r.out.result));
-                       ret = False;
+               status = dcerpc_dssetup_DsRoleGetPrimaryDomainInformation(p, tctx, &r);
+               torture_assert_ntstatus_equal(tctx, ext_status, status, "DsRoleGetPrimaryDomainInformation failed");
+               if (NT_STATUS_IS_OK(ext_status)) {
+                       torture_assert_werr_ok(tctx, r.out.result, "DsRoleGetPrimaryDomainInformation failed");
                }
        }
 
-       return ret;
+       return true;
 }
 
-BOOL torture_rpc_dssetup(struct torture_context *torture)
+bool test_DsRoleGetPrimaryDomainInformation(struct torture_context *tctx, 
+                                           struct dcerpc_pipe *p)
 {
-        NTSTATUS status;
-        struct dcerpc_pipe *p;
-       TALLOC_CTX *mem_ctx;
-       BOOL ret = True;
-
-       mem_ctx = talloc_init("torture_rpc_dssetup");
-
-       status = torture_rpc_connection(mem_ctx, &p, &ndr_table_dssetup);
-       if (!NT_STATUS_IS_OK(status)) {
-               talloc_free(mem_ctx);
-
-               return False;
-       }
+       return test_DsRoleGetPrimaryDomainInformation_ext(tctx, p, NT_STATUS_OK);
+}
 
-       ret &= test_DsRoleGetPrimaryDomainInformation(p, mem_ctx);
+struct torture_suite *torture_rpc_dssetup(TALLOC_CTX *mem_ctx)
+{
+       struct torture_suite *suite = torture_suite_create(mem_ctx, "DSSETUP");
+       struct torture_rpc_tcase *tcase = torture_suite_add_rpc_iface_tcase(suite, "dssetup", &ndr_table_dssetup);
 
-       talloc_free(mem_ctx);
+       torture_rpc_tcase_add_test(tcase, "DsRoleGetPrimaryDomainInformation", test_DsRoleGetPrimaryDomainInformation);
 
-       return ret;
+       return suite;
 }