s4-torture: save cluster version in clusapi test context
authorGünther Deschner <gd@samba.org>
Mon, 13 Jan 2020 15:11:26 +0000 (16:11 +0100)
committerJeremy Allison <jra@samba.org>
Thu, 16 Jan 2020 20:09:42 +0000 (20:09 +0000)
Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source4/torture/rpc/clusapi.c

index 6597b441841e2c83767e615d54a13a26072b8b20..46950aff4e12053b6f91f05724412d71051adfa8 100644 (file)
@@ -28,6 +28,9 @@ struct torture_clusapi_context {
        struct dcerpc_pipe *p;
        const char *NodeName;
        const char *ClusterName;
+       uint16_t lpwMajorVersion;
+       uint16_t lpwMinorVersion;
+       uint16_t lpwBuildNumber;
 };
 
 static bool test_OpenCluster_int(struct torture_context *tctx,
@@ -3705,11 +3708,11 @@ static bool torture_rpc_clusapi_setup_common(struct torture_context *tctx,
                torture_rpc_connection(tctx, &t->p, &ndr_table_clusapi),
                "Error connecting to server");
 
+       b = t->p->binding_handle;
+
        {
                struct clusapi_GetClusterName r;
 
-               b = t->p->binding_handle;
-
                r.out.ClusterName = &t->ClusterName;
                r.out.NodeName = &t->NodeName;
 
@@ -3720,6 +3723,28 @@ static bool torture_rpc_clusapi_setup_common(struct torture_context *tctx,
                        r.out.result,
                        "GetClusterName failed");
        }
+       {
+               struct clusapi_GetClusterVersion2 r;
+               const char *lpszVendorId;
+               const char *lpszCSDVersion;
+               struct CLUSTER_OPERATIONAL_VERSION_INFO *ppClusterOpVerInfo;
+               WERROR rpc_status;
+
+               r.out.lpwMajorVersion = &t->lpwMajorVersion;
+               r.out.lpwMinorVersion = &t->lpwMinorVersion;
+               r.out.lpwBuildNumber = &t->lpwBuildNumber;
+               r.out.lpszVendorId = &lpszVendorId;
+               r.out.lpszCSDVersion = &lpszCSDVersion;
+               r.out.ppClusterOpVerInfo = &ppClusterOpVerInfo;
+               r.out.rpc_status = &rpc_status;
+
+               torture_assert_ntstatus_ok(tctx,
+                       dcerpc_clusapi_GetClusterVersion2_r(b, tctx, &r),
+                       "GetClusterVersion2 failed");
+               torture_assert_werr_ok(tctx,
+                       r.out.result,
+                       "GetClusterVersion2 failed");
+       }
 
        return true;
 }