- # Before `make install' is performed this script should be runnable with
- # `make test'. After `make install' it should work as `perl test.pl'
-
- ######################### We start with some black magic to print on failure.
- # Change 1..1 below to 1..last_test_to_print .
- # (It may become useful if the test is moved to ./t subdirectory.)
- $| = 1;
- END {print "1..1\nnot ok 1\n" unless $test;}
-
- use NetAddr::IP::Util qw(
- ipv6_aton
- ipv6_n2x
- );
-
- $test = 1;
-
- sub ok {
- print "ok $test\n";
- ++$test;
- }
-
- my @addr =
- qw( :: 0:0:0:0:0:0:0:0
- ::: undef
- foo undef
- ::foo undef
- foo:: undef
- abc::def::9 undef
- abcd1:: undef
- abcd:: abcd:0:0:0:0:0:0:0
- ::abcde undef
- :a:b:c:d:1:2:3:4 undef
- :a:b:c:d undef
- a:b:c:d:1:2:3:4: undef
- a:b:c:d:1:2:3:4:: undef
- ::a:b:c:d:1:2:3:4 undef
- ::a:b:c:d:1:2:3 0:a:b:c:d:1:2:3
- ::a:b:c:d:1:2:3: undef
- :a:b:c:d:1:2:3:: undef
- a:b:c:d:1:2:3:: a:b:c:d:1:2:3:0
- );
-
- my $x = @addr/2;
-
- # notify TEST about number of tests
- # Insert your test code below (better if it prints "ok 13"
- # (correspondingly "not ok 13") depending on the success of chunk 13
- # of the test code):
-
- print '1..',$x,"\n";
-
- for ($x = 0;$x <= $#addr; $x+=2) {
- my $bstr = ipv6_aton($addr[$x]);
- if ($addr[$x +1] =~ /undef/) {
- print "unexpected return value for $addr[$x]: $_\nnot "
- if ($_ = ipv6_aton && (ipv6_n2x($_) || 'not defined'));
- } else {
- my $rv = ipv6_aton($addr[$x]);
- unless ($rv) {
- print "got undefined value for $addr[$x]\nnot ";
- }
- else {
- $rv = ipv6_n2x($rv) || 'not defined';
- print "got: $rv, exp: $addr[$x +1]\nnot "
- unless $rv eq uc $addr[$x +1];
- }
- }
- &ok;
- }