Nikolay Sivov : ntdll/tests: Add some tests for setting file times.
Alexandre Julliard
julliard at winehq.org
Fri Aug 9 14:49:31 CDT 2019
Module: wine
Branch: master
Commit: 3172b854ae1fc087d46734bdeedd00754b50961c
URL: https://source.winehq.org/git/wine.git/?a=commit;h=3172b854ae1fc087d46734bdeedd00754b50961c
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Fri Aug 9 09:50:33 2019 +0300
ntdll/tests: Add some tests for setting file times.
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/ntdll/tests/file.c | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
index 8e54dbb..63854b5 100644
--- a/dlls/ntdll/tests/file.c
+++ b/dlls/ntdll/tests/file.c
@@ -1313,8 +1313,8 @@ static void test_file_full_size_information(void)
static void test_file_basic_information(void)
{
+ FILE_BASIC_INFORMATION fbi, fbi2;
IO_STATUS_BLOCK io;
- FILE_BASIC_INFORMATION fbi;
HANDLE h;
int res;
int attrib_mask = FILE_ATTRIBUTE_SYSTEM | FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_NORMAL;
@@ -1328,6 +1328,30 @@ static void test_file_basic_information(void)
ok ( (fbi.FileAttributes & FILE_ATTRIBUTE_ARCHIVE) == FILE_ATTRIBUTE_ARCHIVE,
"attribute %x not expected\n", fbi.FileAttributes );
+ memset(&fbi2, 0, sizeof(fbi2));
+ fbi2.LastWriteTime.QuadPart = -1;
+ U(io).Status = 0xdeadbeef;
+ res = pNtSetInformationFile(h, &io, &fbi2, sizeof fbi2, FileBasicInformation);
+todo_wine {
+ ok ( res == STATUS_SUCCESS, "can't set system attribute, NtSetInformationFile returned %x\n", res );
+ ok ( U(io).Status == STATUS_SUCCESS, "can't set system attribute, io.Status is %x\n", U(io).Status );
+}
+ memset(&fbi2, 0, sizeof(fbi2));
+ res = pNtQueryInformationFile(h, &io, &fbi2, sizeof fbi2, FileBasicInformation);
+ ok ( res == STATUS_SUCCESS, "can't get attributes, res %x\n", res);
+ ok ( fbi2.LastWriteTime.QuadPart == fbi.LastWriteTime.QuadPart, "unexpected write time.\n");
+
+ memset(&fbi2, 0, sizeof(fbi2));
+ U(io).Status = 0xdeadbeef;
+ res = pNtSetInformationFile(h, &io, &fbi2, sizeof fbi2, FileBasicInformation);
+ ok ( res == STATUS_SUCCESS, "can't set system attribute, NtSetInformationFile returned %x\n", res );
+ ok ( U(io).Status == STATUS_SUCCESS, "can't set system attribute, io.Status is %x\n", U(io).Status );
+
+ memset(&fbi2, 0, sizeof(fbi2));
+ res = pNtQueryInformationFile(h, &io, &fbi2, sizeof fbi2, FileBasicInformation);
+ ok ( res == STATUS_SUCCESS, "can't get attributes, res %x\n", res);
+ ok ( fbi2.LastWriteTime.QuadPart == fbi.LastWriteTime.QuadPart, "unexpected write time.\n");
+
/* Then SYSTEM */
/* Clear fbi to avoid setting times */
memset(&fbi, 0, sizeof(fbi));
More information about the wine-cvs
mailing list