# 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.) BEGIN { $| = 1; print "1..9\n"; } END {print "not ok 1\n" unless $loaded;} use NetAddr::IP::Util qw( ipv6_aton ipv6_n2x shiftleft ); $loaded = 1; print "ok 1\n"; ######################### End of black magic. # 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): $test = 2; sub ok { print "ok $test\n"; ++$test; } my @num = # input shift expected qw( 1::1 none 1:0:0:0:0:0:0:1 1::1 0 1:0:0:0:0:0:0:1 1::1 1 2:0:0:0:0:0:0:2 1::1 2 4:0:0:0:0:0:0:4 1::1 3 8:0:0:0:0:0:0:8 1::1 15 8000:0:0:0:0:0:0:8000 1::1 16 0:0:0:0:0:0:1:0 1::1 128 0:0:0:0:0:0:0:0 ); for (my $i=0;$i < @num;$i+=3) { my $bstr = ipv6_aton($num[$i]); my $rv; if ($num[$i +1] =~ /\D/) { $rv = shiftleft($bstr); } else { $rv = shiftleft($bstr,$num[$i +1]); } my $exp = $num[$i+2]; my $got = ipv6_n2x($rv); print "got: $got, exp: $exp\nnot " unless $got eq $exp; &ok; }