advapi32/tests: Fix some test failures on NT4.

oldstable
Paul Vriens 2008-12-09 11:53:48 +01:00 committed by Alexandre Julliard
parent a4d4c07c2f
commit e38d569590
1 changed files with 25 additions and 20 deletions

View File

@ -1728,25 +1728,33 @@ static void test_LookupAccountName(void)
sid_use = 0xcafebabe; sid_use = 0xcafebabe;
SetLastError(0xdeadbeef); SetLastError(0xdeadbeef);
ret = LookupAccountNameA(NULL, NULL, NULL, &sid_size, NULL, &domain_size, &sid_use); ret = LookupAccountNameA(NULL, NULL, NULL, &sid_size, NULL, &domain_size, &sid_use);
ok(!ret, "Expected 0, got %d\n", ret); if (!ret && GetLastError() != ERROR_NONE_MAPPED)
ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, {
"Expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError()); ok(!ret, "Expected 0, got %d\n", ret);
ok(sid_size != 0, "Expected non-zero sid size\n"); ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
ok(domain_size != 0, "Expected non-zero domain size\n"); "Expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError());
ok(sid_use == 0xcafebabe, "Expected 0xcafebabe, got %d\n", sid_use); ok(sid_size != 0, "Expected non-zero sid size\n");
ok(domain_size != 0, "Expected non-zero domain size\n");
ok(sid_use == 0xcafebabe, "Expected 0xcafebabe, got %d\n", sid_use);
psid = HeapAlloc(GetProcessHeap(), 0, sid_size); psid = HeapAlloc(GetProcessHeap(), 0, sid_size);
domain = HeapAlloc(GetProcessHeap(), 0, domain_size); domain = HeapAlloc(GetProcessHeap(), 0, domain_size);
/* try NULL account name */ /* try NULL account name */
ret = LookupAccountNameA(NULL, NULL, psid, &sid_size, domain, &domain_size, &sid_use); ret = LookupAccountNameA(NULL, NULL, psid, &sid_size, domain, &domain_size, &sid_use);
get_sid_info(psid, &account, &sid_dom); get_sid_info(psid, &account, &sid_dom);
ok(ret, "Failed to lookup account name\n"); ok(ret, "Failed to lookup account name\n");
/* Using a fixed string will not work on different locales */ /* Using a fixed string will not work on different locales */
ok(!lstrcmp(account, domain), ok(!lstrcmp(account, domain),
"Got %s for account and %s for domain, these should be the same\n", "Got %s for account and %s for domain, these should be the same\n",
account, domain); account, domain);
ok(sid_use == SidTypeDomain, "Expected SidTypeDomain (%d), got %d\n", SidTypeDomain, sid_use); ok(sid_use == SidTypeDomain, "Expected SidTypeDomain (%d), got %d\n", SidTypeDomain, sid_use);
HeapFree(GetProcessHeap(), 0, psid);
HeapFree(GetProcessHeap(), 0, domain);
}
else
win_skip("NULL account name doesn't work on NT4\n");
/* try an invalid account name */ /* try an invalid account name */
SetLastError(0xdeadbeef); SetLastError(0xdeadbeef);
@ -1770,9 +1778,6 @@ static void test_LookupAccountName(void)
"Expected RPC_S_SERVER_UNAVAILABLE or RPC_S_INVALID_NET_ADDR, got %d\n", GetLastError()); "Expected RPC_S_SERVER_UNAVAILABLE or RPC_S_INVALID_NET_ADDR, got %d\n", GetLastError());
ok(sid_size == 0, "Expected 0, got %d\n", sid_size); ok(sid_size == 0, "Expected 0, got %d\n", sid_size);
ok(domain_size == 0, "Expected 0, got %d\n", domain_size); ok(domain_size == 0, "Expected 0, got %d\n", domain_size);
HeapFree(GetProcessHeap(), 0, psid);
HeapFree(GetProcessHeap(), 0, domain);
} }
static void test_security_descriptor(void) static void test_security_descriptor(void)