PATH=/usr/bin:/bin:/Users/fly2000/cpanfly-5.20/var/megalib/bin Start 2016-11-22T10:05:57 ActivePerl-2000 CPAN-2.10 Reading '/Users/fly2000/cpanfly-5.20/var/cpan/Metadata' Database was generated on Tue, 22 Nov 2016 03:17:02 GMT Fetching with LWP: http://ppm.activestate.com/CPAN/authors/id/M/MA/MAXMIND/GeoIP2-2.003002.tar.gz Fetching with LWP: http://ppm.activestate.com/CPAN/authors/id/M/MA/MAXMIND/CHECKSUMS Checksum for /Users/fly2000/cpanfly-5.20/var/cpan/sources/authors/id/M/MA/MAXMIND/GeoIP2-2.003002.tar.gz ok GeoIP2-2.003002/ GeoIP2-2.003002/LICENSE GeoIP2-2.003002/INSTALL GeoIP2-2.003002/Makefile.PL GeoIP2-2.003002/dist.ini GeoIP2-2.003002/bin/ GeoIP2-2.003002/bin/web-service-request GeoIP2-2.003002/perltidyrc GeoIP2-2.003002/lib/ GeoIP2-2.003002/lib/GeoIP2.pm GeoIP2-2.003002/lib/GeoIP2/ GeoIP2-2.003002/lib/GeoIP2/Record/ GeoIP2-2.003002/lib/GeoIP2/Record/Location.pm GeoIP2-2.003002/lib/GeoIP2/Record/Country.pm GeoIP2-2.003002/lib/GeoIP2/Record/Subdivision.pm GeoIP2-2.003002/lib/GeoIP2/Record/Postal.pm GeoIP2-2.003002/lib/GeoIP2/Record/Traits.pm GeoIP2-2.003002/lib/GeoIP2/Record/City.pm GeoIP2-2.003002/lib/GeoIP2/Record/Continent.pm GeoIP2-2.003002/lib/GeoIP2/Record/RepresentedCountry.pm GeoIP2-2.003002/lib/GeoIP2/Record/MaxMind.pm GeoIP2-2.003002/lib/GeoIP2/Database/ GeoIP2-2.003002/lib/GeoIP2/Database/Reader.pm GeoIP2-2.003002/lib/GeoIP2/WebService/ GeoIP2-2.003002/lib/GeoIP2/WebService/Client.pm GeoIP2-2.003002/lib/GeoIP2/Types.pm GeoIP2-2.003002/lib/GeoIP2/Error/ GeoIP2-2.003002/lib/GeoIP2/Error/Type.pm GeoIP2-2.003002/lib/GeoIP2/Error/WebService.pm GeoIP2-2.003002/lib/GeoIP2/Error/HTTP.pm GeoIP2-2.003002/lib/GeoIP2/Error/IPAddressNotFound.pm GeoIP2-2.003002/lib/GeoIP2/Error/Generic.pm GeoIP2-2.003002/lib/GeoIP2/Model/ GeoIP2-2.003002/lib/GeoIP2/Model/Insights.pm GeoIP2-2.003002/lib/GeoIP2/Model/ISP.pm GeoIP2-2.003002/lib/GeoIP2/Model/AnonymousIP.pm GeoIP2-2.003002/lib/GeoIP2/Model/Country.pm GeoIP2-2.003002/lib/GeoIP2/Model/Domain.pm GeoIP2-2.003002/lib/GeoIP2/Model/ConnectionType.pm GeoIP2-2.003002/lib/GeoIP2/Model/Enterprise.pm GeoIP2-2.003002/lib/GeoIP2/Model/City.pm GeoIP2-2.003002/lib/GeoIP2/Role/ GeoIP2-2.003002/lib/GeoIP2/Role/Record/ GeoIP2-2.003002/lib/GeoIP2/Role/Record/Country.pm GeoIP2-2.003002/lib/GeoIP2/Role/Record/HasNames.pm GeoIP2-2.003002/lib/GeoIP2/Role/HasIPAddress.pm GeoIP2-2.003002/lib/GeoIP2/Role/HasLocales.pm GeoIP2-2.003002/lib/GeoIP2/Role/Model.pm GeoIP2-2.003002/lib/GeoIP2/Role/Error/ GeoIP2-2.003002/lib/GeoIP2/Role/Error/HTTP.pm GeoIP2-2.003002/lib/GeoIP2/Role/Model/ GeoIP2-2.003002/lib/GeoIP2/Role/Model/Location.pm GeoIP2-2.003002/lib/GeoIP2/Role/Model/HasSubdivisions.pm GeoIP2-2.003002/lib/GeoIP2/Role/Model/Flat.pm GeoIP2-2.003002/README.md GeoIP2-2.003002/cpanfile GeoIP2-2.003002/CONTRIBUTING.md GeoIP2-2.003002/META.json GeoIP2-2.003002/perlcriticrc GeoIP2-2.003002/Changes GeoIP2-2.003002/META.yml GeoIP2-2.003002/tidyall.ini GeoIP2-2.003002/MANIFEST GeoIP2-2.003002/t/ GeoIP2-2.003002/t/00-report-prereqs.dd GeoIP2-2.003002/t/author-eol.t GeoIP2-2.003002/t/author-no-tabs.t GeoIP2-2.003002/t/author-pod-coverage.t GeoIP2-2.003002/t/lib/ GeoIP2-2.003002/t/lib/Test/ GeoIP2-2.003002/t/lib/Test/GeoIP2.pm GeoIP2-2.003002/t/author-pod-spell.t GeoIP2-2.003002/t/author-test-version.t GeoIP2-2.003002/t/00-report-prereqs.t GeoIP2-2.003002/t/author-portability.t GeoIP2-2.003002/t/author-tidyall.t GeoIP2-2.003002/t/author-pod-syntax.t GeoIP2-2.003002/t/GeoIP2/ GeoIP2-2.003002/t/GeoIP2/Database/ GeoIP2-2.003002/t/GeoIP2/Database/Reader.t GeoIP2-2.003002/t/GeoIP2/Database/Reader-Anonymous-IP.t GeoIP2-2.003002/t/GeoIP2/Database/Reader-Enterprise.t GeoIP2-2.003002/t/GeoIP2/Database/Reader-Connection-Type.t GeoIP2-2.003002/t/GeoIP2/Database/Reader-Domain.t GeoIP2-2.003002/t/GeoIP2/Database/Reader-ISP.t GeoIP2-2.003002/t/GeoIP2/WebService/ GeoIP2-2.003002/t/GeoIP2/WebService/Client.t GeoIP2-2.003002/t/GeoIP2/Error/ GeoIP2-2.003002/t/GeoIP2/Error/Type.t GeoIP2-2.003002/t/GeoIP2/Types.t GeoIP2-2.003002/t/GeoIP2/Model/ GeoIP2-2.003002/t/GeoIP2/Model/City.t GeoIP2-2.003002/t/GeoIP2/Model/Insights.t GeoIP2-2.003002/t/GeoIP2/Model/names.t GeoIP2-2.003002/t/GeoIP2/Model/Country.t GeoIP2-2.003002/t/author-synopsis.t GeoIP2-2.003002/t/author-00-compile.t GeoIP2-2.003002/t/release-cpan-changes.t GeoIP2-2.003002/maxmind-db/ GeoIP2-2.003002/maxmind-db/LICENSE GeoIP2-2.003002/maxmind-db/source-data/ GeoIP2-2.003002/maxmind-db/source-data/GeoIP2-Connection-Type-Test.json GeoIP2-2.003002/maxmind-db/source-data/README GeoIP2-2.003002/maxmind-db/source-data/GeoIP2-ISP-Test.json GeoIP2-2.003002/maxmind-db/source-data/GeoIP2-Country-Test.json GeoIP2-2.003002/maxmind-db/source-data/GeoIP2-Anonymous-IP-Test.json GeoIP2-2.003002/maxmind-db/source-data/GeoIP2-Enterprise-Test.json GeoIP2-2.003002/maxmind-db/source-data/GeoIP2-Domain-Test.json GeoIP2-2.003002/maxmind-db/source-data/GeoIP2-City-Test.json GeoIP2-2.003002/maxmind-db/source-data/GeoIP2-Precision-City-Test.json GeoIP2-2.003002/maxmind-db/source-data/GeoIP2-Precision-ISP-Test.json GeoIP2-2.003002/maxmind-db/MaxMind-DB-spec.md GeoIP2-2.003002/maxmind-db/perltidyrc GeoIP2-2.003002/maxmind-db/README.md GeoIP2-2.003002/maxmind-db/tidyall.ini GeoIP2-2.003002/maxmind-db/test-data/ GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-broken-pointers-24.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-ipv4-24.mmdb GeoIP2-2.003002/maxmind-db/test-data/GeoIP2-City-Test-Invalid-Node-Count.mmdb GeoIP2-2.003002/maxmind-db/test-data/GeoIP2-Domain-Test.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-mixed-32.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-ipv6-32.mmdb GeoIP2-2.003002/maxmind-db/test-data/write-test-data.pl GeoIP2-2.003002/maxmind-db/test-data/GeoIP2-Connection-Type-Test.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-ipv6-24.mmdb GeoIP2-2.003002/maxmind-db/test-data/README.md GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-ipv4-32.mmdb GeoIP2-2.003002/maxmind-db/test-data/GeoIP2-Enterprise-Test.mmdb GeoIP2-2.003002/maxmind-db/test-data/GeoIP2-City-Test.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-broken-search-tree-24.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-metadata-pointers.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-ipv6-28.mmdb GeoIP2-2.003002/maxmind-db/test-data/GeoIP2-Country-Test.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-mixed-24.mmdb GeoIP2-2.003002/maxmind-db/test-data/GeoIP2-Precision-ISP-Test.mmdb GeoIP2-2.003002/maxmind-db/test-data/maps-with-pointers.raw GeoIP2-2.003002/maxmind-db/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-decoder.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-string-value-entries.mmdb GeoIP2-2.003002/maxmind-db/test-data/GeoIP2-Anonymous-IP-Test.mmdb GeoIP2-2.003002/maxmind-db/test-data/GeoIP2-ISP-Test.mmdb GeoIP2-2.003002/maxmind-db/test-data/GeoIP2-Precision-City-Test.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-mixed-28.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-ipv4-28.mmdb GeoIP2-2.003002/maxmind-db/test-data/MaxMind-DB-test-nested.mmdb Configuring M/MA/MAXMIND/GeoIP2-2.003002.tar.gz with Makefile.PL >>> /Users/fly2000/ap2000-298465/bin/perl-dynamic Makefile.PL Checking if your kit is complete... Looks good Have /Users/fly2000/cpanfly-5.20/var/megalib Want /Users/fly2000/ap2000-298465/lib Your perl and your Config.pm seem to have different ideas about the architecture they are running on. Perl thinks: [megalib] Config says: [darwin-thread-multi-2level] This may or may not cause problems. Please check your installation of perl if you have problems building this extension. Generating a Unix-style Makefile Writing Makefile for GeoIP2 Writing MYMETA.yml and MYMETA.json MAXMIND/GeoIP2-2.003002.tar.gz /Users/fly2000/ap2000-298465/bin/perl-dynamic Makefile.PL -- OK Running make for M/MA/MAXMIND/GeoIP2-2.003002.tar.gz >>> make cp lib/GeoIP2/WebService/Client.pm blib/lib/GeoIP2/WebService/Client.pm cp lib/GeoIP2/Record/Subdivision.pm blib/lib/GeoIP2/Record/Subdivision.pm cp lib/GeoIP2/Role/Error/HTTP.pm blib/lib/GeoIP2/Role/Error/HTTP.pm cp lib/GeoIP2/Model/Enterprise.pm blib/lib/GeoIP2/Model/Enterprise.pm cp lib/GeoIP2/Record/Location.pm blib/lib/GeoIP2/Record/Location.pm cp lib/GeoIP2.pm blib/lib/GeoIP2.pm cp lib/GeoIP2/Types.pm blib/lib/GeoIP2/Types.pm cp lib/GeoIP2/Role/Model/Flat.pm blib/lib/GeoIP2/Role/Model/Flat.pm cp lib/GeoIP2/Error/Generic.pm blib/lib/GeoIP2/Error/Generic.pm cp lib/GeoIP2/Record/RepresentedCountry.pm blib/lib/GeoIP2/Record/RepresentedCountry.pm cp lib/GeoIP2/Role/Model/HasSubdivisions.pm blib/lib/GeoIP2/Role/Model/HasSubdivisions.pm cp lib/GeoIP2/Model/ConnectionType.pm blib/lib/GeoIP2/Model/ConnectionType.pm cp lib/GeoIP2/Role/Model.pm blib/lib/GeoIP2/Role/Model.pm cp lib/GeoIP2/Record/City.pm blib/lib/GeoIP2/Record/City.pm cp lib/GeoIP2/Record/Continent.pm blib/lib/GeoIP2/Record/Continent.pm cp lib/GeoIP2/Error/WebService.pm blib/lib/GeoIP2/Error/WebService.pm cp lib/GeoIP2/Model/Domain.pm blib/lib/GeoIP2/Model/Domain.pm cp lib/GeoIP2/Record/Country.pm blib/lib/GeoIP2/Record/Country.pm cp lib/GeoIP2/Model/AnonymousIP.pm blib/lib/GeoIP2/Model/AnonymousIP.pm cp lib/GeoIP2/Model/City.pm blib/lib/GeoIP2/Model/City.pm cp lib/GeoIP2/Role/Model/Location.pm blib/lib/GeoIP2/Role/Model/Location.pm cp lib/GeoIP2/Role/HasIPAddress.pm blib/lib/GeoIP2/Role/HasIPAddress.pm cp lib/GeoIP2/Error/HTTP.pm blib/lib/GeoIP2/Error/HTTP.pm cp lib/GeoIP2/Error/Type.pm blib/lib/GeoIP2/Error/Type.pm cp lib/GeoIP2/Model/Insights.pm blib/lib/GeoIP2/Model/Insights.pm cp lib/GeoIP2/Record/Traits.pm blib/lib/GeoIP2/Record/Traits.pm cp lib/GeoIP2/Record/MaxMind.pm blib/lib/GeoIP2/Record/MaxMind.pm cp lib/GeoIP2/Record/Postal.pm blib/lib/GeoIP2/Record/Postal.pm cp lib/GeoIP2/Role/HasLocales.pm blib/lib/GeoIP2/Role/HasLocales.pm cp lib/GeoIP2/Model/Country.pm blib/lib/GeoIP2/Model/Country.pm cp lib/GeoIP2/Database/Reader.pm blib/lib/GeoIP2/Database/Reader.pm cp lib/GeoIP2/Error/IPAddressNotFound.pm blib/lib/GeoIP2/Error/IPAddressNotFound.pm cp lib/GeoIP2/Role/Record/Country.pm blib/lib/GeoIP2/Role/Record/Country.pm cp lib/GeoIP2/Role/Record/HasNames.pm blib/lib/GeoIP2/Role/Record/HasNames.pm cp lib/GeoIP2/Model/ISP.pm blib/lib/GeoIP2/Model/ISP.pm cp bin/web-service-request blib/script/web-service-request "/Users/fly2000/ap2000-298465/bin/perl-dynamic" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/web-service-request Manifying 25 pod documents MAXMIND/GeoIP2-2.003002.tar.gz make -- OK Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 "/Users/fly2000/ap2000-298465/bin/perl-dynamic" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/GeoIP2/*.t t/GeoIP2/Database/*.t t/GeoIP2/Error/*.t t/GeoIP2/Model/*.t t/GeoIP2/WebService/*.t # # Versions for all modules listed in MYMETA.json (including optional ones): # # === Configure Requires === # # Module Want Have # ------------------- ---- ---- # ExtUtils::MakeMaker any 7.04 # # === Build Requires === # # Module Want Have # ------------------- ---- ---- # ExtUtils::MakeMaker any 7.04 # # === Test Requires === # # Module Want Have # --------------------- ---- -------- # ExtUtils::MakeMaker any 7.04 # File::Spec any 3.62 # HTTP::Response any 6.11 # HTTP::Status any 6.11 # IO::Compress::Gzip any 2.069 # MaxMind::DB::Metadata any 0.040001 # Path::Class any 0.37 # Test::Builder any 1.001009 # Test::Fatal any 0.014 # Test::More 0.96 1.001009 # Test::Number::Delta any 1.06 # base any 2.23 # utf8 any 1.13_01 # # === Test Recommends === # # Module Want Have # ---------- -------- -------- # CPAN::Meta 2.120900 2.150005 # # === Runtime Requires === # # Module Want Have # -------------------- -------- -------- # B any 1.48 # Data::Dumper any 2.161 # Data::Validate::IP 0.24 0.27 # Exporter any 5.72 # Getopt::Long any 2.49 # HTTP::Headers any 6.11 # HTTP::Request any 6.11 # JSON::MaybeXS any 1.003008 # LWP::Protocol::https any 6.06 # LWP::UserAgent any 6.15 # List::MoreUtils any 0.416 # List::Util any 1.46 # MIME::Base64 any 3.15 # MaxMind::DB::Reader 1.000000 1.000012 # Moo any 2.002005 # Moo::Role any 2.002005 # Params::Validate any 1.26 # Scalar::Util any 1.46 # Sub::Quote any 2.002005 # Throwable::Error any 0.200013 # Try::Tiny any 0.27 # URI any 1.67 # lib any 0.63 # strict any 1.08 # warnings any 1.23 # t/00-report-prereqs.t ....................... 1..1 ok 1 ok t/author-00-compile.t ....................... skipped: these tests are for testing by the author t/author-eol.t .............................. skipped: these tests are for testing by the author t/author-no-tabs.t .......................... skipped: these tests are for testing by the author t/author-pod-coverage.t ..................... skipped: these tests are for testing by the author t/author-pod-spell.t ........................ skipped: these tests are for testing by the author t/author-pod-syntax.t ....................... skipped: these tests are for testing by the author t/author-portability.t ...................... skipped: these tests are for testing by the author t/author-synopsis.t ......................... skipped: these tests are for testing by the author t/author-test-version.t ..................... skipped: these tests are for testing by the author t/author-tidyall.t .......................... skipped: these tests are for testing by the author t/GeoIP2/Database/Reader-Anonymous-IP.t ..... ok 1 - is_anonymous is true for 1.2.0.0 ok 2 - is_anonymous_vpn is true for 1.2.0.0 ok 3 - is_hosting_provider is false for 1.2.0.0 ok 4 - is_public_proxy is false for 1.2.0.0 ok 5 - is_tor_exit_node is false for 1.2.0.0 ok 6 - is_anonymous is true for 186.30.236.233 ok 7 - is_anonymous_vpn is false for 186.30.236.233 ok 8 - is_hosting_provider is false for 186.30.236.233 ok 9 - is_public_proxy is true for 186.30.236.233 ok 10 - is_tor_exit_node is false for 186.30.236.233 ok 11 - is_anonymous is false for 6.7.8.9 ok 12 - is_anonymous_vpn is false for 6.7.8.9 ok 13 - is_hosting_provider is false for 6.7.8.9 ok 14 - is_public_proxy is false for 6.7.8.9 ok 15 - is_tor_exit_node is false for 6.7.8.9 ok 16 - is_anonymous is true for 65.4.3.2 ok 17 - is_anonymous_vpn is false for 65.4.3.2 ok 18 - is_hosting_provider is false for 65.4.3.2 ok 19 - is_public_proxy is false for 65.4.3.2 ok 20 - is_tor_exit_node is true for 65.4.3.2 ok 21 - is_anonymous is true for 71.160.223.45 ok 22 - is_anonymous_vpn is false for 71.160.223.45 ok 23 - is_hosting_provider is true for 71.160.223.45 ok 24 - is_public_proxy is false for 71.160.223.45 ok 25 - is_tor_exit_node is false for 71.160.223.45 ok 26 - is_anonymous is true for abcd:1000::1 ok 27 - is_anonymous_vpn is false for abcd:1000::1 ok 28 - is_hosting_provider is false for abcd:1000::1 ok 29 - is_public_proxy is true for abcd:1000::1 ok 30 - is_tor_exit_node is false for abcd:1000::1 1..30 ok t/GeoIP2/Database/Reader-Connection-Type.t .. ok 1 - correct connection type in Connection-Type database ok 2 - correct IP in Connection-Type database 1..2 ok t/GeoIP2/Database/Reader-Domain.t ........... ok 1 - correct domain in Domain database ok 2 - correct IP in Domain database 1..2 ok t/GeoIP2/Database/Reader-Enterprise.t ....... # Subtest: city ok 1 - confidence ok 2 - names ok 3 - geoname_id 1..3 ok 1 - city # Subtest: continent ok 1 - geoname_id ok 2 - code ok 3 - names 1..3 ok 2 - continent # Subtest: country ok 1 - names ok 2 - confidence ok 3 - iso_code ok 4 - geoname_id 1..4 ok 3 - country # Subtest: location ok 1 - longitude ok 2 - latitude ok 3 - accuracy_radius ok 4 - metro_code ok 5 - time_zone 1..5 ok 4 - location # Subtest: postal ok 1 - confidence ok 2 - code 1..2 ok 5 - postal # Subtest: registered_country ok 1 - iso_code ok 2 - names ok 3 - geoname_id 1..3 ok 6 - registered_country # Subtest: subdivisions ok 1 - names ok 2 - confidence ok 3 - iso_code ok 4 - geoname_id 1..4 ok 7 - subdivisions # Subtest: traits ok 1 - autonomous_system_number ok 2 - autonomous_system_organization ok 3 - connection_type ok 4 - domain ok 5 - is_anonymous_proxy ok 6 - is_legitimate_proxy ok 7 - is_satellite_provider ok 8 - isp ok 9 - organization ok 10 - user_type 1..10 ok 8 - traits 1..8 ok t/GeoIP2/Database/Reader-ISP.t .............. ok 1 - correct ASN in ISP database ok 2 - correct AS Org in ISP database ok 3 - correct ISP in ISP database ok 4 - correct Org in ISP database ok 5 - correct IP in ISP database 1..5 ok t/GeoIP2/Database/Reader.t .................. # Subtest: GeoIP2-Country ok 1 - dies on missing ip - country method ok 2 - dies on "me" - country method ok 3 - dies on private IP - country method ok 4 - dies if IP is not in database - country method ok 5 - 'error thrown when IP address cannot be found' isa 'GeoIP2::Error::IPAddressNotFound' ok 6 - exception ip_address() method returns the IP address ok 7 - dies on invalid ip - country method ok 8 - country name - country method ok 9 - ip address is filled in - country method ok 10 - calling $model_obj->continent() does not throw an error - country model ok 11 - calling $model_obj->country() does not throw an error - country model ok 12 - calling $model_obj->maxmind() does not throw an error - country model ok 13 - calling $model_obj->registered_country() does not throw an error - country model ok 14 - calling $model_obj->traits() does not throw an error - country model 1..14 ok 1 - GeoIP2-Country # Subtest: GeoIP2-City ok 1 - dies on missing ip - city method ok 2 - dies on "me" - city method ok 3 - dies on private IP - city method ok 4 - dies if IP is not in database - city method ok 5 - 'error thrown when IP address cannot be found' isa 'GeoIP2::Error::IPAddressNotFound' ok 6 - exception ip_address() method returns the IP address ok 7 - dies on invalid ip - city method ok 8 - country name - city method ok 9 - ip address is filled in - city method ok 10 - calling $model_obj->city() does not throw an error - city model ok 11 - calling $model_obj->continent() does not throw an error - city model ok 12 - calling $model_obj->country() does not throw an error - city model ok 13 - calling $model_obj->location() does not throw an error - city model ok 14 - calling $model_obj->maxmind() does not throw an error - city model ok 15 - calling $model_obj->postal() does not throw an error - city model ok 16 - calling $model_obj->registered_country() does not throw an error - city model ok 17 - calling $model_obj->represented_country() does not throw an error - city model ok 18 - calling $model_obj->traits() does not throw an error - city model ok 19 - city name - city method ok 20 - accuracy_radius 1..20 ok 2 - GeoIP2-City # Subtest: GeoIP2-Precision-City ok 1 - dies on missing ip - city method ok 2 - dies on "me" - city method ok 3 - dies on private IP - city method ok 4 - dies if IP is not in database - city method ok 5 - 'error thrown when IP address cannot be found' isa 'GeoIP2::Error::IPAddressNotFound' ok 6 - exception ip_address() method returns the IP address ok 7 - dies on invalid ip - city method ok 8 - country name - city method ok 9 - ip address is filled in - city method ok 10 - calling $model_obj->city() does not throw an error - city model ok 11 - calling $model_obj->continent() does not throw an error - city model ok 12 - calling $model_obj->country() does not throw an error - city model ok 13 - calling $model_obj->location() does not throw an error - city model ok 14 - calling $model_obj->maxmind() does not throw an error - city model ok 15 - calling $model_obj->postal() does not throw an error - city model ok 16 - calling $model_obj->registered_country() does not throw an error - city model ok 17 - calling $model_obj->represented_country() does not throw an error - city model ok 18 - calling $model_obj->traits() does not throw an error - city model ok 19 - city name - city method ok 20 - accuracy_radius 1..20 ok 3 - GeoIP2-Precision-City ok 4 - the city method rejected GeoIP2-Anonymous-IP database ok 5 - the country method rejected GeoIP2-Anonymous-IP database ok 6 - the connection_type method rejected GeoIP2-Anonymous-IP database ok 7 - the domain method rejected GeoIP2-Anonymous-IP database ok 8 - the isp method rejected GeoIP2-Anonymous-IP database ok 9 - the anonymous_ip method accepts GeoIP2-Anonymous-IP database ok 10 - the city method accepts GeoIP2-City database ok 11 - the country method rejected GeoIP2-City database ok 12 - the connection_type method rejected GeoIP2-City database ok 13 - the domain method rejected GeoIP2-City database ok 14 - the isp method rejected GeoIP2-City database ok 15 - the anonymous_ip method rejected GeoIP2-City database ok 16 - the city method accepts GeoIP2-City-Europe database ok 17 - the country method rejected GeoIP2-City-Europe database ok 18 - the connection_type method rejected GeoIP2-City-Europe database ok 19 - the domain method rejected GeoIP2-City-Europe database ok 20 - the isp method rejected GeoIP2-City-Europe database ok 21 - the anonymous_ip method rejected GeoIP2-City-Europe database ok 22 - the city method accepts GeoIP2-City-South-America database ok 23 - the country method rejected GeoIP2-City-South-America database ok 24 - the connection_type method rejected GeoIP2-City-South-America database ok 25 - the domain method rejected GeoIP2-City-South-America database ok 26 - the isp method rejected GeoIP2-City-South-America database ok 27 - the anonymous_ip method rejected GeoIP2-City-South-America database ok 28 - the city method rejected GeoIP2-Connection-Type database ok 29 - the country method rejected GeoIP2-Connection-Type database ok 30 - the connection_type method accepts GeoIP2-Connection-Type database ok 31 - the domain method rejected GeoIP2-Connection-Type database ok 32 - the isp method rejected GeoIP2-Connection-Type database ok 33 - the anonymous_ip method rejected GeoIP2-Connection-Type database ok 34 - the city method rejected GeoIP2-Country database ok 35 - the country method accepts GeoIP2-Country database ok 36 - the connection_type method rejected GeoIP2-Country database ok 37 - the domain method rejected GeoIP2-Country database ok 38 - the isp method rejected GeoIP2-Country database ok 39 - the anonymous_ip method rejected GeoIP2-Country database ok 40 - the city method rejected GeoIP2-Domain database ok 41 - the country method rejected GeoIP2-Domain database ok 42 - the connection_type method rejected GeoIP2-Domain database ok 43 - the domain method accepts GeoIP2-Domain database ok 44 - the isp method rejected GeoIP2-Domain database ok 45 - the anonymous_ip method rejected GeoIP2-Domain database ok 46 - the city method rejected GeoIP2-ISP database ok 47 - the country method rejected GeoIP2-ISP database ok 48 - the connection_type method rejected GeoIP2-ISP database ok 49 - the domain method rejected GeoIP2-ISP database ok 50 - the isp method accepts GeoIP2-ISP database ok 51 - the anonymous_ip method rejected GeoIP2-ISP database ok 52 - the city method rejected GeoIP2-Precision-Anonymous-IP database ok 53 - the country method rejected GeoIP2-Precision-Anonymous-IP database ok 54 - the connection_type method rejected GeoIP2-Precision-Anonymous-IP database ok 55 - the domain method rejected GeoIP2-Precision-Anonymous-IP database ok 56 - the isp method rejected GeoIP2-Precision-Anonymous-IP database ok 57 - the anonymous_ip method accepts GeoIP2-Precision-Anonymous-IP database ok 58 - the city method accepts GeoIP2-Precision-City database ok 59 - the country method rejected GeoIP2-Precision-City database ok 60 - the connection_type method rejected GeoIP2-Precision-City database ok 61 - the domain method rejected GeoIP2-Precision-City database ok 62 - the isp method rejected GeoIP2-Precision-City database ok 63 - the anonymous_ip method rejected GeoIP2-Precision-City database ok 64 - the city method rejected GeoIP2-Precision-Connection-Type database ok 65 - the country method rejected GeoIP2-Precision-Connection-Type database ok 66 - the connection_type method accepts GeoIP2-Precision-Connection-Type database ok 67 - the domain method rejected GeoIP2-Precision-Connection-Type database ok 68 - the isp method rejected GeoIP2-Precision-Connection-Type database ok 69 - the anonymous_ip method rejected GeoIP2-Precision-Connection-Type database ok 70 - the city method rejected GeoIP2-Precision-Country database ok 71 - the country method accepts GeoIP2-Precision-Country database ok 72 - the connection_type method rejected GeoIP2-Precision-Country database ok 73 - the domain method rejected GeoIP2-Precision-Country database ok 74 - the isp method rejected GeoIP2-Precision-Country database ok 75 - the anonymous_ip method rejected GeoIP2-Precision-Country database ok 76 - the city method rejected GeoIP2-Precision-Domain database ok 77 - the country method rejected GeoIP2-Precision-Domain database ok 78 - the connection_type method rejected GeoIP2-Precision-Domain database ok 79 - the domain method accepts GeoIP2-Precision-Domain database ok 80 - the isp method rejected GeoIP2-Precision-Domain database ok 81 - the anonymous_ip method rejected GeoIP2-Precision-Domain database ok 82 - the city method rejected GeoIP2-Precision-ISP database ok 83 - the country method rejected GeoIP2-Precision-ISP database ok 84 - the connection_type method rejected GeoIP2-Precision-ISP database ok 85 - the domain method rejected GeoIP2-Precision-ISP database ok 86 - the isp method accepts GeoIP2-Precision-ISP database ok 87 - the anonymous_ip method rejected GeoIP2-Precision-ISP database ok 88 - the city method accepts GeoLite2-City database ok 89 - the country method rejected GeoLite2-City database ok 90 - the connection_type method rejected GeoLite2-City database ok 91 - the domain method rejected GeoLite2-City database ok 92 - the isp method rejected GeoLite2-City database ok 93 - the anonymous_ip method rejected GeoLite2-City database ok 94 - the city method rejected GeoLite2-Country database ok 95 - the country method accepts GeoLite2-Country database ok 96 - the connection_type method rejected GeoLite2-Country database ok 97 - the domain method rejected GeoLite2-Country database ok 98 - the isp method rejected GeoLite2-Country database ok 99 - the anonymous_ip method rejected GeoLite2-Country database 1..99 ok t/GeoIP2/Error/Type.t ....................... ok 1 - correct type thrown ok 2 - correct value thrown 1..2 ok t/GeoIP2/Model/City.t ....................... ok 1 - 'GeoIP2::Model::City->new returns' isa 'GeoIP2::Model::City' ok 2 - '$model->city()' isa 'GeoIP2::Record::City' ok 3 - '$model->continent()' isa 'GeoIP2::Record::Continent' ok 4 - '$model->country()' isa 'GeoIP2::Record::Country' ok 5 - '$model->location()' isa 'GeoIP2::Record::Location' ok 6 - '$model->maxmind()' isa 'GeoIP2::Record::MaxMind' ok 7 - '$model->postal()' isa 'GeoIP2::Record::Postal' ok 8 - '$model->registered_country()' isa 'GeoIP2::Record::Country' ok 9 - '$model->represented_country()' isa 'GeoIP2::Record::RepresentedCountry' ok 10 - '$model->most_specific_subdivision' isa 'GeoIP2::Record::Subdivision' ok 11 - '$model->traits()' isa 'GeoIP2::Record::Traits' ok 12 - raw method returns raw input ok 13 - '$model->subdivisions()[0]' isa 'GeoIP2::Record::Subdivision' ok 14 - 'GeoIP2::Model::City object with no data except maxmind.queries_remaining & traits.ip_address' isa 'GeoIP2::Model::City' ok 15 - '$model->city()' isa 'GeoIP2::Record::City' ok 16 - '$model->continent()' isa 'GeoIP2::Record::Continent' ok 17 - '$model->country()' isa 'GeoIP2::Record::Country' ok 18 - '$model->location()' isa 'GeoIP2::Record::Location' ok 19 - '$model->maxmind()' isa 'GeoIP2::Record::MaxMind' ok 20 - '$model->postal()' isa 'GeoIP2::Record::Postal' ok 21 - '$model->registered_country()' isa 'GeoIP2::Record::Country' ok 22 - '$model->represented_country()' isa 'GeoIP2::Record::RepresentedCountry' ok 23 - '$model->most_specific_subdivision' isa 'GeoIP2::Record::Subdivision' ok 24 - '$model->traits()' isa 'GeoIP2::Record::Traits' ok 25 - raw method returns raw input ok 26 - $model->subdivisions returns an empty list ok 27 - no exception when GeoIP2::Model::City class gets raw data with unknown keys ok 28 - raw method returns raw input 1..28 ok t/GeoIP2/Model/Country.t .................... ok 1 - 'minimal GeoIP2::Model::Country object' isa 'GeoIP2::Model::Country' ok 2 - '$model->continent()' isa 'GeoIP2::Record::Continent' ok 3 - '$model->country()' isa 'GeoIP2::Record::Country' ok 4 - '$model->maxmind()' isa 'GeoIP2::Record::MaxMind' ok 5 - '$model->registered_country()' isa 'GeoIP2::Record::Country' ok 6 - '$model->traits()' isa 'GeoIP2::Record::Traits' ok 7 - continent geoname_id is 42 ok 8 - continent code is NA ok 9 - continent names ok 10 - continent name is North America ok 11 - country geoname_id is 1 ok 12 - country iso_code is US ok 13 - country names ok 14 - country name is United States of America ok 15 - country confidence is undef ok 16 - registered_country geoname_id is 2 ok 17 - registered_country iso_code is CA ok 18 - registered_country names ok 19 - registered_country name is Canada ok 20 - traits is_anonymous_proxy returns 0 by default ok 21 - traits is_satellite_provider returns 0 by default ok 22 - raw method returns raw input 1..22 ok t/GeoIP2/Model/Insights.t ................... ok 1 - 'GeoIP2::Model::Insights->new returns' isa 'GeoIP2::Model::Insights' ok 2 - '$model->city()' isa 'GeoIP2::Record::City' ok 3 - '$model->continent()' isa 'GeoIP2::Record::Continent' ok 4 - '$model->country()' isa 'GeoIP2::Record::Country' ok 5 - '$model->location()' isa 'GeoIP2::Record::Location' ok 6 - '$model->maxmind()' isa 'GeoIP2::Record::MaxMind' ok 7 - '$model->postal()' isa 'GeoIP2::Record::Postal' ok 8 - '$model->registered_country()' isa 'GeoIP2::Record::Country' ok 9 - '$model->represented_country()' isa 'GeoIP2::Record::RepresentedCountry' ok 10 - '$model->most_specific_subdivision' isa 'GeoIP2::Record::Subdivision' ok 11 - '$model->traits()' isa 'GeoIP2::Record::Traits' ok 12 - raw method returns raw input ok 13 - '$model->subdivisions()[0]' isa 'GeoIP2::Record::Subdivision' ok 14 - check average_income ok 15 - check population_density ok 16 - 'GeoIP2::Model::Insights object with no data except maxmind.queries_remaining & traits.ip_address' isa 'GeoIP2::Model::Insights' ok 17 - '$model->city()' isa 'GeoIP2::Record::City' ok 18 - '$model->continent()' isa 'GeoIP2::Record::Continent' ok 19 - '$model->country()' isa 'GeoIP2::Record::Country' ok 20 - '$model->location()' isa 'GeoIP2::Record::Location' ok 21 - '$model->maxmind()' isa 'GeoIP2::Record::MaxMind' ok 22 - '$model->postal()' isa 'GeoIP2::Record::Postal' ok 23 - '$model->registered_country()' isa 'GeoIP2::Record::Country' ok 24 - '$model->represented_country()' isa 'GeoIP2::Record::RepresentedCountry' ok 25 - '$model->most_specific_subdivision' isa 'GeoIP2::Record::Subdivision' ok 26 - '$model->traits()' isa 'GeoIP2::Record::Traits' ok 27 - raw method returns raw input ok 28 - $model->subdivisions returns an empty list ok 29 - no exception when GeoIP2::Model::Insights class gets raw data with unknown keys ok 30 - raw method returns raw input 1..30 ok t/GeoIP2/Model/names.t ...................... ok 1 - continent name is in Chinese (no Russian available) ok 2 - country name is in Russian ok 3 - continent name is undef (no Russian or Japanese available) ok 4 - country name is in Russian ok 5 - continent name is undef (no Japanese available) ok 6 - country name is undef (no Japanese available) 1..6 ok t/GeoIP2/Types.t ............................ ok 1 - Bool accepts undef ok 2 - Bool accepts '' ok 3 - Bool accepts 0 ok 4 - Bool accepts 1 ok 5 - Bool rejects "foo" ok 6 - Bool rejects 100 ok 7 - Bool rejects -100 ok 8 - Bool rejects 42.42 ok 9 - Bool rejects -42.42 ok 10 - Bool rejects ARRAY reference ok 11 - Bool rejects HASH reference ok 12 - Bool rejects Foo object ok 13 - HTTPStatus accepts 200 ok 14 - HTTPStatus accepts 201 ok 15 - HTTPStatus accepts 300 ok 16 - HTTPStatus accepts 301 ok 17 - HTTPStatus accepts 400 ok 18 - HTTPStatus accepts 410 ok 19 - HTTPStatus accepts 500 ok 20 - HTTPStatus accepts 501 ok 21 - HTTPStatus rejects undef ok 22 - HTTPStatus rejects '' ok 23 - HTTPStatus rejects "foo" ok 24 - HTTPStatus rejects 0 ok 25 - HTTPStatus rejects 1 ok 26 - HTTPStatus rejects 100 ok 27 - HTTPStatus rejects -100 ok 28 - HTTPStatus rejects 42.42 ok 29 - HTTPStatus rejects -42.42 ok 30 - HTTPStatus rejects ARRAY reference ok 31 - HTTPStatus rejects HASH reference ok 32 - HTTPStatus rejects Foo object ok 33 - HashRef accepts HASH reference ok 34 - HashRef rejects undef ok 35 - HashRef rejects '' ok 36 - HashRef rejects "foo" ok 37 - HashRef rejects 0 ok 38 - HashRef rejects 1 ok 39 - HashRef rejects 100 ok 40 - HashRef rejects -100 ok 41 - HashRef rejects 42.42 ok 42 - HashRef rejects -42.42 ok 43 - HashRef rejects ARRAY reference ok 44 - HashRef rejects Foo object ok 45 - IPAddress accepts "1.2.3.4" ok 46 - IPAddress accepts "1234:fb29::421a" ok 47 - IPAddress rejects undef ok 48 - IPAddress rejects '' ok 49 - IPAddress rejects "foo" ok 50 - IPAddress rejects 0 ok 51 - IPAddress rejects 1 ok 52 - IPAddress rejects 100 ok 53 - IPAddress rejects -100 ok 54 - IPAddress rejects 42.42 ok 55 - IPAddress rejects -42.42 ok 56 - IPAddress rejects ARRAY reference ok 57 - IPAddress rejects Foo object ok 58 - JSONObject accepts Cpanel::JSON::XS object ok 59 - JSONObject rejects undef ok 60 - JSONObject rejects '' ok 61 - JSONObject rejects "foo" ok 62 - JSONObject rejects 0 ok 63 - JSONObject rejects 1 ok 64 - JSONObject rejects 100 ok 65 - JSONObject rejects -100 ok 66 - JSONObject rejects 42.42 ok 67 - JSONObject rejects -42.42 ok 68 - JSONObject rejects ARRAY reference ok 69 - JSONObject rejects Foo object ok 70 - LocalesArrayRef accepts ARRAY reference ok 71 - LocalesArrayRef accepts ARRAY reference ok 72 - LocalesArrayRef accepts ARRAY reference ok 73 - LocalesArrayRef rejects undef ok 74 - LocalesArrayRef rejects '' ok 75 - LocalesArrayRef rejects "foo" ok 76 - LocalesArrayRef rejects 0 ok 77 - LocalesArrayRef rejects 1 ok 78 - LocalesArrayRef rejects 100 ok 79 - LocalesArrayRef rejects -100 ok 80 - LocalesArrayRef rejects 42.42 ok 81 - LocalesArrayRef rejects -42.42 ok 82 - LocalesArrayRef rejects ARRAY reference ok 83 - LocalesArrayRef rejects Foo object ok 84 - MaxMindID accepts 1 ok 85 - MaxMindID accepts 100 ok 86 - MaxMindID rejects undef ok 87 - MaxMindID rejects '' ok 88 - MaxMindID rejects "foo" ok 89 - MaxMindID rejects 0 ok 90 - MaxMindID rejects -100 ok 91 - MaxMindID rejects 42.42 ok 92 - MaxMindID rejects -42.42 ok 93 - MaxMindID rejects ARRAY reference ok 94 - MaxMindID rejects Foo object ok 95 - MaxMindLicenseKey accepts "aaaaaaaaaaaa" ok 96 - MaxMindLicenseKey accepts "AAAAAAAAAAAA" ok 97 - MaxMindLicenseKey accepts 111111111111 ok 98 - MaxMindLicenseKey accepts "123456abcABC" ok 99 - MaxMindLicenseKey rejects undef ok 100 - MaxMindLicenseKey rejects '' ok 101 - MaxMindLicenseKey rejects "foo" ok 102 - MaxMindLicenseKey rejects 0 ok 103 - MaxMindLicenseKey rejects 1 ok 104 - MaxMindLicenseKey rejects 100 ok 105 - MaxMindLicenseKey rejects -100 ok 106 - MaxMindLicenseKey rejects 42.42 ok 107 - MaxMindLicenseKey rejects -42.42 ok 108 - MaxMindLicenseKey rejects ARRAY reference ok 109 - MaxMindLicenseKey rejects Foo object ok 110 - MaybeStr accepts undef ok 111 - MaybeStr accepts '' ok 112 - MaybeStr accepts "foo" ok 113 - MaybeStr accepts 0 ok 114 - MaybeStr accepts 1 ok 115 - MaybeStr accepts 100 ok 116 - MaybeStr accepts -100 ok 117 - MaybeStr accepts 42.42 ok 118 - MaybeStr accepts -42.42 ok 119 - MaybeStr rejects ARRAY reference ok 120 - MaybeStr rejects HASH reference ok 121 - MaybeStr rejects Foo object ok 122 - NameHashRef accepts HASH reference ok 123 - NameHashRef accepts HASH reference ok 124 - NameHashRef accepts HASH reference ok 125 - NameHashRef rejects undef ok 126 - NameHashRef rejects '' ok 127 - NameHashRef rejects "foo" ok 128 - NameHashRef rejects 0 ok 129 - NameHashRef rejects 1 ok 130 - NameHashRef rejects 100 ok 131 - NameHashRef rejects -100 ok 132 - NameHashRef rejects 42.42 ok 133 - NameHashRef rejects -42.42 ok 134 - NameHashRef rejects ARRAY reference ok 135 - NameHashRef rejects HASH reference ok 136 - NameHashRef rejects Foo object ok 137 - NonNegativeInt accepts 0 ok 138 - NonNegativeInt accepts 1 ok 139 - NonNegativeInt accepts 100 ok 140 - NonNegativeInt rejects undef ok 141 - NonNegativeInt rejects '' ok 142 - NonNegativeInt rejects "foo" ok 143 - NonNegativeInt rejects -100 ok 144 - NonNegativeInt rejects 42.42 ok 145 - NonNegativeInt rejects -42.42 ok 146 - NonNegativeInt rejects ARRAY reference ok 147 - NonNegativeInt rejects HASH reference ok 148 - NonNegativeInt rejects Foo object ok 149 - Num accepts 0 ok 150 - Num accepts 1 ok 151 - Num accepts 100 ok 152 - Num accepts -100 ok 153 - Num accepts 42.42 ok 154 - Num accepts -42.42 ok 155 - Num rejects undef ok 156 - Num rejects '' ok 157 - Num rejects "foo" ok 158 - Num rejects ARRAY reference ok 159 - Num rejects HASH reference ok 160 - Num rejects Foo object ok 161 - PositiveInt accepts 1 ok 162 - PositiveInt accepts 100 ok 163 - PositiveInt rejects undef ok 164 - PositiveInt rejects '' ok 165 - PositiveInt rejects "foo" ok 166 - PositiveInt rejects 0 ok 167 - PositiveInt rejects -100 ok 168 - PositiveInt rejects 42.42 ok 169 - PositiveInt rejects -42.42 ok 170 - PositiveInt rejects ARRAY reference ok 171 - PositiveInt rejects HASH reference ok 172 - PositiveInt rejects Foo object ok 173 - Str accepts '' ok 174 - Str accepts "foo" ok 175 - Str accepts 0 ok 176 - Str accepts 1 ok 177 - Str accepts 100 ok 178 - Str accepts -100 ok 179 - Str accepts 42.42 ok 180 - Str accepts -42.42 ok 181 - Str rejects undef ok 182 - Str rejects ARRAY reference ok 183 - Str rejects HASH reference ok 184 - Str rejects Foo object ok 185 - URIObject accepts URI::http object ok 186 - URIObject rejects undef ok 187 - URIObject rejects '' ok 188 - URIObject rejects "foo" ok 189 - URIObject rejects 0 ok 190 - URIObject rejects 1 ok 191 - URIObject rejects 100 ok 192 - URIObject rejects -100 ok 193 - URIObject rejects 42.42 ok 194 - URIObject rejects -42.42 ok 195 - URIObject rejects ARRAY reference ok 196 - URIObject rejects HASH reference ok 197 - URIObject rejects Foo object ok 198 - UserAgentObject accepts LWP::UserAgent object ok 199 - UserAgentObject rejects undef ok 200 - UserAgentObject rejects '' ok 201 - UserAgentObject rejects "foo" ok 202 - UserAgentObject rejects 0 ok 203 - UserAgentObject rejects 1 ok 204 - UserAgentObject rejects 100 ok 205 - UserAgentObject rejects -100 ok 206 - UserAgentObject rejects 42.42 ok 207 - UserAgentObject rejects -42.42 ok 208 - UserAgentObject rejects ARRAY reference ok 209 - UserAgentObject rejects HASH reference ok 210 - UserAgentObject rejects Foo object 1..210 ok t/GeoIP2/WebService/Client.t ................ ok 1 - 'return value of $client->country' isa 'GeoIP2::Model::Country' ok 2 - is_anonymous_proxy is 1 ok 3 - continent geoname_id is 42 ok 4 - continent code is NA ok 5 - continent names ok 6 - continent name is North America ok 7 - country geoname_id is 1 ok 8 - country iso_code is US ok 9 - country names ok 10 - country name is United States of America ok 11 - 'return value of $client->country for IPv6 address' isa 'GeoIP2::Model::Country' ok 12 - 'return value of $client->country with gzipped response' isa 'GeoIP2::Model::Country' ok 13 - can set ip parameter to me ok 14 - 'exception thrown when response status is 200 but body is not valid JSON' isa 'GeoIP2::Error::Generic' ok 15 - error contains expected text ok 16 - 'exception thrown when web service returns a 4xx error' isa 'GeoIP2::Error::WebService' ok 17 - exception object contains expected code ok 18 - exception object contains expected http_status ok 19 - error contains expected text ok 20 - 'exception thrown when web service returns a 4xx error without a body' isa 'GeoIP2::Error::HTTP' ok 21 - error contains expected text ok 22 - 'exception thrown when web service returns a 4xx error with a JSON body but no code and error keys' isa 'GeoIP2::Error::Generic' ok 23 - error contains expected text ok 24 - 'exception thrown when web service returns a 4xx error with a non-JSON body' isa 'GeoIP2::Error::HTTP' ok 25 - error contains expected text ok 26 - 'exception thrown when web service returns a 5xx error' isa 'GeoIP2::Error::HTTP' ok 27 - error contains expected text ok 28 - 'exception thrown when web service returns a 3xx error' isa 'GeoIP2::Error::HTTP' ok 29 - error contains expected text ok 30 - got expected URI for Country request ok 31 - request is a GET ok 32 - request sets Accept header to application/json ok 33 - user agent includes client package and version ok 34 - user agent includes user agent package and version ok 35 - user agent includes Perl version ok 36 - 'exception thrown when web service returns a 406 error' isa 'GeoIP2::Error::HTTP' ok 37 - error contains expected text ok 38 - error does not complain about JSON issues when Content-Type for error is text/plain ok 39 - client rejects ip address 'mine' ok 40 - client rejects ip address '0.1.2.3' ok 41 - client rejects ip address '255.666.242.1' ok 42 - client rejects ip address 'abcd::1234::b6b3' ok 43 - client rejects ip address '1.2.3' ok 44 - client rejects ip address 'abcde::' ok 45 - 'error thrown when IP address cannot be found' isa 'GeoIP2::Error::IPAddressNotFound' ok 46 - exception ip_address() method returns the IP address 1..46 ok t/release-cpan-changes.t .................... skipped: these tests are for release candidate testing All tests successful. Files=25, Tests=491, 14 wallclock secs ( 0.16 usr 0.07 sys + 4.92 cusr 0.59 csys = 5.74 CPU) Result: PASS MAXMIND/GeoIP2-2.003002.tar.gz make test TEST_VERBOSE=1 -- OK MaxMind, Inc. <support@maxmind.com> Perl API for MaxMind's GeoIP2 web services and databases >>> (cd /Users/fly2000/cpanfly-5.20/var/tmp/cpan_build/GeoIP2-2.003002-zppXnc && tar cvf - GeoIP2-2.003002.ppd blib) | gzip -c >/Users/fly2000/cpanfly-5.20/var/REPO/M/MA/MAXMIND/GeoIP2-2.003002.tar.gz GeoIP2-2.003002.ppd blib/ blib/lib/ blib/lib/GeoIP2/ blib/lib/GeoIP2/Database/ blib/lib/GeoIP2/Database/Reader.pm blib/lib/GeoIP2/Error/ blib/lib/GeoIP2/Error/Generic.pm blib/lib/GeoIP2/Error/HTTP.pm blib/lib/GeoIP2/Error/IPAddressNotFound.pm blib/lib/GeoIP2/Error/Type.pm blib/lib/GeoIP2/Error/WebService.pm blib/lib/GeoIP2/Model/ blib/lib/GeoIP2/Model/AnonymousIP.pm blib/lib/GeoIP2/Model/City.pm blib/lib/GeoIP2/Model/ConnectionType.pm blib/lib/GeoIP2/Model/Country.pm blib/lib/GeoIP2/Model/Domain.pm blib/lib/GeoIP2/Model/Enterprise.pm blib/lib/GeoIP2/Model/Insights.pm blib/lib/GeoIP2/Model/ISP.pm blib/lib/GeoIP2/Record/ blib/lib/GeoIP2/Record/City.pm blib/lib/GeoIP2/Record/Continent.pm blib/lib/GeoIP2/Record/Country.pm blib/lib/GeoIP2/Record/Location.pm blib/lib/GeoIP2/Record/MaxMind.pm blib/lib/GeoIP2/Record/Postal.pm blib/lib/GeoIP2/Record/RepresentedCountry.pm blib/lib/GeoIP2/Record/Subdivision.pm blib/lib/GeoIP2/Record/Traits.pm blib/lib/GeoIP2/Role/ blib/lib/GeoIP2/Role/Error/ blib/lib/GeoIP2/Role/Error/HTTP.pm blib/lib/GeoIP2/Role/HasIPAddress.pm blib/lib/GeoIP2/Role/HasLocales.pm blib/lib/GeoIP2/Role/Model/ blib/lib/GeoIP2/Role/Model/Flat.pm blib/lib/GeoIP2/Role/Model/HasSubdivisions.pm blib/lib/GeoIP2/Role/Model/Location.pm blib/lib/GeoIP2/Role/Model.pm blib/lib/GeoIP2/Role/Record/ blib/lib/GeoIP2/Role/Record/Country.pm blib/lib/GeoIP2/Role/Record/HasNames.pm blib/lib/GeoIP2/Types.pm blib/lib/GeoIP2/WebService/ blib/lib/GeoIP2/WebService/Client.pm blib/lib/GeoIP2.pm blib/man3/ blib/man3/GeoIP2.3 blib/man3/GeoIP2::Database::Reader.3 blib/man3/GeoIP2::Error::Generic.3 blib/man3/GeoIP2::Error::HTTP.3 blib/man3/GeoIP2::Error::IPAddressNotFound.3 blib/man3/GeoIP2::Error::Type.3 blib/man3/GeoIP2::Error::WebService.3 blib/man3/GeoIP2::Model::AnonymousIP.3 blib/man3/GeoIP2::Model::City.3 blib/man3/GeoIP2::Model::ConnectionType.3 blib/man3/GeoIP2::Model::Country.3 blib/man3/GeoIP2::Model::Domain.3 blib/man3/GeoIP2::Model::Enterprise.3 blib/man3/GeoIP2::Model::Insights.3 blib/man3/GeoIP2::Model::ISP.3 blib/man3/GeoIP2::Record::City.3 blib/man3/GeoIP2::Record::Continent.3 blib/man3/GeoIP2::Record::Country.3 blib/man3/GeoIP2::Record::Location.3 blib/man3/GeoIP2::Record::MaxMind.3 blib/man3/GeoIP2::Record::Postal.3 blib/man3/GeoIP2::Record::RepresentedCountry.3 blib/man3/GeoIP2::Record::Subdivision.3 blib/man3/GeoIP2::Record::Traits.3 blib/man3/GeoIP2::WebService::Client.3 blib/script/ blib/script/web-service-request Finished 2016-11-22T10:06:26