Jacek Caban : rpcrt4/tests: Added more server listening tests.

Alexandre Julliard julliard at winehq.org
Thu Mar 16 17:25:15 CDT 2017


Module: wine
Branch: master
Commit: 9a6781f8c9149330f23f8f497c59643c8412cbe9
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9a6781f8c9149330f23f8f497c59643c8412cbe9

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Mar 16 14:32:37 2017 +0100

rpcrt4/tests: Added more server listening tests.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/rpcrt4/tests/server.c | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/dlls/rpcrt4/tests/server.c b/dlls/rpcrt4/tests/server.c
index 9dca3c8..44a024d 100644
--- a/dlls/rpcrt4/tests/server.c
+++ b/dlls/rpcrt4/tests/server.c
@@ -1754,6 +1754,40 @@ server(void)
     status = RpcMgmtWaitServerListen();
     ok(status == RPC_S_OK, "RpcMgmtWaitServerListening failed with status %d\n", status);
   }
+
+  CloseHandle(stop_event);
+  stop_event = NULL;
+}
+
+static void test_server_listening(void)
+{
+    static unsigned char np[] = "ncacn_np";
+    static unsigned char pipe[] = PIPE "listen_test";
+    RPC_STATUS status;
+
+    status = RpcServerUseProtseqEpA(np, 0, pipe, NULL);
+    ok(status == RPC_S_OK, "RpcServerUseProtseqEp(ncacn_np) failed with status %d\n", status);
+
+    status = RpcServerRegisterIf(s_IServer_v0_0_s_ifspec, NULL, NULL);
+    ok(status == RPC_S_OK, "RpcServerRegisterIf failed with status %d\n", status);
+
+    test_is_server_listening(NULL, RPC_S_NOT_LISTENING);
+    status = RpcServerListen(1, 20, TRUE);
+    ok(status == RPC_S_OK, "RpcServerListen failed with status %d\n", status);
+    test_is_server_listening(NULL, RPC_S_OK);
+
+    status = RpcServerListen(1, 20, TRUE);
+    ok(status == RPC_S_ALREADY_LISTENING, "RpcServerListen failed with status %d\n", status);
+
+    status = RpcMgmtStopServerListening(NULL);
+    ok(status == RPC_S_OK, "RpcMgmtStopServerListening\n");
+    test_is_server_listening(NULL, RPC_S_NOT_LISTENING);
+
+    status = RpcMgmtWaitServerListen();
+    ok(status == RPC_S_OK, "RpcMgmtWaitServerListening failed with status %d\n", status);
+
+    status = RpcMgmtWaitServerListen();
+    ok(status == RPC_S_NOT_LISTENING, "RpcMgmtWaitServerListening failed with status %d\n", status);
 }
 
 static BOOL is_process_elevated(void)
@@ -1911,6 +1945,10 @@ START_TEST(server)
     }
     RpcEndExcept
   }
+  else if (argc == 4)
+  {
+    test_server_listening();
+  }
   else
   {
     if (firewall_enabled)
@@ -1924,6 +1962,7 @@ START_TEST(server)
       }
     }
     server();
+    run_client("test listen");
     if (firewall_enabled) set_firewall(APP_REMOVE);
   }
 




More information about the wine-cvs mailing list