index ffeca8f68b091d50e5c90c5d165edf2867986b1f..74075b3a6c8de866840891e52d975fdc0fdc35ba 100644 (file)
--- a/t/frontend/parser_test.c
+++ b/t/frontend/parser_test.c
{ "LOOKUP hosts WHERE "
"host.name = 'host'", -1, 1, CONNECTION_LOOKUP },
+ { "LOOKUP hosts WHERE NOT "
+ "host.name = 'host'", -1, 1, CONNECTION_LOOKUP },
{ "LOOKUP hosts WHERE "
"host.name =~ 'p' AND "
"service.name =~ 'p'", -1, 1, CONNECTION_LOOKUP },
+ { "LOOKUP hosts WHERE NOT "
+ "host.name =~ 'p' AND "
+ "service.name =~ 'p'", -1, 1, CONNECTION_LOOKUP },
{ "LOOKUP hosts WHERE "
"host.name =~ 'p' AND "
"service.name =~ 'p' OR "
"service.name =~ 'r'", -1, 1, CONNECTION_LOOKUP },
+ { "LOOKUP hosts WHERE NOT "
+ "host.name =~ 'p' AND "
+ "service.name =~ 'p' OR "
+ "service.name =~ 'r'", -1, 1, CONNECTION_LOOKUP },
/* comments */
{ "/* some comment */", -1, 0, 0 },
"service.name =~ 'pattern'", -1, MATCHER_AND },
{ "host.name =~ 'pattern' OR "
"service.name =~ 'pattern'", -1, MATCHER_OR },
+ { "NOT host.name = 'host'", -1, MATCHER_NOT },
/* check operator precedence */
{ "host.name = 'name' OR "
"service.name = 'name') AND "
"(attribute.name = 'name' OR "
"attribute.foo = 'bar')", -1, MATCHER_AND },
+ { "NOT host.name = 'name' OR "
+ "service.name = 'name'", -1, MATCHER_OR },
+ { "NOT host.name = 'name' OR "
+ "NOT service.name = 'name'", -1, MATCHER_OR },
+ { "NOT (host.name = 'name' OR "
+ "NOT service.name = 'name')", -1, MATCHER_NOT },
/* syntax errors */
{ "LIST", -1, -1 },