1 /*
2  * PROJECT:         ReactOS kernel-mode tests
3  * LICENSE:         GPLv2+ - See COPYING in the top level directory
4  * PURPOSE:         Kernel-Mode Test Suite CcSetFileSizes test user-mode part
5  * PROGRAMMER:      Pierre Schweitzer <pierre@reactos.org>
6  */
7 
8 #include <kmt_test.h>
9 
10 #define IOCTL_START_TEST  1
11 #define IOCTL_FINISH_TEST 2
12 
13 START_TEST(CcSetFileSizes)
14 {
15     DWORD Ret;
16     ULONG TestId;
17 
18     Ret = KmtLoadAndOpenDriver(L"CcSetFileSizes", FALSE);
19     ok_eq_int(Ret, ERROR_SUCCESS);
20     if (Ret)
21         return;
22 
23     /* 0: mapped data - only FS
24      * 1: copy read - only FS
25      * 2: mapped data - FS & AS
26      * 3: copy read - FS & AS
27      * 4: dirty VACB - only FS
28      * 5: dirty VACB - FS & AS
29      * 6: CcSetFileSizes with mapped data at tail of file
30      */
31     for (TestId = 0; TestId < 7; ++TestId)
32     {
33         Ret = KmtSendUlongToDriver(IOCTL_START_TEST, TestId);
34         ok(Ret == ERROR_SUCCESS, "KmtSendUlongToDriver failed: %lx\n", Ret);
35         Ret = KmtSendUlongToDriver(IOCTL_FINISH_TEST, TestId);
36         ok(Ret == ERROR_SUCCESS, "KmtSendUlongToDriver failed: %lx\n", Ret);
37     }
38 
39     KmtCloseDriver();
40     KmtUnloadDriver();
41 }
42