Signed-off-by: Francois Gouget fgouget@codeweavers.com --- dlls/shell32/tests/shellpath.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/shell32/tests/shellpath.c b/dlls/shell32/tests/shellpath.c index ea6f92ce827..96bfd1d94ef 100644 --- a/dlls/shell32/tests/shellpath.c +++ b/dlls/shell32/tests/shellpath.c @@ -3010,7 +3010,7 @@ static void test_PathResolve(void) ok(!lstrcmpiW(path, tests[i].expected_path), "test %d: expected %s, got %s\n", i, wine_dbgstr_w(tests[i].expected_path), wine_dbgstr_w(path)); if (!tests[i].expected) - ok(GetLastError() == ERROR_FILE_NOT_FOUND, "expected ERROR_ALREADY_EXISTS, got %d\n", GetLastError()); + ok(GetLastError() == ERROR_FILE_NOT_FOUND, "expected ERROR_FILE_NOT_FOUND, got %d\n", GetLastError()); }
CloseHandle(file);
Signed-off-by: Francois Gouget fgouget@codeweavers.com --- dlls/shell32/tests/shellpath.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/dlls/shell32/tests/shellpath.c b/dlls/shell32/tests/shellpath.c index 96bfd1d94ef..07bde45a66f 100644 --- a/dlls/shell32/tests/shellpath.c +++ b/dlls/shell32/tests/shellpath.c @@ -2641,8 +2641,9 @@ static void test_DoEnvironmentSubst(void) "%HOMEDRIVE%%HOMEPATH%", "%OS% %windir%"}; /* always the last entry in the table */
- for (i = 0; i < (ARRAY_SIZE(names)); i++) + for (i = 0; i < ARRAY_SIZE(names); i++) { + winetest_push_context("%d", i); memset(bufferA, '#', MAX_PATH - 1); bufferA[MAX_PATH - 1] = 0; lstrcpyA(bufferA, names[i]); @@ -2655,19 +2656,21 @@ static void test_DoEnvironmentSubst(void) if (!i && HIWORD(res) && (LOWORD(res) == (lstrlenA(bufferA)))) { win_skip("DoEnvironmentSubstA/W are broken on NT 4\n"); + winetest_pop_context(); return; } ok(HIWORD(res) && (LOWORD(res) == res2), - "%d: got %d/%d (expected TRUE/%d)\n", i, HIWORD(res), LOWORD(res), res2); + "got %d/%d (expected TRUE/%d)\n", HIWORD(res), LOWORD(res), res2); ok(!lstrcmpA(bufferA, expectedA), - "%d: got %s (expected %s)\n", i, bufferA, expectedA); + "got %s (expected %s)\n", bufferA, expectedA);
res2 = ExpandEnvironmentStringsW(bufferW, expectedW, MAX_PATH); res = DoEnvironmentSubstW(bufferW, MAX_PATH); ok(HIWORD(res) && (LOWORD(res) == res2), - "%d: got %d/%d (expected TRUE/%d)\n", i, HIWORD(res), LOWORD(res), res2); + "got %d/%d (expected TRUE/%d)\n", HIWORD(res), LOWORD(res), res2); ok(!lstrcmpW(bufferW, expectedW), - "%d: got %s (expected %s)\n", i, wine_dbgstr_w(bufferW), wine_dbgstr_w(expectedW)); + "got %s (expected %s)\n", wine_dbgstr_w(bufferW), wine_dbgstr_w(expectedW)); + winetest_pop_context(); }
i--; /* reuse data in the last table entry */ @@ -3002,15 +3005,17 @@ static void test_PathResolve(void)
for (i = 0; i < ARRAY_SIZE(tests); i++) { + winetest_push_context("test %d", i); lstrcpyW(path, tests[i].path);
if (!tests[i].expected) SetLastError(0xdeadbeef); ret = pPathResolve(path, dirs, tests[i].flags); - ok(ret == tests[i].expected, "test %d: expected %d, got %d\n", i, tests[i].expected, ret); + ok(ret == tests[i].expected, "expected %d, got %d\n", tests[i].expected, ret); ok(!lstrcmpiW(path, tests[i].expected_path), - "test %d: expected %s, got %s\n", i, wine_dbgstr_w(tests[i].expected_path), wine_dbgstr_w(path)); + "expected %s, got %s\n", wine_dbgstr_w(tests[i].expected_path), wine_dbgstr_w(path)); if (!tests[i].expected) ok(GetLastError() == ERROR_FILE_NOT_FOUND, "expected ERROR_FILE_NOT_FOUND, got %d\n", GetLastError()); + winetest_pop_context(); }
CloseHandle(file);
Some Windows 8.1 and Windows 10 1507 versions return PATH_NOT_FOUND instead of FILE_NOT_FOUND.
Signed-off-by: Francois Gouget fgouget@codeweavers.com --- I did not see any difference in the disk content that would explain why cw-rx460 returns PATH_NOT_FOUND.
https://test.winehq.org/data/patterns.html#shell32:shellpath
The TestBot's machines have slightly different shell32 versions but there is no clear correlation: w8 6.3.9600.17055 FILE_NOT_FOUND w864 6.3.9600.17055 FILE_NOT_FOUND cw-gtx560 6.3.9600.17824 FILE_NOT_FOUND cw-rx460 6.3.9600.19823 PATH_NOT_FOUND w1064v1507 10.0.10240.16384 FILE_NOT_FOUND cw-rx460-1507 10.0.10240.16463 PATH_NOT_FOUND cw-gtx560-1507 10.0.16299.251 FILE_NOT_FOUND --- dlls/shell32/tests/shellpath.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/shell32/tests/shellpath.c b/dlls/shell32/tests/shellpath.c index 07bde45a66f..093f03e5368 100644 --- a/dlls/shell32/tests/shellpath.c +++ b/dlls/shell32/tests/shellpath.c @@ -3014,7 +3014,9 @@ static void test_PathResolve(void) ok(!lstrcmpiW(path, tests[i].expected_path), "expected %s, got %s\n", wine_dbgstr_w(tests[i].expected_path), wine_dbgstr_w(path)); if (!tests[i].expected) - ok(GetLastError() == ERROR_FILE_NOT_FOUND, "expected ERROR_FILE_NOT_FOUND, got %d\n", GetLastError()); + ok(GetLastError() == ERROR_FILE_NOT_FOUND || + broken(GetLastError() == ERROR_PATH_NOT_FOUND /* some win 8.1 & 10 */), + "expected ERROR_FILE_NOT_FOUND, got %d\n", GetLastError()); winetest_pop_context(); }