[PATCH 3/3] shell32/tests: Fix the PathResolve() tests on Windows 8.1, early 10.

Francois Gouget fgouget at codeweavers.com
Sun Jul 4 08:42:03 CDT 2021


Some Windows 8.1 and Windows 10 1507 versions return PATH_NOT_FOUND
instead of FILE_NOT_FOUND.

Signed-off-by: Francois Gouget <fgouget at 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();
     }
 
-- 
2.20.1



More information about the wine-devel mailing list