Jinoh Kang (@iamahuman) commented about dlls/kernel32/tests/file.c:
+ dest[lstrlenA(dest) - 4] = 'L'; + ret = MoveFileA(source, dest); + ok(ret, "MoveFileA: error %ld\n", GetLastError()); + + hfile = FindFirstFileA(dest, &find_data); + ok(hfile != INVALID_HANDLE_VALUE, "FindFirstFileA: failed, error %ld\n", GetLastError()); + if (hfile != INVALID_HANDLE_VALUE) + { + todo_wine + ok(!lstrcmpA(strrchr(dest, '\\') + 1, find_data.cFileName), + "MoveFile failed to change casing on hardlink of itself: got %s\n", find_data.cFileName); + } + CloseHandle(hfile); + ret = GetFileAttributesA(source); + ok(ret == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND, "GetFileAttributesA: error %ld\n", GetLastError()); + DeleteFileA(dest); The error check is missing. Copying from above:
```suggestion:-0+0 ret = DeleteFileA(dest); ok(!ret, "DeleteFileA: error %ld\n", GetLastError()); ``` Deletion failures sometimes happen due to e.g., unexpectedly open handles w/o FILE\_SHARE\_DELETE, and leftover files interfere with successive tests that assume clean slate. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/6855#note_88540