Andrew Cook : kernel32/tests: Add tests for job inheritance.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Mar 30 10:12:59 CDT 2015
Module: wine
Branch: master
Commit: 6cd34c900262f7636b484476da182daad7a60a65
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6cd34c900262f7636b484476da182daad7a60a65
Author: Andrew Cook <ariscop at gmail.com>
Date: Sat Mar 28 13:26:30 2015 +1100
kernel32/tests: Add tests for job inheritance.
Cleanup and improvements by Sebastian Lackner.
---
dlls/kernel32/tests/process.c | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c
index 3395f0f..b8413f6 100644
--- a/dlls/kernel32/tests/process.c
+++ b/dlls/kernel32/tests/process.c
@@ -2425,6 +2425,38 @@ static HANDLE test_AddSelfToJob(void)
return job;
}
+static void test_jobInheritance(HANDLE job)
+{
+ char buffer[MAX_PATH];
+ PROCESS_INFORMATION pi;
+ STARTUPINFOA si = {0};
+ DWORD dwret;
+ BOOL ret, out;
+
+ if (!pIsProcessInJob)
+ {
+ win_skip("IsProcessInJob not available.\n");
+ return;
+ }
+
+ snprintf(buffer, MAX_PATH, "\"%s\" tests/process.c %s", selfname, "exit");
+
+ ret = CreateProcessA(NULL, buffer, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
+ ok(ret, "CreateProcessA error %u\n", GetLastError());
+
+ out = FALSE;
+ ret = pIsProcessInJob(pi.hProcess, job, &out);
+ ok(ret, "IsProcessInJob error %u\n", GetLastError());
+ todo_wine
+ ok(out, "IsProcessInJob returned out=%u\n", out);
+
+ dwret = WaitForSingleObject(pi.hProcess, 1000);
+ ok(dwret == WAIT_OBJECT_0, "WaitForSingleObject returned %u\n", dwret);
+
+ CloseHandle(pi.hProcess);
+ CloseHandle(pi.hThread);
+}
+
static void test_BreakawayOk(HANDLE job)
{
JOBOBJECT_EXTENDED_LIMIT_INFORMATION limit_info;
@@ -2565,6 +2597,7 @@ START_TEST(process)
test_CompletionPort();
test_KillOnJobClose();
job = test_AddSelfToJob();
+ test_jobInheritance(job);
test_BreakawayOk(job);
CloseHandle(job);
}
More information about the wine-cvs
mailing list