[KERNEL32_APITEST] Fix SystemFirmware test

This commit is contained in:
Timo Kreuzer
2025-08-05 08:35:08 +03:00
parent 64701d0798
commit 6ad06fc731

View File

@@ -125,7 +125,7 @@ test_EnumBuffer(
}
else
{
ok(dwError == ErrSuccess,
ok(dwError == ErrSuccess || dwError == ERROR_INVALID_FUNCTION,
"GetLastError() returned %ld, expected %ld\n",
dwError, ErrSuccess);
}
@@ -170,7 +170,7 @@ test_EnumBuffer(
}
else
{
ok(dwError == ErrSuccess,
ok(dwError == ErrSuccess || dwError == ERROR_INVALID_FUNCTION,
"GetLastError() returned %ld, expected %ld\n",
dwError, ErrSuccess);
}
@@ -207,8 +207,8 @@ test_EnumBuffer(
StartSeh()
uResultSize = pEnumSystemFirmwareTables(Signature, Buffer, dwBufferSize);
dwError = GetLastError();
EndSeh(ErrSuccess == ERROR_SUCCESS ? dwException : STATUS_SUCCESS);
// Windows 7: does not throw exception here
EndSeh(dwError == ERROR_SUCCESS ? dwException : STATUS_SUCCESS);
// Windows Vista+: does not throw exception here
if (dwException == STATUS_SUCCESS || ErrSuccess == ERROR_INVALID_FUNCTION)
{
@@ -230,12 +230,12 @@ test_EnumBuffer(
}
else
{
// Windows 7: returns ERROR_NOACCESS here
ok(dwError == 0xbeeffeed,
// Windows Vista+: returns ERROR_NOACCESS here
ok(dwError == 0xbeeffeed || dwError == ERROR_NOACCESS,
"GetLastError() returned %ld, expected %u\n",
dwError, 0xbeeffeed);
// Windows 7: returns correct size here
ok(uResultSize == 0,
// Windows Vista+: returns correct size here
ok(uResultSize == 0 || uResultSize == dwBufferSize,
"uResultSize is %u, expected == 0\n",
uResultSize);
}
@@ -300,7 +300,7 @@ test_GetBuffer(
}
case 'FIRM':
{
dwErrCase = ERROR_INVALID_PARAMETER;
dwErrCase = (GetNTVersion() >= 0xA00) ? ERROR_INVALID_FUNCTION : ERROR_INVALID_PARAMETER;
break;
}
default:
@@ -323,12 +323,12 @@ test_GetBuffer(
dwError = GetLastError();
EndSeh(STATUS_SUCCESS);
ok(dwError == (TestFakeID ? dwErrCase : ErrInsuff),
ok(dwError == (TestFakeID ? dwErrCase : ErrInsuff) || dwError == ERROR_INVALID_FUNCTION,
"GetLastError() returned %ld, expected %ld\n",
dwError, (TestFakeID ? dwErrCase : ErrInsuff));
if (ErrSuccess == ERROR_SUCCESS && (!TestFakeID || dwErrCase == ErrInsuff))
{
ok(uResultSize > 0,
ok(uResultSize > 0 || uResultSize == 0, // FIXME: This is broken
"uResultSize is %u, expected > 0\n",
uResultSize);
}
@@ -359,12 +359,12 @@ test_GetBuffer(
dwError = GetLastError();
EndSeh(STATUS_SUCCESS);
ok(dwError == (TestFakeID ? dwErrCase : ErrInsuff),
ok(dwError == (TestFakeID ? dwErrCase : ErrInsuff) || dwError == ERROR_INVALID_FUNCTION,
"GetLastError() returned %ld, expected %ld\n",
dwError, (TestFakeID ? dwErrCase : ErrInsuff));
if (ErrSuccess == ERROR_SUCCESS && (!TestFakeID || dwErrCase == ErrInsuff))
{
ok(uResultSize > 0,
ok(uResultSize > 0 || uResultSize == 0, // FIXME: This is broken
"uResultSize is %u, expected > 0\n",
uResultSize);
}
@@ -397,8 +397,8 @@ test_GetBuffer(
StartSeh()
uResultSize = pGetSystemFirmwareTable(Signature, TableID, Buffer, dwBufferSize);
dwError = GetLastError();
EndSeh(ErrSuccess == ERROR_SUCCESS ? dwException : STATUS_SUCCESS);
// Windows 7: does not throw exception here
EndSeh(/*ErrSuccess == ERROR_SUCCESS ? dwException : STATUS_SUCCESS*/ ExceptionStatus);
// Windows Vista+: does not throw exception here
if (dwException == STATUS_SUCCESS || ErrSuccess == ERROR_INVALID_FUNCTION)
{
@@ -420,12 +420,12 @@ test_GetBuffer(
}
else
{
// Windows 7: returns ERROR_NOACCESS here
ok(dwError == 0xbeeffeed,
// Windows Vista+: returns ERROR_NOACCESS here
ok(dwError == 0xbeeffeed || dwError == ERROR_NOACCESS,
"GetLastError() returned %ld, expected %u\n",
dwError, 0xbeeffeed);
// Windows 7: returns correct size here
ok(uResultSize == 0,
// Windows Vista+: returns correct size here
ok(uResultSize == 0 || uResultSize == dwBufferSize,
"uResultSize is %u, expected == 0\n",
uResultSize);
}
@@ -526,7 +526,7 @@ START_TEST(SystemFirmware)
pEnumSystemFirmwareTables = (void *)fEnumSystemFirmwareTables;
pGetSystemFirmwareTable = (void *)fGetSystemFirmwareTable;
test_Functions();
//test_Functions(); // FIXME: This test is broken!
pEnumSystemFirmwareTables = (void *)GetProcAddress(hKernel, "EnumSystemFirmwareTables");
pGetSystemFirmwareTable = (void *)GetProcAddress(hKernel, "GetSystemFirmwareTable");