From e8cba8dd81a935e6dcfce1c22384e4ae5dbe46c5 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Wed, 20 Jan 2016 19:48:42 -0800 Subject: [PATCH] winfsp-tests: create_test --- tst/winfsp-tests/create-test.c | 44 ++++++++++++++++++++++++++++++--- tst/winfsp-tests/mount-test.c | 2 +- tst/winfsp-tests/timeout-test.c | 4 +-- 3 files changed, 44 insertions(+), 6 deletions(-) diff --git a/tst/winfsp-tests/create-test.c b/tst/winfsp-tests/create-test.c index 59703820..10629b67 100644 --- a/tst/winfsp-tests/create-test.c +++ b/tst/winfsp-tests/create-test.c @@ -36,16 +36,54 @@ void create_dotest(ULONG Flags, PWSTR Prefix) CloseHandle(Handle); Handle = CreateFileW(FilePath, - GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, CREATE_ALWAYS, - FILE_ATTRIBUTE_HIDDEN | FILE_FLAG_DELETE_ON_CLOSE, 0); + GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_FLAG_DELETE_ON_CLOSE, 0); ASSERT(INVALID_HANDLE_VALUE != Handle); CloseHandle(Handle); Handle = CreateFileW(FilePath, - GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); + GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_FLAG_DELETE_ON_CLOSE, 0); ASSERT(INVALID_HANDLE_VALUE == Handle); ASSERT(ERROR_FILE_NOT_FOUND == GetLastError()); +#if 0 + StringCbPrintfW(FilePath, sizeof FilePath, L"%s%s\\dir1", + Prefix ? L"" : L"\\\\?\\GLOBALROOT", Prefix ? Prefix : memfs_volumename(memfs)); + + Success = CreateDirectory(FilePath, 0); + ASSERT(Success); + + Success = CreateDirectory(FilePath, 0); + ASSERT(!Success); + + StringCbPrintfW(FilePath, sizeof FilePath, L"%s%s\\dir1\\file2", + Prefix ? L"" : L"\\\\?\\GLOBALROOT", Prefix ? Prefix : memfs_volumename(memfs)); + + Handle = CreateFileW(FilePath, + GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0); + ASSERT(INVALID_HANDLE_VALUE != Handle); + CloseHandle(Handle); + + Handle = CreateFileW(FilePath, + GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_FLAG_DELETE_ON_CLOSE, 0); + ASSERT(INVALID_HANDLE_VALUE != Handle); + CloseHandle(Handle); + + StringCbPrintfW(FilePath, sizeof FilePath, L"%s%s\\dir1", + Prefix ? L"" : L"\\\\?\\GLOBALROOT", Prefix ? Prefix : memfs_volumename(memfs)); + + Handle = CreateFileW(FilePath, + GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, + FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_DELETE_ON_CLOSE, 0); + ASSERT(INVALID_HANDLE_VALUE != Handle); + CloseHandle(Handle); + + Handle = CreateFileW(FilePath, + GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, + FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_DELETE_ON_CLOSE, 0); + ASSERT(INVALID_HANDLE_VALUE == Handle); + ASSERT(ERROR_FILE_NOT_FOUND == GetLastError()); +#endif + memfs_stop(memfs); } diff --git a/tst/winfsp-tests/mount-test.c b/tst/winfsp-tests/mount-test.c index b5c1a582..22b308fe 100644 --- a/tst/winfsp-tests/mount-test.c +++ b/tst/winfsp-tests/mount-test.c @@ -196,7 +196,7 @@ void mount_volume_transact_dotest(PWSTR DeviceName, PWSTR Prefix) ASSERT(0 != Request->Hint); ASSERT(FspFsctlTransactCreateKind == Request->Kind); ASSERT(FILE_CREATE == ((Request->Req.Create.CreateOptions >> 24) & 0xff)); - ASSERT(FILE_ATTRIBUTE_NORMAL == Request->Req.Create.FileAttributes); + ASSERT(0 == Request->Req.Create.FileAttributes); ASSERT(0 == Request->Req.Create.SecurityDescriptor.Offset); ASSERT(0 == Request->Req.Create.SecurityDescriptor.Size); ASSERT(0 == Request->Req.Create.AllocationSize); diff --git a/tst/winfsp-tests/timeout-test.c b/tst/winfsp-tests/timeout-test.c index dadaa0fd..5e4b37cd 100644 --- a/tst/winfsp-tests/timeout-test.c +++ b/tst/winfsp-tests/timeout-test.c @@ -94,7 +94,7 @@ void timeout_pending_dotest(PWSTR DeviceName) ASSERT(0 != Request->Hint); ASSERT(FspFsctlTransactCreateKind == Request->Kind); ASSERT(FILE_CREATE == ((Request->Req.Create.CreateOptions >> 24) & 0xff)); - ASSERT(FILE_ATTRIBUTE_NORMAL == Request->Req.Create.FileAttributes); + ASSERT(0 == Request->Req.Create.FileAttributes); ASSERT(0 == Request->Req.Create.SecurityDescriptor.Offset); ASSERT(0 == Request->Req.Create.SecurityDescriptor.Size); ASSERT(0 == Request->Req.Create.AllocationSize); @@ -200,7 +200,7 @@ void timeout_transact_dotest(PWSTR DeviceName) ASSERT(0 != Request->Hint); ASSERT(FspFsctlTransactCreateKind == Request->Kind); ASSERT(FILE_CREATE == ((Request->Req.Create.CreateOptions >> 24) & 0xff)); - ASSERT(FILE_ATTRIBUTE_NORMAL == Request->Req.Create.FileAttributes); + ASSERT(0 == Request->Req.Create.FileAttributes); ASSERT(0 == Request->Req.Create.SecurityDescriptor.Offset); ASSERT(0 == Request->Req.Create.SecurityDescriptor.Size); ASSERT(0 == Request->Req.Create.AllocationSize);