mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-22 16:33:02 -05:00
tst: winfsp-tests: refactoring/fixes when running --ntfs/--external tests
This commit is contained in:
parent
ac4828ec11
commit
4c6a61d2c9
@ -207,8 +207,8 @@ void create_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
create_dotest(-1, DirBuf);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -268,8 +268,8 @@ void create_related_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
create_related_dotest(-1, DirBuf);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -378,8 +378,8 @@ void create_sd_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
create_sd_dotest(-1, DirBuf);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -495,8 +495,8 @@ void create_notraverse_test(void)
|
||||
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
create_notraverse_dotest(-1, DirBuf);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -609,8 +609,8 @@ void create_backup_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
create_backup_dotest(-1, DirBuf);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -742,8 +742,8 @@ void create_restore_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
create_restore_dotest(-1, DirBuf);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -816,8 +816,8 @@ void create_share_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
create_share_dotest(-1, DirBuf);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -833,9 +833,8 @@ void create_curdir_dotest(ULONG Flags, PWSTR Prefix)
|
||||
WCHAR CurrentDirectory[MAX_PATH], FilePath[MAX_PATH];
|
||||
BOOL Success;
|
||||
|
||||
StringCbPrintfW(FilePath, sizeof FilePath, L"%s%s%s",
|
||||
Prefix ? L"" : L"\\\\?\\GLOBALROOT", Prefix ? Prefix : memfs_volumename(memfs),
|
||||
Prefix ? L"" : L"\\");
|
||||
StringCbPrintfW(FilePath, sizeof FilePath, L"%s%s\\",
|
||||
Prefix ? L"" : L"\\\\?\\GLOBALROOT", Prefix ? Prefix : memfs_volumename(memfs));
|
||||
|
||||
Success = GetCurrentDirectoryW(MAX_PATH, CurrentDirectory);
|
||||
ASSERT(Success);
|
||||
@ -853,8 +852,8 @@ void create_curdir_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
create_curdir_dotest(-1, DirBuf);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
|
@ -243,8 +243,8 @@ void querydir_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
querydir_dotest(-1, DirBuf, 0, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -394,8 +394,8 @@ void querydir_buffer_overflow_test(void)
|
||||
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
querydir_buffer_overflow_dotest(-1, DirBuf, 0, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -522,8 +522,8 @@ void dirnotify_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
dirnotify_dotest(-1, DirBuf, 0, 0);
|
||||
}
|
||||
if (WinFspDiskTests && !OptNoTraverseToken
|
||||
|
@ -234,11 +234,11 @@ void flush_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
flush_dotest(-1, L"C:", DirBuf, 0, 0, FALSE);
|
||||
flush_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_WRITE_THROUGH, FALSE);
|
||||
flush_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_NO_BUFFERING, FALSE);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
flush_dotest(-1, DriveBuf, DirBuf, 0, 0, FALSE);
|
||||
flush_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_WRITE_THROUGH, FALSE);
|
||||
flush_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_NO_BUFFERING, FALSE);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
|
@ -143,8 +143,8 @@ void getfileinfo_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
getfileinfo_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -244,8 +244,8 @@ void getfileinfo_name_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
getfileinfo_name_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -327,8 +327,8 @@ void setfileinfo_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
setfileinfo_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -392,8 +392,8 @@ void delete_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
delete_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -463,8 +463,8 @@ void delete_access_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
delete_access_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -575,8 +575,8 @@ void rename_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
rename_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -648,8 +648,8 @@ void rename_caseins_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
rename_caseins_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -762,8 +762,8 @@ void rename_flipflop_test(void)
|
||||
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
rename_flipflop_dotest(-1, DirBuf, 0, 10);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -846,7 +846,11 @@ void getvolinfo_dotest(ULONG Flags, PWSTR Prefix, ULONG FileInfoTimeout)
|
||||
void getvolinfo_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
getvolinfo_dotest(-1, L"C:", 0);
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
getvolinfo_dotest(-1, DriveBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
getvolinfo_dotest(MemfsDisk, 0, 0);
|
||||
@ -938,7 +942,11 @@ void setvolinfo_test(void)
|
||||
{
|
||||
#if 0
|
||||
if (NtfsTests)
|
||||
setvolinfo_dotest(-1, L"C:", 0);
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
setvolinfo_dotest(-1, DriveBuf, 0);
|
||||
}
|
||||
#endif
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
|
@ -475,9 +475,9 @@ void lock_noncached_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
lock_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_NO_BUFFERING);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
lock_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_NO_BUFFERING);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
@ -495,9 +495,9 @@ void lock_noncached_overlapped_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
lock_overlapped_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_NO_BUFFERING);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
lock_overlapped_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_NO_BUFFERING);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
@ -515,9 +515,9 @@ void lock_cached_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
lock_dotest(-1, L"C:", DirBuf, 0, 0);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
lock_dotest(-1, DriveBuf, DirBuf, 0, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
@ -535,9 +535,9 @@ void lock_cached_overlapped_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
lock_overlapped_dotest(-1, L"C:", DirBuf, 0, 0);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
lock_overlapped_dotest(-1, DriveBuf, DirBuf, 0, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
|
@ -820,9 +820,9 @@ void rdwr_noncached_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
rdwr_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_NO_BUFFERING);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
rdwr_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_NO_BUFFERING);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
@ -845,9 +845,9 @@ void rdwr_noncached_append_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
rdwr_append_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_NO_BUFFERING);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
rdwr_append_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_NO_BUFFERING);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
@ -866,9 +866,9 @@ void rdwr_noncached_overlapped_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
rdwr_overlapped_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_NO_BUFFERING);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
rdwr_overlapped_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_NO_BUFFERING);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
@ -886,9 +886,9 @@ void rdwr_cached_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
rdwr_dotest(-1, L"C:", DirBuf, 0, 0);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
rdwr_dotest(-1, DriveBuf, DirBuf, 0, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
@ -906,9 +906,9 @@ void rdwr_cached_append_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
rdwr_append_dotest(-1, L"C:", DirBuf, 0, 0);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
rdwr_append_dotest(-1, DriveBuf, DirBuf, 0, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
@ -926,9 +926,9 @@ void rdwr_cached_overlapped_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
rdwr_overlapped_dotest(-1, L"C:", DirBuf, 0, 0);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
rdwr_overlapped_dotest(-1, DriveBuf, DirBuf, 0, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
@ -946,9 +946,9 @@ void rdwr_writethru_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
rdwr_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_WRITE_THROUGH);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
rdwr_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_WRITE_THROUGH);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
@ -966,9 +966,9 @@ void rdwr_writethru_append_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
rdwr_append_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_WRITE_THROUGH);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
rdwr_append_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_WRITE_THROUGH);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
@ -986,9 +986,9 @@ void rdwr_writethru_overlapped_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
rdwr_overlapped_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_WRITE_THROUGH);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
rdwr_overlapped_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_WRITE_THROUGH);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
@ -1006,14 +1006,14 @@ void rdwr_mmap_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
rdwr_mmap_dotest(-1, L"C:", DirBuf, 0, 0, FALSE);
|
||||
rdwr_mmap_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_NO_BUFFERING, FALSE);
|
||||
rdwr_mmap_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_WRITE_THROUGH, FALSE);
|
||||
rdwr_mmap_dotest(-1, L"C:", DirBuf, 0, 0, TRUE);
|
||||
rdwr_mmap_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_NO_BUFFERING, TRUE);
|
||||
rdwr_mmap_dotest(-1, L"C:", DirBuf, 0, FILE_FLAG_WRITE_THROUGH, TRUE);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
rdwr_mmap_dotest(-1, DriveBuf, DirBuf, 0, 0, FALSE);
|
||||
rdwr_mmap_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_NO_BUFFERING, FALSE);
|
||||
rdwr_mmap_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_WRITE_THROUGH, FALSE);
|
||||
rdwr_mmap_dotest(-1, DriveBuf, DirBuf, 0, 0, TRUE);
|
||||
rdwr_mmap_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_NO_BUFFERING, TRUE);
|
||||
rdwr_mmap_dotest(-1, DriveBuf, DirBuf, 0, FILE_FLAG_WRITE_THROUGH, TRUE);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
@ -1081,9 +1081,9 @@ void rdwr_mixed_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
rdwr_mixed_dotest(-1, L"C:", DirBuf, 0);
|
||||
WCHAR DirBuf[MAX_PATH], DriveBuf[3];
|
||||
GetTestDirectoryAndDrive(DirBuf, DriveBuf);
|
||||
rdwr_mixed_dotest(-1, DriveBuf, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
{
|
||||
|
@ -112,8 +112,8 @@ void reparse_guid_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
reparse_guid_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -215,8 +215,8 @@ void reparse_nfs_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
reparse_nfs_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -322,8 +322,8 @@ void reparse_symlink_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
reparse_symlink_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -535,8 +535,8 @@ void reparse_symlink_relative_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
reparse_symlink_relative_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
|
@ -113,8 +113,8 @@ void getsecurity_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
getsecurity_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -241,8 +241,8 @@ void setsecurity_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
setsecurity_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
|
@ -344,8 +344,8 @@ static void stream_create_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
stream_create_dotest(-1, DirBuf);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -404,8 +404,8 @@ static void stream_create_related_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
stream_create_related_dotest(-1, DirBuf);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -493,8 +493,8 @@ static void stream_create_sd_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
stream_create_sd_dotest(-1, DirBuf);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -806,8 +806,8 @@ static void stream_create_share_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
stream_create_share_dotest(-1, DirBuf);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -1040,8 +1040,8 @@ static void stream_getfileinfo_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
stream_getfileinfo_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -1174,8 +1174,8 @@ static void stream_setfileinfo_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
stream_setfileinfo_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -1257,8 +1257,8 @@ static void stream_delete_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
stream_delete_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -1373,8 +1373,8 @@ static void stream_delete_pending_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
stream_delete_pending_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -1487,8 +1487,8 @@ static void stream_rename_flipflop_test(void)
|
||||
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
stream_rename_flipflop_dotest(-1, DirBuf, 0, 10);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -1660,8 +1660,8 @@ static void stream_getsecurity_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
stream_getsecurity_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -1792,8 +1792,8 @@ static void stream_setsecurity_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
stream_setsecurity_dotest(-1, DirBuf, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -2007,8 +2007,8 @@ void stream_getstreaminfo_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
stream_getstreaminfo_dotest(-1, DirBuf, 0, 0);
|
||||
}
|
||||
if (WinFspDiskTests)
|
||||
@ -2145,8 +2145,8 @@ void stream_dirnotify_test(void)
|
||||
{
|
||||
if (NtfsTests)
|
||||
{
|
||||
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
|
||||
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
|
||||
WCHAR DirBuf[MAX_PATH];
|
||||
GetTestDirectory(DirBuf);
|
||||
stream_dirnotify_dotest(-1, DirBuf, 0, 0);
|
||||
}
|
||||
if (WinFspDiskTests && !OptNoTraverseToken
|
||||
|
@ -38,9 +38,6 @@ WCHAR OptShareNameBuf[MAX_PATH], *OptShareName, *OptShareTarget;
|
||||
HANDLE OptNoTraverseToken = 0;
|
||||
LUID OptNoTraverseLuid;
|
||||
|
||||
static WCHAR CurrentDirectory[MAX_PATH];
|
||||
static PWSTR TestDirectory = L"winfsp-tests";
|
||||
|
||||
static void exiting(void);
|
||||
|
||||
int mywcscmp(PWSTR a, int alen, PWSTR b, int blen)
|
||||
@ -78,6 +75,34 @@ int myrand(void)
|
||||
return (myrandseed >> 16) & RAND_MAX;
|
||||
}
|
||||
|
||||
VOID GetTestDirectoryEx(PWSTR DirBuf, ULONG DirBufSize, PWSTR DriveBuf)
|
||||
{
|
||||
DirBufSize /= sizeof(WCHAR);
|
||||
if (MAX_PATH > DirBufSize)
|
||||
ABORT("test directory buffer must be at least MAX_PATH long");
|
||||
|
||||
DWORD Result = GetCurrentDirectoryW(DirBufSize - 4, DirBuf + 4);
|
||||
if (0 == Result || Result >= DirBufSize - 4)
|
||||
ABORT("GetCurrentDirectoryW failed");
|
||||
|
||||
if (!testalpha(DirBuf[4]) || L':' != DirBuf[5])
|
||||
ABORT("--ntfs/--external tests must be run from a drive");
|
||||
|
||||
DirBuf[0] = L'\\';
|
||||
DirBuf[1] = L'\\';
|
||||
DirBuf[2] = L'?';
|
||||
DirBuf[3] = L'\\';
|
||||
if (L'\\' == DirBuf[6] && L'\0' == DirBuf[7])
|
||||
DirBuf[6] = L'\0';
|
||||
|
||||
if (0 != DriveBuf)
|
||||
{
|
||||
DriveBuf[0] = DirBuf[4];
|
||||
DriveBuf[1] = L':';
|
||||
DriveBuf[2] = L'\0';
|
||||
}
|
||||
}
|
||||
|
||||
static VOID DisableBackupRestorePrivileges(VOID)
|
||||
{
|
||||
union
|
||||
@ -255,20 +280,6 @@ int main(int argc, char *argv[])
|
||||
|
||||
myrandseed = (unsigned)time(0);
|
||||
|
||||
if (NtfsTests)
|
||||
{
|
||||
if (!GetCurrentDirectoryW(MAX_PATH, CurrentDirectory))
|
||||
ABORT("cannot get test directory");
|
||||
|
||||
/* create a directory for testing */
|
||||
if (!CreateDirectoryW(TestDirectory, 0))
|
||||
ABORT("cannot create test directory");
|
||||
|
||||
/* change into the directory */
|
||||
if (!SetCurrentDirectoryW(TestDirectory))
|
||||
ABORT("cannot change to test directory");
|
||||
}
|
||||
|
||||
tlib_run_tests(argc, argv);
|
||||
return 0;
|
||||
}
|
||||
@ -277,11 +288,5 @@ static void exiting(void)
|
||||
{
|
||||
OutputDebugStringA("winfsp-tests: exiting\n");
|
||||
|
||||
if (NtfsTests)
|
||||
{
|
||||
if (SetCurrentDirectoryW(CurrentDirectory))
|
||||
RemoveDirectoryW(TestDirectory);
|
||||
}
|
||||
|
||||
RemoveNetShareIfNeeded();
|
||||
}
|
||||
|
@ -129,6 +129,10 @@ PWSTR memfs_volumename(void *data);
|
||||
int mywcscmp(PWSTR a, int alen, PWSTR b, int blen);
|
||||
int myrand(void);
|
||||
|
||||
#define GetTestDirectory(D) GetTestDirectoryEx(DirBuf, sizeof DirBuf, 0)
|
||||
#define GetTestDirectoryAndDrive(D,V) GetTestDirectoryEx(DirBuf, sizeof DirBuf, V)
|
||||
VOID GetTestDirectoryEx(PWSTR DirBuf, ULONG DirBufSize, PWSTR DriveBuf);
|
||||
|
||||
extern int NtfsTests;
|
||||
extern int WinFspDiskTests;
|
||||
extern int WinFspNetTests;
|
||||
|
Loading…
x
Reference in New Issue
Block a user