This source file includes following definitions.
- START_PARAMETRIZED_TEST
- main
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 #define TEST_SUITE_NAME "/lib/vfs"
27
28 #include "tests/mctest.h"
29
30 #include <sys/stat.h>
31
32
33
34 #if defined(HAVE_STRUCT_STAT_ST_BLKSIZE) && defined(HAVE_STRUCT_STAT_ST_BLOCKS)
35 # define STRUCT_STAT(size, blksize, blocks) \
36 { \
37 .st_size = size, \
38 .st_blksize = blksize, \
39 .st_blocks = blocks, \
40 }
41 #elif defined(HAVE_STRUCT_STAT_ST_BLKSIZE)
42 # define STRUCT_STAT(st_blksize, st_blocks) \
43 { \
44 .st_size = size, \
45 .st_blksize = st_blksize, \
46 }
47 #elif defined(HAVE_STRUCT_STAT_ST_BLOCKS)
48 # define STRUCT_STAT(st_blksize, st_blocks) \
49 { \
50 .st_size = size, \
51 .st_blocks = st_blocks, \
52 }
53 #else
54 # define STRUCT_STAT(st_blksize, st_blocks) \
55 { \
56 .st_size = size, \
57 }
58 #endif
59
60
61 static const struct test_vfs_adjust_stat_ds
62 {
63 struct stat etalon_stat;
64 } test_vfs_adjust_stat_ds[] = {
65 { .etalon_stat = STRUCT_STAT (0, 512, 0) },
66 { .etalon_stat = STRUCT_STAT (4096, 512, 8) },
67 { .etalon_stat = STRUCT_STAT (4096, 1024, 8) },
68 { .etalon_stat = STRUCT_STAT (4096, 2048, 8) },
69 { .etalon_stat = STRUCT_STAT (4096, 4096, 8) },
70 { .etalon_stat = STRUCT_STAT (5000, 512, 10) },
71 { .etalon_stat = STRUCT_STAT (5000, 1024, 10) },
72 { .etalon_stat = STRUCT_STAT (5000, 2048, 12) },
73 { .etalon_stat = STRUCT_STAT (5000, 4096, 16) },
74 };
75
76 #undef STRUCT_STAT
77
78
79
80
81 START_PARAMETRIZED_TEST (test_vfs_adjust_stat, test_vfs_adjust_stat_ds)
82 {
83 #ifdef HAVE_STRUCT_STAT_ST_BLOCKS
84
85 struct stat expected_stat;
86
87 expected_stat.st_size = data->etalon_stat.st_size;
88 # ifdef HAVE_STRUCT_STAT_ST_BLKSIZE
89 expected_stat.st_blksize = data->etalon_stat.st_blksize;
90 # endif
91
92 vfs_adjust_stat (&expected_stat);
93
94
95 ck_assert_int_eq (data->etalon_stat.st_blocks, expected_stat.st_blocks);
96 #else
97 ck_assert_int_eq (0, 0);
98 #endif
99 }
100 END_PARAMETRIZED_TEST
101
102
103
104 int
105 main (void)
106 {
107 TCase *tc_core;
108
109 tc_core = tcase_create ("Core");
110
111
112 mctest_add_parameterized_test (tc_core, test_vfs_adjust_stat, test_vfs_adjust_stat_ds);
113
114
115 return mctest_run_all (tc_core);
116 }
117
118