From c983ba2775857cb462eae3361da8a00c381fa8c2 Mon Sep 17 00:00:00 2001 From: Sebastian Harl Date: Sun, 9 Nov 2014 11:49:47 +0100 Subject: [PATCH] parser_test: Added various ANY/ALL iterator tests; also for arrays. --- t/unit/frontend/parser_test.c | 42 +++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/t/unit/frontend/parser_test.c b/t/unit/frontend/parser_test.c index b3d5c8b..17c1032 100644 --- a/t/unit/frontend/parser_test.c +++ b/t/unit/frontend/parser_test.c @@ -350,6 +350,20 @@ START_TEST(test_parse_matcher) { "name = 'localhost' -- foo", -1, MATCHER_EQ }, { "name = 'host' ", 13, MATCHER_EQ }, { "name &^ 'localhost'", -1, -1 }, + /* match by backend */ + { "ANY backend < 'be'", -1, MATCHER_ANY }, + { "ANY backend <= 'be'", -1, MATCHER_ANY }, + { "ANY backend = 'be'", -1, MATCHER_ANY }, + { "ANY backend != 'be'", -1, MATCHER_ANY }, + { "ANY backend >= 'be'", -1, MATCHER_ANY }, + { "ANY backend > 'be'", -1, MATCHER_ANY }, + { "ALL backend < 'be'", -1, MATCHER_ALL }, + { "ALL backend <= 'be'", -1, MATCHER_ALL }, + { "ALL backend = 'be'", -1, MATCHER_ALL }, + { "ALL backend != 'be'", -1, MATCHER_ALL }, + { "ALL backend >= 'be'", -1, MATCHER_ALL }, + { "ALL backend > 'be'", -1, MATCHER_ALL }, + { "ANY backend &^ 'be'", -1, -1 }, /* match hosts by service */ { "ANY service < 'name'", -1, MATCHER_ANY }, { "ANY service <= 'name'", -1, MATCHER_ANY }, @@ -360,6 +374,15 @@ START_TEST(test_parse_matcher) { "ANY service =~ 'pattern'", -1, MATCHER_ANY }, { "ANY service !~ 'pattern'", -1, MATCHER_ANY }, { "ANY service &^ 'name'", -1, -1 }, + { "ALL service < 'name'", -1, MATCHER_ALL }, + { "ALL service <= 'name'", -1, MATCHER_ALL }, + { "ALL service = 'name'", -1, MATCHER_ALL }, + { "ALL service != 'name'", -1, MATCHER_ALL }, + { "ALL service >= 'name'", -1, MATCHER_ALL }, + { "ALL service > 'name'", -1, MATCHER_ALL }, + { "ALL service =~ 'pattern'", -1, MATCHER_ALL }, + { "ALL service !~ 'pattern'", -1, MATCHER_ALL }, + { "ALL service &^ 'name'", -1, -1 }, /* match hosts by metric */ { "ANY metric < 'name'", -1, MATCHER_ANY }, { "ANY metric <= 'name'", -1, MATCHER_ANY }, @@ -369,6 +392,16 @@ START_TEST(test_parse_matcher) { "ANY metric > 'name'", -1, MATCHER_ANY }, { "ANY metric =~ 'pattern'", -1, MATCHER_ANY }, { "ANY metric !~ 'pattern'", -1, MATCHER_ANY }, + { "ANY metric &^ 'pattern'", -1, -1 }, + { "ALL metric < 'name'", -1, MATCHER_ALL }, + { "ALL metric <= 'name'", -1, MATCHER_ALL }, + { "ALL metric = 'name'", -1, MATCHER_ALL }, + { "ALL metric != 'name'", -1, MATCHER_ALL }, + { "ALL metric >= 'name'", -1, MATCHER_ALL }, + { "ALL metric > 'name'", -1, MATCHER_ALL }, + { "ALL metric =~ 'pattern'", -1, MATCHER_ALL }, + { "ALL metric !~ 'pattern'", -1, MATCHER_ALL }, + { "ALL metric &^ 'pattern'", -1, -1 }, /* match hosts by attribute */ { "ANY attribute < 'name'", -1, MATCHER_ANY }, { "ANY attribute <= 'name'", -1, MATCHER_ANY }, @@ -379,6 +412,15 @@ START_TEST(test_parse_matcher) { "ANY attribute =~ 'pattern'", -1, MATCHER_ANY }, { "ANY attribute !~ 'pattern'", -1, MATCHER_ANY }, { "ANY attribute &^ 'pattern'", -1, -1 }, + { "ALL attribute < 'name'", -1, MATCHER_ALL }, + { "ALL attribute <= 'name'", -1, MATCHER_ALL }, + { "ALL attribute = 'name'", -1, MATCHER_ALL }, + { "ALL attribute != 'name'", -1, MATCHER_ALL }, + { "ALL attribute >= 'name'", -1, MATCHER_ALL }, + { "ALL attribute > 'name'", -1, MATCHER_ALL }, + { "ALL attribute =~ 'pattern'", -1, MATCHER_ALL }, + { "ALL attribute !~ 'pattern'", -1, MATCHER_ALL }, + { "ALL attribute &^ 'pattern'", -1, -1 }, /* composite expressions */ { "name =~ 'pattern' AND " "ANY service =~ 'pattern'", -1, MATCHER_AND }, -- 2.30.2