X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=t%2Funit%2Fparser%2Fparser_test.c;h=14977ff820f91e63dfc69b822fdcf98f2ebc5c38;hb=HEAD;hp=89ee2e6d6bc63bcd7aa759e6e385a99953764408;hpb=5a53faeea89f0a24b113f6c273734808fdfccf31;p=sysdb.git diff --git a/t/unit/parser/parser_test.c b/t/unit/parser/parser_test.c index 89ee2e6..14977ff 100644 --- a/t/unit/parser/parser_test.c +++ b/t/unit/parser/parser_test.c @@ -31,7 +31,7 @@ #include "parser/parser.h" #include "core/object.h" -#include "core/store.h" +#include "core/memstore.h" #include "testutils.h" #include @@ -220,6 +220,11 @@ struct { "STORE 'typ' 'id' " "LAST UPDATE " "2015-02-01", -1, 1, SDB_AST_TYPE_STORE, SDB_METRIC }, + { "STORE metric " + "'host'.'metric' " + "STORE 'typ' 'id' 2015-02-01 13:37 " + "LAST UPDATE " + "2015-02-01", -1, 1, SDB_AST_TYPE_STORE, SDB_METRIC }, { "STORE metric attribute " "'host'.'metric'.'key' " "123", -1, 1, SDB_AST_TYPE_STORE, SDB_ATTRIBUTE }, @@ -339,6 +344,9 @@ struct { "ALL backend =~ 'b'", -1, 1, SDB_AST_TYPE_LOOKUP, SDB_HOST }, { "LOOKUP hosts MATCHING " "ALL backend !~ 'b'", -1, 1, SDB_AST_TYPE_LOOKUP, SDB_HOST }, + { "LOOKUP hosts MATCHING " + "ANY backend || 'a' = 'b'", + -1, 1, SDB_AST_TYPE_LOOKUP, SDB_HOST }, /* attribute type is unknown */ { "LOOKUP hosts MATCHING " "ANY backend = attribute['backend']", @@ -579,16 +587,14 @@ struct { "ALL 1 || '2' < '3'", -1, -1, 0, 0 }, { "LOOKUP hosts MATCHING " "ALL name =~ 'a'", -1, -1, 0, 0 }, - /* this could work in theory but is not supported atm */ - { "LOOKUP hosts MATCHING " - "ANY backend || 'a' = 'b'", - -1, -1, 0, 0 }, { "LOOKUP hosts MATCHING ANY " "host.name = 'h'", -1, -1, 0, 0 }, { "LOOKUP services MATCHING ANY " "host.name = 'h'", -1, -1, 0, 0 }, { "LOOKUP metrics MATCHING ANY " "host.name = 'h'", -1, -1, 0, 0 }, + { "LOOKUP hosts MATCHING ANY " + "name || 'a' = 'b'", -1, -1, 0, 0 }, /* invalid LIST commands */ { "LIST", -1, -1, 0, 0 }, @@ -677,7 +683,7 @@ START_TEST(test_parse) sdb_strbuf_t *errbuf = sdb_strbuf_create(64); sdb_llist_t *check; sdb_ast_node_t *node; - sdb_store_query_t *q; + sdb_memstore_query_t *q; _Bool ok; check = sdb_parser_parse(parse_data[_i].query, @@ -740,9 +746,9 @@ START_TEST(test_parse) } /* TODO: this should move into front-end specific tests */ - q = sdb_store_query_prepare(node); + q = sdb_memstore_query_prepare(node); fail_unless(q != NULL, - "sdb_store_query_prepare(AST<%s>) = NULL; expected: ", + "sdb_memstore_query_prepare(AST<%s>) = NULL; expected: ", parse_data[_i].query); sdb_object_deref(SDB_OBJ(node));