Module: wine Branch: master Commit: 9a6781f8c9149330f23f8f497c59643c8412cbe9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9a6781f8c9149330f23f8f497c...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Mar 16 14:32:37 2017 +0100
rpcrt4/tests: Added more server listening tests.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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); }