X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Futils_vl_lookup_test.c;h=41cc0a41af3a26c2ac7841178ca88289cd284f01;hb=6bf2e82bf5049af097beae4a8b7f086466520839;hp=bbb3a67fbe24d640029bef0f02cd7823f7bc2eac;hpb=51a4e62d7d0e73d8d5822efaef1e3218b5ad0373;p=collectd.git diff --git a/src/utils_vl_lookup_test.c b/src/utils_vl_lookup_test.c index bbb3a67f..41cc0a41 100644 --- a/src/utils_vl_lookup_test.c +++ b/src/utils_vl_lookup_test.c @@ -1,6 +1,6 @@ /** - * collectd - src/utils_vl_lookup_test.c - * Copyright (C) 2012 Florian Forster + * collectd - src/tests/test_utils_vl_lookup.c + * Copyright (C) 2012 Florian Forster * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -24,6 +24,7 @@ * Florian Forster **/ +#include "testing.h" #include "collectd.h" #include "utils_vl_lookup.h" @@ -46,7 +47,8 @@ static int lookup_obj_callback (data_set_t const *ds, identifier_t *class = user_class; identifier_t *obj = user_obj; - assert (expect_new_obj == have_new_obj); + OK1(expect_new_obj == have_new_obj, + (expect_new_obj ? "New obj is created." : "Updating existing obj.")); memcpy (&last_class_ident, class, sizeof (last_class_ident)); memcpy (&last_obj_ident, obj, sizeof (last_obj_ident)); @@ -79,7 +81,7 @@ static void *lookup_class_callback (data_set_t const *ds, return ((void *) obj); } -static void checked_lookup_add (lookup_t *obj, /* {{{ */ +static int checked_lookup_add (lookup_t *obj, /* {{{ */ char const *host, char const *plugin, char const *plugin_instance, char const *type, char const *type_instance, @@ -87,7 +89,6 @@ static void checked_lookup_add (lookup_t *obj, /* {{{ */ { identifier_t ident; void *user_class; - int status; memset (&ident, 0, sizeof (ident)); strncpy (ident.host, host, sizeof (ident.host)); @@ -99,9 +100,9 @@ static void checked_lookup_add (lookup_t *obj, /* {{{ */ user_class = malloc (sizeof (ident)); memmove (user_class, &ident, sizeof (ident)); - status = lookup_add (obj, &ident, group_by, user_class); - assert (status == 0); -} /* }}} void test_add */ + OK(lookup_add (obj, &ident, group_by, user_class) == 0); + return 0; +} /* }}} int checked_lookup_add */ static int checked_lookup_search (lookup_t *obj, char const *host, @@ -129,20 +130,11 @@ static int checked_lookup_search (lookup_t *obj, return (status); } -static lookup_t *checked_lookup_create (void) -{ - lookup_t *obj = lookup_create ( - lookup_class_callback, - lookup_obj_callback, - (void *) free, - (void *) free); - assert (obj != NULL); - return (obj); -} - -static void testcase0 (void) +DEF_TEST(group_by_specific_host) { - lookup_t *obj = checked_lookup_create (); + lookup_t *obj; + CHECK_NOT_NULL (obj = lookup_create ( + lookup_class_callback, lookup_obj_callback, (void *) free, (void *) free)); checked_lookup_add (obj, "/.*/", "test", "", "test", "/.*/", LU_GROUP_BY_HOST); checked_lookup_search (obj, "host0", "test", "", "test", "0", @@ -155,11 +147,14 @@ static void testcase0 (void) /* expect new = */ 0); lookup_destroy (obj); + return (0); } -static void testcase1 (void) +DEF_TEST(group_by_any_host) { - lookup_t *obj = checked_lookup_create (); + lookup_t *obj; + CHECK_NOT_NULL (obj = lookup_create ( + lookup_class_callback, lookup_obj_callback, (void *) free, (void *) free)); checked_lookup_add (obj, "/.*/", "/.*/", "/.*/", "test", "/.*/", LU_GROUP_BY_HOST); checked_lookup_search (obj, "host0", "plugin0", "", "test", "0", @@ -180,13 +175,17 @@ static void testcase1 (void) /* expect new = */ 0); lookup_destroy (obj); + return (0); } -static void testcase2 (void) +DEF_TEST(multiple_lookups) { - lookup_t *obj = checked_lookup_create (); + lookup_t *obj; int status; + CHECK_NOT_NULL (obj = lookup_create ( + lookup_class_callback, lookup_obj_callback, (void *) free, (void *) free)); + checked_lookup_add (obj, "/.*/", "plugin0", "", "test", "/.*/", LU_GROUP_BY_HOST); checked_lookup_add (obj, "/.*/", "/.*/", "", "test", "ti0", LU_GROUP_BY_HOST); @@ -204,11 +203,14 @@ static void testcase2 (void) assert (status == 2); lookup_destroy (obj); + return (0); } -static void testcase3 (void) +DEF_TEST(regex) { - lookup_t *obj = checked_lookup_create (); + lookup_t *obj; + CHECK_NOT_NULL (obj = lookup_create ( + lookup_class_callback, lookup_obj_callback, (void *) free, (void *) free)); checked_lookup_add (obj, "/^db[0-9]\\./", "cpu", "/.*/", "cpu", "/.*/", LU_GROUP_BY_TYPE_INSTANCE); @@ -232,13 +234,15 @@ static void testcase3 (void) /* expect new = */ 1); lookup_destroy (obj); + return (0); } int main (int argc, char **argv) /* {{{ */ { - testcase0 (); - testcase1 (); - testcase2 (); - testcase3 (); - return (EXIT_SUCCESS); + RUN_TEST(group_by_specific_host); + RUN_TEST(group_by_any_host); + RUN_TEST(multiple_lookups); + RUN_TEST(regex); + + END_TEST; } /* }}} int main */