summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--regress/unittests/match/tests.c33
1 files changed, 29 insertions, 4 deletions
diff --git a/regress/unittests/match/tests.c b/regress/unittests/match/tests.c
index 44b89a586..e6eb4af26 100644
--- a/regress/unittests/match/tests.c
+++ b/regress/unittests/match/tests.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tests.c,v 1.1 2016/08/19 06:44:13 djm Exp $ */ 1/* $OpenBSD: tests.c,v 1.2 2016/08/23 08:17:04 djm Exp $ */
2/* 2/*
3 * Regress test for matching functions 3 * Regress test for matching functions
4 * 4 *
@@ -56,12 +56,16 @@ tests(void)
56 ASSERT_INT_EQ(match_pattern_list("a", "", 0), 0); 56 ASSERT_INT_EQ(match_pattern_list("a", "", 0), 0);
57 ASSERT_INT_EQ(match_pattern_list("a", "*", 0), 1); 57 ASSERT_INT_EQ(match_pattern_list("a", "*", 0), 1);
58 ASSERT_INT_EQ(match_pattern_list("a", "!*", 0), -1); 58 ASSERT_INT_EQ(match_pattern_list("a", "!*", 0), -1);
59 ASSERT_INT_EQ(match_pattern_list("a", "!a", 0), -1);
60 ASSERT_INT_EQ(match_pattern_list("a", "!b", 0), 1);
59 ASSERT_INT_EQ(match_pattern_list("a", "!a,*", 0), -1); 61 ASSERT_INT_EQ(match_pattern_list("a", "!a,*", 0), -1);
60 ASSERT_INT_EQ(match_pattern_list("b", "!a,*", 0), 1); 62 ASSERT_INT_EQ(match_pattern_list("b", "!a,*", 0), 1);
61 ASSERT_INT_EQ(match_pattern_list("a", "*,!a", 0), -1); 63 ASSERT_INT_EQ(match_pattern_list("a", "*,!a", 0), -1);
62 ASSERT_INT_EQ(match_pattern_list("b", "*,!a", 0), 1); 64 ASSERT_INT_EQ(match_pattern_list("b", "*,!a", 0), 1);
63 ASSERT_INT_EQ(match_pattern_list("a", "a,!*", 0), -1); 65 ASSERT_INT_EQ(match_pattern_list("a", "a,!*", 0), -1);
64 ASSERT_INT_EQ(match_pattern_list("b", "a,!*", 0), -1); 66 ASSERT_INT_EQ(match_pattern_list("b", "a,!*", 0), -1);
67 ASSERT_INT_EQ(match_pattern_list("a", "a,!a", 0), -1);
68 ASSERT_INT_EQ(match_pattern_list("b", "a,!a", 0), 1);
65 ASSERT_INT_EQ(match_pattern_list("a", "!*,a", 0), -1); 69 ASSERT_INT_EQ(match_pattern_list("a", "!*,a", 0), -1);
66 ASSERT_INT_EQ(match_pattern_list("b", "!*,a", 0), -1); 70 ASSERT_INT_EQ(match_pattern_list("b", "!*,a", 0), -1);
67 TEST_DONE(); 71 TEST_DONE();
@@ -73,14 +77,35 @@ tests(void)
73 ASSERT_INT_EQ(match_pattern_list("ABC", "abc", 1), 0); 77 ASSERT_INT_EQ(match_pattern_list("ABC", "abc", 1), 0);
74 TEST_DONE(); 78 TEST_DONE();
75 79
80 TEST_START("addr_match_list");
81 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "127.0.0.1/44"), -2);
82 ASSERT_INT_EQ(addr_match_list(NULL, "127.0.0.1/44"), -2);
83 ASSERT_INT_EQ(addr_match_list("a", "*"), 0);
84 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "*"), 1);
85 ASSERT_INT_EQ(addr_match_list(NULL, "*"), 0);
86 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "127.0.0.1"), 1);
87 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "127.0.0.2"), 0);
88 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "!127.0.0.1"), -1);
89 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "!127.0.0.2"), 1);
90 ASSERT_INT_EQ(addr_match_list("127.0.0.255", "127.0.0.0/24"), 1);
91 ASSERT_INT_EQ(addr_match_list("127.0.1.1", "127.0.0.0/24"), 0);
92 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "127.0.0.0/24"), 1);
93 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "127.0.1.0/24"), 0);
94 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "!127.0.0.0/24"), -1);
95 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "!127.0.1.0/24"), 1);
96 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "10.0.0.1,!127.0.0.1"), -1);
97 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "!127.0.0.1,10.0.0.1"), -1);
98 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "10.0.0.1,127.0.0.2"), 0);
99 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "127.0.0.2,10.0.0.1"), 0);
100 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "10.0.0.1,!127.0.0.2"), 1);
101 ASSERT_INT_EQ(addr_match_list("127.0.0.1", "!127.0.0.2,10.0.0.1"), 1);
102 TEST_DONE();
103
76/* 104/*
77 * XXX TODO 105 * XXX TODO
78 * int match_host_and_ip(const char *, const char *, const char *); 106 * int match_host_and_ip(const char *, const char *, const char *);
79 * int match_user(const char *, const char *, const char *, const char *); 107 * int match_user(const char *, const char *, const char *, const char *);
80 * char *match_list(const char *, const char *, u_int *); 108 * char *match_list(const char *, const char *, u_int *);
81 * int addr_match_list(const char *, const char *);
82 * int addr_match_cidr_list(const char *, const char *); 109 * int addr_match_cidr_list(const char *, const char *);
83 */ 110 */
84
85} 111}
86