diff options
Diffstat (limited to 'lib/tests')
-rw-r--r-- | lib/tests/test_disk.c | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/lib/tests/test_disk.c b/lib/tests/test_disk.c index ac9db00..fcde4f8 100644 --- a/lib/tests/test_disk.c +++ b/lib/tests/test_disk.c | |||
@@ -36,14 +36,15 @@ main (int argc, char **argv) | |||
36 | struct name_list *dummy_mountlist = NULL; | 36 | struct name_list *dummy_mountlist = NULL; |
37 | struct name_list *temp_name; | 37 | struct name_list *temp_name; |
38 | struct parameter_list *paths = NULL; | 38 | struct parameter_list *paths = NULL; |
39 | struct parameter_list *p; | 39 | struct parameter_list *p, *prev, *last; |
40 | 40 | ||
41 | struct mount_entry *dummy_mount_list; | 41 | struct mount_entry *dummy_mount_list; |
42 | struct mount_entry *me; | 42 | struct mount_entry *me; |
43 | struct mount_entry **mtail = &dummy_mount_list; | 43 | struct mount_entry **mtail = &dummy_mount_list; |
44 | int cflags = REG_NOSUB | REG_EXTENDED; | 44 | int cflags = REG_NOSUB | REG_EXTENDED; |
45 | int found = 0, count = 0; | ||
45 | 46 | ||
46 | plan_tests(29); | 47 | plan_tests(33); |
47 | 48 | ||
48 | ok( np_find_name(exclude_filesystem, "/var/log") == FALSE, "/var/log not in list"); | 49 | ok( np_find_name(exclude_filesystem, "/var/log") == FALSE, "/var/log not in list"); |
49 | np_add_name(&exclude_filesystem, "/var/log"); | 50 | np_add_name(&exclude_filesystem, "/var/log"); |
@@ -160,6 +161,46 @@ main (int argc, char **argv) | |||
160 | } | 161 | } |
161 | } | 162 | } |
162 | 163 | ||
164 | /* test deleting first element in paths */ | ||
165 | paths = np_del_parameter(paths, NULL); | ||
166 | for (p = paths; p; p = p->name_next) { | ||
167 | if (! strcmp(p->name, "/home/groups")) | ||
168 | found = 1; | ||
169 | } | ||
170 | ok(found == 0, "first element successfully deleted"); | ||
171 | found = 0; | ||
172 | |||
173 | p=paths; | ||
174 | while (p) { | ||
175 | if (! strcmp(p->name, "/tmp")) | ||
176 | p = np_del_parameter(p, prev); | ||
177 | else { | ||
178 | prev = p; | ||
179 | p = p->name_next; | ||
180 | } | ||
181 | } | ||
182 | |||
183 | for (p = paths; p; p = p->name_next) { | ||
184 | if (! strcmp(p->name, "/tmp")) | ||
185 | found = 1; | ||
186 | if (p->name_next) | ||
187 | prev = p; | ||
188 | else | ||
189 | last = p; | ||
190 | } | ||
191 | ok(found == 0, "/tmp element successfully deleted"); | ||
192 | |||
193 | p = np_del_parameter(last, prev); | ||
194 | for (p = paths; p; p = p->name_next) { | ||
195 | if (! strcmp(p->name, "/home")) | ||
196 | found = 1; | ||
197 | last = p; | ||
198 | count++; | ||
199 | } | ||
200 | ok(found == 0, "last (/home) element successfully deleted"); | ||
201 | ok(count == 2, "two elements remaining"); | ||
202 | |||
203 | |||
163 | return exit_status(); | 204 | return exit_status(); |
164 | } | 205 | } |
165 | 206 | ||