Newer
Older
NetAddr-IP / Lite / Util / t / notcontiguous.t
@Michael Robinton Michael Robinton on 21 Oct 2014 2 KB Import of MIKER/NetAddr-IP-4.020 from CPAN.
  1. # Before `make install' is performed this script should be runnable with
  2. # `make test'. After `make install' it should work as `perl test.pl'
  3.  
  4. ######################### We start with some black magic to print on failure.
  5. # Change 1..1 below to 1..last_test_to_print .
  6. # (It may become useful if the test is moved to ./t subdirectory.)
  7.  
  8. BEGIN { $| = 1; print "1..49\n"; }
  9. END {print "not ok 1\n" unless $loaded;}
  10.  
  11. use NetAddr::IP::Util qw(
  12. inet_any2n
  13. notcontiguous
  14. );
  15.  
  16. $loaded = 1;
  17. print "ok 1\n";
  18. ######################### End of black magic.
  19.  
  20. # Insert your test code below (better if it prints "ok 13"
  21. # (correspondingly "not ok 13") depending on the success of chunk 13
  22. # of the test code):
  23.  
  24. $test = 2;
  25.  
  26. sub ok {
  27. print "ok $test\n";
  28. ++$test;
  29. }
  30.  
  31. my @num = # input expected spur
  32. qw(
  33. FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF 128 0
  34. FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFE 127 0
  35. FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFC 126 0
  36. FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFF8 125 0
  37. FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFF0 124 0
  38. FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFE0 123 0
  39. FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFC0 122 0
  40. FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF80 121 0
  41. FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FF00 120 0
  42. FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:0 112 0
  43. FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFF0:0 108 0
  44. FFeF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF 128 1
  45. FFFF:FFeF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFE 127 1
  46. FFFF:FFFF:FeFF:FFFF:FFFF:FFFF:FFFF:FFFC 126 1
  47. FFFF:FFFF:FFFF:eFFF:FFFF:FFFF:FFFF:FFF8 125 1
  48. FFFF:FFFF:FFFF:FFFF:FFFe:FFFF:FFFF:FFF0 124 1
  49. FFFF:FFFF:FFF:FFFF:FFFF:FFFF:FFFF:FFE0 123 1
  50. FFFF:FFFF:FFFF:FFFF:FFFF:FFeF:FFFF:FFC0 122 1
  51. FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FeFF:FF80 121 1
  52. FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:eF00 120 1
  53. eFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:0 112 1
  54. FFFF:FeFF:FFFF:FFFF:FFFF:FFFF:FFF0:0 108 1
  55. F000:: 4 0
  56. A000:: 3 1
  57. );
  58.  
  59. for (my $i=0;$i < @num;$i+=3) {
  60. my $bstr = inet_any2n($num[$i]);
  61. my $rv;
  62. my $xcidr = $num[$i+1];
  63. my $xspur = $num[$i+2];
  64. my($spur,$cidr) = notcontiguous($bstr);
  65. print "cidr: $cidr, exp: $xcidr\nnot "
  66. unless $cidr == $xcidr;
  67. &ok;
  68. $spur = 1 if $spur;
  69. print "spur: $spur, exp: $xspur\nnot "
  70. unless $spur == $xspur;
  71. &ok;
  72. }