[PATCH 2/4] shell32/tests: test shlexec argv[0], and same-named executables in a different directory
Damjan Jovanovic
damjan.jov at gmail.com
Sun Mar 22 06:46:15 CDT 2020
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=8439
Signed-off-by: Damjan Jovanovic <damjan.jov at gmail.com>
---
dlls/shell32/tests/shlexec.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
-------------- next part --------------
diff --git a/dlls/shell32/tests/shlexec.c b/dlls/shell32/tests/shlexec.c
index 5d074671c5..583504e275 100644
--- a/dlls/shell32/tests/shlexec.c
+++ b/dlls/shell32/tests/shlexec.c
@@ -2832,6 +2832,7 @@ static void test_directory(void)
NULL, "test2.exe", params, NULL, NULL);
okShell(rc > 32, "returned %lu\n", rc);
okChildInt("argcA", 4);
+ todo_wine okChildString("argvA0", path);
okChildString("argvA3", "Exec");
okChildPath("longPath", path);
SetCurrentDirectoryA(curdir);
@@ -2845,6 +2846,7 @@ static void test_directory(void)
NULL, "test2.exe", params, tmpdir, NULL);
okShell(rc > 32, "returned %lu\n", rc);
okChildInt("argcA", 4);
+ todo_wine okChildString("argvA0", path);
okChildString("argvA3", "Exec");
okChildPath("longPath", path);
@@ -2857,6 +2859,7 @@ static void test_directory(void)
NULL, "test2.exe", params, "%TMPDIR%", NULL);
okShell(rc > 32, "returned %lu\n", rc);
okChildInt("argcA", 4);
+ todo_wine okChildString("argvA0", path);
okChildString("argvA3", "Exec");
okChildPath("longPath", path);
@@ -2865,6 +2868,18 @@ static void test_directory(void)
rc=shell_execute_ex(SEE_MASK_NOZONECHECKS|SEE_MASK_FLAG_NO_UI,
NULL, "test2.exe", params, dirpath, NULL);
okShell(rc == SE_ERR_FNF, "returned %lu\n", rc);
+
+ /* Same-named executable in different directory */
+ snprintf(path, ARRAY_SIZE(path), "%s%s", tmpdir, strrchr(argv0, '\\'));
+ CopyFileA(argv0, path, FALSE);
+ rc=shell_execute_ex(SEE_MASK_NOZONECHECKS|SEE_MASK_FLAG_NO_UI,
+ NULL, strrchr(argv0, '\\') + 1, params, tmpdir, NULL);
+ okShell(rc > 32, "returned %lu\n", rc);
+ okChildInt("argcA", 4);
+ todo_wine okChildString("argvA0", path);
+ okChildString("argvA3", "Exec");
+ todo_wine okChildPath("longPath", path);
+ DeleteFileA(path);
}
START_TEST(shlexec)
More information about the wine-devel
mailing list