X-Git-Url: https://git.tokkee.org/?p=sysdb.git;a=blobdiff_plain;f=t%2Funit%2Fcore%2Fstore_test.c;h=7ddd50bcf4a1c4aaf2bb2e8f0a6231113025fca5;hp=ed6f5d9b149944e31c4412c4c6103dd9a9f25320;hb=637fd9289e84a2eb394d01c4769cbd5276c2b905;hpb=9345a64b2fa015c30d6b3fcba76211f8d0d7cfd6 diff --git a/t/unit/core/store_test.c b/t/unit/core/store_test.c index ed6f5d9..7ddd50b 100644 --- a/t/unit/core/store_test.c +++ b/t/unit/core/store_test.c @@ -31,17 +31,20 @@ #include "core/plugin.h" #include "core/store.h" -#include "core/store-private.h" +#include "core/memstore-private.h" #include "testutils.h" #include #include #include +static sdb_memstore_t *store; + static void init(void) { - sdb_store_init(); + store = sdb_memstore_create(); + ck_assert(store != NULL); } static void @@ -49,43 +52,50 @@ populate(void) { sdb_data_t datum; - sdb_plugin_store_host("h1", 1); - sdb_plugin_store_host("h2", 3); + sdb_memstore_host(store, "h1", 1); + sdb_memstore_host(store, "h2", 3); datum.type = SDB_TYPE_STRING; datum.data.string = "v1"; - sdb_plugin_store_attribute("h1", "k1", &datum, 1); + sdb_memstore_attribute(store, "h1", "k1", &datum, 1); datum.data.string = "v2"; - sdb_plugin_store_attribute("h1", "k2", &datum, 2); + sdb_memstore_attribute(store, "h1", "k2", &datum, 2); datum.data.string = "v3"; - sdb_plugin_store_attribute("h1", "k3", &datum, 2); + sdb_memstore_attribute(store, "h1", "k3", &datum, 2); /* make sure that older updates don't overwrite existing values */ datum.data.string = "fail"; - sdb_plugin_store_attribute("h1", "k2", &datum, 1); - sdb_plugin_store_attribute("h1", "k3", &datum, 2); + sdb_memstore_attribute(store, "h1", "k2", &datum, 1); + sdb_memstore_attribute(store, "h1", "k3", &datum, 2); - sdb_plugin_store_metric("h1", "m1", /* store */ NULL, 2); - sdb_plugin_store_metric("h1", "m2", /* store */ NULL, 1); - sdb_plugin_store_metric("h2", "m1", /* store */ NULL, 1); + sdb_memstore_metric(store, "h1", "m1", /* store */ NULL, 2); + sdb_memstore_metric(store, "h1", "m2", /* store */ NULL, 1); + sdb_memstore_metric(store, "h2", "m1", /* store */ NULL, 1); - sdb_plugin_store_service("h2", "s1", 1); - sdb_plugin_store_service("h2", "s2", 2); + sdb_memstore_service(store, "h2", "s1", 1); + sdb_memstore_service(store, "h2", "s2", 2); datum.type = SDB_TYPE_INTEGER; datum.data.integer = 42; - sdb_plugin_store_metric_attribute("h1", "m1", "k3", &datum, 2); + sdb_memstore_metric_attr(store, "h1", "m1", "k3", &datum, 2); datum.data.integer = 123; - sdb_plugin_store_service_attribute("h2", "s2", "k1", &datum, 2); + sdb_memstore_service_attr(store, "h2", "s2", "k1", &datum, 2); datum.data.integer = 4711; - sdb_plugin_store_service_attribute("h2", "s2", "k2", &datum, 1); + sdb_memstore_service_attr(store, "h2", "s2", "k2", &datum, 1); /* don't overwrite k1 */ datum.data.integer = 666; - sdb_plugin_store_service_attribute("h2", "s2", "k1", &datum, 2); + sdb_memstore_service_attr(store, "h2", "s2", "k1", &datum, 2); } /* populate */ +static void +turndown(void) +{ + sdb_object_deref(SDB_OBJ(store)); + store = NULL; +} /* turndown */ + START_TEST(test_store_host) { struct { @@ -104,7 +114,7 @@ START_TEST(test_store_host) struct { const char *name; - _Bool has; + bool have; } golden_hosts[] = { { "a", 1 == 1 }, { "b", 1 == 1 }, @@ -117,21 +127,23 @@ START_TEST(test_store_host) for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_data); ++i) { int status; - status = sdb_plugin_store_host(golden_data[i].name, + status = sdb_memstore_host(store, golden_data[i].name, golden_data[i].last_update); fail_unless(status == golden_data[i].expected, - "sdb_plugin_store_host(%s, %d) = %d; expected: %d", + "sdb_memstore_host(%s, %d) = %d; expected: %d", golden_data[i].name, (int)golden_data[i].last_update, status, golden_data[i].expected); } for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_hosts); ++i) { - _Bool has; - - has = sdb_store_has_host(golden_hosts[i].name); - fail_unless(has == golden_hosts[i].has, - "sdb_store_has_host(%s) = %d; expected: %d", - golden_hosts[i].name, has, golden_hosts[i].has); + sdb_memstore_obj_t *have; + + have = sdb_memstore_get_host(store, golden_hosts[i].name); + fail_unless((have != NULL) == golden_hosts[i].have, + "sdb_memstore_get_host(%s) = %p; expected: %s", + golden_hosts[i].name, have, + golden_hosts[i].have ? "" : "NULL"); + sdb_object_deref(SDB_OBJ(have)); } } END_TEST @@ -143,40 +155,36 @@ START_TEST(test_store_get_host) size_t i; for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_hosts); ++i) { - int status = sdb_plugin_store_host(golden_hosts[i], 1); + int status = sdb_memstore_host(store, golden_hosts[i], 1); fail_unless(status >= 0, - "sdb_plugin_store_host(%s) = %d; expected: >=0", + "sdb_memstore_host(%s) = %d; expected: >=0", golden_hosts[i], status); } for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_hosts); ++i) { - sdb_store_obj_t *sobj1, *sobj2; + sdb_memstore_obj_t *sobj1, *sobj2; int ref_cnt; - fail_unless(sdb_store_has_host(golden_hosts[i]), - "sdb_store_has_host(%s) = FALSE; expected: TRUE", - golden_hosts[i]); - - sobj1 = sdb_store_get_host(golden_hosts[i]); + sobj1 = sdb_memstore_get_host(store, golden_hosts[i]); fail_unless(sobj1 != NULL, - "sdb_store_get_host(%s) = NULL; expected: ", + "sdb_memstore_get_host(%s) = NULL; expected: ", golden_hosts[i]); ref_cnt = SDB_OBJ(sobj1)->ref_cnt; fail_unless(ref_cnt > 1, - "sdb_store_get_host(%s) did not increment ref count: " + "sdb_memstore_get_host(%s) did not increment ref count: " "got: %d; expected: >1", golden_hosts[i], ref_cnt); - sobj2 = sdb_store_get_host(golden_hosts[i]); + sobj2 = sdb_memstore_get_host(store, golden_hosts[i]); fail_unless(sobj2 != NULL, - "sdb_store_get_host(%s) = NULL; expected: ", + "sdb_memstore_get_host(%s) = NULL; expected: ", golden_hosts[i]); fail_unless(sobj1 == sobj2, - "sdb_store_get_host(%s) returned different objects " + "sdb_memstore_get_host(%s) returned different objects " "in successive calls", golden_hosts[i]); fail_unless(SDB_OBJ(sobj2)->ref_cnt == ref_cnt + 1, - "sdb_store_get_hosts(%s) did not increment ref count " + "sdb_memstore_get_hosts(%s) did not increment ref count " "(first call: %d; second call: %d)", golden_hosts[i], ref_cnt, SDB_OBJ(sobj2)->ref_cnt); @@ -184,14 +192,10 @@ START_TEST(test_store_get_host) sdb_object_deref(SDB_OBJ(sobj2)); } for (i = 0; i < SDB_STATIC_ARRAY_LEN(unknown_hosts); ++i) { - sdb_store_obj_t *sobj; - - fail_unless(!sdb_store_has_host(unknown_hosts[i]), - "sdb_store_has_host(%s) = TRUE; expected: FALSE", - unknown_hosts[i]); + sdb_memstore_obj_t *sobj; - sobj = sdb_store_get_host(unknown_hosts[i]); - fail_unless(!sobj, "sdb_store_get_host(%s) = ; expected: NULL", + sobj = sdb_memstore_get_host(store, unknown_hosts[i]); + fail_unless(!sobj, "sdb_memstore_get_host(%s) = ; expected: NULL", unknown_hosts[i], sobj ? SDB_OBJ(sobj)->name : "NULL"); } } @@ -218,8 +222,8 @@ START_TEST(test_store_attr) size_t i; - sdb_plugin_store_host("l", 1); - sdb_plugin_store_host("m", 1); + sdb_memstore_host(store, "l", 1); + sdb_memstore_host(store, "m", 1); for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_data); ++i) { sdb_data_t datum; int status; @@ -228,11 +232,11 @@ START_TEST(test_store_attr) datum.type = SDB_TYPE_STRING; datum.data.string = golden_data[i].value; - status = sdb_plugin_store_attribute(golden_data[i].host, + status = sdb_memstore_attribute(store, golden_data[i].host, golden_data[i].key, &datum, golden_data[i].last_update); fail_unless(status == golden_data[i].expected, - "sdb_plugin_store_attribute(%s, %s, %s, %d) = %d; expected: %d", + "sdb_memstore_attribute(%s, %s, %s, %d) = %d; expected: %d", golden_data[i].host, golden_data[i].key, golden_data[i].value, golden_data[i].last_update, status, golden_data[i].expected); } @@ -271,16 +275,16 @@ START_TEST(test_store_metric) size_t i; - sdb_plugin_store_host("m", 1); - sdb_plugin_store_host("l", 1); + sdb_memstore_host(store, "m", 1); + sdb_memstore_host(store, "l", 1); for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_data); ++i) { int status; - status = sdb_plugin_store_metric(golden_data[i].host, + status = sdb_memstore_metric(store, golden_data[i].host, golden_data[i].metric, golden_data[i].store, golden_data[i].last_update); fail_unless(status == golden_data[i].expected, - "sdb_plugin_store_metric(%s, %s, %p, %d) = %d; expected: %d", + "sdb_memstore_metric(%s, %s, %p, %d) = %d; expected: %d", golden_data[i].host, golden_data[i].metric, golden_data[i].store, golden_data[i].last_update, status, golden_data[i].expected); @@ -315,20 +319,20 @@ START_TEST(test_store_metric_attr) size_t i; - sdb_plugin_store_host("m", 1); - sdb_plugin_store_host("l", 1); - sdb_plugin_store_metric("m", "m1", NULL, 1); - sdb_plugin_store_metric("l", "m1", NULL, 1); - sdb_plugin_store_metric("l", "m2", NULL, 1); + sdb_memstore_host(store, "m", 1); + sdb_memstore_host(store, "l", 1); + sdb_memstore_metric(store, "m", "m1", NULL, 1); + sdb_memstore_metric(store, "l", "m1", NULL, 1); + sdb_memstore_metric(store, "l", "m2", NULL, 1); for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_data); ++i) { int status; - status = sdb_plugin_store_metric_attribute(golden_data[i].host, + status = sdb_memstore_metric_attr(store, golden_data[i].host, golden_data[i].metric, golden_data[i].attr, &golden_data[i].value, golden_data[i].last_update); fail_unless(status == golden_data[i].expected, - "sdb_plugin_store_metric_attribute(%s, %s, %s, %d, %d) = %d; " + "sdb_memstore_metric_attr(%s, %s, %s, %d, %d) = %d; " "expected: %d", golden_data[i].host, golden_data[i].metric, golden_data[i].attr, golden_data[i].value.data.integer, golden_data[i].last_update, status, golden_data[i].expected); @@ -356,15 +360,15 @@ START_TEST(test_store_service) size_t i; - sdb_plugin_store_host("m", 1); - sdb_plugin_store_host("l", 1); + sdb_memstore_host(store, "m", 1); + sdb_memstore_host(store, "l", 1); for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_data); ++i) { int status; - status = sdb_plugin_store_service(golden_data[i].host, + status = sdb_memstore_service(store, golden_data[i].host, golden_data[i].svc, golden_data[i].last_update); fail_unless(status == golden_data[i].expected, - "sdb_plugin_store_service(%s, %s, %d) = %d; expected: %d", + "sdb_memstore_service(%s, %s, %d) = %d; expected: %d", golden_data[i].host, golden_data[i].svc, golden_data[i].last_update, status, golden_data[i].expected); } @@ -398,20 +402,20 @@ START_TEST(test_store_service_attr) size_t i; - sdb_plugin_store_host("m", 1); - sdb_plugin_store_host("l", 1); - sdb_plugin_store_service("m", "s1", 1); - sdb_plugin_store_service("l", "s1", 1); - sdb_plugin_store_service("l", "s2", 1); + sdb_memstore_host(store, "m", 1); + sdb_memstore_host(store, "l", 1); + sdb_memstore_service(store, "m", "s1", 1); + sdb_memstore_service(store, "l", "s1", 1); + sdb_memstore_service(store, "l", "s2", 1); for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_data); ++i) { int status; - status = sdb_plugin_store_service_attribute(golden_data[i].host, + status = sdb_memstore_service_attr(store, golden_data[i].host, golden_data[i].svc, golden_data[i].attr, &golden_data[i].value, golden_data[i].last_update); fail_unless(status == golden_data[i].expected, - "sdb_plugin_store_service_attribute(%s, %s, %s, %d, %d) = %d; " + "sdb_memstore_service_attr(%s, %s, %s, %d, %d) = %d; " "expected: %d", golden_data[i].host, golden_data[i].svc, golden_data[i].attr, golden_data[i].value.data.integer, golden_data[i].last_update, status, golden_data[i].expected); @@ -467,37 +471,37 @@ static struct { (obj) ? SDB_OBJ(obj)->name : "" START_TEST(test_get_field) { - sdb_store_obj_t *obj = NULL; + sdb_memstore_obj_t *obj = NULL; sdb_data_t value = SDB_DATA_INIT; char value_str[128], expected_value_str[128]; sdb_time_t now = sdb_gettime(); int check; - sdb_plugin_store_host("host", 10); - sdb_plugin_store_host("host", 20); - sdb_plugin_store_attribute("host", "attr", &get_field_data[_i].value, 10); - sdb_plugin_store_attribute("host", "attr", &get_field_data[_i].value, 20); + sdb_memstore_host(store, "host", 10); + sdb_memstore_host(store, "host", 20); + sdb_memstore_attribute(store, "host", "attr", &get_field_data[_i].value, 10); + sdb_memstore_attribute(store, "host", "attr", &get_field_data[_i].value, 20); if (get_field_data[_i].hostname) { - obj = sdb_store_get_host(get_field_data[_i].hostname); + obj = sdb_memstore_get_host(store, get_field_data[_i].hostname); ck_assert(obj != NULL); if (get_field_data[_i].attr) { - sdb_store_obj_t *tmp = sdb_store_get_child(obj, + sdb_memstore_obj_t *tmp = sdb_memstore_get_child(obj, SDB_ATTRIBUTE, get_field_data[_i].attr); sdb_object_deref(SDB_OBJ(obj)); obj = tmp; } } - check = sdb_store_get_field(obj, get_field_data[_i].field, NULL); + check = sdb_memstore_get_field(obj, get_field_data[_i].field, NULL); fail_unless(check == get_field_data[_i].expected, - "sdb_store_get_field(%s %s, %s, NULL) = %d; expected: %d", + "sdb_memstore_get_field(%s %s, %s, NULL) = %d; expected: %d", OBJ_NAME(obj), SDB_FIELD_TO_NAME(get_field_data[_i].field), check, get_field_data[_i].expected); - check = sdb_store_get_field(obj, get_field_data[_i].field, &value); + check = sdb_memstore_get_field(obj, get_field_data[_i].field, &value); fail_unless(check == get_field_data[_i].expected, - "sdb_store_get_field(%s %s, %s, ) = %d; expected: %d", + "sdb_memstore_get_field(%s %s, %s, ) = %d; expected: %d", OBJ_NAME(obj), SDB_FIELD_TO_NAME(get_field_data[_i].field), check, get_field_data[_i].expected); @@ -518,14 +522,14 @@ START_TEST(test_get_field) if (get_field_data[_i].field == SDB_FIELD_AGE) { fail_unless((value.type == SDB_TYPE_DATETIME) && (value.data.datetime >= now), - "sdb_store_get_field(%s %s, %s, ) " + "sdb_memstore_get_field(%s %s, %s, ) " "returned value %s; expected >=%s", OBJ_NAME(obj), SDB_FIELD_TO_NAME(get_field_data[_i].field), value_str, expected_value_str); } else { fail_unless(! sdb_data_cmp(&value, &get_field_data[_i].value), - "sdb_store_get_field(%s %s, %s, ) " + "sdb_memstore_get_field(%s %s, %s, ) " "returned value %s; expected %s", OBJ_NAME(obj), SDB_FIELD_TO_NAME(get_field_data[_i].field), value_str, expected_value_str); @@ -540,28 +544,34 @@ START_TEST(test_get_child) { struct { const char *host; + int parent_type; + const char *parent; const char *name; int type; int expected; } golden_data[] = { - { "h1", NULL, SDB_HOST, 0 }, - { "h1", NULL, SDB_SERVICE, -1 }, - { "h1", NULL, SDB_METRIC, -1 }, - { "h1", NULL, SDB_ATTRIBUTE, -1 }, - { "h2", NULL, SDB_HOST, 0 }, - { "h2", NULL, SDB_SERVICE, -1 }, - { "h2", NULL, SDB_METRIC, -1 }, - { "h2", NULL, SDB_ATTRIBUTE, -1 }, - { "h3", NULL, SDB_HOST, -1 }, - { "h1", "k1", SDB_ATTRIBUTE, 0 }, - { "h1", "x1", SDB_ATTRIBUTE, -1 }, - { "h2", "k1", SDB_ATTRIBUTE, -1 }, - { "h1", "k1", SDB_SERVICE, -1 }, - { "h1", "k1", SDB_METRIC, -1 }, - { "h1", "s1", SDB_SERVICE, -1 }, - { "h2", "s1", SDB_SERVICE, 0 }, - { "h1", "m2", SDB_METRIC, 0 }, - { "h2", "m2", SDB_METRIC, -1 }, + { "h1", -1, NULL, NULL, SDB_HOST, 0 }, + { "h1", -1, NULL, NULL, SDB_SERVICE, -1 }, + { "h1", -1, NULL, NULL, SDB_METRIC, -1 }, + { "h1", -1, NULL, NULL, SDB_ATTRIBUTE, -1 }, + { "h2", -1, NULL, NULL, SDB_HOST, 0 }, + { "h2", -1, NULL, NULL, SDB_SERVICE, -1 }, + { "h2", -1, NULL, NULL, SDB_METRIC, -1 }, + { "h2", -1, NULL, NULL, SDB_ATTRIBUTE, -1 }, + { "h3", -1, NULL, NULL, SDB_HOST, -1 }, + { "h1", -1, NULL, "k1", SDB_ATTRIBUTE, 0 }, + { "h1", -1, NULL, "x1", SDB_ATTRIBUTE, -1 }, + { "h2", -1, NULL, "k1", SDB_ATTRIBUTE, -1 }, + { "h1", -1, NULL, "k1", SDB_SERVICE, -1 }, + { "h1", -1, NULL, "k1", SDB_METRIC, -1 }, + { "h1", -1, NULL, "s1", SDB_SERVICE, -1 }, + { "h2", -1, NULL, "s1", SDB_SERVICE, 0 }, + { "h1", -1, NULL, "m2", SDB_METRIC, 0 }, + { "h2", -1, NULL, "m2", SDB_METRIC, -1 }, + { "h1", SDB_METRIC, "m1", "k3", SDB_ATTRIBUTE, 0 }, + { "h1", SDB_METRIC, "m1", "x1", SDB_ATTRIBUTE, -1 }, + { "h2", SDB_SERVICE, "s2", "k1", SDB_ATTRIBUTE, 0 }, + { "h2", SDB_SERVICE, "s2", "x1", SDB_ATTRIBUTE, -1 }, }; size_t i; @@ -569,35 +579,42 @@ START_TEST(test_get_child) populate(); for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_data); ++i) { - sdb_store_obj_t *obj; + sdb_memstore_obj_t *obj; const char *expected_name = golden_data[i].host; - obj = sdb_store_get_host(golden_data[i].host); + obj = sdb_memstore_get_host(store, golden_data[i].host); + if (golden_data[i].parent) { + sdb_memstore_obj_t *o; + o = sdb_memstore_get_child(obj, + golden_data[i].parent_type, golden_data[i].parent); + sdb_object_deref(SDB_OBJ(obj)); + obj = o; + } if (golden_data[i].expected && (golden_data[i].type == SDB_HOST)) fail_unless(obj == NULL, - "sdb_store_get_host(%s) = %p; expected: NULL", + "sdb_memstore_get_host(%s) = %p; expected: NULL", golden_data[i].host, obj); else fail_unless(obj != NULL, - "sdb_store_get_host(%s) = NULL; expected: ", + "sdb_memstore_get_host(%s) = NULL; expected: ", golden_data[i].host); if (golden_data[i].type != SDB_HOST) { - sdb_store_obj_t *tmp; + sdb_memstore_obj_t *tmp; expected_name = golden_data[i].name; - tmp = sdb_store_get_child(obj, + tmp = sdb_memstore_get_child(obj, golden_data[i].type, golden_data[i].name); if (golden_data[i].expected) fail_unless(tmp == NULL, - "sdb_store_get_child(<%s>, %s, %s) = %p; " + "sdb_memstore_get_child(<%s>, %s, %s) = %p; " "expected: NULL", golden_data[i].host, SDB_STORE_TYPE_TO_NAME(golden_data[i].type), golden_data[i].name, tmp); else fail_unless(tmp != NULL, - "sdb_store_get_child(<%s>, %s, %s) = NULL; " + "sdb_memstore_get_child(<%s>, %s, %s) = NULL; " "expected: ", golden_data[i].host, SDB_STORE_TYPE_TO_NAME(golden_data[i].type), golden_data[i].name); @@ -610,12 +627,12 @@ START_TEST(test_get_child) continue; fail_unless(obj->type == golden_data[i].type, - "sdb_store_get_<%s>(%s, %s) returned object of type %d; " + "sdb_memstore_get_<%s>(%s, %s) returned object of type %d; " "expected: %d", SDB_STORE_TYPE_TO_NAME(golden_data[i].type), golden_data[i].host, golden_data[i].name, obj->type, golden_data[i].type); fail_unless(! strcasecmp(SDB_OBJ(obj)->name, expected_name), - "sdb_store_get_<%s>(%s, %s) returned object named '%s'; " + "sdb_memstore_get_<%s>(%s, %s) returned object named '%s'; " "expected: '%s'", SDB_STORE_TYPE_TO_NAME(golden_data[i].type), golden_data[i].host, golden_data[i].name, SDB_OBJ(obj)->name, expected_name); @@ -627,54 +644,54 @@ END_TEST START_TEST(test_interval) { - sdb_store_obj_t *host; + sdb_memstore_obj_t *host; /* 10 us interval */ - sdb_plugin_store_host("host", 10); - sdb_plugin_store_host("host", 20); - sdb_plugin_store_host("host", 30); - sdb_plugin_store_host("host", 40); + sdb_memstore_host(store, "host", 10); + sdb_memstore_host(store, "host", 20); + sdb_memstore_host(store, "host", 30); + sdb_memstore_host(store, "host", 40); - host = sdb_store_get_host("host"); + host = sdb_memstore_get_host(store, "host"); fail_unless(host != NULL, "INTERNAL ERROR: store doesn't have host after adding it"); fail_unless(host->interval == 10, - "sdb_plugin_store_host() did not calculate interval correctly: " + "sdb_memstore_host() did not calculate interval correctly: " "got: %"PRIsdbTIME"; expected: %"PRIsdbTIME, host->interval, 10); /* multiple updates for the same timestamp don't modify the interval */ - sdb_plugin_store_host("host", 40); - sdb_plugin_store_host("host", 40); - sdb_plugin_store_host("host", 40); - sdb_plugin_store_host("host", 40); + sdb_memstore_host(store, "host", 40); + sdb_memstore_host(store, "host", 40); + sdb_memstore_host(store, "host", 40); + sdb_memstore_host(store, "host", 40); fail_unless(host->interval == 10, - "sdb_plugin_store_host() changed interval when doing multiple updates " + "sdb_memstore_host() changed interval when doing multiple updates " "using the same timestamp; got: %"PRIsdbTIME"; " "expected: %"PRIsdbTIME, host->interval, 10); /* multiple updates using an timestamp don't modify the interval */ - sdb_plugin_store_host("host", 20); - sdb_plugin_store_host("host", 20); - sdb_plugin_store_host("host", 20); - sdb_plugin_store_host("host", 20); + sdb_memstore_host(store, "host", 20); + sdb_memstore_host(store, "host", 20); + sdb_memstore_host(store, "host", 20); + sdb_memstore_host(store, "host", 20); fail_unless(host->interval == 10, - "sdb_plugin_store_host() changed interval when doing multiple updates " + "sdb_memstore_host() changed interval when doing multiple updates " "using an old timestamp; got: %"PRIsdbTIME"; expected: %"PRIsdbTIME, host->interval, 10); /* new interval: 20 us */ - sdb_plugin_store_host("host", 60); + sdb_memstore_host(store, "host", 60); fail_unless(host->interval == 11, - "sdb_plugin_store_host() did not calculate interval correctly: " + "sdb_memstore_host() did not calculate interval correctly: " "got: %"PRIsdbTIME"; expected: %"PRIsdbTIME, host->interval, 11); /* new interval: 40 us */ - sdb_plugin_store_host("host", 100); + sdb_memstore_host(store, "host", 100); fail_unless(host->interval == 13, - "sdb_plugin_store_host() did not calculate interval correctly: " + "sdb_memstore_host() did not calculate interval correctly: " "got: %"PRIsdbTIME"; expected: %"PRIsdbTIME, host->interval, 11); sdb_object_deref(SDB_OBJ(host)); @@ -682,18 +699,18 @@ START_TEST(test_interval) END_TEST static int -scan_count(sdb_store_obj_t *obj, sdb_store_matcher_t *filter, void *user_data) +scan_count(sdb_memstore_obj_t *obj, sdb_memstore_matcher_t *filter, void *user_data) { intptr_t *i = user_data; - if (! sdb_store_matcher_matches(filter, obj, NULL)) + if (! sdb_memstore_matcher_matches(filter, obj, NULL)) return 0; fail_unless(obj != NULL, - "sdb_store_scan callback received NULL obj; expected: " + "sdb_memstore_scan callback received NULL obj; expected: " ""); fail_unless(i != NULL, - "sdb_store_scan callback received NULL user_data; " + "sdb_memstore_scan callback received NULL user_data; " "expected: "); ++(*i); @@ -701,18 +718,18 @@ scan_count(sdb_store_obj_t *obj, sdb_store_matcher_t *filter, void *user_data) } /* scan_count */ static int -scan_error(sdb_store_obj_t *obj, sdb_store_matcher_t *filter, void *user_data) +scan_error(sdb_memstore_obj_t *obj, sdb_memstore_matcher_t *filter, void *user_data) { intptr_t *i = user_data; - if (! sdb_store_matcher_matches(filter, obj, NULL)) + if (! sdb_memstore_matcher_matches(filter, obj, NULL)) return 0; fail_unless(obj != NULL, - "sdb_store_scan callback received NULL obj; expected: " + "sdb_memstore_scan callback received NULL obj; expected: " ""); fail_unless(i != NULL, - "sdb_store_scan callback received NULL user_data; " + "sdb_memstore_scan callback received NULL user_data; " "expected: "); ++(*i); @@ -725,49 +742,49 @@ START_TEST(test_scan) int check; /* empty store */ - check = sdb_store_scan(SDB_HOST, /* m, filter = */ NULL, NULL, + check = sdb_memstore_scan(store, SDB_HOST, /* m, filter = */ NULL, NULL, scan_count, &i); fail_unless(check == 0, - "sdb_store_scan(HOST), empty store = %d; expected: 0", check); + "sdb_memstore_scan(HOST), empty store = %d; expected: 0", check); fail_unless(i == 0, - "sdb_store_scan(HOST) called callback %d times; " + "sdb_memstore_scan(HOST) called callback %d times; " "expected: 0", (int)i); populate(); - check = sdb_store_scan(SDB_HOST, /* m, filter = */ NULL, NULL, + check = sdb_memstore_scan(store, SDB_HOST, /* m, filter = */ NULL, NULL, scan_count, &i); fail_unless(check == 0, - "sdb_store_scan(HOST) = %d; expected: 0", check); + "sdb_memstore_scan(HOST) = %d; expected: 0", check); fail_unless(i == 2, - "sdb_store_scan(HOST) called callback %d times; " + "sdb_memstore_scan(HOST) called callback %d times; " "expected: 1", (int)i); i = 0; - check = sdb_store_scan(SDB_HOST, /* m, filter = */ NULL, NULL, + check = sdb_memstore_scan(store, SDB_HOST, /* m, filter = */ NULL, NULL, scan_error, &i); fail_unless(check == -1, - "sdb_store_scan(HOST), error callback = %d; expected: -1", check); + "sdb_memstore_scan(HOST), error callback = %d; expected: -1", check); fail_unless(i == 1, - "sdb_store_scan(HOST) called callback %d times " + "sdb_memstore_scan(HOST) called callback %d times " "(callback returned error); expected: 1", (int)i); i = 0; - check = sdb_store_scan(SDB_SERVICE, /* m, filter = */ NULL, NULL, + check = sdb_memstore_scan(store, SDB_SERVICE, /* m, filter = */ NULL, NULL, scan_count, &i); fail_unless(check == 0, - "sdb_store_scan(SERVICE) = %d; expected: 0", check); + "sdb_memstore_scan(SERVICE) = %d; expected: 0", check); fail_unless(i == 2, - "sdb_store_scan(SERVICE) called callback %d times; " + "sdb_memstore_scan(SERVICE) called callback %d times; " "expected: 2", (int)i); i = 0; - check = sdb_store_scan(SDB_METRIC, /* m, filter = */ NULL, NULL, + check = sdb_memstore_scan(store, SDB_METRIC, /* m, filter = */ NULL, NULL, scan_count, &i); fail_unless(check == 0, - "sdb_store_scan(METRIC) = %d; expected: 0", check); + "sdb_memstore_scan(METRIC) = %d; expected: 0", check); fail_unless(i == 3, - "sdb_store_scan(METRIC) called callback %d times; " + "sdb_memstore_scan(METRIC) called callback %d times; " "expected: 3", (int)i); } END_TEST @@ -775,6 +792,7 @@ END_TEST TEST_MAIN("core::store") { TCase *tc = tcase_create("core"); + tcase_add_unchecked_fixture(tc, init, turndown); tcase_add_test(tc, test_store_host); tcase_add_test(tc, test_store_get_host); tcase_add_test(tc, test_store_attr); @@ -786,7 +804,6 @@ TEST_MAIN("core::store") tcase_add_test(tc, test_get_child); tcase_add_test(tc, test_interval); tcase_add_test(tc, test_scan); - tcase_add_unchecked_fixture(tc, init, sdb_store_clear); ADD_TCASE(tc); } TEST_MAIN_END