From: "Roman Pišl" Subject: [PATCH 1/4] kernel32/tests: Extended test for GetConsoleProcessList. Message-Id: <20200317132854.32299-1-rpisl@seznam.cz> Date: Tue, 17 Mar 2020 14:28:51 +0100 Signed-off-by: Roman Pišl --- dlls/kernel32/tests/console.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/dlls/kernel32/tests/console.c b/dlls/kernel32/tests/console.c index 9698f11779..901dc3aa71 100644 --- a/dlls/kernel32/tests/console.c +++ b/dlls/kernel32/tests/console.c @@ -1040,8 +1040,8 @@ static void test_GetConsoleProcessList(void) GetLastError()); /* We should only have 1 process but only for these specific unit tests as - * we created our own console. An AttachConsole(ATTACH_PARENT_PROCESS) would - * give us two processes for example. + * we created our own console. An AttachConsole(ATTACH_PARENT_PROCESS) + * gives us two processes - see test_AttachConsole. */ list = HeapAlloc(GetProcessHeap(), 0, sizeof(DWORD)); @@ -3232,6 +3232,20 @@ static void test_AttachConsole_child(DWORD console_pid) res = AttachConsole(ATTACH_PARENT_PROCESS); ok(res, "AttachConsole failed: %u\n", GetLastError()); + if (pGetConsoleProcessList) + { + DWORD list[2]; + DWORD pid = GetCurrentProcessId(); + SetLastError(0xdeadbeef); + len = pGetConsoleProcessList(list, 2); + todo_wine + ok(len == 2, "Expected 2, got %d\n", len); + todo_wine + ok(list[0] == console_pid || list[1] == console_pid, "Parent PID not in list\n"); + todo_wine + ok(list[0] == pid || list[1] == pid, "PID not in list\n"); + } + ok(pipe_in != GetStdHandle(STD_INPUT_HANDLE), "std handle not set to console\n"); ok(pipe_out != GetStdHandle(STD_OUTPUT_HANDLE), "std handle not set to console\n"); -- 2.20.1