Code

plugin, store: Add service/metric "hostname" attributes centrally.
[sysdb.git] / t / unit / core / store_expr_test.c
index 7a918ce98347635222aa246642d7886d63f63ab6..3f21a82f9f21952dd684a6361d13deefac662aae 100644 (file)
@@ -29,7 +29,6 @@
 #      include "config.h"
 #endif
 
-#include "core/plugin.h"
 #include "core/store.h"
 #include "core/store-private.h"
 #include "parser/parser.h"
@@ -322,23 +321,23 @@ struct {
                { SDB_OBJECT_INIT, TYPED_EXPR, -1, &namer, NULL, ATTRS }, true,
                "a", SDB_SERVICE, "s1", NULL,
                {
-                       { SDB_TYPE_STRING, { .string = "hostname" } },
                        { SDB_TYPE_STRING, { .string = "k1" } },
                        { 0 },
                        { 0 },
                        { 0 },
-               }, 2,
+                       { 0 },
+               }, 1,
        },
        {
                { SDB_OBJECT_INIT, TYPED_EXPR, -1, &namer, NULL, ATTRS }, true,
                "a", SDB_SERVICE, "s1", "age >= 0s",
                {
-                       { SDB_TYPE_STRING, { .string = "hostname" } },
                        { SDB_TYPE_STRING, { .string = "k1" } },
                        { 0 },
                        { 0 },
                        { 0 },
-               }, 2,
+                       { 0 },
+               }, 1,
        },
        {
                { SDB_OBJECT_INIT, TYPED_EXPR, -1, &namer, NULL, ATTRS }, true,
@@ -391,23 +390,23 @@ struct {
                { SDB_OBJECT_INIT, TYPED_EXPR, -1, &namer, NULL, ATTRS }, true,
                "b", SDB_METRIC, "m2", NULL,
                {
-                       { SDB_TYPE_STRING, { .string = "hostname" } },
                        { SDB_TYPE_STRING, { .string = "k1" } },
                        { SDB_TYPE_STRING, { .string = "k2" } },
                        { 0 },
                        { 0 },
-               }, 3,
+                       { 0 },
+               }, 2,
        },
        {
                { SDB_OBJECT_INIT, TYPED_EXPR, -1, &namer, NULL, ATTRS }, true,
                "b", SDB_METRIC, "m2", "age >= 0s",
                {
-                       { SDB_TYPE_STRING, { .string = "hostname" } },
                        { SDB_TYPE_STRING, { .string = "k1" } },
                        { SDB_TYPE_STRING, { .string = "k2" } },
                        { 0 },
                        { 0 },
-               }, 3,
+                       { 0 },
+               }, 2,
        },
        {
                { SDB_OBJECT_INIT, TYPED_EXPR, -1, &namer, NULL, ATTRS }, true,
@@ -560,7 +559,6 @@ START_TEST(test_expr_iter)
        sdb_store_matcher_t *filter = NULL;
        int context = SDB_HOST;
 
-       bool iterable;
        sdb_store_expr_iter_t *iter;
        size_t i;
 
@@ -581,25 +579,19 @@ START_TEST(test_expr_iter)
 
        if (expr_iter_data[_i].filter) {
                sdb_ast_node_t *ast;
-               ast = sdb_parser_parse_conditional(expr_iter_data[_i].filter, -1, NULL);
+               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);
        }
 
-       iterable = sdb_store_expr_iterable(&expr_iter_data[_i].expr, context);
-       fail_unless(iterable == expr_iter_data[_i].iterable,
-                       "%s expression not iterable in %s context",
-                       EXPR_TO_STRING(&expr_iter_data[_i].expr),
-                       SDB_STORE_TYPE_TO_NAME(context));
-
        iter = sdb_store_expr_iter(&expr_iter_data[_i].expr, obj, filter);
-       fail_unless((iter != NULL) == iterable,
+       fail_unless((iter != NULL) == expr_iter_data[_i].iterable,
                        "sdb_store_expr_iter(%s expression, %s, %s) = %s; expected: %s",
                        EXPR_TO_STRING(&expr_iter_data[_i].expr),
                        obj ? SDB_STORE_TYPE_TO_NAME(obj->type) : "<array>",
                        expr_iter_data[_i].filter, iter ? "<iter>" : "NULL",
-                       iterable ? "<iter>" : "NULL");
+                       expr_iter_data[_i].iterable ? "<iter>" : "NULL");
 
        /* the iterator will keep a reference */
        sdb_object_deref(SDB_OBJ(obj)); obj = NULL;