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