index 48c128c0573b5943e2fdfec200958be71e51bb64..303a921f0506ad952377ae58a7f7d13a12998d57 100644 (file)
# include "config.h"
#endif
+#include "core/plugin.h"
#include "core/store.h"
#include "core/store-private.h"
-#include "frontend/parser.h"
+#include "parser/parser.h"
#include "testutils.h"
#include <check.h>
+static sdb_store_t *store;
+
static void
populate(void)
{
size_t i;
+ store = sdb_store_create();
+ ck_assert(store != NULL);
+
for (i = 0; i < SDB_STATIC_ARRAY_LEN(hosts); ++i) {
- int status = sdb_store_host(hosts[i], 1);
+ int status = sdb_store_host(store, hosts[i], 1);
ck_assert(status == 0);
}
for (i = 0; i < SDB_STATIC_ARRAY_LEN(metrics); ++i) {
- int status = sdb_store_metric(metrics[i].host,
+ int status = sdb_store_metric(store, metrics[i].host,
metrics[i].metric, /* store */ NULL, 1);
ck_assert(status == 0);
}
for (i = 0; i < SDB_STATIC_ARRAY_LEN(services); ++i) {
- int status = sdb_store_service(services[i].host,
+ int status = sdb_store_service(store, services[i].host,
services[i].service, 1);
ck_assert(status == 0);
}
for (i = 0; i < SDB_STATIC_ARRAY_LEN(attrs); ++i) {
- int status = sdb_store_attribute(attrs[i].host,
+ int status = sdb_store_attribute(store, attrs[i].host,
attrs[i].name, &attrs[i].value, 1);
ck_assert(status == 0);
}
for (i = 0; i < SDB_STATIC_ARRAY_LEN(svc_attrs); ++i) {
- int status = sdb_store_service_attr(svc_attrs[i].host,
+ int status = sdb_store_service_attr(store, svc_attrs[i].host,
svc_attrs[i].service, svc_attrs[i].name,
&svc_attrs[i].value, 1);
ck_assert(status == 0);
}
for (i = 0; i < SDB_STATIC_ARRAY_LEN(metric_attrs); ++i) {
- int status = sdb_store_metric_attr(metric_attrs[i].host,
+ int status = sdb_store_metric_attr(store, metric_attrs[i].host,
metric_attrs[i].metric, metric_attrs[i].name,
&metric_attrs[i].value, 1);
ck_assert(status == 0);
}
} /* populate */
+static void
+turndown(void)
+{
+ sdb_object_deref(SDB_OBJ(store));
+ store = NULL;
+} /* turndown */
+
#define NAME { SDB_TYPE_INTEGER, { .integer = SDB_FIELD_NAME } }
#define LAST_UPDATE { SDB_TYPE_INTEGER, { .integer = SDB_FIELD_LAST_UPDATE } }
#define AGE { SDB_TYPE_INTEGER, { .integer = SDB_FIELD_AGE } }
size_t i;
if (expr_iter_data[_i].host) {
- obj = sdb_store_get_host(expr_iter_data[_i].host);
+ obj = sdb_store_get_host(store, expr_iter_data[_i].host);
ck_assert(obj != NULL);
if (expr_iter_data[_i].child) {
}
if (expr_iter_data[_i].filter) {
- filter = sdb_fe_parse_matcher(expr_iter_data[_i].filter, -1, NULL);
+ sdb_ast_node_t *ast;
+ ast = sdb_parser_parse_conditional(context, expr_iter_data[_i].filter, -1, NULL);
+ filter = sdb_store_query_prepare_matcher(ast);
+ sdb_object_deref(SDB_OBJ(ast));
ck_assert(filter != NULL);
}
TEST_MAIN("core::store_expr")
{
TCase *tc = tcase_create("core");
- tcase_add_checked_fixture(tc, populate, sdb_store_clear);
+ tcase_add_checked_fixture(tc, populate, turndown);
TC_ADD_LOOP_TEST(tc, expr_iter);
ADD_TCASE(tc);
}