1
0
Fork 0
mirror of synced 2025-03-07 03:53:26 +01:00

advapi32/tests: Skip some tests if the EventLog service crashed.

advapi32:eventlog crashes the EventLog service in some Windows
versions so defend against that condition.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53461
This commit is contained in:
Francois Gouget 2023-03-17 14:14:42 +01:00 committed by Alexandre Julliard
parent 42bd3bb79a
commit 2078afb928

View file

@ -2919,19 +2919,25 @@ static void test_EventLog(void)
ok(status.dwServiceType == SERVICE_WIN32_SHARE_PROCESS ||
status.dwServiceType == (SERVICE_WIN32_SHARE_PROCESS | SERVICE_WIN32_OWN_PROCESS) /* Win10 */,
"got %#lx\n", status.dwServiceType);
ok(status.dwCurrentState == SERVICE_RUNNING, "got %#lx\n", status.dwCurrentState);
todo_wine
ok(status.dwControlsAccepted == SERVICE_ACCEPT_SHUTDOWN /* XP */ ||
status.dwControlsAccepted == (SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN) /* 2008 */ ||
status.dwControlsAccepted == (SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_TIMECHANGE | SERVICE_ACCEPT_SHUTDOWN),
"got %#lx\n", status.dwControlsAccepted);
ok(status.dwWin32ExitCode == 0, "got %#lx\n", status.dwWin32ExitCode);
ok(status.dwServiceSpecificExitCode == 0, "got %#lx\n", status.dwServiceSpecificExitCode);
ok(status.dwCheckPoint == 0, "got %#lx\n", status.dwCheckPoint);
ok(status.dwWaitHint == 0, "got %#lx\n", status.dwWaitHint);
ok(status.dwProcessId != 0, "got %#lx\n", status.dwProcessId);
ok(status.dwServiceFlags == 0 || status.dwServiceFlags == SERVICE_RUNS_IN_SYSTEM_PROCESS /* XP */,
"got %#lx\n", status.dwServiceFlags);
if (status.dwCurrentState == SERVICE_STOPPED &&
status.dwWin32ExitCode == ERROR_PROCESS_ABORTED)
win_skip("EventLog crashed!\n");
else
{
ok(status.dwCurrentState == SERVICE_RUNNING, "got %#lx\n", status.dwCurrentState);
todo_wine
ok(status.dwControlsAccepted == SERVICE_ACCEPT_SHUTDOWN /* XP */ ||
status.dwControlsAccepted == (SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN) /* 2008 */ ||
status.dwControlsAccepted == (SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_TIMECHANGE | SERVICE_ACCEPT_SHUTDOWN),
"got %#lx\n", status.dwControlsAccepted);
ok(status.dwWin32ExitCode == 0, "got %#lx\n", status.dwWin32ExitCode);
ok(status.dwProcessId != 0, "got %#lx\n", status.dwProcessId);
}
CloseServiceHandle(svc_handle);
CloseServiceHandle(scm_handle);