Author: metze
Date: 2005-09-12 11:42:48 +0000 (Mon, 12 Sep 2005)
New Revision: 10167

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

Log:
add a test to check if we always get the same assoc_ctx, on one connection.

metze
Modified:
   branches/SAMBA_4_0/source/torture/nbt/winsreplication.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/nbt/winsreplication.c
===================================================================
--- branches/SAMBA_4_0/source/torture/nbt/winsreplication.c     2005-09-12 
10:40:36 UTC (rev 10166)
+++ branches/SAMBA_4_0/source/torture/nbt/winsreplication.c     2005-09-12 
11:42:48 UTC (rev 10167)
@@ -96,6 +96,50 @@
 }
 
 /*
+  test if we always get back the same assoc_ctx
+*/
+static BOOL test_assoc_ctx2(TALLOC_CTX *mem_ctx, const char *address)
+{
+       BOOL ret = True;
+       struct wrepl_socket *wrepl_socket;
+       struct wrepl_associate associate;
+       uint32_t assoc_ctx1;
+       NTSTATUS status;
+
+       printf("Test if we always get back the same assoc_ctx\n");
+
+       wrepl_socket = wrepl_socket_init(mem_ctx, NULL);
+       
+       printf("Setup wrepl connections\n");
+       status = wrepl_connect(wrepl_socket, address);
+       CHECK_STATUS(status, NT_STATUS_OK);
+
+
+       printf("Send 1st start association request\n");
+       status = wrepl_associate(wrepl_socket, &associate);
+       CHECK_STATUS(status, NT_STATUS_OK);
+       assoc_ctx1 = associate.out.assoc_ctx;
+       printf("1st association context: 0x%x\n", associate.out.assoc_ctx);
+
+       printf("Send 2nd start association request\n");
+       status = wrepl_associate(wrepl_socket, &associate);
+       CHECK_VALUE(associate.out.assoc_ctx, assoc_ctx1);
+       CHECK_STATUS(status, NT_STATUS_OK);
+       printf("2nd association context: 0x%x\n", associate.out.assoc_ctx);
+
+       printf("Send 3rd start association request\n");
+       status = wrepl_associate(wrepl_socket, &associate);
+       CHECK_VALUE(associate.out.assoc_ctx, assoc_ctx1);
+       CHECK_STATUS(status, NT_STATUS_OK);
+       printf("3rd association context: 0x%x\n", associate.out.assoc_ctx);
+
+done:
+       printf("Close wrepl connections\n");
+       talloc_free(wrepl_socket);
+       return ret;
+}
+
+/*
   display a replication entry
 */
 static void display_entry(TALLOC_CTX *mem_ctx, struct wrepl_name *name)
@@ -145,8 +189,6 @@
                struct wrepl_packet packet;
                struct wrepl_request *req;
 
-               printf("We are not a valid pull partner for the server\n");
-
                ZERO_STRUCT(packet);
                packet.opcode                      = WREPL_OPCODE_BITS;
                packet.assoc_ctx                   = associate.out.assoc_ctx;
@@ -155,6 +197,8 @@
 
                req = wrepl_request_send(wrepl_socket, &packet);
                talloc_free(req);
+
+               printf("failed - We are not a valid pull partner for the 
server\n");
                ret = False;
                goto done;
        }
@@ -212,6 +256,7 @@
        }
 
        ret &= test_assoc_ctx1(mem_ctx, address);
+       ret &= test_assoc_ctx2(mem_ctx, address);
 
        ret &= test_wins_replication(mem_ctx, address);
 

Reply via email to