]> git.ipfire.org Git - thirdparty/bird.git/blobdiff - filter/test.conf
Merge commit 'origin/bfd'
[thirdparty/bird.git] / filter / test.conf
index 3d35ed059fa5e2d35d376ab4b2e099c922966acf..62c807b731a242a2e50dc22ef61c71c1507fae4f 100644 (file)
@@ -142,10 +142,10 @@ eclist el2;
        l = add( l, (3,5) );
        l2 = filter( l, [(3,*)] );
        l = delete( l, [(3,2..4)] );
-       print "Community list (1,2) (3,1) (3,5) ", l;
+       print "Community list (1,2) (3,1) (3,5) ", l, " len: ", l.len;
        l = add( l, (3,2) );
        l = add( l, (4,5) );
-       print "Community list (1,2) (3,1) (3,2) (3,5) (4,5) ", l;
+       print "Community list (1,2) (3,1) (3,2) (3,5) (4,5) ", l, " len: ", l.len;
        print "Should be true: ", l ~ [(*,2)], " ", l ~ [(*,5)], " ", l ~ [(*, one)];
        print "Should be false: ", l ~ [(*,3)], " ", l ~ [(*,(one+6))], " ", l ~ [(*, (one+one+one))];
        l = delete( l, [(*,(one+onef(3)))] );
@@ -168,6 +168,7 @@ eclist el2;
        el = add(el, (ro, 11.21.31.41.mask(16), 200));
        print "EC list (rt, 10, 20) (ro, 10.20.30.40, 100) (ro, 11.21.0.0, 200):";
        print el;
+       print "EC len: ", el.len;
        el = delete(el, (rt, 10, 20));
        el = delete(el, (rt, 10, 30));
        el = add(el, (unknown 2, ten, 1));
@@ -264,6 +265,7 @@ ec cc;
 int set is;
 pair set ps;
 ec set ecs;
+ip set ips;
 prefix set pxs;
 string s;
 {
@@ -282,6 +284,12 @@ string s;
 #      if 1 <= 1 then printn "."; else { print "*** FAIL: test 3"; }
        if 1234 < 1234 then { print "*** FAIL: test 4"; quitbird; } else print "ok";
        is = [ 2, 3, 4, 7..11 ];
+
+       print "must be true:  ", 1 = 1, " ", 1 != (0,1), " ", 1 != "a", " ", +empty+ = +empty+, " ", -empty- = -empty-, " ", --empty-- = --empty-- ,
+                       " ", [1,4..10,20] = [1,4..10,20] , " ", [ 10.0.0.0/8{ 15 , 17 } ] = [ 10.0.0.0/8{ 15 , 17 } ];
+       print "must be false: ", 1 != 1, " ", 1 = (0,1), " ", 1 = "a", " ", +empty+ = -empty-, " ", -empty- = --empty--, " ", --empty-- = +empty+ ,
+                       " ", [1,2] = [1,3], " ", [ 10.0.0.0/8{ 15 , 17 } ] = [ 11.0.0.0/8{ 15 , 17 } ];
+
        print "  must be true: ", 1.2.0.0/16 ~ [ 1.0.0.0/8{ 15 , 17 } ];
        print "  data types; must be true: ", 1.2.3.4 = 1.2.3.4, ",", 1 ~ [1,2,3], ",", 5 ~ [1..20], ",", 10 ~ is, ",", 2 ~ [ 1, 2, 3 ], ",", 5 ~ [ 4 .. 7 ], ",", 1.2.3.4 ~ [ 1.2.3.3..1.2.3.5 ], ",", 1.2.3.4 ~ 1.0.0.0/8, ",", 1.0.0.0/8 ~ 1.0.0.0/8, ",", 1.0.0.0/8 ~ [ 1.0.0.0/8+ ];
        print "  must be true: ", true && true, ",", true || false, ",", ! false && ! false && true, ",", 1 < 2 && 1 != 3, ",", true && true && ! false, ",", true || 1+"a", ",", !(false && 1+"a");
@@ -353,6 +361,12 @@ string s;
         if ( b = true ) then print "Testing bool comparison b = true: ", b;
        else { print "*** FAIL: TRUE test failed" ; quitbird; }
        
+       ips = [ 1.1.1.0 .. 1.1.1.255, 1.2.2.2];
+       print "Testing IP sets: ";
+       print ips;
+       print "  must be true:  ",      1.1.1.0 ~ ips, ",", 1.1.1.100 ~ ips, ",", 1.2.2.2 ~ ips;
+       print "  must be false: ",      1.1.0.255 ~ ips, ",", 1.1.2.0  ~ ips, ",", 1.2.2.3 ~ ips, ",", 192.168.1.1 ~ ips;
+
        pxs = [ 1.2.0.0/16, 1.4.0.0/16+];
        print "Testing prefix sets: ";
        print pxs;
@@ -379,6 +393,9 @@ string s;
 
        print "1.2.3.4 = ", onetwo;
 
+       i = 4200000000;
+       print "4200000000 = ", i, "   false: ", i = 4200000000, " ", i > 4100000000, "   false: ", i > 4250000000;
+
        test_undef(2);
        test_undef(3);
        test_undef(2);