mirror of
https://github.com/reactos/reactos.git
synced 2025-07-07 15:27:55 +00:00
[IPHLPAPI_APITEST] Test failure fixes (#8214)
- liCreateTimestamp isn't set in TCP tables on several Windows versions. If it isn't, then we can't compare it to the current system time; so don't. - GetInterfaceName had some test failures unique to Vista, guard them. - icmp: Accept either ERROR_INVALID_HANDLE or ERROR_INVALID_PARAMETER as a last error in a couple tests.
This commit is contained in:
parent
ea9e2812c6
commit
410db43f20
5 changed files with 51 additions and 34 deletions
|
@ -273,8 +273,12 @@ START_TEST(GetExtendedTcpTable)
|
||||||
{
|
{
|
||||||
ok(TcpTableOwnerMod->table[i].dwOwningPid == Pid, "Invalid owner\n");
|
ok(TcpTableOwnerMod->table[i].dwOwningPid == Pid, "Invalid owner\n");
|
||||||
|
|
||||||
ok(TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart >= CreationTime.QuadPart, "Invalid time\n");
|
// liCreateTimestamp may not be populated on Vista, 7, and 8.1
|
||||||
ok(TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart <= CreationTime.QuadPart + 60000000000LL, "Invalid time\n");
|
if (TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart != 0)
|
||||||
|
{
|
||||||
|
ok(TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart >= CreationTime.QuadPart, "Invalid time\n");
|
||||||
|
ok(TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart <= CreationTime.QuadPart + 60000000000LL, "Invalid time\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HeapFree(GetProcessHeap(), 0, TcpTableOwnerMod);
|
HeapFree(GetProcessHeap(), 0, TcpTableOwnerMod);
|
||||||
|
@ -332,8 +336,12 @@ START_TEST(GetExtendedTcpTable)
|
||||||
{
|
{
|
||||||
ok(TcpTableOwnerMod->table[i].dwOwningPid == Pid, "Invalid owner\n");
|
ok(TcpTableOwnerMod->table[i].dwOwningPid == Pid, "Invalid owner\n");
|
||||||
|
|
||||||
ok(TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart >= CreationTime.QuadPart, "Invalid time\n");
|
// liCreateTimestamp may not be populated on Vista, 7, and 8.1
|
||||||
ok(TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart <= CreationTime.QuadPart + 60000000000LL, "Invalid time\n");
|
if (TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart != 0)
|
||||||
|
{
|
||||||
|
ok(TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart >= CreationTime.QuadPart, "Invalid time\n");
|
||||||
|
ok(TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart <= CreationTime.QuadPart + 60000000000LL, "Invalid time\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HeapFree(GetProcessHeap(), 0, TcpTableOwnerMod);
|
HeapFree(GetProcessHeap(), 0, TcpTableOwnerMod);
|
||||||
|
|
|
@ -38,9 +38,9 @@ test_NhGetInterfaceNameFromGuid(GUID AdapterGUID, DWORD par1, DWORD par2)
|
||||||
StartSeh()
|
StartSeh()
|
||||||
ApiReturn = pNhGetInterfaceNameFromGuid(NULL, &Name, &ulOutBufLen, par1, par2);
|
ApiReturn = pNhGetInterfaceNameFromGuid(NULL, &Name, &ulOutBufLen, par1, par2);
|
||||||
Error = GetLastError();
|
Error = GetLastError();
|
||||||
EndSeh(((GetVersion() & 0xFF) >= 6) ? STATUS_SUCCESS : STATUS_ACCESS_VIOLATION);
|
EndSeh(GetNTVersion() >= _WIN32_WINNT_VISTA ? STATUS_SUCCESS : STATUS_ACCESS_VIOLATION);
|
||||||
|
|
||||||
ok_long(ApiReturn, ((GetVersion() & 0xFF) >= 6) ? ERROR_INVALID_PARAMETER : ERROR_SUCCESS);
|
ok_long(ApiReturn, GetNTVersion() >= _WIN32_WINNT_VISTA ? ERROR_INVALID_PARAMETER : ERROR_SUCCESS);
|
||||||
ok(Error == 0xbeeffeed,
|
ok(Error == 0xbeeffeed,
|
||||||
"GetLastError() returned %ld, expected 0xbeeffeed\n",
|
"GetLastError() returned %ld, expected 0xbeeffeed\n",
|
||||||
Error);
|
Error);
|
||||||
|
@ -55,8 +55,8 @@ test_NhGetInterfaceNameFromGuid(GUID AdapterGUID, DWORD par1, DWORD par2)
|
||||||
ApiReturn = pNhGetInterfaceNameFromGuid(&AdapterGUID, NULL, &ulOutBufLen, par1, par2);
|
ApiReturn = pNhGetInterfaceNameFromGuid(&AdapterGUID, NULL, &ulOutBufLen, par1, par2);
|
||||||
Error = GetLastError();
|
Error = GetLastError();
|
||||||
|
|
||||||
ok_long(ApiReturn, ((GetVersion() & 0xFF) >= 6) ? ERROR_INVALID_PARAMETER : ERROR_SUCCESS);
|
ok_long(ApiReturn, GetNTVersion() >= _WIN32_WINNT_VISTA ? ERROR_INVALID_PARAMETER : ERROR_SUCCESS);
|
||||||
ok_long(Error, ((GetVersion() & 0xFF) >= 6) ? ERROR_SUCCESS : 0xbeeffeed);
|
ok_long(Error, GetNTVersion() >= _WIN32_WINNT_VISTA ? ERROR_SUCCESS : 0xbeeffeed);
|
||||||
ok(ulOutBufLen > 0,
|
ok(ulOutBufLen > 0,
|
||||||
"ulOutBufLen is %ld, expected > 0\n",
|
"ulOutBufLen is %ld, expected > 0\n",
|
||||||
ulOutBufLen);
|
ulOutBufLen);
|
||||||
|
@ -93,7 +93,7 @@ test_NhGetInterfaceNameFromGuid(GUID AdapterGUID, DWORD par1, DWORD par2)
|
||||||
ok(ApiReturn == ERROR_SUCCESS,
|
ok(ApiReturn == ERROR_SUCCESS,
|
||||||
"ApiReturn returned %ld, expected ERROR_SUCCESS\n",
|
"ApiReturn returned %ld, expected ERROR_SUCCESS\n",
|
||||||
ApiReturn);
|
ApiReturn);
|
||||||
ok_long(Error, ((GetVersion() & 0xFF) >= 6) ? 0 : 0xbeeffeed);
|
ok_long(Error, GetNTVersion() >= _WIN32_WINNT_VISTA ? 0 : 0xbeeffeed);
|
||||||
ok(ulOutBufLen > 0,
|
ok(ulOutBufLen > 0,
|
||||||
"ulOutBufLen is %ld, expected > 0\n",
|
"ulOutBufLen is %ld, expected > 0\n",
|
||||||
ulOutBufLen);
|
ulOutBufLen);
|
||||||
|
@ -111,12 +111,9 @@ test_NhGetInterfaceNameFromGuid(GUID AdapterGUID, DWORD par1, DWORD par2)
|
||||||
ApiReturn = pNhGetInterfaceNameFromGuid((PVOID)&UniqueGUID, &Name, &ulOutBufLen, par1, par2);
|
ApiReturn = pNhGetInterfaceNameFromGuid((PVOID)&UniqueGUID, &Name, &ulOutBufLen, par1, par2);
|
||||||
Error = GetLastError();
|
Error = GetLastError();
|
||||||
|
|
||||||
ok_long(ApiReturn, ((GetVersion() & 0xFF) >= 6) ? ERROR_INVALID_PARAMETER : ERROR_NOT_FOUND);
|
ok_long(ApiReturn, GetNTVersion() >= _WIN32_WINNT_VISTA ? ERROR_INVALID_PARAMETER : ERROR_NOT_FOUND);
|
||||||
#ifdef _M_AMD64
|
// Windows 8+ succeeds on x64, Server 2003 x86 returns ERROR_FILE_NOT_FOUND
|
||||||
ok_long(Error, ERROR_FILE_NOT_FOUND);
|
ok(Error == ERROR_FILE_NOT_FOUND || Error == ERROR_SUCCESS, "Unexpected error. (0x%lX)\n", Error);
|
||||||
#else
|
|
||||||
ok_long(Error, 0);
|
|
||||||
#endif
|
|
||||||
ok(ulOutBufLen == sizeof(Name),
|
ok(ulOutBufLen == sizeof(Name),
|
||||||
"ulOutBufLen is %ld, expected = sizeof(Name)\n",
|
"ulOutBufLen is %ld, expected = sizeof(Name)\n",
|
||||||
ulOutBufLen);
|
ulOutBufLen);
|
||||||
|
@ -129,9 +126,12 @@ test_NhGetInterfaceNameFromGuid(GUID AdapterGUID, DWORD par1, DWORD par2)
|
||||||
ApiReturn = pNhGetInterfaceNameFromGuid(&AdapterGUID, &Name, &ulOutBufLen, par1, par2);
|
ApiReturn = pNhGetInterfaceNameFromGuid(&AdapterGUID, &Name, &ulOutBufLen, par1, par2);
|
||||||
Error = GetLastError();
|
Error = GetLastError();
|
||||||
|
|
||||||
ok_long(ApiReturn, ((GetVersion() & 0xFF) >= 6) ? ERROR_NOT_ENOUGH_MEMORY : ERROR_INSUFFICIENT_BUFFER);
|
ok_long(ApiReturn, GetNTVersion() >= _WIN32_WINNT_VISTA ? ERROR_NOT_ENOUGH_MEMORY : ERROR_INSUFFICIENT_BUFFER);
|
||||||
ok_long(Error, ((GetVersion() & 0xFF) >= 6) ? 0 : 0xbeeffeed);
|
ok_long(Error, GetNTVersion() >= _WIN32_WINNT_VISTA ? 0 : 0xbeeffeed);
|
||||||
ok_long(ulOutBufLen, MAX_INTERFACE_NAME_LEN * 2 + ((GetVersion() & 0xFF) >= 6 ? 2 : 0));
|
if (GetNTVersion() != _WIN32_WINNT_VISTA)
|
||||||
|
ok_long(ulOutBufLen, MAX_INTERFACE_NAME_LEN * 2 + (GetNTVersion() >= _WIN32_WINNT_VISTA ? 2 : 0));
|
||||||
|
else
|
||||||
|
ok_long(ulOutBufLen, 0);
|
||||||
ok_wstr(L"", Name);
|
ok_wstr(L"", Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -158,9 +158,9 @@ test_NhGetInterfaceNameFromDeviceGuid(GUID AdapterGUID, DWORD par1, DWORD par2)
|
||||||
StartSeh()
|
StartSeh()
|
||||||
ApiReturn = pNhGetInterfaceNameFromDeviceGuid(NULL, &Name, &ulOutBufLen, par1, par2);
|
ApiReturn = pNhGetInterfaceNameFromDeviceGuid(NULL, &Name, &ulOutBufLen, par1, par2);
|
||||||
Error = GetLastError();
|
Error = GetLastError();
|
||||||
EndSeh(((GetVersion() & 0xFF) >= 6) ? STATUS_SUCCESS : STATUS_ACCESS_VIOLATION);
|
EndSeh(GetNTVersion() >= _WIN32_WINNT_VISTA ? STATUS_SUCCESS : STATUS_ACCESS_VIOLATION);
|
||||||
|
|
||||||
ok_long(ApiReturn, ((GetVersion() & 0xFF) >= 6) ? ERROR_INVALID_PARAMETER : 0);
|
ok_long(ApiReturn, GetNTVersion() >= _WIN32_WINNT_VISTA ? ERROR_INVALID_PARAMETER : 0);
|
||||||
ok(Error == 0xbeeffeed,
|
ok(Error == 0xbeeffeed,
|
||||||
"GetLastError() returned %ld, expected ERROR_SUCCESS\n",
|
"GetLastError() returned %ld, expected ERROR_SUCCESS\n",
|
||||||
Error);
|
Error);
|
||||||
|
@ -177,10 +177,10 @@ test_NhGetInterfaceNameFromDeviceGuid(GUID AdapterGUID, DWORD par1, DWORD par2)
|
||||||
StartSeh()
|
StartSeh()
|
||||||
ApiReturn = pNhGetInterfaceNameFromDeviceGuid(&AdapterGUID, NULL, &ulOutBufLen, par1, par2);
|
ApiReturn = pNhGetInterfaceNameFromDeviceGuid(&AdapterGUID, NULL, &ulOutBufLen, par1, par2);
|
||||||
Error = GetLastError();
|
Error = GetLastError();
|
||||||
EndSeh(((GetVersion() & 0xFF) >= 6) ? STATUS_SUCCESS : STATUS_ACCESS_VIOLATION);
|
EndSeh(GetNTVersion() >= _WIN32_WINNT_VISTA ? STATUS_SUCCESS : STATUS_ACCESS_VIOLATION);
|
||||||
|
|
||||||
ok_long(ApiReturn, ((GetVersion() & 0xFF) >= 6) ? ERROR_INVALID_PARAMETER : 0);
|
ok_long(ApiReturn, GetNTVersion() >= _WIN32_WINNT_VISTA ? ERROR_INVALID_PARAMETER : 0);
|
||||||
ok_long(Error, ((GetVersion() & 0xFF) >= 6) ? ERROR_SUCCESS : 0xbeeffeed);
|
ok_long(Error, GetNTVersion() >= _WIN32_WINNT_VISTA ? ERROR_SUCCESS : 0xbeeffeed);
|
||||||
ok(ulOutBufLen > 0,
|
ok(ulOutBufLen > 0,
|
||||||
"ulOutBufLen is %ld, expected > 0\n",
|
"ulOutBufLen is %ld, expected > 0\n",
|
||||||
ulOutBufLen);
|
ulOutBufLen);
|
||||||
|
@ -233,7 +233,7 @@ test_NhGetInterfaceNameFromDeviceGuid(GUID AdapterGUID, DWORD par1, DWORD par2)
|
||||||
ApiReturn = pNhGetInterfaceNameFromDeviceGuid((PVOID)&UniqueGUID, &Name, &ulOutBufLen, par1, par2);
|
ApiReturn = pNhGetInterfaceNameFromDeviceGuid((PVOID)&UniqueGUID, &Name, &ulOutBufLen, par1, par2);
|
||||||
Error = GetLastError();
|
Error = GetLastError();
|
||||||
|
|
||||||
ok_long(ApiReturn, ((GetVersion() & 0xFF) >= 6) ? ERROR_INVALID_PARAMETER : ERROR_NOT_FOUND);
|
ok_long(ApiReturn, GetNTVersion() >= _WIN32_WINNT_VISTA ? ERROR_INVALID_PARAMETER : ERROR_NOT_FOUND);
|
||||||
ok(Error == ERROR_SUCCESS,
|
ok(Error == ERROR_SUCCESS,
|
||||||
"GetLastError() returned %ld, expected ERROR_SUCCESS\n",
|
"GetLastError() returned %ld, expected ERROR_SUCCESS\n",
|
||||||
Error);
|
Error);
|
||||||
|
@ -249,11 +249,14 @@ test_NhGetInterfaceNameFromDeviceGuid(GUID AdapterGUID, DWORD par1, DWORD par2)
|
||||||
ApiReturn = pNhGetInterfaceNameFromDeviceGuid(&AdapterGUID, &Name, &ulOutBufLen, par1, par2);
|
ApiReturn = pNhGetInterfaceNameFromDeviceGuid(&AdapterGUID, &Name, &ulOutBufLen, par1, par2);
|
||||||
Error = GetLastError();
|
Error = GetLastError();
|
||||||
|
|
||||||
ok_long(ApiReturn, ((GetVersion() & 0xFF) >= 6) ? ERROR_NOT_ENOUGH_MEMORY : ERROR_INSUFFICIENT_BUFFER);
|
ok_long(ApiReturn, GetNTVersion() >= _WIN32_WINNT_VISTA ? ERROR_NOT_ENOUGH_MEMORY : ERROR_INSUFFICIENT_BUFFER);
|
||||||
ok(Error == ERROR_SUCCESS,
|
ok(Error == ERROR_SUCCESS,
|
||||||
"GetLastError() returned %ld, expected ERROR_SUCCESS\n",
|
"GetLastError() returned %ld, expected ERROR_SUCCESS\n",
|
||||||
Error);
|
Error);
|
||||||
ok_long(ulOutBufLen, MAX_INTERFACE_NAME_LEN * 2 + (((GetVersion() & 0xFF) >= 6) ? 2 : 0));
|
if (GetNTVersion() != _WIN32_WINNT_VISTA)
|
||||||
|
ok_long(ulOutBufLen, MAX_INTERFACE_NAME_LEN * 2 + (GetNTVersion() >= _WIN32_WINNT_VISTA ? 2 : 0));
|
||||||
|
else
|
||||||
|
ok_long(ulOutBufLen, 0);
|
||||||
ok_wstr(L"", Name);
|
ok_wstr(L"", Name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -187,10 +187,7 @@ test_GetNetworkParams(VOID)
|
||||||
HeapFree(GetProcessHeap(), 0, FixedInfo);
|
HeapFree(GetProcessHeap(), 0, FixedInfo);
|
||||||
skip("FixedInfo->DomainName is NULL. Can't proceed\n");
|
skip("FixedInfo->DomainName is NULL. Can't proceed\n");
|
||||||
}
|
}
|
||||||
if(OrigDhcpDomainNameExists)
|
ok(strcmp(FixedInfo->DomainName, OrigDomainName) == 0, "FixedInfo->DomainName is wrong '%s' != '%s'\n", FixedInfo->DomainName, OrigDomainName);
|
||||||
ok(strcmp(FixedInfo->DomainName, OrigDhcpDomainName) == 0, "FixedInfo->DomainName is wrong '%s' != '%s'\n", FixedInfo->DomainName, OrigDhcpDomainName);
|
|
||||||
else
|
|
||||||
ok(strcmp(FixedInfo->DomainName, OrigDomainName) == 0, "FixedInfo->DomainName is wrong '%s' != '%s'\n", FixedInfo->DomainName, OrigDomainName);
|
|
||||||
if (!OrigDhcpHostnameExists)
|
if (!OrigDhcpHostnameExists)
|
||||||
{
|
{
|
||||||
ErrorCode = WriteRegistryValue("DhcpHostname", ROSTESTDHCPHOST);
|
ErrorCode = WriteRegistryValue("DhcpHostname", ROSTESTDHCPHOST);
|
||||||
|
|
|
@ -112,8 +112,12 @@ START_TEST(GetOwnerModuleFromTcpEntry)
|
||||||
|
|
||||||
ok(TcpTableOwnerMod->table[i].dwOwningPid == Pid, "Invalid owner\n");
|
ok(TcpTableOwnerMod->table[i].dwOwningPid == Pid, "Invalid owner\n");
|
||||||
|
|
||||||
ok(TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart >= CreationTime.QuadPart, "Invalid time\n");
|
// liCreateTimestamp may not be populated on Vista, 7, and 8.1
|
||||||
ok(TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart <= CreationTime.QuadPart + 60000000000LL, "Invalid time\n");
|
if (TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart != 0)
|
||||||
|
{
|
||||||
|
ok(TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart >= CreationTime.QuadPart, "Invalid time\n");
|
||||||
|
ok(TcpTableOwnerMod->table[i].liCreateTimestamp.QuadPart <= CreationTime.QuadPart + 60000000000LL, "Invalid time\n");
|
||||||
|
}
|
||||||
|
|
||||||
if (GetOwnerModuleFromTcpEntry(&TcpTableOwnerMod->table[i], TCPIP_OWNER_MODULE_INFO_BASIC, BasicInfo, &Size) == ERROR_INSUFFICIENT_BUFFER)
|
if (GetOwnerModuleFromTcpEntry(&TcpTableOwnerMod->table[i], TCPIP_OWNER_MODULE_INFO_BASIC, BasicInfo, &Size) == ERROR_INSUFFICIENT_BUFFER)
|
||||||
{
|
{
|
||||||
|
|
|
@ -52,6 +52,7 @@ test_IcmpCloseHandle(void)
|
||||||
{
|
{
|
||||||
HANDLE hIcmp;
|
HANDLE hIcmp;
|
||||||
BOOL bRet;
|
BOOL bRet;
|
||||||
|
DWORD LastError;
|
||||||
|
|
||||||
SetLastError(0xDEADBEEF);
|
SetLastError(0xDEADBEEF);
|
||||||
hIcmp = IcmpCreateFile();
|
hIcmp = IcmpCreateFile();
|
||||||
|
@ -73,13 +74,17 @@ test_IcmpCloseHandle(void)
|
||||||
SetLastError(0xDEADBEEF);
|
SetLastError(0xDEADBEEF);
|
||||||
bRet = IcmpCloseHandle(hIcmp);
|
bRet = IcmpCloseHandle(hIcmp);
|
||||||
ok(!bRet, "IcmpCloseHandle succeeded unexpectedly\n");
|
ok(!bRet, "IcmpCloseHandle succeeded unexpectedly\n");
|
||||||
ok_err(ERROR_INVALID_HANDLE);
|
LastError = GetLastError();
|
||||||
|
ok(LastError == ERROR_INVALID_HANDLE || LastError == ERROR_INVALID_PARAMETER,
|
||||||
|
"Unexpected last error (0x%lX)\n", LastError);
|
||||||
|
|
||||||
hIcmp = NULL;
|
hIcmp = NULL;
|
||||||
SetLastError(0xDEADBEEF);
|
SetLastError(0xDEADBEEF);
|
||||||
bRet = IcmpCloseHandle(hIcmp);
|
bRet = IcmpCloseHandle(hIcmp);
|
||||||
ok(!bRet, "IcmpCloseHandle succeeded unexpectedly\n");
|
ok(!bRet, "IcmpCloseHandle succeeded unexpectedly\n");
|
||||||
ok_err(ERROR_INVALID_HANDLE);
|
LastError = GetLastError();
|
||||||
|
ok(LastError == ERROR_INVALID_HANDLE || LastError == ERROR_INVALID_PARAMETER,
|
||||||
|
"Unexpected last error (0x%lX)\n", LastError);
|
||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue