`FileRenameInformationEx` and `FileLinkInformationEx` are expanded versions of the `FileRenameInformation` and `FileLinkInformation` classes in `NtSetInformationFile`. They replace a single `ReplaceIfExists` flag with a `Flags` field that can contain a wider selection of options.
This patch-set implements these new classes by replacing the `replace` field of the `set_fd_name_info` server request with `flags`. The original `FileRenameInformation` and `FileLinkInformation` classes are then reimplemented to use `FILE_RENAME_REPLACE_IF_EXISTS` and `FILE_LINK_REPLACE_IF_EXISTS` respectively.
The patch set additionally implements `FILE_RENAME_IGNORE_READONLY_ATTRIBUTE` and `FILE_LINK_IGNORE_READONLY_ATTRIBUTE`, as well as `FILE_RENAME_POSIX_SEMANTICS` and `FILE_LINK_POSIX_SEMANTICS`.
Wine Bugs:
* [#54997](https://bugs.winehq.org/show_bug.cgi?id=54997) - msys2: gpg.exe fails because "NtSetInformationFile Unsupported class (65)" / FileRenameInformationEx
From: Joel Holdsworth joel@airwebreathe.org.uk
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- include/winternl.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/include/winternl.h b/include/winternl.h index bb0eee70ef3..c08a9949f55 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -1413,12 +1413,24 @@ typedef struct _FILE_NAME_INFORMATION { } FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION;
typedef struct _FILE_RENAME_INFORMATION { - BOOLEAN ReplaceIfExists; + union { + BOOLEAN ReplaceIfExists; + ULONG Flags; + }; HANDLE RootDirectory; ULONG FileNameLength; WCHAR FileName[1]; } FILE_RENAME_INFORMATION, *PFILE_RENAME_INFORMATION;
+#define FILE_RENAME_REPLACE_IF_EXISTS 0x00000001 +#define FILE_RENAME_POSIX_SEMANTICS 0x00000002 +#define FILE_RENAME_SUPPRESS_PIN_STATE_INHERITANCE 0x00000004 +#define FILE_RENAME_SUPPRESS_STORAGE_RESERVE_INHERITANCE 0x00000008 +#define FILE_RENAME_NO_INCREASE_AVAILABLE_SPACE 0x00000010 +#define FILE_RENAME_NO_DECREASE_AVAILABLE_SPACE 0x00000020 +#define FILE_RENAME_PRESERVE_AVAILABLE_SPACE 0x00000030 +#define FILE_RENAME_IGNORE_READONLY_ATTRIBUTE 0x00000040 + typedef struct _FILE_LINK_INFORMATION { BOOLEAN ReplaceIfExists; HANDLE RootDirectory;
From: Joel Holdsworth joel@airwebreathe.org.uk
These initial tests are copies of the tests for FileRenameInformation, but with the ReplaceIfExists field replaced with the equivalient Flag value: FILE_RENAME_REPLACE_IF_EXISTS.
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- dlls/ntdll/tests/file.c | 657 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 657 insertions(+)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index 556ba351809..01a06b20eca 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -2168,6 +2168,662 @@ static void test_file_rename_information(void) delete_object( oldpath ); }
+static void test_file_rename_information_ex(void) +{ + static const WCHAR foo_txtW[] = {'\','f','o','o','.','t','x','t',0}; + static const WCHAR fooW[] = {'f','o','o',0}; + WCHAR tmp_path[MAX_PATH], oldpath[MAX_PATH + 16], newpath[MAX_PATH + 16], *filename, *p; + FILE_RENAME_INFORMATION *fri; + FILE_NAME_INFORMATION *fni; + BOOL success, fileDeleted; + UNICODE_STRING name_str; + HANDLE handle, handle2; + IO_STATUS_BLOCK io; + NTSTATUS res; + + GetTempPathW( MAX_PATH, tmp_path ); + + /* oldpath is a file, newpath doesn't exist */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + DeleteFileW( newpath ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = 0; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + todo_wine ok( fileDeleted, "file should not exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + todo_wine ok( !fileDeleted, "file should exist\n" ); + + fni = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR) ); + res = pNtQueryInformationFile( handle, &io, fni, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR), FileNameInformation ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fni->FileName[ fni->FileNameLength / sizeof(WCHAR) ] = 0; + todo_wine ok( !lstrcmpiW(fni->FileName, newpath + 2), "FileName expected %s, got %s\n", + wine_dbgstr_w(newpath + 2), wine_dbgstr_w(fni->FileName) ); + HeapFree( GetProcessHeap(), 0, fni ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a file, without FILE_RENAME_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = 0; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a file, with FILE_RENAME_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + todo_wine ok( fileDeleted, "file should not exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a file, without FILE_RENAME_REPLACE_IF_EXISTS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = 0; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a file, with FILE_RENAME_REPLACE_IF_EXISTS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath doesn't exist, without FILE_RENAME_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + DeleteFileW( newpath ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = 0; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + todo_wine ok( fileDeleted, "file should not exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + todo_wine ok( !fileDeleted, "file should exist\n" ); + + fni = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR) ); + res = pNtQueryInformationFile( handle, &io, fni, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR), FileNameInformation ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fni->FileName[ fni->FileNameLength / sizeof(WCHAR) ] = 0; + todo_wine ok( !lstrcmpiW(fni->FileName, newpath + 2), "FileName expected %s, got %s\n", + wine_dbgstr_w(newpath + 2), wine_dbgstr_w(fni->FileName) ); + HeapFree( GetProcessHeap(), 0, fni ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory (but child object opened), newpath doesn't exist, without FILE_RENAME_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + lstrcpyW( newpath, oldpath ); + lstrcatW( newpath, foo_txtW ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, FILE_FLAG_DELETE_ON_CLOSE, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + DeleteFileW( newpath ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = 0; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( fileDeleted, "file should not exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + if (res == STATUS_SUCCESS) /* remove when Wine is fixed */ + { + lstrcpyW( oldpath, newpath ); + lstrcatW( oldpath, foo_txtW ); + delete_object( oldpath ); + } + delete_object( newpath ); + + /* oldpath is a directory, newpath is a file, without FILE_RENAME_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = 0; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath is a file, without FILE_RENAME_REPLACE_IF_EXISTS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = 0; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath is a file, with FILE_RENAME_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + todo_wine ok( fileDeleted, "file should not exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath is a file, with FILE_RENAME_REPLACE_IF_EXISTS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath is a directory, without FILE_RENAME_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = 0; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath is a directory, with FILE_RENAME_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath is a directory, with FILE_RENAME_REPLACE_IF_EXISTS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a directory, without FILE_RENAME_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = 0; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a directory, with FILE_RENAME_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath doesn't exist, test with RootDir != NULL */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + for (filename = newpath, p = newpath; *p; p++) + if (*p == '\') filename = p + 1; + handle2 = CreateFileW( tmp_path, 0, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + lstrlenW(filename) * sizeof(WCHAR) ); + fri->Flags = 0; + fri->RootDirectory = handle2; + fri->FileNameLength = lstrlenW(filename) * sizeof(WCHAR); + memcpy( fri->FileName, filename, fri->FileNameLength ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + todo_wine ok( fileDeleted, "file should not exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + todo_wine ok( !fileDeleted, "file should exist\n" ); + + fni = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR) ); + res = pNtQueryInformationFile( handle, &io, fni, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR), FileNameInformation ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fni->FileName[ fni->FileNameLength / sizeof(WCHAR) ] = 0; + todo_wine ok( !lstrcmpiW(fni->FileName, newpath + 2), "FileName expected %s, got %s\n", + wine_dbgstr_w(newpath + 2), wine_dbgstr_w(fni->FileName) ); + HeapFree( GetProcessHeap(), 0, fni ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath == newpath */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( oldpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = 0; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "got io status %#lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "got status %lx\n", res ); + ok( GetFileAttributesW( oldpath ) != INVALID_FILE_ATTRIBUTES, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); +} + static void test_file_link_information(void) { static const WCHAR foo_txtW[] = {'\','f','o','o','.','t','x','t',0}; @@ -5669,6 +6325,7 @@ START_TEST(file) test_file_full_size_information(); test_file_all_name_information(); test_file_rename_information(); + test_file_rename_information_ex(); test_file_link_information(); test_file_disposition_information(); test_file_completion_information();
From: Joel Holdsworth joel@airwebreathe.org.uk
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- dlls/ntdll/tests/file.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index 01a06b20eca..fc340a0dfae 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -3069,7 +3069,8 @@ static void test_file_link_information(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformation ); - todo_wine ok( io.Status == 0xdeadbeef , "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + ok( io.Status == 0xdeadbeef || io.Status == STATUS_FILE_IS_A_DIRECTORY , + "io.Status expected 0xdeadbeef or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); @@ -3116,7 +3117,8 @@ static void test_file_link_information(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformation ); - todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + ok( io.Status == 0xdeadbeef || io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected 0xdeadbeef or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); @@ -3150,7 +3152,8 @@ static void test_file_link_information(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformation ); - todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + ok( io.Status == 0xdeadbeef || io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected 0xdeadbeef or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); ok( res == STATUS_OBJECT_NAME_COLLISION || res == STATUS_FILE_IS_A_DIRECTORY /* > Win XP */, "res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -3187,7 +3190,8 @@ static void test_file_link_information(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformation ); - todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + ok( io.Status == 0xdeadbeef || io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected 0xdeadbeef or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); ok( res == STATUS_OBJECT_NAME_COLLISION || res == STATUS_FILE_IS_A_DIRECTORY /* > Win XP */, "res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -3222,7 +3226,8 @@ static void test_file_link_information(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformation ); - todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + ok( io.Status == 0xdeadbeef || io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected 0xdeadbeef or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); @@ -3258,7 +3263,8 @@ static void test_file_link_information(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformation ); - todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + ok( io.Status == 0xdeadbeef || io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected 0xdeadbeef or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); @@ -3295,7 +3301,8 @@ static void test_file_link_information(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformation ); - todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + ok( io.Status == 0xdeadbeef || io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected 0xdeadbeef or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); ok( res == STATUS_OBJECT_NAME_COLLISION || res == STATUS_FILE_IS_A_DIRECTORY /* > Win XP */, "res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -3332,7 +3339,8 @@ static void test_file_link_information(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformation ); - todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + ok( io.Status == 0xdeadbeef || io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected 0xdeadbeef or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); @@ -3371,7 +3379,8 @@ static void test_file_link_information(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformation ); - todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + ok( io.Status == 0xdeadbeef || io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected 0xdeadbeef or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" );
From: Joel Holdsworth joel@airwebreathe.org.uk
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- include/winternl.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/include/winternl.h b/include/winternl.h index c08a9949f55..da750a3d47c 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -1432,12 +1432,26 @@ typedef struct _FILE_RENAME_INFORMATION { #define FILE_RENAME_IGNORE_READONLY_ATTRIBUTE 0x00000040
typedef struct _FILE_LINK_INFORMATION { - BOOLEAN ReplaceIfExists; + union { + BOOLEAN ReplaceIfExists; + ULONG Flags; + }; HANDLE RootDirectory; ULONG FileNameLength; WCHAR FileName[1]; } FILE_LINK_INFORMATION, *PFILE_LINK_INFORMATION;
+#define FILE_LINK_REPLACE_IF_EXISTS 0x00000001 +#define FILE_LINK_POSIX_SEMANTICS 0x00000002 +#define FILE_LINK_SUPPRESS_STORAGE_RESERVE_INHERITANCE 0x00000008 +#define FILE_LINK_NO_INCREASE_AVAILABLE_SPACE 0x00000010 +#define FILE_LINK_NO_DECREASE_AVAILABLE_SPACE 0x00000020 +#define FILE_LINK_PRESERVE_AVAILABLE_SPACE 0x00000030 +#define FILE_LINK_IGNORE_READONLY_ATTRIBUTE 0x00000040 +#define FILE_LINK_FORCE_RESIZE_TARGET_SR 0x00000080 +#define FILE_LINK_FORCE_RESIZE_SOURCE_SR 0x00000100 +#define FILE_LINK_FORCE_RESIZE_SR 0x00000180 + typedef struct _FILE_NAMES_INFORMATION { ULONG NextEntryOffset; ULONG FileIndex;
From: Joel Holdsworth joel@airwebreathe.org.uk
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- dlls/ntdll/tests/file.c | 750 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 750 insertions(+)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index fc340a0dfae..7bfb631fb43 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -3573,6 +3573,755 @@ static void test_file_link_information(void) delete_object( oldpath ); }
+static void test_file_link_information_ex(void) +{ + static const WCHAR foo_txtW[] = {'\','f','o','o','.','t','x','t',0}; + static const WCHAR fooW[] = {'f','o','o',0}; + WCHAR tmp_path[MAX_PATH], oldpath[MAX_PATH + 16], newpath[MAX_PATH + 16], *filename, *p; + FILE_LINK_INFORMATION *fli; + FILE_NAME_INFORMATION *fni; + WIN32_FIND_DATAW find_data; + BOOL success, fileDeleted; + UNICODE_STRING name_str; + HANDLE handle, handle2; + IO_STATUS_BLOCK io; + NTSTATUS res; + + GetTempPathW( MAX_PATH, tmp_path ); + + /* oldpath is a file, newpath doesn't exist */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + DeleteFileW( newpath ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = 0; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + todo_wine ok( !fileDeleted, "file should exist\n" ); + + fni = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR) ); + res = pNtQueryInformationFile( handle, &io, fni, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR), FileNameInformation ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fni->FileName[ fni->FileNameLength / sizeof(WCHAR) ] = 0; + ok( !lstrcmpiW(fni->FileName, oldpath + 2), "FileName expected %s, got %s\n", + wine_dbgstr_w(oldpath + 2), wine_dbgstr_w(fni->FileName) ); + HeapFree( GetProcessHeap(), 0, fni ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a file, without FILE_LINK_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = 0; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a file, with FILE_LINK_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a file, with FILE_LINK_REPLACE_IF_EXISTS, different casing on link */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + wcsrchr( newpath, '\' )[1] = 'F'; + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + handle = FindFirstFileW( newpath, &find_data ); + ok(handle != INVALID_HANDLE_VALUE, "FindFirstFileW: failed, error %ld\n", GetLastError()); + if (handle != INVALID_HANDLE_VALUE) + { + todo_wine ok(!lstrcmpW(wcsrchr(newpath, '\') + 1, find_data.cFileName), + "Link did not change casing on existing target file: got %s\n", wine_dbgstr_w(find_data.cFileName)); + } + + FindClose( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a file, without FILE_LINK_REPLACE_IF_EXISTS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = 0; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a file, with FILE_LINK_REPLACE_IF_EXISTS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath doesn't exist, without FILE_LINK_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + DeleteFileW( newpath ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = 0; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY , + "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( fileDeleted, "file should not exist\n" ); + + fni = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR) ); + res = pNtQueryInformationFile( handle, &io, fni, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR), FileNameInformation ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fni->FileName[ fni->FileNameLength / sizeof(WCHAR) ] = 0; + ok( !lstrcmpiW(fni->FileName, oldpath + 2), "FileName expected %s, got %s\n", + wine_dbgstr_w(oldpath + 2), wine_dbgstr_w(fni->FileName) ); + HeapFree( GetProcessHeap(), 0, fni ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory (but child object opened), newpath doesn't exist, without FILE_LINK_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + lstrcpyW( newpath, oldpath ); + lstrcatW( newpath, foo_txtW ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, FILE_FLAG_DELETE_ON_CLOSE, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + DeleteFileW( newpath ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = 0; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( fileDeleted, "file should not exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath is a file, without FILE_LINK_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = 0; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION || res == STATUS_FILE_IS_A_DIRECTORY /* > Win XP */, + "res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath is a file, without FILE_LINK_REPLACE_IF_EXISTS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = 0; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION || res == STATUS_FILE_IS_A_DIRECTORY /* > Win XP */, + "res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath is a file, with FILE_LINK_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath is a file, with FILE_LINK_REPLACE_IF_EXISTS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath is a directory, without FILE_LINK_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = 0; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION || res == STATUS_FILE_IS_A_DIRECTORY /* > Win XP */, + "res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath is a directory, with FILE_LINK_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a directory, newpath is a directory, with FILE_LINK_REPLACE_IF_EXISTS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a directory, without FILE_LINK_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = 0; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a directory, with FILE_LINK_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath doesn't exist, test with RootDirectory != NULL */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + for (filename = newpath, p = newpath; *p; p++) + if (*p == '\') filename = p + 1; + handle2 = CreateFileW( tmp_path, 0, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + lstrlenW(filename) * sizeof(WCHAR) ); + fli->Flags = 0; + fli->RootDirectory = handle2; + fli->FileNameLength = lstrlenW(filename) * sizeof(WCHAR); + memcpy( fli->FileName, filename, fli->FileNameLength ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + todo_wine ok( !fileDeleted, "file should exist\n" ); + + fni = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR) ); + res = pNtQueryInformationFile( handle, &io, fni, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR), FileNameInformation ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fni->FileName[ fni->FileNameLength / sizeof(WCHAR) ] = 0; + ok( !lstrcmpiW(fni->FileName, oldpath + 2), "FileName expected %s, got %s\n", + wine_dbgstr_w(oldpath + 2), wine_dbgstr_w(fni->FileName) ); + HeapFree( GetProcessHeap(), 0, fni ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath == newpath */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( oldpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fli->Flags = 0; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "got io status %#lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "got status %lx\n", res ); + + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS; + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "got io status %#lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "got status %lx\n", res ); + ok( GetFileAttributesW( oldpath ) != INVALID_FILE_ATTRIBUTES, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + + /* oldpath == newpath, different casing on link */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + wcsrchr( oldpath, '\' )[1] = 'F'; + pRtlDosPathNameToNtPathName_U( oldpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fli->Flags = 0; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "got io status %#lx\n", io.Status ); + todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "got status %lx\n", res ); + + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS; + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "got io status %#lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "got status %lx\n", res ); + ok( GetFileAttributesW( oldpath ) != INVALID_FILE_ATTRIBUTES, "file should exist\n" ); + + CloseHandle( handle ); + handle = FindFirstFileW( oldpath, &find_data ); + ok(handle != INVALID_HANDLE_VALUE, "FindFirstFileW: failed, error %ld\n", GetLastError()); + if (handle != INVALID_HANDLE_VALUE) + { + todo_wine ok(!lstrcmpW(wcsrchr(oldpath, '\') + 1, find_data.cFileName), + "Link did not change casing on same file: got %s\n", wine_dbgstr_w(find_data.cFileName)); + } + + FindClose( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); +} + static void test_file_both_information(void) { IO_STATUS_BLOCK io; @@ -6336,6 +7085,7 @@ START_TEST(file) test_file_rename_information(); test_file_rename_information_ex(); test_file_link_information(); + test_file_link_information_ex(); test_file_disposition_information(); test_file_completion_information(); test_file_id_information();
From: Joel Holdsworth joel@airwebreathe.org.uk
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54997 Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- dlls/ntdll/tests/file.c | 72 +++++++++++++++++----------------- dlls/ntdll/unix/file.c | 24 +++++++++++- include/wine/server_protocol.h | 4 +- server/fd.c | 5 ++- server/protocol.def | 2 +- server/request.h | 2 +- server/trace.c | 2 +- 7 files changed, 66 insertions(+), 45 deletions(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index 7bfb631fb43..9b50f1f144d 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -2202,18 +2202,18 @@ static void test_file_rename_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - todo_wine ok( fileDeleted, "file should not exist\n" ); + ok( fileDeleted, "file should not exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - todo_wine ok( !fileDeleted, "file should exist\n" ); + ok( !fileDeleted, "file should exist\n" );
fni = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR) ); res = pNtQueryInformationFile( handle, &io, fni, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR), FileNameInformation ); ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fni->FileName[ fni->FileNameLength / sizeof(WCHAR) ] = 0; - todo_wine ok( !lstrcmpiW(fni->FileName, newpath + 2), "FileName expected %s, got %s\n", + ok( !lstrcmpiW(fni->FileName, newpath + 2), "FileName expected %s, got %s\n", wine_dbgstr_w(newpath + 2), wine_dbgstr_w(fni->FileName) ); HeapFree( GetProcessHeap(), 0, fni );
@@ -2241,7 +2241,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -2270,10 +2270,10 @@ static void test_file_rename_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - todo_wine ok( fileDeleted, "file should not exist\n" ); + ok( fileDeleted, "file should not exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" );
@@ -2304,7 +2304,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -2338,7 +2338,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -2372,18 +2372,18 @@ static void test_file_rename_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - todo_wine ok( fileDeleted, "file should not exist\n" ); + ok( fileDeleted, "file should not exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - todo_wine ok( !fileDeleted, "file should exist\n" ); + ok( !fileDeleted, "file should exist\n" );
fni = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR) ); res = pNtQueryInformationFile( handle, &io, fni, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR), FileNameInformation ); ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fni->FileName[ fni->FileNameLength / sizeof(WCHAR) ] = 0; - todo_wine ok( !lstrcmpiW(fni->FileName, newpath + 2), "FileName expected %s, got %s\n", + ok( !lstrcmpiW(fni->FileName, newpath + 2), "FileName expected %s, got %s\n", wine_dbgstr_w(newpath + 2), wine_dbgstr_w(fni->FileName) ); HeapFree( GetProcessHeap(), 0, fni );
@@ -2422,9 +2422,9 @@ static void test_file_rename_information_ex(void) todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - ok( !fileDeleted, "file should exist\n" ); + todo_wine ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - ok( fileDeleted, "file should not exist\n" ); + todo_wine ok( fileDeleted, "file should not exist\n" );
CloseHandle( handle ); CloseHandle( handle2 ); @@ -2460,7 +2460,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -2496,7 +2496,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -2529,10 +2529,10 @@ static void test_file_rename_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - todo_wine ok( fileDeleted, "file should not exist\n" ); + ok( fileDeleted, "file should not exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" );
@@ -2566,7 +2566,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -2603,7 +2603,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -2639,7 +2639,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -2678,7 +2678,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -2712,7 +2712,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -2745,7 +2745,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -2778,18 +2778,18 @@ static void test_file_rename_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - todo_wine ok( fileDeleted, "file should not exist\n" ); + ok( fileDeleted, "file should not exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - todo_wine ok( !fileDeleted, "file should exist\n" ); + ok( !fileDeleted, "file should exist\n" );
fni = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR) ); res = pNtQueryInformationFile( handle, &io, fni, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR), FileNameInformation ); ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fni->FileName[ fni->FileNameLength / sizeof(WCHAR) ] = 0; - todo_wine ok( !lstrcmpiW(fni->FileName, newpath + 2), "FileName expected %s, got %s\n", + ok( !lstrcmpiW(fni->FileName, newpath + 2), "FileName expected %s, got %s\n", wine_dbgstr_w(newpath + 2), wine_dbgstr_w(fni->FileName) ); HeapFree( GetProcessHeap(), 0, fni );
@@ -2815,8 +2815,8 @@ static void test_file_rename_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "got io status %#lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "got status %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "got io status %#lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "got status %lx\n", res ); ok( GetFileAttributesW( oldpath ) != INVALID_FILE_ATTRIBUTES, "file should exist\n" );
CloseHandle( handle ); diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c index 43bde14e5d8..8df535a6274 100644 --- a/dlls/ntdll/unix/file.c +++ b/dlls/ntdll/unix/file.c @@ -4783,13 +4783,33 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io, break;
case FileRenameInformation: + case FileRenameInformationEx: if (len >= sizeof(FILE_RENAME_INFORMATION)) { FILE_RENAME_INFORMATION *info = ptr; + ULONG flags; UNICODE_STRING name_str, redir; OBJECT_ATTRIBUTES attr; char *unix_name;
+ if (class == FileRenameInformation) + flags = info->ReplaceIfExists ? FILE_RENAME_REPLACE_IF_EXISTS : 0; + else + flags = info->Flags; + + if (flags & FILE_RENAME_POSIX_SEMANTICS) + FIXME( "FILE_RENAME_POSIX_SEMANTICS not supported\n" ); + if (flags & FILE_RENAME_SUPPRESS_PIN_STATE_INHERITANCE) + FIXME( "FILE_RENAME_SUPPRESS_PIN_STATE_INHERITANCE not supported\n" ); + if (flags & FILE_RENAME_SUPPRESS_STORAGE_RESERVE_INHERITANCE) + FIXME( "FILE_RENAME_SUPPRESS_STORAGE_RESERVE_INHERITANCE not supported\n" ); + if (flags & FILE_RENAME_NO_INCREASE_AVAILABLE_SPACE) + FIXME( "FILE_RENAME_NO_INCREASE_AVAILABLE_SPACE not supported\n" ); + if (flags & FILE_RENAME_NO_DECREASE_AVAILABLE_SPACE) + FIXME( "FILE_RENAME_NO_DECREASE_AVAILABLE_SPACE not supported\n" ); + if (flags & FILE_RENAME_IGNORE_READONLY_ATTRIBUTE) + FIXME( "FILE_RENAME_IGNORE_READONLY_ATTRIBUTE not supported\n" ); + name_str.Buffer = info->FileName; name_str.Length = info->FileNameLength; name_str.MaximumLength = info->FileNameLength + sizeof(WCHAR); @@ -4805,7 +4825,7 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io, req->rootdir = wine_server_obj_handle( attr.RootDirectory ); req->namelen = attr.ObjectName->Length; req->link = FALSE; - req->replace = info->ReplaceIfExists; + req->flags = flags; wine_server_add_data( req, attr.ObjectName->Buffer, attr.ObjectName->Length ); wine_server_add_data( req, unix_name, strlen(unix_name) ); status = wine_server_call( req ); @@ -4842,7 +4862,7 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io, req->rootdir = wine_server_obj_handle( attr.RootDirectory ); req->namelen = attr.ObjectName->Length; req->link = TRUE; - req->replace = info->ReplaceIfExists; + req->flags = info->ReplaceIfExists ? FILE_LINK_REPLACE_IF_EXISTS : 0; wine_server_add_data( req, attr.ObjectName->Buffer, attr.ObjectName->Length ); wine_server_add_data( req, unix_name, strlen(unix_name) ); status = wine_server_call( req ); diff --git a/include/wine/server_protocol.h b/include/wine/server_protocol.h index 6d9f8550647..9ad2bf9c3f9 100644 --- a/include/wine/server_protocol.h +++ b/include/wine/server_protocol.h @@ -5307,7 +5307,7 @@ struct set_fd_name_info_request obj_handle_t rootdir; data_size_t namelen; int link; - int replace; + unsigned int flags; /* VARARG(name,unicode_str,namelen); */ /* VARARG(filename,string); */ }; @@ -6487,7 +6487,7 @@ union generic_reply
/* ### protocol_version begin ### */
-#define SERVER_PROTOCOL_VERSION 782 +#define SERVER_PROTOCOL_VERSION 783
/* ### protocol_version end ### */
diff --git a/server/fd.c b/server/fd.c index 0b0e91ebfbb..189b239d9ea 100644 --- a/server/fd.c +++ b/server/fd.c @@ -2550,11 +2550,12 @@ static void set_fd_disposition( struct fd *fd, unsigned int flags )
/* set new name for the fd */ static void set_fd_name( struct fd *fd, struct fd *root, const char *nameptr, data_size_t len, - struct unicode_str nt_name, int create_link, int replace ) + struct unicode_str nt_name, int create_link, unsigned int flags ) { struct inode *inode; struct stat st, st2; char *name; + const unsigned int replace = flags & FILE_RENAME_REPLACE_IF_EXISTS;
if (!fd->inode || !fd->unix_name) { @@ -3006,7 +3007,7 @@ DECL_HANDLER(set_fd_name_info) if ((fd = get_handle_fd_obj( current->process, req->handle, 0 ))) { set_fd_name( fd, root_fd, (const char *)get_req_data() + req->namelen, - get_req_data_size() - req->namelen, nt_name, req->link, req->replace ); + get_req_data_size() - req->namelen, nt_name, req->link, req->flags ); release_object( fd ); } if (root_fd) release_object( root_fd ); diff --git a/server/protocol.def b/server/protocol.def index 1699dd37473..4d2a95d6324 100644 --- a/server/protocol.def +++ b/server/protocol.def @@ -3692,7 +3692,7 @@ struct handle_info obj_handle_t rootdir; /* root directory */ data_size_t namelen; /* length of NT name in bytes */ int link; /* link instead of renaming */ - int replace; /* replace an existing file? */ + unsigned int flags; /* FILE_RENAME_* flags */ VARARG(name,unicode_str,namelen); /* NT name */ VARARG(filename,string); /* new file name */ @END diff --git a/server/request.h b/server/request.h index fe148f84f35..41d38e4347f 100644 --- a/server/request.h +++ b/server/request.h @@ -2241,7 +2241,7 @@ C_ASSERT( FIELD_OFFSET(struct set_fd_name_info_request, handle) == 12 ); C_ASSERT( FIELD_OFFSET(struct set_fd_name_info_request, rootdir) == 16 ); C_ASSERT( FIELD_OFFSET(struct set_fd_name_info_request, namelen) == 20 ); C_ASSERT( FIELD_OFFSET(struct set_fd_name_info_request, link) == 24 ); -C_ASSERT( FIELD_OFFSET(struct set_fd_name_info_request, replace) == 28 ); +C_ASSERT( FIELD_OFFSET(struct set_fd_name_info_request, flags) == 28 ); C_ASSERT( sizeof(struct set_fd_name_info_request) == 32 ); C_ASSERT( FIELD_OFFSET(struct set_fd_eof_info_request, handle) == 12 ); C_ASSERT( FIELD_OFFSET(struct set_fd_eof_info_request, eof) == 16 ); diff --git a/server/trace.c b/server/trace.c index f9cb2207b79..b968b74034d 100644 --- a/server/trace.c +++ b/server/trace.c @@ -4411,7 +4411,7 @@ static void dump_set_fd_name_info_request( const struct set_fd_name_info_request fprintf( stderr, ", rootdir=%04x", req->rootdir ); fprintf( stderr, ", namelen=%u", req->namelen ); fprintf( stderr, ", link=%d", req->link ); - fprintf( stderr, ", replace=%d", req->replace ); + fprintf( stderr, ", flags=%08x", req->flags ); dump_varargs_unicode_str( ", name=", min(cur_size,req->namelen) ); dump_varargs_string( ", filename=", cur_size ); }
From: Joel Holdsworth joel@airwebreathe.org.uk
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- dlls/ntdll/tests/file.c | 78 ++++++++++++++++++++--------------------- dlls/ntdll/unix/file.c | 24 ++++++++++++- 2 files changed, 62 insertions(+), 40 deletions(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index 9b50f1f144d..10b162fd215 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -3608,12 +3608,12 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - todo_wine ok( !fileDeleted, "file should exist\n" ); + ok( !fileDeleted, "file should exist\n" );
fni = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR) ); res = pNtQueryInformationFile( handle, &io, fni, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR), FileNameInformation ); @@ -3647,7 +3647,7 @@ static void test_file_link_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -3676,8 +3676,8 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -3707,8 +3707,8 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -3750,7 +3750,7 @@ static void test_file_link_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -3784,7 +3784,7 @@ static void test_file_link_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -3818,9 +3818,9 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY , + ok( io.Status == STATUS_FILE_IS_A_DIRECTORY , "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -3866,9 +3866,9 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -3901,9 +3901,9 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION || res == STATUS_FILE_IS_A_DIRECTORY /* > Win XP */, + ok( res == STATUS_OBJECT_NAME_COLLISION || res == STATUS_FILE_IS_A_DIRECTORY /* > Win XP */, "res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); @@ -3939,9 +3939,9 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION || res == STATUS_FILE_IS_A_DIRECTORY /* > Win XP */, + ok( res == STATUS_OBJECT_NAME_COLLISION || res == STATUS_FILE_IS_A_DIRECTORY /* > Win XP */, "res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); @@ -3975,9 +3975,9 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -4012,9 +4012,9 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -4050,9 +4050,9 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION || res == STATUS_FILE_IS_A_DIRECTORY /* > Win XP */, + ok( res == STATUS_OBJECT_NAME_COLLISION || res == STATUS_FILE_IS_A_DIRECTORY /* > Win XP */, "res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); @@ -4088,9 +4088,9 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -4128,9 +4128,9 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -4164,7 +4164,7 @@ static void test_file_link_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); + ok( res == STATUS_OBJECT_NAME_COLLISION, "res expected STATUS_OBJECT_NAME_COLLISION, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -4197,7 +4197,7 @@ static void test_file_link_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -4230,12 +4230,12 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - todo_wine ok( !fileDeleted, "file should exist\n" ); + ok( !fileDeleted, "file should exist\n" );
fni = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR) ); res = pNtQueryInformationFile( handle, &io, fni, sizeof(FILE_NAME_INFORMATION) + MAX_PATH * sizeof(WCHAR), FileNameInformation ); @@ -4268,13 +4268,13 @@ static void test_file_link_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "got io status %#lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "got status %lx\n", res ); + ok( res == STATUS_OBJECT_NAME_COLLISION, "got status %lx\n", res );
fli->Flags = FILE_LINK_REPLACE_IF_EXISTS; io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "got io status %#lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "got status %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "got io status %#lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "got status %lx\n", res ); ok( GetFileAttributesW( oldpath ) != INVALID_FILE_ATTRIBUTES, "file should exist\n" );
CloseHandle( handle ); @@ -4299,13 +4299,13 @@ static void test_file_link_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "got io status %#lx\n", io.Status ); - todo_wine ok( res == STATUS_OBJECT_NAME_COLLISION, "got status %lx\n", res ); + ok( res == STATUS_OBJECT_NAME_COLLISION, "got status %lx\n", res );
fli->Flags = FILE_LINK_REPLACE_IF_EXISTS; io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "got io status %#lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "got status %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "got io status %#lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "got status %lx\n", res ); ok( GetFileAttributesW( oldpath ) != INVALID_FILE_ATTRIBUTES, "file should exist\n" );
CloseHandle( handle ); diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c index 8df535a6274..dc07e4bc33a 100644 --- a/dlls/ntdll/unix/file.c +++ b/dlls/ntdll/unix/file.c @@ -4840,13 +4840,35 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io, break;
case FileLinkInformation: + case FileLinkInformationEx: if (len >= sizeof(FILE_LINK_INFORMATION)) { FILE_LINK_INFORMATION *info = ptr; + ULONG flags; UNICODE_STRING name_str, redir; OBJECT_ATTRIBUTES attr; char *unix_name;
+ if (class == FileLinkInformation) + flags = info->ReplaceIfExists ? FILE_LINK_REPLACE_IF_EXISTS : 0; + else + flags = info->Flags; + + if (flags & FILE_LINK_POSIX_SEMANTICS) + FIXME( "FILE_LINK_POSIX_SEMANTICS not supported\n" ); + if (flags & FILE_LINK_SUPPRESS_STORAGE_RESERVE_INHERITANCE) + FIXME( "FILE_LINK_SUPPRESS_STORAGE_RESERVE_INHERITANCE not supported\n" ); + if (flags & FILE_LINK_NO_INCREASE_AVAILABLE_SPACE) + FIXME( "FILE_LINK_NO_INCREASE_AVAILABLE_SPACE not supported\n" ); + if (flags & FILE_LINK_NO_DECREASE_AVAILABLE_SPACE) + FIXME( "FILE_LINK_NO_DECREASE_AVAILABLE_SPACE not supported\n" ); + if (flags & FILE_LINK_IGNORE_READONLY_ATTRIBUTE) + FIXME( "FILE_LINK_IGNORE_READONLY_ATTRIBUTE not supported\n" ); + if (flags & FILE_LINK_FORCE_RESIZE_TARGET_SR) + FIXME( "FILE_LINK_FORCE_RESIZE_TARGET_SR not supported\n" ); + if (flags & FILE_LINK_FORCE_RESIZE_SOURCE_SR) + FIXME( "FILE_LINK_FORCE_RESIZE_SOURCE_SR not supported\n" ); + name_str.Buffer = info->FileName; name_str.Length = info->FileNameLength; name_str.MaximumLength = info->FileNameLength + sizeof(WCHAR); @@ -4862,7 +4884,7 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io, req->rootdir = wine_server_obj_handle( attr.RootDirectory ); req->namelen = attr.ObjectName->Length; req->link = TRUE; - req->flags = info->ReplaceIfExists ? FILE_LINK_REPLACE_IF_EXISTS : 0; + req->flags = flags; wine_server_add_data( req, attr.ObjectName->Buffer, attr.ObjectName->Length ); wine_server_add_data( req, unix_name, strlen(unix_name) ); status = wine_server_call( req );
From: Joel Holdsworth joel@airwebreathe.org.uk
This change has the benefit that a file or directory can be deleted using a single combined operation. It can also be later adapted to include FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE for deletion of read-only test files.
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- dlls/ntdll/tests/file.c | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index 10b162fd215..a5f497ccd99 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -1502,13 +1502,27 @@ static void test_file_all_information(void)
static void delete_object( WCHAR *path ) { - BOOL ret = DeleteFileW( path ); - ok( ret || GetLastError() == ERROR_FILE_NOT_FOUND || GetLastError() == ERROR_ACCESS_DENIED, - "DeleteFileW failed with %lu\n", GetLastError() ); - if (!ret && GetLastError() == ERROR_ACCESS_DENIED) - { - ret = RemoveDirectoryW( path ); - ok( ret, "RemoveDirectoryW failed with %lu\n", GetLastError() ); + UNICODE_STRING str; + OBJECT_ATTRIBUTES attr; + HANDLE handle; + FILE_DISPOSITION_INFORMATION_EX fdie; + IO_STATUS_BLOCK io; + NTSTATUS status; + + pRtlDosPathNameToNtPathName_U( path, &str, NULL, NULL ); + InitializeObjectAttributes( &attr, &str, 0, 0, NULL ); + io.Status = 0xdeadbeef; + status = pNtCreateFile( &handle, DELETE, &attr, &io, NULL, 0, 0, FILE_OPEN, 0, NULL, 0 ); + pRtlFreeUnicodeString( &str ); + ok(status == STATUS_SUCCESS || status == STATUS_OBJECT_NAME_NOT_FOUND, + "expected STATUS_SUCESS or STATUS_OBJECT_NAME_NOT_FOUND, got: %lx\n", io.Status); + if (status == STATUS_SUCCESS) { + fdie.Flags = FILE_DISPOSITION_DELETE; + io.Status = 0xdeadbeef; + status = pNtSetInformationFile( handle, &io, &fdie, sizeof fdie, FileDispositionInformationEx ); + ok ( status == STATUS_SUCCESS, "can't set file disposition, status: %lx\n", status ); + ok ( io.Status == STATUS_SUCCESS, "can't set file disposition, io.Status: %lx\n", io.Status ); + CloseHandle( handle ); } }
From: Joel Holdsworth joel@airwebreathe.org.uk
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- dlls/ntdll/tests/file.c | 70 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index a5f497ccd99..6f2d4045101 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -1517,7 +1517,7 @@ static void delete_object( WCHAR *path ) ok(status == STATUS_SUCCESS || status == STATUS_OBJECT_NAME_NOT_FOUND, "expected STATUS_SUCESS or STATUS_OBJECT_NAME_NOT_FOUND, got: %lx\n", io.Status); if (status == STATUS_SUCCESS) { - fdie.Flags = FILE_DISPOSITION_DELETE; + fdie.Flags = FILE_DISPOSITION_DELETE | FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE; io.Status = 0xdeadbeef; status = pNtSetInformationFile( handle, &io, &fdie, sizeof fdie, FileDispositionInformationEx ); ok ( status == STATUS_SUCCESS, "can't set file disposition, status: %lx\n", status ); @@ -2296,6 +2296,74 @@ static void test_file_rename_information_ex(void) delete_object( oldpath ); delete_object( newpath );
+ /* oldpath is a file, newpath is a read-only file, with FILE_RENAME_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + handle2 = CreateFileW( newpath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_READONLY, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + CloseHandle( handle2 ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + todo_wine ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a read-only file, with FILE_RENAME_REPLACE_IF_EXISTS and FILE_RENAME_IGNORE_READONLY_ATTRIBUTE */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + handle2 = CreateFileW( newpath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_READONLY, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + CloseHandle( handle2 ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS | FILE_RENAME_IGNORE_READONLY_ATTRIBUTE; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( fileDeleted, "file should not exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + /* oldpath is a file, newpath is a file, without FILE_RENAME_REPLACE_IF_EXISTS, target file opened */ res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); ok( res != 0, "failed to create temp file\n" );
From: Joel Holdsworth joel@airwebreathe.org.uk
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- dlls/ntdll/tests/file.c | 68 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index 6f2d4045101..0b1ab8538bf 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -3770,6 +3770,74 @@ static void test_file_link_information_ex(void) delete_object( oldpath ); delete_object( newpath );
+ /* oldpath is a file, newpath is a read-only file, with FILE_LINK_REPLACE_IF_EXISTS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + handle2 = CreateFileW( newpath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_READONLY, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + CloseHandle( handle2 ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a read-only file, with FILE_LINK_REPLACE_IF_EXISTS and FILE_LINK_IGNORE_READONLY_ATTRIBUTE */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + handle2 = CreateFileW( newpath, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_READONLY, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + CloseHandle( handle2 ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS | FILE_LINK_IGNORE_READONLY_ATTRIBUTE; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + /* oldpath is a file, newpath is a file, with FILE_LINK_REPLACE_IF_EXISTS, different casing on link */ res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); ok( res != 0, "failed to create temp file\n" );
From: Joel Holdsworth joel@airwebreathe.org.uk
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- dlls/ntdll/tests/file.c | 16 ++++++++-------- server/fd.c | 7 +++++++ 2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index 0b1ab8538bf..81d9494fcc0 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -2319,9 +2319,9 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - todo_wine ok( !fileDeleted, "file should exist\n" ); + ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" );
@@ -2352,10 +2352,10 @@ static void test_file_rename_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); - ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - ok( fileDeleted, "file should not exist\n" ); + todo_wine ok( fileDeleted, "file should not exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" );
@@ -3792,7 +3792,7 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); @@ -3826,8 +3826,8 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; diff --git a/server/fd.c b/server/fd.c index 189b239d9ea..0c1db308591 100644 --- a/server/fd.c +++ b/server/fd.c @@ -2618,6 +2618,13 @@ static void set_fd_name( struct fd *fd, struct fd *root, const char *nameptr, da goto failed; }
+ /* read-only files cannot be replaced */ + if (!(st.st_mode & (S_IWUSR | S_IWGRP | S_IWOTH))) + { + set_error( STATUS_ACCESS_DENIED ); + goto failed; + } + /* can't replace an opened file */ if ((inode = get_inode( st.st_dev, st.st_ino, -1 ))) {
From: Joel Holdsworth joel@airwebreathe.org.uk
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- dlls/ntdll/tests/file.c | 14 +++++++------- dlls/ntdll/unix/file.c | 4 ---- server/fd.c | 3 ++- 3 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index 81d9494fcc0..b985ca33c09 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -2352,10 +2352,10 @@ static void test_file_rename_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - todo_wine ok( fileDeleted, "file should not exist\n" ); + ok( fileDeleted, "file should not exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" );
@@ -3792,8 +3792,8 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + ok( res == STATUS_ACCESS_DENIED, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -3826,8 +3826,8 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c index dc07e4bc33a..b4eb172f501 100644 --- a/dlls/ntdll/unix/file.c +++ b/dlls/ntdll/unix/file.c @@ -4807,8 +4807,6 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io, FIXME( "FILE_RENAME_NO_INCREASE_AVAILABLE_SPACE not supported\n" ); if (flags & FILE_RENAME_NO_DECREASE_AVAILABLE_SPACE) FIXME( "FILE_RENAME_NO_DECREASE_AVAILABLE_SPACE not supported\n" ); - if (flags & FILE_RENAME_IGNORE_READONLY_ATTRIBUTE) - FIXME( "FILE_RENAME_IGNORE_READONLY_ATTRIBUTE not supported\n" );
name_str.Buffer = info->FileName; name_str.Length = info->FileNameLength; @@ -4862,8 +4860,6 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io, FIXME( "FILE_LINK_NO_INCREASE_AVAILABLE_SPACE not supported\n" ); if (flags & FILE_LINK_NO_DECREASE_AVAILABLE_SPACE) FIXME( "FILE_LINK_NO_DECREASE_AVAILABLE_SPACE not supported\n" ); - if (flags & FILE_LINK_IGNORE_READONLY_ATTRIBUTE) - FIXME( "FILE_LINK_IGNORE_READONLY_ATTRIBUTE not supported\n" ); if (flags & FILE_LINK_FORCE_RESIZE_TARGET_SR) FIXME( "FILE_LINK_FORCE_RESIZE_TARGET_SR not supported\n" ); if (flags & FILE_LINK_FORCE_RESIZE_SOURCE_SR) diff --git a/server/fd.c b/server/fd.c index 0c1db308591..2b705bfe8e1 100644 --- a/server/fd.c +++ b/server/fd.c @@ -2619,7 +2619,8 @@ static void set_fd_name( struct fd *fd, struct fd *root, const char *nameptr, da }
/* read-only files cannot be replaced */ - if (!(st.st_mode & (S_IWUSR | S_IWGRP | S_IWOTH))) + if (!(st.st_mode & (S_IWUSR | S_IWGRP | S_IWOTH)) && + !(flags & FILE_RENAME_IGNORE_READONLY_ATTRIBUTE)) { set_error( STATUS_ACCESS_DENIED ); goto failed;
From: Joel Holdsworth joel@airwebreathe.org.uk
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- dlls/ntdll/tests/file.c | 187 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index b985ca33c09..a37efc827c4 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -2432,6 +2432,77 @@ static void test_file_rename_information_ex(void) delete_object( oldpath ); delete_object( newpath );
+ /* oldpath is a file, newpath is a file, with FILE_RENAME_REPLACE_IF_EXISTS, with + * FILE_RENAME_POSIX_SEMANTICS, target file opened without sharing mode */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS | FILE_RENAME_POSIX_SEMANTICS; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SHARING_VIOLATION, "res expected STATUS_SHARING_VIOLATION, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a file, with FILE_RENAME_REPLACE_IF_EXISTS, with + * FILE_RENAME_POSIX_SEMANTICS, target file opened with sharing mode */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, FILE_SHARE_DELETE, + NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS | FILE_RENAME_POSIX_SEMANTICS; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + todo_wine ok( fileDeleted, "file should not exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + /* oldpath is a directory, newpath doesn't exist, without FILE_RENAME_REPLACE_IF_EXISTS */ res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); ok( res != 0, "failed to create temp file\n" ); @@ -2660,6 +2731,45 @@ static void test_file_rename_information_ex(void) delete_object( oldpath ); delete_object( newpath );
+ /* oldpath is a directory, newpath is a file, with FILE_RENAME_REPLACE_IF_EXISTS, with + * FILE_RENAME_POSIX_SEMANTICS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, FILE_SHARE_DELETE, + NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS | FILE_RENAME_POSIX_SEMANTICS; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_NOT_A_DIRECTORY, "res expected STATUS_NOT_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + /* oldpath is a directory, newpath is a directory, without FILE_RENAME_REPLACE_IF_EXISTS */ res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); ok( res != 0, "failed to create temp file\n" ); @@ -2772,6 +2882,49 @@ static void test_file_rename_information_ex(void) delete_object( oldpath ); delete_object( newpath );
+ /* oldpath is a directory, newpath is a directory, with FILE_RENAME_REPLACE_IF_EXISTS, with + * FILE_RENAME_POSIX_SEMANTICS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, + NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, FILE_SHARE_DELETE, + NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS | FILE_RENAME_POSIX_SEMANTICS; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + todo_wine ok( fileDeleted, "file should not exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + /* oldpath is a file, newpath is a directory, without FILE_RENAME_REPLACE_IF_EXISTS */ res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); ok( res != 0, "failed to create temp file\n" ); @@ -2838,6 +2991,40 @@ static void test_file_rename_information_ex(void) delete_object( oldpath ); delete_object( newpath );
+ /* oldpath is a file, newpath is a directory, with FILE_RENAME_REPLACE_IF_EXISTS, with + * FILE_RENAME_POSIX_SEMANTICS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fri = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_RENAME_INFORMATION) + name_str.Length ); + fri->Flags = FILE_RENAME_REPLACE_IF_EXISTS | FILE_RENAME_POSIX_SEMANTICS; + fri->RootDirectory = NULL; + fri->FileNameLength = name_str.Length; + memcpy( fri->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fri ); + delete_object( oldpath ); + delete_object( newpath ); + /* oldpath is a file, newpath doesn't exist, test with RootDir != NULL */ res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); ok( res != 0, "failed to create temp file\n" );
From: Joel Holdsworth joel@airwebreathe.org.uk
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- dlls/ntdll/tests/file.c | 193 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index a37efc827c4..d2e93afb859 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -4133,6 +4133,80 @@ static void test_file_link_information_ex(void) delete_object( oldpath ); delete_object( newpath );
+ /* oldpath is a file, newpath is a file, with FILE_LINK_REPLACE_IF_EXISTS, with + * FILE_LINK_POSIX_SEMANTICS, target file opened without sharing mode */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, + NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, 0, + NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS | FILE_LINK_POSIX_SEMANTICS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SHARING_VIOLATION, "res expected STATUS_SHARING_VIOLATION, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + + /* oldpath is a file, newpath is a file, with FILE_LINK_REPLACE_IF_EXISTS, with + * FILE_LINK_POSIX_SEMANTICS, target file opened with sharing mode */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, + NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, FILE_SHARE_DELETE, + NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS | FILE_LINK_POSIX_SEMANTICS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + /* oldpath is a directory, newpath doesn't exist, without FILE_LINK_REPLACE_IF_EXISTS */ res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); ok( res != 0, "failed to create temp file\n" ); @@ -4363,6 +4437,47 @@ static void test_file_link_information_ex(void) delete_object( oldpath ); delete_object( newpath );
+ /* oldpath is a directory, newpath is a file, with FILE_LINK_REPLACE_IF_EXISTS, with + * FILE_LINK_POSIX_SEMANTICS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, + NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, FILE_SHARE_DELETE, + NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS | FILE_LINK_POSIX_SEMANTICS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); + ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + /* oldpath is a directory, newpath is a directory, without FILE_LINK_REPLACE_IF_EXISTS */ res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); ok( res != 0, "failed to create temp file\n" ); @@ -4479,6 +4594,50 @@ static void test_file_link_information_ex(void) delete_object( oldpath ); delete_object( newpath );
+ /* oldpath is a directory, newpath is a directory, with FILE_LINK_REPLACE_IF_EXISTS, with + * FILE_LINK_POSIX_SEMANTICS, target file opened */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( oldpath ); + success = CreateDirectoryW( oldpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, + NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + handle2 = CreateFileW( newpath, GENERIC_WRITE | DELETE, FILE_SHARE_DELETE, + NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0 ); + ok( handle2 != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS | FILE_LINK_POSIX_SEMANTICS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + ok( io.Status == STATUS_FILE_IS_A_DIRECTORY, + "io.Status expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", io.Status ); + ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + CloseHandle( handle2 ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + /* oldpath is a file, newpath is a directory, without FILE_LINK_REPLACE_IF_EXISTS */ res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); ok( res != 0, "failed to create temp file\n" ); @@ -4545,6 +4704,40 @@ static void test_file_link_information_ex(void) delete_object( oldpath ); delete_object( newpath );
+ /* oldpath is a file, newpath is a directory, with FILE_LINK_REPLACE_IF_EXISTS, with + * FILE_LINK_POSIX_SEMANTICS */ + res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); + ok( res != 0, "failed to create temp file\n" ); + handle = CreateFileW( oldpath, GENERIC_WRITE | DELETE, 0, NULL, CREATE_ALWAYS, 0, 0 ); + ok( handle != INVALID_HANDLE_VALUE, "CreateFileW failed\n" ); + + res = GetTempFileNameW( tmp_path, fooW, 0, newpath ); + ok( res != 0, "failed to create temp file\n" ); + DeleteFileW( newpath ); + success = CreateDirectoryW( newpath, NULL ); + ok( success != 0, "failed to create temp directory\n" ); + pRtlDosPathNameToNtPathName_U( newpath, &name_str, NULL, NULL ); + fli = HeapAlloc( GetProcessHeap(), 0, sizeof(FILE_LINK_INFORMATION) + name_str.Length ); + fli->Flags = FILE_LINK_REPLACE_IF_EXISTS | FILE_LINK_POSIX_SEMANTICS; + fli->RootDirectory = NULL; + fli->FileNameLength = name_str.Length; + memcpy( fli->FileName, name_str.Buffer, name_str.Length ); + pRtlFreeUnicodeString( &name_str ); + + io.Status = 0xdeadbeef; + res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); + todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); + todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; + ok( !fileDeleted, "file should exist\n" ); + + CloseHandle( handle ); + HeapFree( GetProcessHeap(), 0, fli ); + delete_object( oldpath ); + delete_object( newpath ); + /* oldpath is a file, newpath doesn't exist, test with RootDirectory != NULL */ res = GetTempFileNameW( tmp_path, fooW, 0, oldpath ); ok( res != 0, "failed to create temp file\n" );
From: Joel Holdsworth joel@airwebreathe.org.uk
Signed-off-by: Joel Holdsworth joel@airwebreathe.org.uk --- dlls/ntdll/tests/file.c | 20 ++++++------- dlls/ntdll/unix/file.c | 4 --- server/fd.c | 65 +++++++++++++++++++++++++++++++++-------- 3 files changed, 63 insertions(+), 26 deletions(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c index d2e93afb859..42bf8f638b8 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -2455,7 +2455,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SHARING_VIOLATION, "res expected STATUS_SHARING_VIOLATION, got %lx\n", res ); + ok( res == STATUS_SHARING_VIOLATION, "res expected STATUS_SHARING_VIOLATION, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -2490,10 +2490,10 @@ static void test_file_rename_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_SUCCESS, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; - todo_wine ok( fileDeleted, "file should not exist\n" ); + ok( fileDeleted, "file should not exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" );
@@ -2758,7 +2758,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_NOT_A_DIRECTORY, "res expected STATUS_NOT_A_DIRECTORY, got %lx\n", res ); + ok( res == STATUS_NOT_A_DIRECTORY, "res expected STATUS_NOT_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -3014,7 +3014,7 @@ static void test_file_rename_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fri, sizeof(FILE_RENAME_INFORMATION) + fri->FileNameLength, FileRenameInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -4158,7 +4158,7 @@ static void test_file_link_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SHARING_VIOLATION, "res expected STATUS_SHARING_VIOLATION, got %lx\n", res ); + ok( res == STATUS_SHARING_VIOLATION, "res expected STATUS_SHARING_VIOLATION, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -4194,8 +4194,8 @@ static void test_file_link_information_ex(void)
io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); - todo_wine ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_SUCCESS, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); + ok( io.Status == STATUS_SUCCESS, "io.Status expected STATUS_SUCCESS, got %lx\n", io.Status ); + ok( res == STATUS_SUCCESS, "res expected STATUS_ACCESS_DENIED, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; @@ -4727,7 +4727,7 @@ static void test_file_link_information_ex(void) io.Status = 0xdeadbeef; res = pNtSetInformationFile( handle, &io, fli, sizeof(FILE_LINK_INFORMATION) + fli->FileNameLength, FileLinkInformationEx ); todo_wine ok( io.Status == 0xdeadbeef, "io.Status expected 0xdeadbeef, got %lx\n", io.Status ); - todo_wine ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); + ok( res == STATUS_FILE_IS_A_DIRECTORY, "res expected STATUS_FILE_IS_A_DIRECTORY, got %lx\n", res ); fileDeleted = GetFileAttributesW( oldpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; ok( !fileDeleted, "file should exist\n" ); fileDeleted = GetFileAttributesW( newpath ) == INVALID_FILE_ATTRIBUTES && GetLastError() == ERROR_FILE_NOT_FOUND; diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c index b4eb172f501..866677ea8ce 100644 --- a/dlls/ntdll/unix/file.c +++ b/dlls/ntdll/unix/file.c @@ -4797,8 +4797,6 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io, else flags = info->Flags;
- if (flags & FILE_RENAME_POSIX_SEMANTICS) - FIXME( "FILE_RENAME_POSIX_SEMANTICS not supported\n" ); if (flags & FILE_RENAME_SUPPRESS_PIN_STATE_INHERITANCE) FIXME( "FILE_RENAME_SUPPRESS_PIN_STATE_INHERITANCE not supported\n" ); if (flags & FILE_RENAME_SUPPRESS_STORAGE_RESERVE_INHERITANCE) @@ -4852,8 +4850,6 @@ NTSTATUS WINAPI NtSetInformationFile( HANDLE handle, IO_STATUS_BLOCK *io, else flags = info->Flags;
- if (flags & FILE_LINK_POSIX_SEMANTICS) - FIXME( "FILE_LINK_POSIX_SEMANTICS not supported\n" ); if (flags & FILE_LINK_SUPPRESS_STORAGE_RESERVE_INHERITANCE) FIXME( "FILE_LINK_SUPPRESS_STORAGE_RESERVE_INHERITANCE not supported\n" ); if (flags & FILE_LINK_NO_INCREASE_AVAILABLE_SPACE) diff --git a/server/fd.c b/server/fd.c index 2b705bfe8e1..61b1943a0a9 100644 --- a/server/fd.c +++ b/server/fd.c @@ -2611,13 +2611,6 @@ static void set_fd_name( struct fd *fd, struct fd *root, const char *nameptr, da goto failed; }
- /* can't replace directories or special files */ - if (!S_ISREG( st.st_mode )) - { - set_error( STATUS_ACCESS_DENIED ); - goto failed; - } - /* read-only files cannot be replaced */ if (!(st.st_mode & (S_IWUSR | S_IWGRP | S_IWOTH)) && !(flags & FILE_RENAME_IGNORE_READONLY_ATTRIBUTE)) @@ -2626,16 +2619,64 @@ static void set_fd_name( struct fd *fd, struct fd *root, const char *nameptr, da goto failed; }
- /* can't replace an opened file */ - if ((inode = get_inode( st.st_dev, st.st_ino, -1 ))) + if (flags & FILE_RENAME_POSIX_SEMANTICS) + { + /* can't replace a file with a directory with FILE_RENAME_POSIX_SEMANTICS */ + if (S_ISDIR( st2.st_mode ) && !S_ISDIR( st.st_mode )) + { + set_error( STATUS_NOT_A_DIRECTORY ); + goto failed; + } + + /* can't replace a directory with a file with FILE_RENAME_POSIX_SEMANTICS */ + if (!S_ISDIR( st2.st_mode ) && S_ISDIR( st.st_mode )) + { + set_error( STATUS_FILE_IS_A_DIRECTORY ); + goto failed; + } + + /* can't replace an open file that was no opened with FILE_SHARE_DELETE */ + if ((inode = get_inode( st.st_dev, st.st_ino, -1 ))) + { + int have_delete_sharing = 1; + struct list *ptr; + LIST_FOR_EACH( ptr, &inode->open ) + { + struct fd *fd_ptr = LIST_ENTRY( ptr, struct fd, inode_entry ); + if (!(fd_ptr->sharing & FILE_SHARE_DELETE)) { + have_delete_sharing = 0; + break; + } + } + + release_object( inode ); + + if (!have_delete_sharing) { + set_error( STATUS_SHARING_VIOLATION ); + goto failed; + } + } + } + else { - int is_empty = list_empty( &inode->open ); - release_object( inode ); - if (!is_empty) + /* can't replace directories or special files */ + if (!S_ISREG( st.st_mode )) { set_error( STATUS_ACCESS_DENIED ); goto failed; } + + /* can't replace an opened file without FILE_RENAME_POSIX_SEMANTICS */ + if ((inode = get_inode( st.st_dev, st.st_ino, -1 ))) + { + int is_empty = list_empty( &inode->open ); + release_object( inode ); + if (!is_empty) + { + set_error( STATUS_ACCESS_DENIED ); + goto failed; + } + } }
/* link() expects that the target doesn't exist */
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=137338
Your paranoid android.
=== w7u_2qxl (32 bit report) ===
ntdll: file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2219: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2220: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2222: Test failed: file should not exist file.c:2224: Test failed: file should exist file.c:2230: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\foo9F2C.tmp", got L"\Users\winetest\AppData\Local\Temp\foo9F2B.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2258: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2287: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2288: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2290: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2322: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2355: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2356: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2358: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2389: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2423: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2458: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2493: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2494: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2496: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2528: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2529: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2531: Test failed: file should not exist file.c:2533: Test failed: file should exist file.c:2539: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\foo9F7D.tmp", got L"\Users\winetest\AppData\Local\Temp\foo9F7C.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2576: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2616: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2652: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2685: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2686: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2688: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2722: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2761: Test failed: res expected STATUS_NOT_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2798: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2834: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2873: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2915: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2916: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2918: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2950: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3017: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3050: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3051: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3053: Test failed: file should not exist file.c:3055: Test failed: file should exist file.c:3061: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooA025.tmp", got L"\Users\winetest\AppData\Local\Temp\fooA024.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3087: Test failed: got io status 0xdeadbeef file.c:3088: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3880: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3881: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3885: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3919: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3948: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3949: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4016: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4017: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4047: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4048: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4059: Test failed: Link did not change casing on existing target file: got L"fooA180.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4090: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4124: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4161: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4197: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4198: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4234: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4282: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4317: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4355: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4391: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4428: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4469: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4507: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4545: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4585: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4629: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4663: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4696: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4730: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4763: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4764: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4768: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4801: Test failed: got status c0000003 file.c:4806: Test failed: got io status 0xdeadbeef file.c:4807: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4832: Test failed: got status c0000003 file.c:4837: Test failed: got io status 0xdeadbeef file.c:4838: Test failed: got status c0000003 file.c:4846: Test failed: Link did not change casing on same file: got L"fooA225.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef
=== w7u_adm (32 bit report) ===
ntdll: file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2219: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2220: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2222: Test failed: file should not exist file.c:2224: Test failed: file should exist file.c:2230: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooA1EA.tmp", got L"\Users\winetest\AppData\Local\Temp\fooA1E9.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2258: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2287: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2288: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2290: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2322: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2355: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2356: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2358: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2389: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2423: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2458: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2493: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2494: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2496: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2528: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2529: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2531: Test failed: file should not exist file.c:2533: Test failed: file should exist file.c:2539: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooA2C7.tmp", got L"\Users\winetest\AppData\Local\Temp\fooA2C6.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2576: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2616: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2652: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2685: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2686: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2688: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2722: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2761: Test failed: res expected STATUS_NOT_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2798: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2834: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2873: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2915: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2916: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2918: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2950: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3017: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3050: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3051: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3053: Test failed: file should not exist file.c:3055: Test failed: file should exist file.c:3061: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooA3DD.tmp", got L"\Users\winetest\AppData\Local\Temp\fooA3DC.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3087: Test failed: got io status 0xdeadbeef file.c:3088: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3880: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3881: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3885: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3919: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3948: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3949: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4016: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4017: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4047: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4048: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4059: Test failed: Link did not change casing on existing target file: got L"fooA603.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4090: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4124: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4161: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4197: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4198: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4234: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4282: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4317: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4355: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4391: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4428: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4469: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4507: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4545: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4585: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4629: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4663: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4696: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4730: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4763: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4764: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4768: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4801: Test failed: got status c0000003 file.c:4806: Test failed: got io status 0xdeadbeef file.c:4807: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4832: Test failed: got status c0000003 file.c:4837: Test failed: got io status 0xdeadbeef file.c:4838: Test failed: got status c0000003 file.c:4846: Test failed: Link did not change casing on same file: got L"fooA715.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef
=== w7u_el (32 bit report) ===
ntdll: file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2219: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2220: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2222: Test failed: file should not exist file.c:2224: Test failed: file should exist file.c:2230: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooE070.tmp", got L"\Users\winetest\AppData\Local\Temp\fooE05F.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2258: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2287: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2288: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2290: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2322: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2355: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2356: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2358: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2389: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2423: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2458: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2493: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2494: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2496: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2528: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2529: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2531: Test failed: file should not exist file.c:2533: Test failed: file should exist file.c:2539: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooE237.tmp", got L"\Users\winetest\AppData\Local\Temp\fooE236.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2576: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2616: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2652: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2685: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2686: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2688: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2722: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2761: Test failed: res expected STATUS_NOT_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2798: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2834: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2873: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2915: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2916: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2918: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2950: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3017: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3050: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3051: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3053: Test failed: file should not exist file.c:3055: Test failed: file should exist file.c:3061: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooE2A1.tmp", got L"\Users\winetest\AppData\Local\Temp\fooE2A0.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3087: Test failed: got io status 0xdeadbeef file.c:3088: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3880: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3881: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3885: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3919: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3948: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3949: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4016: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4017: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4047: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4048: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4059: Test failed: Link did not change casing on existing target file: got L"fooE38F.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4090: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4124: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4161: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4197: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4198: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4234: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4282: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4317: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4355: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4391: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4428: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4469: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4507: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4545: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4585: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4629: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4663: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4696: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4730: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4763: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4764: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4768: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4801: Test failed: got status c0000003 file.c:4806: Test failed: got io status 0xdeadbeef file.c:4807: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4832: Test failed: got status c0000003 file.c:4837: Test failed: got io status 0xdeadbeef file.c:4838: Test failed: got status c0000003 file.c:4846: Test failed: Link did not change casing on same file: got L"fooE453.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef
=== w8 (32 bit report) ===
ntdll: file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2219: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2220: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2222: Test failed: file should not exist file.c:2224: Test failed: file should exist file.c:2230: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooA411.tmp", got L"\Users\winetest\AppData\Local\Temp\fooA410.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2258: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2287: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2288: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2290: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2322: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2355: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2356: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2358: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2389: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2423: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2458: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2493: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2494: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2496: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2528: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2529: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2531: Test failed: file should not exist file.c:2533: Test failed: file should exist file.c:2539: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooA82A.tmp", got L"\Users\winetest\AppData\Local\Temp\fooA829.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2576: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2616: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2652: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2685: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2686: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2688: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2722: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2761: Test failed: res expected STATUS_NOT_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2798: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2834: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2873: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2915: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2916: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2918: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2950: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3017: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3050: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3051: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3053: Test failed: file should not exist file.c:3055: Test failed: file should exist file.c:3061: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooACE9.tmp", got L"\Users\winetest\AppData\Local\Temp\fooACE8.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3087: Test failed: got io status 0xdeadbeef file.c:3088: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3880: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3881: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3885: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3919: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3948: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3949: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4016: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4017: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4047: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4048: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4059: Test failed: Link did not change casing on existing target file: got L"fooB4DD.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4090: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4124: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4161: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4197: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4198: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4234: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4282: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4317: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4355: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4391: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4428: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4469: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4507: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4545: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4585: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4629: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4663: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4696: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4730: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4763: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4764: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4768: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4801: Test failed: got status c0000003 file.c:4806: Test failed: got io status 0xdeadbeef file.c:4807: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4832: Test failed: got status c0000003 file.c:4837: Test failed: got io status 0xdeadbeef file.c:4838: Test failed: got status c0000003 file.c:4846: Test failed: Link did not change casing on same file: got L"fooBBCB.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef
=== w8adm (32 bit report) ===
ntdll: file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2219: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2220: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2222: Test failed: file should not exist file.c:2224: Test failed: file should exist file.c:2230: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooA4DC.tmp", got L"\Users\winetest\AppData\Local\Temp\fooA4DB.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2258: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2287: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2288: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2290: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2322: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2355: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2356: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2358: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2389: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2423: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2458: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2493: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2494: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2496: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2528: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2529: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2531: Test failed: file should not exist file.c:2533: Test failed: file should exist file.c:2539: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooA83A.tmp", got L"\Users\winetest\AppData\Local\Temp\fooA839.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2576: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2616: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2652: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2685: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2686: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2688: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2722: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2761: Test failed: res expected STATUS_NOT_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2798: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2834: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2873: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2915: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2916: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2918: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2950: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3017: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3050: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3051: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3053: Test failed: file should not exist file.c:3055: Test failed: file should exist file.c:3061: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooACCA.tmp", got L"\Users\winetest\AppData\Local\Temp\fooACC9.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3087: Test failed: got io status 0xdeadbeef file.c:3088: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3880: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3881: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3885: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3919: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3948: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3949: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4016: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4017: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4047: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4048: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4059: Test failed: Link did not change casing on existing target file: got L"fooB431.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4090: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4124: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4161: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4197: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4198: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4234: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4282: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4317: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4355: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4391: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4428: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4469: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4507: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4545: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4585: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4629: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4663: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4696: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4730: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4763: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4764: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4768: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4801: Test failed: got status c0000003 file.c:4806: Test failed: got io status 0xdeadbeef file.c:4807: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4832: Test failed: got status c0000003 file.c:4837: Test failed: got io status 0xdeadbeef file.c:4838: Test failed: got status c0000003 file.c:4846: Test failed: Link did not change casing on same file: got L"fooBB00.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef
=== w864 (32 bit report) ===
ntdll: file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2219: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2220: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2222: Test failed: file should not exist file.c:2224: Test failed: file should exist file.c:2230: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\foo9CAE.tmp", got L"\Users\winetest\AppData\Local\Temp\foo9CAD.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2258: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2287: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2288: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2290: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2322: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2355: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2356: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2358: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2389: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2423: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2458: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2493: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2494: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2496: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2528: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2529: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2531: Test failed: file should not exist file.c:2533: Test failed: file should exist file.c:2539: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\foo9CEF.tmp", got L"\Users\winetest\AppData\Local\Temp\foo9CEE.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2576: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2616: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2652: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2685: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2686: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2688: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2722: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2761: Test failed: res expected STATUS_NOT_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2798: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2834: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2873: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2915: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2916: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2918: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2950: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3017: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3050: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3051: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3053: Test failed: file should not exist file.c:3055: Test failed: file should exist file.c:3061: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\foo9DC6.tmp", got L"\Users\winetest\AppData\Local\Temp\foo9DC5.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3087: Test failed: got io status 0xdeadbeef file.c:3088: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3880: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3881: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3885: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3919: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3948: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3949: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4016: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4017: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4047: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4048: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4059: Test failed: Link did not change casing on existing target file: got L"foo9E48.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4090: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4124: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4161: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4197: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4198: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4234: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4282: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4317: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4355: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4391: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4428: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4469: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4507: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4545: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4585: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4629: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4663: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4696: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4730: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4763: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4764: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4768: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4801: Test failed: got status c0000003 file.c:4806: Test failed: got io status 0xdeadbeef file.c:4807: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4832: Test failed: got status c0000003 file.c:4837: Test failed: got io status 0xdeadbeef file.c:4838: Test failed: got status c0000003 file.c:4846: Test failed: Link did not change casing on same file: got L"foo9E9E.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef
=== w1064v1507 (32 bit report) ===
ntdll: file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2219: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2220: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2222: Test failed: file should not exist file.c:2224: Test failed: file should exist file.c:2230: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooB23A.tmp", got L"\Users\winetest\AppData\Local\Temp\fooB239.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2258: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2287: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2288: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2290: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2322: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2355: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2356: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2358: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2389: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2423: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2458: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2493: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2494: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2496: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2528: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2529: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2531: Test failed: file should not exist file.c:2533: Test failed: file should exist file.c:2539: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooB4DC.tmp", got L"\Users\winetest\AppData\Local\Temp\fooB4DB.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2576: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2616: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2652: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2685: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2686: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2688: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2722: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2761: Test failed: res expected STATUS_NOT_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2798: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2834: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2873: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2915: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2916: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2918: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2950: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3017: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3050: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3051: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3053: Test failed: file should not exist file.c:3055: Test failed: file should exist file.c:3061: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooB92E.tmp", got L"\Users\winetest\AppData\Local\Temp\fooB92D.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3087: Test failed: got io status 0xdeadbeef file.c:3088: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3880: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3881: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3885: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3919: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3948: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3949: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4016: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4017: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4047: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4048: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4059: Test failed: Link did not change casing on existing target file: got L"fooC141.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4090: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4124: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4161: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4197: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4198: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4234: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4282: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4317: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4355: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4391: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4428: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4469: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4507: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4545: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4585: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4629: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4663: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4696: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4730: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4763: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4764: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4768: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4801: Test failed: got status c0000003 file.c:4806: Test failed: got io status 0xdeadbeef file.c:4807: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4832: Test failed: got status c0000003 file.c:4837: Test failed: got io status 0xdeadbeef file.c:4838: Test failed: got status c0000003 file.c:4846: Test failed: Link did not change casing on same file: got L"fooC63B.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef
=== w1064v1809 (32 bit report) ===
ntdll: file.c:2458: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000022 file.c:4161: Test failed: res expected STATUS_SHARING_VIOLATION, got c00000bb file.c:4197: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4198: Test failed: res expected STATUS_ACCESS_DENIED, got c00000bb file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4469: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c00000bb file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4629: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c00000bb file.c:4730: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c00000bb
=== w1064_tsign (32 bit report) ===
ntdll: file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef
=== w10pro64 (32 bit report) ===
ntdll: file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef
=== w11pro64 (32 bit report) ===
ntdll: file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef
=== w7pro64 (64 bit report) ===
ntdll: file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2219: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2220: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2222: Test failed: file should not exist file.c:2224: Test failed: file should exist file.c:2230: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\foo4895.tmp", got L"\Users\winetest\AppData\Local\Temp\foo4884.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2258: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2287: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2288: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2290: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2322: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2355: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2356: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2358: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2389: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2423: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2458: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2493: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2494: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2496: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2528: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2529: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2531: Test failed: file should not exist file.c:2533: Test failed: file should exist file.c:2539: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\foo48B6.tmp", got L"\Users\winetest\AppData\Local\Temp\foo48B5.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2576: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2616: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2652: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2685: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2686: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2688: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2722: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2761: Test failed: res expected STATUS_NOT_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2798: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2834: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2873: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2915: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2916: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2918: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2950: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3017: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3050: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3051: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3053: Test failed: file should not exist file.c:3055: Test failed: file should exist file.c:3061: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\foo4901.tmp", got L"\Users\winetest\AppData\Local\Temp\foo4900.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3087: Test failed: got io status 0xdeadbeef file.c:3088: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3880: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3881: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3885: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3919: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3948: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3949: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4016: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4017: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4047: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4048: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4059: Test failed: Link did not change casing on existing target file: got L"foo4992.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4090: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4124: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4161: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4197: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4198: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4234: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4282: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4317: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4355: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4391: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4428: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4469: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4507: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4545: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4585: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4629: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4663: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4696: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4730: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4763: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4764: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4768: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4801: Test failed: got status c0000003 file.c:4806: Test failed: got io status 0xdeadbeef file.c:4807: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4832: Test failed: got status c0000003 file.c:4837: Test failed: got io status 0xdeadbeef file.c:4838: Test failed: got status c0000003 file.c:4846: Test failed: Link did not change casing on same file: got L"foo49F8.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef
=== w864 (64 bit report) ===
ntdll: file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2219: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2220: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2222: Test failed: file should not exist file.c:2224: Test failed: file should exist file.c:2230: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\foo9933.tmp", got L"\Users\winetest\AppData\Local\Temp\foo9932.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2258: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2287: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2288: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2290: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2322: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2355: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2356: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2358: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2389: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2423: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2458: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2493: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2494: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2496: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2528: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2529: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2531: Test failed: file should not exist file.c:2533: Test failed: file should exist file.c:2539: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\foo99D2.tmp", got L"\Users\winetest\AppData\Local\Temp\foo99D1.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2576: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2616: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2652: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2685: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2686: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2688: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2722: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2761: Test failed: res expected STATUS_NOT_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2798: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2834: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2873: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2915: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2916: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2918: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2950: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3017: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3050: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3051: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3053: Test failed: file should not exist file.c:3055: Test failed: file should exist file.c:3061: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\foo9A5B.tmp", got L"\Users\winetest\AppData\Local\Temp\foo9A5A.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3087: Test failed: got io status 0xdeadbeef file.c:3088: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3880: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3881: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3885: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3919: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3948: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3949: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4016: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4017: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4047: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4048: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4059: Test failed: Link did not change casing on existing target file: got L"foo9ACD.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4090: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4124: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4161: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4197: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4198: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4234: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4282: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4317: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4355: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4391: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4428: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4469: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4507: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4545: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4585: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4629: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4663: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4696: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4730: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4763: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4764: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4768: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4801: Test failed: got status c0000003 file.c:4806: Test failed: got io status 0xdeadbeef file.c:4807: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4832: Test failed: got status c0000003 file.c:4837: Test failed: got io status 0xdeadbeef file.c:4838: Test failed: got status c0000003 file.c:4846: Test failed: Link did not change casing on same file: got L"foo9B43.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef
=== w1064v1507 (64 bit report) ===
ntdll: file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2219: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2220: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2222: Test failed: file should not exist file.c:2224: Test failed: file should exist file.c:2230: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooB622.tmp", got L"\Users\winetest\AppData\Local\Temp\fooB621.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2258: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2287: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2288: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2290: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2322: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2355: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2356: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2358: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2389: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2423: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2458: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2493: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2494: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2496: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2528: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2529: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2531: Test failed: file should not exist file.c:2533: Test failed: file should exist file.c:2539: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooBAD7.tmp", got L"\Users\winetest\AppData\Local\Temp\fooBAD6.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2576: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2616: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2652: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2685: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2686: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2688: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2722: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2761: Test failed: res expected STATUS_NOT_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2798: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2834: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2873: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2915: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:2916: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:2918: Test failed: file should not exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2950: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:2983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3017: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3050: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3051: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3053: Test failed: file should not exist file.c:3055: Test failed: file should exist file.c:3061: Test failed: FileName expected L"\Users\winetest\AppData\Local\Temp\fooBD26.tmp", got L"\Users\winetest\AppData\Local\Temp\fooBD25.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3087: Test failed: got io status 0xdeadbeef file.c:3088: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3880: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3881: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:3885: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3919: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3948: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:3949: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:3983: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4016: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4017: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4047: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4048: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4059: Test failed: Link did not change casing on existing target file: got L"fooC40F.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4090: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4124: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4161: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4197: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4198: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4234: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4282: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4317: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4355: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4391: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4428: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4469: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4507: Test failed: res expected STATUS_OBJECT_NAME_COLLISION or STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4545: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4585: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4629: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4663: Test failed: res expected STATUS_OBJECT_NAME_COLLISION, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4696: Test failed: res expected STATUS_ACCESS_DENIED, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4730: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4763: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4764: Test failed: res expected STATUS_SUCCESS, got c0000003 file.c:4768: Test failed: file should exist file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4801: Test failed: got status c0000003 file.c:4806: Test failed: got io status 0xdeadbeef file.c:4807: Test failed: got status c0000003 file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef file.c:4832: Test failed: got status c0000003 file.c:4837: Test failed: got io status 0xdeadbeef file.c:4838: Test failed: got status c0000003 file.c:4846: Test failed: Link did not change casing on same file: got L"fooC706.tmp" file.c:1523: Test failed: can't set file disposition, status: c0000003 file.c:1524: Test failed: can't set file disposition, io.Status: deadbeef
=== w1064v1809 (64 bit report) ===
ntdll: file.c:2458: Test failed: res expected STATUS_SHARING_VIOLATION, got c0000022 file.c:4161: Test failed: res expected STATUS_SHARING_VIOLATION, got c00000bb file.c:4197: Test failed: io.Status expected STATUS_SUCCESS, got deadbeef file.c:4198: Test failed: res expected STATUS_ACCESS_DENIED, got c00000bb file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4469: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c00000bb file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4629: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c00000bb file.c:4730: Test failed: res expected STATUS_FILE_IS_A_DIRECTORY, got c00000bb
=== w1064_2qxl (64 bit report) ===
ntdll: file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef
=== w1064_adm (64 bit report) ===
ntdll: file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef
=== w1064_tsign (64 bit report) ===
ntdll: file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef
=== w10pro64 (64 bit report) ===
ntdll: file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef
=== w10pro64_en_AE_u8 (64 bit report) ===
ntdll: file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef
=== w10pro64_ar (64 bit report) ===
ntdll: file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef
=== w10pro64_ja (64 bit report) ===
ntdll: file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef
=== w10pro64_zh_CN (64 bit report) ===
ntdll: file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef
=== w11pro64_amd (64 bit report) ===
ntdll: file.c:4232: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4280: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4315: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4353: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4389: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4426: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4467: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4505: Test failed: io.Status expected 0xdeadbeef, got deadbeef file.c:4543: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4583: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef file.c:4627: Test failed: io.Status expected STATUS_FILE_IS_A_DIRECTORY, got deadbeef
That's way too many changes for a single MR, please split it.
This merge request was closed by Joel Holdsworth.
Ok, I replaced this with !3817 to start.