[KMTESTS:MM]
authorPierre Schweitzer <pierre@reactos.org>
Sun, 27 Nov 2016 13:39:01 +0000 (13:39 +0000)
committerPierre Schweitzer <pierre@reactos.org>
Sun, 27 Nov 2016 13:39:01 +0000 (13:39 +0000)
Test FCB header fields: FileSize, ValidDataLength

CORE-11819
CORE-12475

svn path=/trunk/; revision=73395

rostests/kmtests/ntos_mm/NtCreateSection_drv.c

index bc84a16..dbbe7c9 100644 (file)
@@ -473,17 +473,30 @@ TestIrpHandler(
             }
             else
             {
             }
             else
             {
+                ULONG TestSize = 0;
+
                 ok(EOFInfo != NULL, "Null pointer!\n");
                 ok(Fcb != NULL, "Null pointer!\n");
                 ok_bool_false(IoStack->Parameters.SetFile.AdvanceOnly, "AdvanceOnly set!\n");
                 ok(EOFInfo->EndOfFile.QuadPart > Fcb->Header.AllocationSize.QuadPart, "New size smaller\n");
 
                 ok(EOFInfo != NULL, "Null pointer!\n");
                 ok(Fcb != NULL, "Null pointer!\n");
                 ok_bool_false(IoStack->Parameters.SetFile.AdvanceOnly, "AdvanceOnly set!\n");
                 ok(EOFInfo->EndOfFile.QuadPart > Fcb->Header.AllocationSize.QuadPart, "New size smaller\n");
 
+                if (Fcb->Header.AllocationSize.QuadPart != 0)
+                {
+                    TestSize = 512;
+                }
+
                 Fcb->Header.AllocationSize.QuadPart = EOFInfo->EndOfFile.QuadPart;
                 Fcb->Header.AllocationSize.QuadPart = EOFInfo->EndOfFile.QuadPart;
+                ok_eq_ulong(Fcb->Header.FileSize.QuadPart, TestSize);
+                ok_eq_ulong(Fcb->Header.ValidDataLength.QuadPart, TestSize);
+
                 if (CcIsFileCached(IoStack->FileObject))
                 {
                     CcSetFileSizes(IoStack->FileObject, (PCC_FILE_SIZES)(&(Fcb->Header.AllocationSize)));
                 }
 
                 if (CcIsFileCached(IoStack->FileObject))
                 {
                     CcSetFileSizes(IoStack->FileObject, (PCC_FILE_SIZES)(&(Fcb->Header.AllocationSize)));
                 }
 
+                ok_eq_ulong(Fcb->Header.FileSize.QuadPart, TestSize);
+                ok_eq_ulong(Fcb->Header.ValidDataLength.QuadPart, TestSize);
+
                 Status = STATUS_SUCCESS;
             }
         }
                 Status = STATUS_SUCCESS;
             }
         }