Re: ntdll/tests: Add tests for job objects.
Andrew Cook <ariscop(a)gmail.com> writes:
diff --git a/dlls/ntdll/tests/Makefile.in b/dlls/ntdll/tests/Makefile.in index 10d6674..1903d10 100644 --- a/dlls/ntdll/tests/Makefile.in +++ b/dlls/ntdll/tests/Makefile.in @@ -11,6 +11,7 @@ C_SRCS = \ file.c \ generated.c \ info.c \ + job.c \
Please put this in an existing file, like om.c
+static DWORD getProcess(PHANDLE handle) { + STARTUPINFO startup = {}; + PROCESS_INFORMATION info = {}; + + if(!CreateProcessA(NULL, GetCommandLine(), NULL, NULL, FALSE, 0, NULL, NULL, &startup, &info)) { + ok(FALSE, "CreateProcess: %x\n", GetLastError()); + return 0; + } + + CloseHandle(info.hThread); + *handle = info.hProcess; + + return info.dwProcessId; +}
You should use the existing winetest support for creating child processes.
+ ok(TerminateProcess(hprocess[0], 1), "TerminateProcess: %x\n", GetLastError()); + Sleep(1000); + ok(TerminateProcess(hprocess[1], 2), "TerminateProcess: %x\n", GetLastError()); + Sleep(1000);
Don't add sleeps when not necessary.
+static void is_zombie(void) +{ + WCHAR val[32] = {0}; + static const WCHAR envName[] = { 'T','E','S','T',0 }; + static const WCHAR envVal[] = { 'J','o','b','O','b','j','e','c','t',0 }; + + GetEnvironmentVariableW(envName, val, 32); + + if(lstrcmpW(envVal, val) == 0) + /* Wait forever, we've been created for a process handle */ + while(1) Sleep(INFINITE); + + SetEnvironmentVariableW(envName, envVal); +}
That's ugly. Again, check how child processes are handled in other tests. -- Alexandre Julliard julliard(a)winehq.org
participants (1)
-
Alexandre Julliard