[PATCH 2/6] kernel32/tests: Add console window existence tests.

Torge Matthies openglfreak at googlemail.com
Mon Apr 4 21:06:39 CDT 2022


Signed-off-by: Torge Matthies <openglfreak at googlemail.com>
---
 dlls/kernel32/tests/console.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/dlls/kernel32/tests/console.c b/dlls/kernel32/tests/console.c
index 9195ac204f7..8a995ca36db 100644
--- a/dlls/kernel32/tests/console.c
+++ b/dlls/kernel32/tests/console.c
@@ -4723,6 +4723,11 @@ static BOOL check_same_console(const char* exec, DWORD flags)
 	return check_subprocess(exec, buf, flags);
 }
 
+static BOOL check_has_window(const char* exec, DWORD flags)
+{
+	return check_subprocess(exec, "check_console_has_window", flags);
+}
+
 static void test_CreateProcessCUI(void)
 {
     char guiexec[MAX_PATH];
@@ -4751,6 +4756,17 @@ static void test_CreateProcessCUI(void)
     res = check_same_console(cuiexec, CREATE_NO_WINDOW|CREATE_NEW_CONSOLE);
     ok(!res, "Expected child to be attached to a different console\n");
 
+    res = check_has_window(cuiexec, 0);
+    ok(res, "Expected child to have a console window\n");
+    res = check_has_window(cuiexec, DETACHED_PROCESS);
+    ok(!res, "Expected child to not have a console window\n");
+    res = check_has_window(cuiexec, CREATE_NO_WINDOW);
+    todo_wine ok(!res, "Expected child to not have a console window\n");
+    res = check_has_window(cuiexec, CREATE_NO_WINDOW|DETACHED_PROCESS);
+    ok(!res, "Expected child to not have a console window\n");
+    res = check_has_window(cuiexec, CREATE_NO_WINDOW|CREATE_NEW_CONSOLE);
+    ok(res, "Expected child to have a console window\n");
+
     FreeConsole();
 
     res = check_whether_child_attached(guiexec, DETACHED_PROCESS);
@@ -4816,6 +4832,11 @@ START_TEST(console)
         ExitProcess(0);
     }
 
+    if (argc == 3 && !strcmp(argv[2], "check_console_has_window"))
+    {
+        ExitProcess(IsWindow(GetConsoleWindow()));
+    }
+
     test_current = argc >= 3 && !strcmp(argv[2], "--current");
     using_pseudo_console = argc >= 3 && !strcmp(argv[2], "--pseudo-console");
 
-- 
2.35.1




More information about the wine-devel mailing list