[KMTESTS:FSRTL] Add a few more tests matching MS FastFAT.
authorPierre Schweitzer <pierre@reactos.org>
Wed, 21 Feb 2018 21:50:23 +0000 (22:50 +0100)
committerPierre Schweitzer <pierre@reactos.org>
Wed, 21 Feb 2018 21:53:30 +0000 (22:53 +0100)
CORE-11819

modules/rostests/kmtests/ntos_fsrtl/FsRtlMcb.c

index 54ead1c..8f833d6 100644 (file)
@@ -687,9 +687,38 @@ static VOID FsRtlLargeMcbTestsExt2()
     FsRtlUninitializeLargeMcb(&FirstMcb);
 }
 
+static VOID FsRtlLargeMcbTestsFastFat()
+{
+    LARGE_MCB FirstMcb;
+    LONGLONG Lbn, Vbn, SectorCount;
+    ULONG Index;
+    BOOLEAN Result;
+
+    FsRtlInitializeLargeMcb(&FirstMcb, PagedPool);
+
+    Lbn = -1;
+    SectorCount = -1;
+    Result = FsRtlLookupLargeMcbEntry(&FirstMcb, 8388607LL, &Lbn, &SectorCount, NULL, NULL, NULL);
+    ok(Result = TRUE, "Expected TRUE, got FALSE\n");
+    ok(Lbn == -1, "Expected Lbn 44, got: %I64d\n", Lbn);
+    ok(SectorCount == -1, "Expected SectorCount 44, got: %I64d\n", SectorCount);
+
+    Vbn = -1;
+    Lbn = -1;
+    Index = -1;
+    Result = FsRtlLookupLastLargeMcbEntryAndIndex(&FirstMcb, &Vbn, &Lbn, &Index);
+    ok(Result = TRUE, "Expected TRUE, got FALSE\n");
+    ok(Vbn == -1, "Expected Vbn 0, got: %I64d\n", Vbn);
+    ok(Lbn == -1, "Expected Lbn 0, got: %I64d\n", Lbn);
+    ok(Index == -1, "Expected Index 0, got: %d\n", Index);
+
+    FsRtlUninitializeLargeMcb(&FirstMcb);
+}
+
 START_TEST(FsRtlMcb)
 {
     FsRtlMcbTest();
     FsRtlLargeMcbTest();
     FsRtlLargeMcbTestsExt2();
+    FsRtlLargeMcbTestsFastFat();
 }