Commit ae70b66d authored by Yuxuan Shui's avatar Yuxuan Shui Committed by Alexandre Julliard

shell32/tests: Check FindExecutable is looking in the correct current directory.

FindExecutable should look in the current working directory, not relative to the current executable image (which is what SearchPathW(NULL, ...) does).
parent 7c7e5589
......@@ -2009,9 +2009,11 @@ static void test_urls(void)
static void test_find_executable(void)
{
char curdir[MAX_PATH];
char notepad_path[MAX_PATH];
char filename[MAX_PATH + 17];
char command[MAX_PATH];
char *basename = strrchr(argv0, '\\') + 1;
const filename_tests_t* test;
INT_PTR rc;
......@@ -2052,6 +2054,18 @@ static void test_find_executable(void)
ok(rc == SE_ERR_NOASSOC /* >= win2000 */ || rc > 32 /* win98, nt4 */, "FindExecutable(NULL) returned %Id\n", rc);
ok(strcmp(command, "your word") != 0, "FindExecutable(NULL) returned command=[%s]\n", command);
/* Search for the current executabe itself */
strcpy(command, "your word");
rc=(INT_PTR)FindExecutableA(argv0, NULL, command);
ok(rc > 32, "FindExecutable(%s) returned %Id\n", argv0, rc);
/* Make sure FindExecutable uses the correct current directory */
GetCurrentDirectoryA(MAX_PATH, curdir);
SetCurrentDirectoryA(tmpdir);
rc=(INT_PTR)FindExecutableA(basename, NULL, command);
todo_wine ok(rc == SE_ERR_FNF, "FindExecutable(%s) returned %Id\n", basename, rc);
SetCurrentDirectoryA(curdir);
sprintf(filename, "%s\\test file.sfe", tmpdir);
rc=(INT_PTR)FindExecutableA(filename, NULL, command);
ok(rc > 32, "FindExecutable(%s) returned %Id\n", filename, rc);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment