Code

parser_test: Added various ANY/ALL iterator tests; also for arrays.
authorSebastian Harl <sh@tokkee.org>
Sun, 9 Nov 2014 10:49:47 +0000 (11:49 +0100)
committerSebastian Harl <sh@tokkee.org>
Sun, 9 Nov 2014 10:49:47 +0000 (11:49 +0100)
t/unit/frontend/parser_test.c

index b3d5c8bf5b6c45eb9933170bdda72a7e57d0237a..17c1032bcd0168c94fb9a9ae5873d111c6eb3926 100644 (file)
@@ -350,6 +350,20 @@ START_TEST(test_parse_matcher)
                { "name = 'localhost' -- foo",    -1,  MATCHER_EQ },
                { "name = 'host' <garbage>",      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 },