Zhiyi Zhang (@zhiyi) commented about dlls/user32/tests/monitor.c:
broken(res == DISP_CHANGE_FAILED), /* win8 TestBot */ "ChangeDisplaySettingsExA returned unexpected %ld\n", res); for (device = 0; device < device_count; ++device)
expect_dm(&devices[device].original_mode, devices[device].name, 0);
expect_dm(&devices[device].original_mode, devices[device].name, 0, FALSE);
- event0 = CreateEventW(NULL, FALSE, FALSE, L"test_ChangeDisplaySettingsEx_event0");
- ok(!!event0, "OpenEventA failed, error %#lx\n", GetLastError());
- event1 = CreateEventW(NULL, FALSE, FALSE, L"test_ChangeDisplaySettingsEx_event1");
- ok(!!event1, "OpenEventA failed, error %#lx\n", GetLastError());
- event2 = CreateEventW(NULL, FALSE, FALSE, L"test_ChangeDisplaySettingsEx_event2");
- ok(!!event2, "OpenEventA failed, error %#lx\n", GetLastError());
I think only one child_process_exit_event should be enough. You start a child process. The child process changes display mode according to argv parameters, set process exit events, and then exits.