Rob Shearman : rpcrt4: Add tests for endpoint mapper functions.
Alexandre Julliard
julliard at winehq.org
Thu Jun 26 06:48:15 CDT 2008
Module: wine
Branch: master
Commit: 1a978cb460194e7f3db4c8d8bf6405411b2f9bcd
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1a978cb460194e7f3db4c8d8bf6405411b2f9bcd
Author: Rob Shearman <robertshearman at gmail.com>
Date: Wed Jun 25 18:27:08 2008 +0100
rpcrt4: Add tests for endpoint mapper functions.
---
dlls/rpcrt4/tests/rpc.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 47 insertions(+), 0 deletions(-)
diff --git a/dlls/rpcrt4/tests/rpc.c b/dlls/rpcrt4/tests/rpc.c
index 4b34d12..490a151 100644
--- a/dlls/rpcrt4/tests/rpc.c
+++ b/dlls/rpcrt4/tests/rpc.c
@@ -676,6 +676,52 @@ static void test_I_RpcExceptionFilter(void)
}
}
+static void test_endpoint_mapper(void)
+{
+ static unsigned char annotation[] = "Test annotation string.";
+ static unsigned char ncacn_ip_tcp[] = "ncacn_np";
+ static unsigned char address[] = ".";
+ static unsigned char endpoint[] = "\\pipe\\wine_rpc_test";
+ RPC_STATUS status;
+ RPC_BINDING_VECTOR *binding_vector;
+ handle_t handle;
+ unsigned char *binding;
+
+ status = RpcServerUseProtseqEp(ncacn_ip_tcp, 20, endpoint, NULL);
+ ok(status == RPC_S_OK, "RpcServerUseProtseqEp failed (%lu)\n", status);
+
+ status = RpcServerRegisterIf(IFoo_v0_0_s_ifspec, NULL, NULL);
+ ok(status == RPC_S_OK, "RpcServerRegisterIf failed (%lu)\n", status);
+
+ status = RpcServerInqBindings(&binding_vector);
+ ok(status == RPC_S_OK, "RpcServerInqBindings failed with error %lu\n", status);
+
+ status = RpcEpRegisterA(IFoo_v0_0_s_ifspec, binding_vector, NULL, annotation);
+ ok(status == RPC_S_OK, "RpcEpRegisterA failed with error %lu\n", status);
+
+ status = RpcStringBindingCompose(NULL, ncacn_ip_tcp, address,
+ NULL, NULL, &binding);
+ ok(status == RPC_S_OK, "RpcStringBindingCompose failed (%lu)\n", status);
+
+ status = RpcBindingFromStringBinding(binding, &handle);
+ ok(status == RPC_S_OK, "RpcBindingFromStringBinding failed (%lu)\n", status);
+
+ status = RpcEpResolveBinding(handle, IFoo_v0_0_s_ifspec);
+ ok(status == RPC_S_OK, "RpcEpResolveBinding failed with error %lu\n", status);
+
+ status = RpcBindingFree(&handle);
+ ok(status == RPC_S_OK, "RpcBindingFree failed with error %lu\n", status);
+
+ status = RpcServerUnregisterIf(NULL, NULL, FALSE);
+ ok(status == RPC_S_OK, "RpcServerUnregisterIf failed (%lu)\n", status);
+
+ status = RpcEpUnregister(IFoo_v0_0_s_ifspec, binding_vector, NULL);
+ ok(status == RPC_S_OK, "RpcEpUnregisterA failed with error %lu\n", status);
+
+ status = RpcBindingVectorFree(&binding_vector);
+ ok(status == RPC_S_OK, "RpcBindingVectorFree failed with error %lu\n", status);
+}
+
START_TEST( rpc )
{
trace ( " ** Uuid Conversion and Comparison Tests **\n" );
@@ -687,4 +733,5 @@ START_TEST( rpc )
test_I_RpcMapWin32Status();
test_RpcStringBindingParseA();
test_I_RpcExceptionFilter();
+ test_endpoint_mapper();
}
More information about the wine-cvs
mailing list