From f7c0236fc10e833b62e4f67c29c9093718f2facc Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Sat, 22 Dec 2018 12:42:05 +0100 Subject: [PATCH] [KMTESTS:CC] Add more tests for SetFileSizes These are covered by Thomas' patch. CORE-11819 --- modules/rostests/kmtests/ntos_cc/CcSetFileSizes_drv.c | 11 +++++++++-- .../rostests/kmtests/ntos_cc/CcSetFileSizes_user.c | 8 +++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/modules/rostests/kmtests/ntos_cc/CcSetFileSizes_drv.c b/modules/rostests/kmtests/ntos_cc/CcSetFileSizes_drv.c index cc8840dc85d..3934b9d6a82 100644 --- a/modules/rostests/kmtests/ntos_cc/CcSetFileSizes_drv.c +++ b/modules/rostests/kmtests/ntos_cc/CcSetFileSizes_drv.c @@ -171,13 +171,18 @@ PerformTest( Fcb->Header.FileSize.QuadPart = VACB_MAPPING_GRANULARITY - PAGE_SIZE; Fcb->Header.ValidDataLength.QuadPart = VACB_MAPPING_GRANULARITY - PAGE_SIZE; + if (TestId > 1 && TestId < 4) + { + Fcb->Header.AllocationSize.QuadPart = VACB_MAPPING_GRANULARITY - PAGE_SIZE; + } + KmtStartSeh(); CcInitializeCacheMap(TestFileObject, (PCC_FILE_SIZES)&Fcb->Header.AllocationSize, TRUE, &Callbacks, NULL); KmtEndSeh(STATUS_SUCCESS); if (!skip(CcIsFileCached(TestFileObject) == TRUE, "CcInitializeCacheMap failed\n")) { - if (TestId == 0) + if (TestId == 0 || TestId == 2) { Offset.QuadPart = 0; KmtStartSeh(); @@ -194,6 +199,7 @@ PerformTest( CcSetFileSizes(TestFileObject, &NewFileSizes); KmtEndSeh(STATUS_SUCCESS); + Fcb->Header.AllocationSize.QuadPart = VACB_MAPPING_GRANULARITY; Fcb->Header.FileSize.QuadPart = VACB_MAPPING_GRANULARITY; Offset.QuadPart = 0; @@ -208,7 +214,7 @@ PerformTest( CcUnpinData(Bcb); } } - else if (TestId == 1) + else if (TestId == 1 || TestId == 3) { Buffer = ExAllocatePool(NonPagedPool, PAGE_SIZE); if (!skip(Buffer != NULL, "ExAllocatePool failed\n")) @@ -226,6 +232,7 @@ PerformTest( CcSetFileSizes(TestFileObject, &NewFileSizes); KmtEndSeh(STATUS_SUCCESS); + Fcb->Header.AllocationSize.QuadPart = VACB_MAPPING_GRANULARITY; Fcb->Header.FileSize.QuadPart = VACB_MAPPING_GRANULARITY; RtlZeroMemory(Buffer, PAGE_SIZE); diff --git a/modules/rostests/kmtests/ntos_cc/CcSetFileSizes_user.c b/modules/rostests/kmtests/ntos_cc/CcSetFileSizes_user.c index 6e8a11dfff7..121598444ca 100644 --- a/modules/rostests/kmtests/ntos_cc/CcSetFileSizes_user.c +++ b/modules/rostests/kmtests/ntos_cc/CcSetFileSizes_user.c @@ -18,10 +18,12 @@ START_TEST(CcSetFileSizes) KmtLoadDriver(L"CcSetFileSizes", FALSE); KmtOpenDriver(); - /* 0: mapped data - * 1: copy read + /* 0: mapped data - only FS + * 1: copy read - only FS + * 2: mapped data - FS & AS + * 3: copy read - FS & AS */ - for (TestId = 0; TestId < 2; ++TestId) + for (TestId = 0; TestId < 4; ++TestId) { Ret = KmtSendUlongToDriver(IOCTL_START_TEST, TestId); ok(Ret == ERROR_SUCCESS, "KmtSendUlongToDriver failed: %lx\n", Ret); -- 2.17.1