rpcrt4: Add tests for UuidCreateSequential.
This commit is contained in:
parent
3733789aa9
commit
b61c8f8b53
|
@ -804,6 +804,58 @@ static void test_UuidCreate(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_UuidCreateSequential(void)
|
||||||
|
{
|
||||||
|
UUID guid1;
|
||||||
|
BYTE version;
|
||||||
|
RPC_STATUS (WINAPI *pUuidCreateSequential)(UUID *) = (void *)GetProcAddress(GetModuleHandle("rpcrt4.dll"), "UuidCreateSequential");
|
||||||
|
RPC_STATUS ret;
|
||||||
|
|
||||||
|
if (!pUuidCreateSequential)
|
||||||
|
{
|
||||||
|
skip("UuidCreateSequential not exported\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ret = pUuidCreateSequential(&guid1);
|
||||||
|
ok(!ret || ret == RPC_S_UUID_LOCAL_ONLY,
|
||||||
|
"expected RPC_S_OK or RPC_S_UUID_LOCAL_ONLY, got %08x\n", ret);
|
||||||
|
version = (guid1.Data3 & 0xf000) >> 12;
|
||||||
|
todo_wine
|
||||||
|
ok(version == 1, "unexpected version %d\n", version);
|
||||||
|
if (version == 1)
|
||||||
|
{
|
||||||
|
UUID guid2;
|
||||||
|
|
||||||
|
if (!ret)
|
||||||
|
{
|
||||||
|
/* If the call succeeded, there's a valid (non-multicast) MAC
|
||||||
|
* address in the uuid:
|
||||||
|
*/
|
||||||
|
ok(!(guid1.Data4[2] & 0x01),
|
||||||
|
"GUID does not appear to contain a MAC address\n");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Otherwise, there's a randomly generated multicast MAC address
|
||||||
|
* address in the uuid:
|
||||||
|
*/
|
||||||
|
ok((guid1.Data4[2] & 0x01),
|
||||||
|
"GUID does not appear to contain a multicast MAC address\n");
|
||||||
|
}
|
||||||
|
/* Generate another GUID, and make sure its MAC address matches the
|
||||||
|
* first.
|
||||||
|
*/
|
||||||
|
ret = pUuidCreateSequential(&guid2);
|
||||||
|
ok(!ret || ret == RPC_S_UUID_LOCAL_ONLY,
|
||||||
|
"expected RPC_S_OK or RPC_S_UUID_LOCAL_ONLY, got %08x\n", ret);
|
||||||
|
version = (guid2.Data3 & 0xf000) >> 12;
|
||||||
|
todo_wine
|
||||||
|
ok(version == 1, "unexpected version %d\n", version);
|
||||||
|
ok(!memcmp(guid1.Data4, guid2.Data4, sizeof(guid2.Data4)),
|
||||||
|
"unexpected value in MAC address\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void test_RpcBindingFree(void)
|
static void test_RpcBindingFree(void)
|
||||||
{
|
{
|
||||||
RPC_BINDING_HANDLE binding = NULL;
|
RPC_BINDING_HANDLE binding = NULL;
|
||||||
|
@ -826,5 +878,6 @@ START_TEST( rpc )
|
||||||
test_I_RpcExceptionFilter();
|
test_I_RpcExceptionFilter();
|
||||||
test_RpcStringBindingFromBinding();
|
test_RpcStringBindingFromBinding();
|
||||||
test_UuidCreate();
|
test_UuidCreate();
|
||||||
|
test_UuidCreateSequential();
|
||||||
test_RpcBindingFree();
|
test_RpcBindingFree();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue