From d23b17e6567d8eb983956b36b31a383f3cc639d2 Mon Sep 17 00:00:00 2001 From: Matthias Eble Date: Sat, 22 Sep 2007 17:40:35 +0000 Subject: Added -i/-I to ignore pathes/partitions based on regular expressions Added check_disk -A selecting all filesystems -E option must now be passed before -p or -r/-R Passing -E after -p or -r results in UNKNOWN state Fixed bug when mixing case sensitive and insensitive regexes git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1786 f882894a-f735-0410-b71e-b25c423dba1c --- lib/tests/test_disk.c | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) (limited to 'lib/tests') diff --git a/lib/tests/test_disk.c b/lib/tests/test_disk.c index ac9db005..fcde4f85 100644 --- a/lib/tests/test_disk.c +++ b/lib/tests/test_disk.c @@ -36,14 +36,15 @@ main (int argc, char **argv) struct name_list *dummy_mountlist = NULL; struct name_list *temp_name; struct parameter_list *paths = NULL; - struct parameter_list *p; + struct parameter_list *p, *prev, *last; struct mount_entry *dummy_mount_list; struct mount_entry *me; struct mount_entry **mtail = &dummy_mount_list; int cflags = REG_NOSUB | REG_EXTENDED; + int found = 0, count = 0; - plan_tests(29); + plan_tests(33); ok( np_find_name(exclude_filesystem, "/var/log") == FALSE, "/var/log not in list"); np_add_name(&exclude_filesystem, "/var/log"); @@ -160,6 +161,46 @@ main (int argc, char **argv) } } + /* test deleting first element in paths */ + paths = np_del_parameter(paths, NULL); + for (p = paths; p; p = p->name_next) { + if (! strcmp(p->name, "/home/groups")) + found = 1; + } + ok(found == 0, "first element successfully deleted"); + found = 0; + + p=paths; + while (p) { + if (! strcmp(p->name, "/tmp")) + p = np_del_parameter(p, prev); + else { + prev = p; + p = p->name_next; + } + } + + for (p = paths; p; p = p->name_next) { + if (! strcmp(p->name, "/tmp")) + found = 1; + if (p->name_next) + prev = p; + else + last = p; + } + ok(found == 0, "/tmp element successfully deleted"); + + p = np_del_parameter(last, prev); + for (p = paths; p; p = p->name_next) { + if (! strcmp(p->name, "/home")) + found = 1; + last = p; + count++; + } + ok(found == 0, "last (/home) element successfully deleted"); + ok(count == 2, "two elements remaining"); + + return exit_status(); } -- cgit v1.2.3