From: Igor Putovny Date: Wed, 22 Apr 2026 15:16:12 +0000 (+0200) Subject: Filter: Add tests for clists of ints and quads X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5fe6c27244b4711dbb3e83d75515f2fb8718cd7b;p=thirdparty%2Fbird.git Filter: Add tests for clists of ints and quads --- diff --git a/filter/test.conf b/filter/test.conf index 390d7c158..8f2e4270b 100644 --- a/filter/test.conf +++ b/filter/test.conf @@ -1190,6 +1190,7 @@ clist r; bt_test_suite(t_clist_old, "Testing lists of communities (old syntax)"); + function t_clist_new() { bt_assert((10, 20).asn = 10); @@ -1321,6 +1322,79 @@ bt_test_suite(t_clist_new, "Testing lists of communities (new syntax)"); +/* + * Testing lists of ints + * --------------------- + */ + +function t_clist_int() +{ + clist l; + bt_assert(l = -empty-); + + l.add(1); + l.add(one+one); + bt_assert(1 ~ l); + bt_assert(2 ~ l); + bt_assert(3 !~ l); + + clist ll; + ll = -empty-.add(1).add(3).add(4); + l.add(ll); + + bt_assert(format(l) = "(clist (0,1) (0,2) (0,3) (0,4))"); + + l.delete(1); + bt_assert(l = -empty-.add(2).add(3).add(4)); + + l.delete([2, 3]); + bt_assert(l = -empty-.add(4)); + + l = -empty-.add(1).add(2).add(3).add(4); + + bt_assert(delete(l, [2, 3]) = -empty-.add(1).add(4)); + bt_assert(delete(l, [1 .. 2]) = -empty-.add(3).add(4)); + + bt_assert(filter(l, [3, 4]) = -empty-.add(3).add(4)); + bt_assert(filter(l, [1 .. 4]) = l); +} + +bt_test_suite(t_clist_int, "Testing lists of ints"); + + + + +/* + * Testing lists of quads + * ---------------------- + */ + +function t_clist_quad() +{ + quad q = 1.2.3.4; + clist ql = -empty-.add(q).add(3.1.0.0).add(4.0.0.0); + + bt_assert(q ~ ql); + bt_assert(3.1.0.0 ~ ql); + bt_assert(4.0.0.0 ~ ql); + + bt_assert(format(ql) = "(clist (258,772) (769,0) (1024,0))"); + + bt_assert(delete(ql, q) = -empty-.add(3.1.0.0).add(4.0.0.0)); + bt_assert(delete(ql, 3.1.0.0) = -empty-.add(q).add(4.0.0.0)); + bt_assert(delete(ql, [1.2.3.4, 2.0.0.0]) = -empty-.add(3.1.0.0).add(4.0.0.0)); + bt_assert(delete(ql, [3.0.0.0 .. 4.0.0.0]) = -empty-.add(1.2.3.4)); + + bt_assert(filter(ql, [1.2.3.4]) = -empty-.add(1.2.3.4)); + bt_assert(filter(ql, [2.0.0.0, 4.0.0.0]) = -empty-.add(4.0.0.0)); + bt_assert(filter(ql, [1.0.0.0 .. 3.1.0.0]) = -empty-.add(q).add(3.1.0.0)); +} + +bt_test_suite(t_clist_quad, "Testing lists of quads"); + + + + /* * Testing Extended Communities * ----------------------------