Code

frontend/grammar: Let LOOKUP support all object types.
[sysdb.git] / t / unit / frontend / parser_test.c
index 8af046a1de93c4ece48f5dbc6c3d3d3bcf983579..947ef710cb44f232a208fcf99d0b7d6d1663c1be 100644 (file)
@@ -107,6 +107,12 @@ START_TEST(test_parse)
                  "host =~ 'p' "
                  "FILTER age>"
                  "interval",           -1,   1, CONNECTION_LOOKUP },
+               { "LOOKUP services",    -1,   1, CONNECTION_LOOKUP },
+               { "LOOKUP services MATCHING ANY "
+                 "attribute =~ 'a'",   -1,   1, CONNECTION_LOOKUP },
+               { "LOOKUP metrics",     -1,   1, CONNECTION_LOOKUP },
+               { "LOOKUP metrics MATCHING ANY "
+                 "attribute =~ 'a'",   -1,   1, CONNECTION_LOOKUP },
 
                { "TIMESERIES 'host'.'metric' "
                  "START 2014-01-01 "
@@ -262,6 +268,20 @@ START_TEST(test_parse)
                { "LOOKUP hosts MATCHING "
                  "attribute['foo'] <= "
                  "'f' || oo",           -1, -1, 0 },
+               { "LOOKUP hosts MATCHING "
+                 "ANY host = 'host'",   -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 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 },
        };
 
        sdb_strbuf_t *errbuf = sdb_strbuf_create(64);