1#!perl -T 2use strict; 3use File::Spec; 4use Test::More; 5use Net::Pcap; 6 7plan tests => 5; 8 9my($pcap,$err) = ('',''); 10 11# from perlport/"Numbers endianness and Width" 12my $is_big_endian = unpack("h*", pack("s", 1)) =~ /01/; 13my $is_little_endian = unpack("h*", pack("s", 1)) =~ /^1/; 14 15is( $is_big_endian, !$is_little_endian, "checking flags consistency" ); 16my $type = $is_big_endian ? "big" : "little"; 17diag("This platform has been detected as a $type endian architecture"); 18 19# make these values numbers because is_swapped() return 0 or 1, not true or false 20$is_big_endian += 0; $is_little_endian += 0; 21 22# testing with a big endian dump 23$pcap = Net::Pcap::open_offline(File::Spec->catfile(qw(t samples ping-ietf-20pk-be.dmp)), \$err); 24isa_ok( $pcap, 'pcap_tPtr', "\$pcap" ); 25is( Net::Pcap::is_swapped($pcap) , $is_little_endian, "testing with a big endian dump" ); 26Net::Pcap::close($pcap); 27 28# testing with a little endian dump 29$pcap = Net::Pcap::open_offline(File::Spec->catfile(qw(t samples ping-ietf-20pk-le.dmp)), \$err); 30isa_ok( $pcap, 'pcap_tPtr', "\$pcap" ); 31is( Net::Pcap::is_swapped($pcap) , $is_big_endian, "testing with a little endian dump" ); 32Net::Pcap::close($pcap); 33