winfsp-tests: rdwr-test

This commit is contained in:
Bill Zissimopoulos 2016-03-06 11:19:39 -08:00
parent a3abbc0eb5
commit ad9dafbaaa
5 changed files with 59 additions and 5 deletions

View File

@ -186,6 +186,7 @@
<ClCompile Include="..\..\..\tst\winfsp-tests\memfs.cpp" />
<ClCompile Include="..\..\..\tst\winfsp-tests\mount-test.c" />
<ClCompile Include="..\..\..\tst\winfsp-tests\path-test.c" />
<ClCompile Include="..\..\..\tst\winfsp-tests\rdwr-test.c" />
<ClCompile Include="..\..\..\tst\winfsp-tests\security-test.c" />
<ClCompile Include="..\..\..\tst\winfsp-tests\timeout-test.c" />
<ClCompile Include="..\..\..\tst\winfsp-tests\winfsp-tests.c" />

View File

@ -40,6 +40,9 @@
<ClCompile Include="..\..\..\tst\winfsp-tests\security-test.c">
<Filter>Source</Filter>
</ClCompile>
<ClCompile Include="..\..\..\tst\winfsp-tests\rdwr-test.c">
<Filter>Source</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\ext\tlib\testsuite.h">

View File

@ -193,6 +193,11 @@ BOOLEAN MemfsFileNodeMapHasChild(MEMFS_FILE_NODE_MAP *FileNodeMap, MEMFS_FILE_NO
return Result;
}
static NTSTATUS SetFileSize(FSP_FILE_SYSTEM *FileSystem,
FSP_FSCTL_TRANSACT_REQ *Request,
PVOID FileNode0, UINT64 FileSize,
FSP_FSCTL_FILE_INFO *FileInfo);
static NTSTATUS GetVolumeInfo(FSP_FILE_SYSTEM *FileSystem,
FSP_FSCTL_TRANSACT_REQ *Request,
FSP_FSCTL_VOLUME_INFO *VolumeInfo)
@ -481,7 +486,7 @@ static NTSTATUS GetFileInfo(FSP_FILE_SYSTEM *FileSystem,
return STATUS_SUCCESS;
}
NTSTATUS SetBasicInfo(FSP_FILE_SYSTEM *FileSystem,
static NTSTATUS SetBasicInfo(FSP_FILE_SYSTEM *FileSystem,
FSP_FSCTL_TRANSACT_REQ *Request,
PVOID FileNode0, UINT32 FileAttributes,
UINT64 CreationTime, UINT64 LastAccessTime, UINT64 LastWriteTime,
@ -503,7 +508,7 @@ NTSTATUS SetBasicInfo(FSP_FILE_SYSTEM *FileSystem,
return STATUS_SUCCESS;
}
NTSTATUS SetAllocationSize(FSP_FILE_SYSTEM *FileSystem,
static NTSTATUS SetAllocationSize(FSP_FILE_SYSTEM *FileSystem,
FSP_FSCTL_TRANSACT_REQ *Request,
PVOID FileNode0, UINT64 AllocationSize,
FSP_FSCTL_FILE_INFO *FileInfo)
@ -533,7 +538,7 @@ NTSTATUS SetAllocationSize(FSP_FILE_SYSTEM *FileSystem,
return STATUS_SUCCESS;
}
NTSTATUS SetFileSize(FSP_FILE_SYSTEM *FileSystem,
static NTSTATUS SetFileSize(FSP_FILE_SYSTEM *FileSystem,
FSP_FSCTL_TRANSACT_REQ *Request,
PVOID FileNode0, UINT64 FileSize,
FSP_FSCTL_FILE_INFO *FileInfo)
@ -563,7 +568,7 @@ NTSTATUS SetFileSize(FSP_FILE_SYSTEM *FileSystem,
return STATUS_SUCCESS;
}
NTSTATUS CanDelete(FSP_FILE_SYSTEM *FileSystem,
static NTSTATUS CanDelete(FSP_FILE_SYSTEM *FileSystem,
FSP_FSCTL_TRANSACT_REQ *Request,
PVOID FileNode0, PWSTR FileName)
{
@ -578,7 +583,7 @@ NTSTATUS CanDelete(FSP_FILE_SYSTEM *FileSystem,
return STATUS_SUCCESS;
}
NTSTATUS Rename(FSP_FILE_SYSTEM *FileSystem,
static NTSTATUS Rename(FSP_FILE_SYSTEM *FileSystem,
FSP_FSCTL_TRANSACT_REQ *Request,
PVOID FileNode0,
PWSTR FileName, PWSTR NewFileName, BOOLEAN ReplaceIfExists)

View File

@ -0,0 +1,44 @@
#include <winfsp/winfsp.h>
#include <tlib/testsuite.h>
#include "memfs.h"
void *memfs_start_ex(ULONG Flags, ULONG FileInfoTimeout);
void *memfs_start(ULONG Flags);
void memfs_stop(void *data);
PWSTR memfs_volumename(void *data);
extern int NtfsTests;
extern int WinFspDiskTests;
extern int WinFspNetTests;
void rdwr_noncached_dotest(ULONG Flags, PWSTR Prefix, ULONG FileInfoTimeout)
{
void *memfs = memfs_start_ex(Flags, FileInfoTimeout);
memfs_stop(memfs);
}
void rdwr_noncached_test(void)
{
if (NtfsTests)
{
WCHAR DirBuf[MAX_PATH] = L"\\\\?\\";
GetCurrentDirectoryW(MAX_PATH - 4, DirBuf + 4);
rdwr_noncached_dotest(-1, DirBuf, 0);
}
if (WinFspDiskTests)
{
rdwr_noncached_dotest(MemfsDisk, 0, 0);
rdwr_noncached_dotest(MemfsDisk, 0, 1000);
}
if (WinFspNetTests)
{
rdwr_noncached_dotest(MemfsNet, L"\\\\memfs\\share", 0);
rdwr_noncached_dotest(MemfsNet, L"\\\\memfs\\share", 1000);
}
}
void rdwr_tests(void)
{
TEST(rdwr_noncached_test);
}

View File

@ -13,6 +13,7 @@ int main(int argc, char *argv[])
TESTSUITE(create_tests);
TESTSUITE(info_tests);
TESTSUITE(security_tests);
TESTSUITE(rdwr_tests);
tlib_run_tests(argc, argv);
return 0;