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.