Code

analyzer: Analyze expressions as well; validate typed expressions.
[sysdb.git] / t / unit / frontend / parser_test.c
index c5b514fde5156fa43fafed5a714e6ffbd2e768cf..0de4d256b3e37e2616af90eee6d85907462abc46 100644 (file)
@@ -107,12 +107,22 @@ START_TEST(test_parse)
                  "name =~ 'p' "
                  "FILTER age>"
                  "interval",           -1,   1, SDB_CONNECTION_LOOKUP },
+               { "LOOKUP hosts MATCHING "
+                 "host.name =~ 'p'",   -1,   1, SDB_CONNECTION_LOOKUP },
                { "LOOKUP services",    -1,   1, SDB_CONNECTION_LOOKUP },
                { "LOOKUP services MATCHING ANY "
                  "attribute =~ 'a'",   -1,   1, SDB_CONNECTION_LOOKUP },
+               { "LOOKUP services MATCHING "
+                 "host.name = 'p'",    -1,   1, SDB_CONNECTION_LOOKUP },
+               { "LOOKUP services MATCHING "
+                 "service.name = 'p'", -1,   1, SDB_CONNECTION_LOOKUP },
                { "LOOKUP metrics",     -1,   1, SDB_CONNECTION_LOOKUP },
                { "LOOKUP metrics MATCHING ANY "
                  "attribute =~ 'a'",   -1,   1, SDB_CONNECTION_LOOKUP },
+               { "LOOKUP metrics MATCHING "
+                 "host.name = 'p'",    -1,   1, SDB_CONNECTION_LOOKUP },
+               { "LOOKUP metrics MATCHING "
+                 "metric.name = 'p'",  -1,   1, SDB_CONNECTION_LOOKUP },
 
                { "TIMESERIES 'host'.'metric' "
                  "START 2014-01-01 "
@@ -276,18 +286,24 @@ START_TEST(test_parse)
                  "'f' || oo",           -1, -1, 0 },
                { "LOOKUP hosts MATCHING "
                  "ANY host = 'host'",   -1, -1, 0 },
+               { "LOOKUP hosts MATCHING "
+                 "service.name = 's'",  -1, -1, 0 },
                { "LOOKUP services MATCHING "
                  "ANY host = 'host'",   -1, -1, 0 },
                { "LOOKUP services MATCHING "
                  "ANY service = 'svc'", -1, -1, 0 },
                { "LOOKUP services MATCHING "
                  "ANY metric = 'm'",    -1, -1, 0 },
+               { "LOOKUP services MATCHING "
+                 "metric.name = 'm'",   -1, -1, 0 },
                { "LOOKUP metrics MATCHING "
                  "ANY host = 'host'",   -1, -1, 0 },
                { "LOOKUP metrics MATCHING "
                  "ANY service = 'svc'", -1, -1, 0 },
                { "LOOKUP metrics MATCHING "
                  "ANY metric = 'm'",    -1, -1, 0 },
+               { "LOOKUP metrics MATCHING "
+                 "service.name = 'm'",   -1, -1, 0 },
        };
 
        sdb_strbuf_t *errbuf = sdb_strbuf_create(64);