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