PATH=/usr/bin:/bin:/Users/fly2200/cpanfly-5.22/var/megalib/bin Start 2017-01-25T00:48:48 ActivePerl-2200 CPAN-2.10 Reading '/Users/fly2200/cpanfly-5.22/var/cpan/Metadata' Database was generated on Tue, 24 Jan 2017 05:29:02 GMT Checksum for /Users/fly2200/cpanfly-5.22/var/cpan/sources/authors/id/T/TI/TIMB/WebAPI-DBIC-0.004002.tar.gz ok WebAPI-DBIC-0.004002 WebAPI-DBIC-0.004002/README WebAPI-DBIC-0.004002/Changes WebAPI-DBIC-0.004002/LICENSE WebAPI-DBIC-0.004002/cpanfile WebAPI-DBIC-0.004002/dist.ini WebAPI-DBIC-0.004002/META.yml WebAPI-DBIC-0.004002/MANIFEST WebAPI-DBIC-0.004002/NOTES.pod WebAPI-DBIC-0.004002/plackonce WebAPI-DBIC-0.004002/README.md WebAPI-DBIC-0.004002/META.json WebAPI-DBIC-0.004002/testonereq WebAPI-DBIC-0.004002/Makefile.PL WebAPI-DBIC-0.004002/CONTRIBUTING WebAPI-DBIC-0.004002/MANIFEST.SKIP WebAPI-DBIC-0.004002/t WebAPI-DBIC-0.004002/t/00-compile.t WebAPI-DBIC-0.004002/t/90-root-req.t WebAPI-DBIC-0.004002/t/etc WebAPI-DBIC-0.004002/t/etc/schema.pl WebAPI-DBIC-0.004002/t/lib WebAPI-DBIC-0.004002/t/lib/TestDS.pm WebAPI-DBIC-0.004002/t/lib/TestKit.pm WebAPI-DBIC-0.004002/t/10-basics-req.t WebAPI-DBIC-0.004002/t/11-paging-req.t WebAPI-DBIC-0.004002/t/13-fields-req.t WebAPI-DBIC-0.004002/t/50-modify-req.t WebAPI-DBIC-0.004002/t/60-invoke-req.t WebAPI-DBIC-0.004002/t/90-root-req.exp WebAPI-DBIC-0.004002/lib/WebAPI WebAPI-DBIC-0.004002/lib/WebAPI/DBIC.pm WebAPI-DBIC-0.004002/t/53-put_rel-req.t WebAPI-DBIC-0.004002/run-chinook-demo.sh WebAPI-DBIC-0.004002/t/10-basics-req.exp WebAPI-DBIC-0.004002/t/11-paging-req.exp WebAPI-DBIC-0.004002/t/14-distinct-req.t WebAPI-DBIC-0.004002/t/30-ordering-req.t WebAPI-DBIC-0.004002/t/60-invoke-req.exp WebAPI-DBIC-0.004002/t/lib/TestDS_HAL.pm WebAPI-DBIC-0.004002/t/lib/TestSchema.pm WebAPI-DBIC-0.004002/t/lib/TestWebApp.pm WebAPI-DBIC-0.004002/data_service_api.pod WebAPI-DBIC-0.004002/webapi-dbic-any.psgi WebAPI-DBIC-0.004002/t/12-searching-req.t WebAPI-DBIC-0.004002/t/53-put_rel-req.exp WebAPI-DBIC-0.004002/webapi-dbic-demo.psgi WebAPI-DBIC-0.004002/t/30-ordering-req.exp WebAPI-DBIC-0.004002/run-testschema-demo.sh WebAPI-DBIC-0.004002/t/12-searching-req.exp WebAPI-DBIC-0.004002/t/release-pod-syntax.t WebAPI-DBIC-0.004002/lib/WebAPI/DBIC WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Util.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Route.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Router.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/WebApp.pm WebAPI-DBIC-0.004002/t/media-hal WebAPI-DBIC-0.004002/t/media-hal/90-root-req.t WebAPI-DBIC-0.004002/t/lib/DummyLoadedSchema.pm WebAPI-DBIC-0.004002/t/media-hal/10-basics-req.t WebAPI-DBIC-0.004002/t/media-hal/11-paging-req.t WebAPI-DBIC-0.004002/t/media-hal/13-fields-req.t WebAPI-DBIC-0.004002/t/media-hal/50-modify-req.t WebAPI-DBIC-0.004002/t/media-hal/90-root-req.exp WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/TypeNamer.pm WebAPI-DBIC-0.004002/t/media-hal/53-put_rel-req.t WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/RouteMaker.pm WebAPI-DBIC-0.004002/t/etc/fixtures/basic/CD WebAPI-DBIC-0.004002/t/etc/fixtures/basic/CD/1.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/CD/2.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/CD/3.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/CD/4.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/CD/5.fix WebAPI-DBIC-0.004002/t/lib/TestSchema/Result WebAPI-DBIC-0.004002/t/lib/TestSchema/Result/CD.pm WebAPI-DBIC-0.004002/t/media-hal/10-basics-req.exp WebAPI-DBIC-0.004002/t/media-hal/11-paging-req.exp WebAPI-DBIC-0.004002/t/media-hal/14-distinct-req.t WebAPI-DBIC-0.004002/t/media-hal/30-ordering-req.t WebAPI-DBIC-0.004002/t/media-hal/40-prefetch-req.t WebAPI-DBIC-0.004002/t/media-hal/52-post_rel-req.t WebAPI-DBIC-0.004002/t/lib/TestSchema/Result/Gig.pm WebAPI-DBIC-0.004002/t/media-hal/12-searching-req.t WebAPI-DBIC-0.004002/t/media-hal/53-put_rel-req.exp WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/HAL.pm WebAPI-DBIC-0.004002/t/etc/fixtures/basic/city WebAPI-DBIC-0.004002/t/etc/fixtures/basic/city/1.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/city/2.fix WebAPI-DBIC-0.004002/t/lib/TestSchema/Result/City.pm WebAPI-DBIC-0.004002/t/media-hal/30-ordering-req.exp WebAPI-DBIC-0.004002/t/media-hal/40-prefetch-req.exp WebAPI-DBIC-0.004002/t/media-jsonapi WebAPI-DBIC-0.004002/t/media-jsonapi/10-basics-req.t WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Base.pm WebAPI-DBIC-0.004002/t/etc/fixtures/basic WebAPI-DBIC-0.004002/t/etc/fixtures/basic/_config_set WebAPI-DBIC-0.004002/t/etc/fixtures/basic/genre WebAPI-DBIC-0.004002/t/etc/fixtures/basic/genre/1.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/genre/2.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/genre/3.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/genre/4.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/4.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/5.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/6.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/7.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/8.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/9.fix WebAPI-DBIC-0.004002/t/lib/TestSchema/Result/Genre.pm WebAPI-DBIC-0.004002/t/lib/TestSchema/Result/Track.pm WebAPI-DBIC-0.004002/t/media-hal/12-searching-req.exp WebAPI-DBIC-0.004002/t/etc/fixtures/basic/artist WebAPI-DBIC-0.004002/t/etc/fixtures/basic/artist/1.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/artist/2.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/artist/3.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/artist/4.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/artist/5.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/artist/6.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/10.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/11.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/12.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/13.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/14.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/15.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/16.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/17.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/track/18.fix WebAPI-DBIC-0.004002/t/lib/TestSchema/Result/Artist.pm WebAPI-DBIC-0.004002/t/media-jsonapi/10-basics-req.exp WebAPI-DBIC-0.004002/t/media-jsonapi/40-prefetch-req.t WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Role WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Role/JsonParams.pm WebAPI-DBIC-0.004002/t/etc/fixtures/basic/country WebAPI-DBIC-0.004002/t/etc/fixtures/basic/country/1.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/country/2.fix WebAPI-DBIC-0.004002/t/lib/TestSchema/Result/Country.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/JSONAPI.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Role/JsonEncoder.pm WebAPI-DBIC-0.004002/t/etc/fixtures/basic/producer WebAPI-DBIC-0.004002/t/etc/fixtures/basic/producer/1.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/producer/2.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/producer/3.fix WebAPI-DBIC-0.004002/t/lib/TestSchema/Result/Producer.pm WebAPI-DBIC-0.004002/t/media-jsonapi/40-prefetch-req.exp WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/Set.pm WebAPI-DBIC-0.004002/lib/WebAPI/HTTP/Throwable WebAPI-DBIC-0.004002/lib/WebAPI/HTTP/Throwable/Factory.pm WebAPI-DBIC-0.004002/t/etc/fixtures/basic/_dumper_version WebAPI-DBIC-0.004002/t/media-active-model WebAPI-DBIC-0.004002/t/media-active-model/10-basics-req.t WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/DBIC.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/Item.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/Root.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/GenericSet.pm WebAPI-DBIC-0.004002/t/media-active-model/10-basics-req.exp WebAPI-DBIC-0.004002/t/media-active-model/40-prefetch-req.t WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/ActiveModel.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/GenericCore.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/GenericItem.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/GenericRoot.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/Router.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/HAL/Role WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/HAL/Role/Set.pm WebAPI-DBIC-0.004002/t/lib/TestSchema/Result/ClassicAlbums.pm WebAPI-DBIC-0.004002/t/media-active-model/40-prefetch-req.exp WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/HAL/Role/DBIC.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/HAL/Role/Item.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/HAL/Role/Root.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/Identity.pm WebAPI-DBIC-0.004002/t/lib/TestSchema/Result/CD_to_Producer.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/SetInvoke.pm WebAPI-DBIC-0.004002/lib/WebAPI/HTTP/Throwable/Role WebAPI-DBIC-0.004002/lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/DBICParams.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm WebAPI-DBIC-0.004002/t/etc/fixtures/basic/cd_to_producer WebAPI-DBIC-0.004002/t/etc/fixtures/basic/cd_to_producer/1-1.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/cd_to_producer/1-2.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/cd_to_producer/1-3.fix WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/GenericSetInvoke.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/JSONAPI/Role WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/JSONAPI/Role/Set.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/SetWritable.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/GenericItemInvoke.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/JSONAPI/Role/DBIC.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/JSONAPI/Role/Item.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/Relationship.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/Role/DBICException.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/ActiveModel/Role WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/ActiveModel/Role/Set.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/HAL/Role/SetWritable.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/ActiveModel/Role/DBIC.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/ActiveModel/Role/Item.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/HAL/Role/ItemWritable.pm WebAPI-DBIC-0.004002/t/etc/fixtures/basic/gig WebAPI-DBIC-0.004002/t/etc/fixtures/basic/gig/1-2014-01-01T01_01_01Z.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/gig/2-2014-06-30T19_00_00Z.fix WebAPI-DBIC-0.004002/t/etc/fixtures/basic/gig/3-2014-06-30T13_00_00Z.fix WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/JSONAPI/Role/SetWritable.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/JSONAPI/Role/ItemWritable.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/ActiveModel/Role/SetWritable.pm WebAPI-DBIC-0.004002/lib/WebAPI/DBIC/Resource/ActiveModel/Role/ItemWritable.pm WebAPI-DBIC-0.004002/t/lib/Test/DBIx/Class/FixtureCommand WebAPI-DBIC-0.004002/t/lib/Test/DBIx/Class/FixtureCommand/TestFixtureCommand.pm Configuring T/TI/TIMB/WebAPI-DBIC-0.004002.tar.gz with Makefile.PL >>> /Users/fly2200/ap2200-299195/bin/perl-dynamic Makefile.PL Unparsable version '>= 3.0110, != 3.0112' for prerequisite Cpanel::JSON::XS at Makefile.PL line 134. Warning: prerequisite Plack::App::Path::Router 0.08 not found. Warning: prerequisite Sub::Quote 0 not found. Checking if your kit is complete... Looks good Have /Users/fly2200/cpanfly-5.22/var/megalib Want /Users/fly2200/ap2200-299195/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 WebAPI::DBIC Writing MYMETA.yml and MYMETA.json TIMB/WebAPI-DBIC-0.004002.tar.gz /Users/fly2200/ap2200-299195/bin/perl-dynamic Makefile.PL -- OK Running make for T/TI/TIMB/WebAPI-DBIC-0.004002.tar.gz ---- Unsatisfied dependencies detected during ---- ---- TIMB/WebAPI-DBIC-0.004002.tar.gz ---- Sub::Quote [requires] Plack::App::Path::Router [requires] Running test for module 'Sub::Quote' Checksum for /Users/fly2200/cpanfly-5.22/var/cpan/sources/authors/id/H/HA/HAARG/Sub-Quote-2.003001.tar.gz ok Sub-Quote-2.003001/ Sub-Quote-2.003001/Changes Sub-Quote-2.003001/lib/ Sub-Quote-2.003001/maint/ Sub-Quote-2.003001/Makefile.PL Sub-Quote-2.003001/MANIFEST Sub-Quote-2.003001/META.json Sub-Quote-2.003001/META.yml Sub-Quote-2.003001/README Sub-Quote-2.003001/t/ Sub-Quote-2.003001/xt/ Sub-Quote-2.003001/xt/release/ Sub-Quote-2.003001/xt/release/kwalitee.t Sub-Quote-2.003001/t/croak-locations.t Sub-Quote-2.003001/t/lib/ Sub-Quote-2.003001/t/sub-defer-no-subname.t Sub-Quote-2.003001/t/sub-defer-threads.t Sub-Quote-2.003001/t/sub-defer.t Sub-Quote-2.003001/t/sub-quote-threads.t Sub-Quote-2.003001/t/sub-quote.t Sub-Quote-2.003001/t/lib/ErrorLocation.pm Sub-Quote-2.003001/t/lib/InlineModule.pm Sub-Quote-2.003001/maint/Makefile.PL.include Sub-Quote-2.003001/lib/Sub/ Sub-Quote-2.003001/lib/Sub/Defer.pm Sub-Quote-2.003001/lib/Sub/Quote.pm Configuring H/HA/HAARG/Sub-Quote-2.003001.tar.gz with Makefile.PL >>> /Users/fly2200/ap2200-299195/bin/perl-dynamic Makefile.PL Checking if your kit is complete... Looks good Have /Users/fly2200/cpanfly-5.22/var/megalib Want /Users/fly2200/ap2200-299195/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 Sub::Quote Writing MYMETA.yml and MYMETA.json HAARG/Sub-Quote-2.003001.tar.gz /Users/fly2200/ap2200-299195/bin/perl-dynamic Makefile.PL -- OK Running make for H/HA/HAARG/Sub-Quote-2.003001.tar.gz >>> make cp lib/Sub/Quote.pm blib/lib/Sub/Quote.pm cp lib/Sub/Defer.pm blib/lib/Sub/Defer.pm Manifying 2 pod documents HAARG/Sub-Quote-2.003001.tar.gz make -- OK Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 "/Users/fly2200/ap2200-299195/bin/perl-dynamic" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/croak-locations.t ....... ok 1 - Sub::Defer::defer_sub - unqualified name ok 2 - Sub::Quote::quote_sub - long package ok 3 - Sub::Quote::unquote_sub - bad captures ok 4 - Sub::Quote::unquote_sub - compile error 1..4 ok t/sub-defer-no-subname.t .. ok 1 - one defer installed ok 2 - two defer installed ok 3 - one defer runs ok 4 - one made ok 5 - two not made ok 6 - one (deferred) still runs ok 7 - one (undeferred) runs ok 8 - correct error for defer_sub with unqualified name ok 9 - make two ok 10 - repeated undefer doesn't regenerate ok 11 - two installed ok 12 - two (deferred) still runs ok 13 - two (undeferred) runs ok 14 - undefer non-deferred is a no-op ok 15 - four defer installed ok 16 - around works ok 17 - around has not been destroyed by first invocation ok 18 - one_all not made ok 19 - two_all not made ok 20 - one_all made by undefer_all ok 21 - two_all made by undefer_all ok 22 - one made by undefer_package ok 23 - two made by undefer_package ok 24 - sub-package not undefered by undefer_package ok 25 - deferred subs don't leak ok 26 - CLONE cleans out expired entries ok 27 - CLONE doesn't strengthen refs ok 28 - CLONE works when quoted info saved externally ok 29 - CLONE keeps entries that had info saved externally ok 30 - CLONE works when quoted info kept alive externally ok 31 - CLONE removes expired entries that were kept alive externally ok 32 - undeferring expired sub (or reused refaddr) after undefer_package lives ok 33 - attributes are applied to deferred subs 1..33 ok t/sub-defer-threads.t ..... ok 1 - able to retrieve info in thread ok 2 - able to undefer in thread 1..2 ok t/sub-defer.t ............. ok 1 - one defer installed ok 2 - two defer installed ok 3 - one defer runs ok 4 - one made ok 5 - two not made ok 6 - one (deferred) still runs ok 7 - one (undeferred) runs ok 8 - correct error for defer_sub with unqualified name ok 9 - make two ok 10 - repeated undefer doesn't regenerate ok 11 - two installed ok 12 - two (deferred) still runs ok 13 - two (undeferred) runs ok 14 - undefer non-deferred is a no-op ok 15 - four defer installed ok 16 - around works ok 17 - around has not been destroyed by first invocation ok 18 - one_all not made ok 19 - two_all not made ok 20 - one_all made by undefer_all ok 21 - two_all made by undefer_all ok 22 - one made by undefer_package ok 23 - two made by undefer_package ok 24 - sub-package not undefered by undefer_package ok 25 - deferred subs don't leak ok 26 - CLONE cleans out expired entries ok 27 - CLONE doesn't strengthen refs ok 28 - CLONE works when quoted info saved externally ok 29 - CLONE keeps entries that had info saved externally ok 30 - CLONE works when quoted info kept alive externally ok 31 - CLONE removes expired entries that were kept alive externally ok 32 - undeferring expired sub (or reused refaddr) after undefer_package lives ok 33 - attributes are applied to deferred subs 1..33 ok t/sub-quote-threads.t ..... ok 1 - able to retrieve quoted sub in thread ok 2 - One (quoted version) ok 3 - One (unquoted version) ok 4 - Two in thread (quoted version) ok 5 - Two in thread (unquoted version) ok 6 - Two in thread (quoted version again) 1..6 ok t/sub-quote.t ............. ok 1 - Nothing evaled yet ok 2 - unquote_sub returns undef for unknown subs ok 3 - subs one evaled ok 4 - One (quoted version) ok 5 - One (unquoted version) ok 6 - Two (quoted version) ok 7 - Two (unquoted version) ok 8 - Two (quoted version again) ok 9 - get ok (named method) ok 10 - set ok (named method) ok 11 - re-get ok (named method) ok 12 - exception contains correct name ok 13 - can get quoted from installed sub ok 14 - can still get quoted from installed sub after undefer ok 15 - bare sub name installed in current package ok 16 - long names work if package and sub are short enough ok 17 - over long package names error ok 18 - over long sub names error ok 19 - packages with spaces are invalid ok 20 - sub names with spaces are invalid ok 21 - package names starting with numbers are not valid ok 22 - sub names starting with numbers are not valid ok 23 - quoted sub with syntax error dies when called ok 24 - package preserved from context ok 25 - package used from options ok 26 - hints preserved from context ok 27 - hints used from options ok 28 - "no warnings" preserved from context ok 29 - "use warnings" preserved from context ok 30 - warnings used from options ok 31 - hints hash preserved from context ok 32 - hints hash used from options ok 33 - empty hints maintained when inlined ok 34 - integer overload is working not ok 35 # TODO & SKIP refs in hints hash not yet implemented not ok 36 # TODO & SKIP refs in hints hash not yet implemented not ok 37 # TODO & SKIP refs in hints hash not yet implemented not ok 38 # TODO & SKIP refs in hints hash not yet implemented ok 39 - closure integer overload is working not ok 40 # TODO & SKIP refs in hints hash not yet implemented not ok 41 # TODO & SKIP refs in hints hash not yet implemented not ok 42 # TODO & SKIP refs in hints hash not yet implemented not ok 43 # TODO & SKIP refs in hints hash not yet implemented ok 44 - quoted subs don't leak ok 45 - CLONE cleans out expired entries ok 46 - CLONE doesn't strengthen refs ok 47 - CLONE works when quoted info saved externally ok 48 - CLONE keeps entries that had info saved ok 49 - CLONE works when quoted info kept alive externally ok 50 - CLONE removes expired entries that were kept alive externally ok 51 - CLONE maintains entries referenced by unquoted sub ok 52 - unquoted sub still available if quoted sub exists ok 53 - quoted data not maintained for quoted sub deleted after being unquoted ok 54 - unquoted sub still included in quote info ok 55 - evaling quotify returns same value for all strings ok 56 - evaling quotify under utf8 returns same value for all strings ok 57 - quotify preserves 0 as number ok 58 - quotify preserves 1 as number ok 59 - quotify preserves 1.5 as number ok 60 - quotify preserves 0.5 as number ok 61 - quotify preserves -10 as number ok 62 - qsub only accepts a single parameter ok 63 - capture_unroll produces valid code ok 64 - unrolled variables get correct values ok 65 - capture_unroll rejects vars other than scalar, hash, or array ok 66 - inlinify produces valid code ok 67 - inlinified code get correct values ok 68 - matching variables aren't reassigned ok 69 - inlinify produces valid code ok 70 - inlinified code get correct values ok 71 - matching variables aren't reassigned ok 72 - inlinify with unmatched params produces valid code ok 73 - inlinified code get correct values ok 74 - inlinify with out @_ produces valid code ok 75 - inlinified code get correct values ok 76 - got debug info with SUB_QUOTE_DEBUG ok 77 - evaled immediately with no_defer option ok 78 - evaled immediately with no_defer option (named) ok 79 - sub installed with no_defer option ok 80 - sub not installed with no_install option ok 81 - sub named properly with no_install option ok 82 - sub not installed with no_install and no_defer options ok 83 - sub named properly with no_install and no_defer options ok 84 - sanitize_identifier gives valid identifier ok 85 - attributes applied to quoted sub ok 86 - attributes applied to quoted sub with no_defer 1..86 ok All tests successful. Files=6, Tests=164, 1 wallclock secs ( 0.03 usr 0.01 sys + 0.23 cusr 0.04 csys = 0.31 CPU) Result: PASS HAARG/Sub-Quote-2.003001.tar.gz make test TEST_VERBOSE=1 -- OK PPD for Sub-Quote-2.003001 already made Running test for module 'Plack::App::Path::Router' Prepending /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Sub-Quote-2.003001-kfbB9i/blib/arch /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Sub-Quote-2.003001-kfbB9i/blib/lib to PERL5LIB for 'get' Checksum for /Users/fly2200/cpanfly-5.22/var/cpan/sources/authors/id/D/DO/DOY/Plack-App-Path-Router-0.08.tar.gz ok Plack-App-Path-Router-0.08 Plack-App-Path-Router-0.08/README Plack-App-Path-Router-0.08/Changes Plack-App-Path-Router-0.08/LICENSE Plack-App-Path-Router-0.08/dist.ini Plack-App-Path-Router-0.08/t Plack-App-Path-Router-0.08/t/load.t Plack-App-Path-Router-0.08/META.yml Plack-App-Path-Router-0.08/MANIFEST Plack-App-Path-Router-0.08/t/basic.t Plack-App-Path-Router-0.08/META.json Plack-App-Path-Router-0.08/Makefile.PL Plack-App-Path-Router-0.08/t/basic_psgi.t Plack-App-Path-Router-0.08/t/00-compile.t Plack-App-Path-Router-0.08/t/basic_custom.t Plack-App-Path-Router-0.08/xt/release Plack-App-Path-Router-0.08/xt/release/eol.t Plack-App-Path-Router-0.08/t/custom_request.t Plack-App-Path-Router-0.08/t/custom_response.t Plack-App-Path-Router-0.08/t/basic_psgi_w_obj.t Plack-App-Path-Router-0.08/xt/release/no-tabs.t Plack-App-Path-Router-0.08/t/basic_with_urlmap.t Plack-App-Path-Router-0.08/xt/release/pod-syntax.t Plack-App-Path-Router-0.08/t/basic_target_objects.t Plack-App-Path-Router-0.08/t/basic_returning_psgi.t Plack-App-Path-Router-0.08/xt/release/pod-coverage.t Plack-App-Path-Router-0.08/lib/Plack/App/Path Plack-App-Path-Router-0.08/lib/Plack/App/Path/Router.pm Plack-App-Path-Router-0.08/t/basic_returning_response.t Plack-App-Path-Router-0.08/lib/Plack/App/Path/Router Plack-App-Path-Router-0.08/lib/Plack/App/Path/Router/PSGI.pm Plack-App-Path-Router-0.08/lib/Plack/App/Path/Router/Custom.pm Prepending /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Sub-Quote-2.003001-kfbB9i/blib/arch /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Sub-Quote-2.003001-kfbB9i/blib/lib to PERL5LIB for 'prepare' Configuring D/DO/DOY/Plack-App-Path-Router-0.08.tar.gz with Makefile.PL >>> /Users/fly2200/ap2200-299195/bin/perl-dynamic Makefile.PL Checking if your kit is complete... Looks good Have /Users/fly2200/cpanfly-5.22/var/megalib Want /Users/fly2200/ap2200-299195/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 Plack::App::Path::Router Writing MYMETA.yml and MYMETA.json DOY/Plack-App-Path-Router-0.08.tar.gz /Users/fly2200/ap2200-299195/bin/perl-dynamic Makefile.PL -- OK Running make for D/DO/DOY/Plack-App-Path-Router-0.08.tar.gz Prepending /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Sub-Quote-2.003001-kfbB9i/blib/arch /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Sub-Quote-2.003001-kfbB9i/blib/lib to PERL5LIB for 'make' >>> make cp lib/Plack/App/Path/Router.pm blib/lib/Plack/App/Path/Router.pm cp lib/Plack/App/Path/Router/PSGI.pm blib/lib/Plack/App/Path/Router/PSGI.pm cp lib/Plack/App/Path/Router/Custom.pm blib/lib/Plack/App/Path/Router/Custom.pm Manifying 3 pod documents DOY/Plack-App-Path-Router-0.08.tar.gz make -- OK Prepending /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Sub-Quote-2.003001-kfbB9i/blib/arch /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Sub-Quote-2.003001-kfbB9i/blib/lib to PERL5LIB for 'test' Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 "/Users/fly2200/ap2200-299195/bin/perl-dynamic" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/00-compile.t ................ 1..3 ok 1 - Plack/App/Path/Router.pm loaded ok ok 2 - Plack/App/Path/Router/Custom.pm loaded ok ok 3 - Plack/App/Path/Router/PSGI.pm loaded ok ok t/basic.t ..................... ok 1 - An object of class 'Plack::App::Path::Router' isa 'Plack::App::Path::Router' ok 2 - An object of class 'Plack::App::Path::Router' isa 'Plack::Component' ok 3 - An object of class 'Plack::Request' isa 'Plack::Request' ok 4 - ... got the right value for index ok 5 - An object of class 'Plack::Request' isa 'Plack::Request' ok 6 - ... got the right value for /testing ok 7 - An object of class 'Plack::Request' isa 'Plack::Request' ok 8 - ... got the right value for /testing/stuff ok 9 - An object of class 'Plack::Request' isa 'Plack::Request' ok 10 - ... got the right value for /testing/edit/things ok 11 - ... got the right value for 404 1..11 ok t/basic_custom.t .............. ok 1 - ... got the expected auth fail ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 - ... got the expected auth fail ok 8 - ... got the right value for /bar ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 - ... got the expected auth fail ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 - ... got the expected auth fail ok 21 - ... got the right value for /foo ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 - ... got the expected auth fail ok 28 - ... got the right value for /bar/baz ok 29 ok 30 ok 31 ok 32 ok 33 ok 34 - ... got the expected auth fail ok 35 - ... got the right value for /bar/0 ok 36 ok 37 ok 38 ok 39 ok 40 ok 41 - ... got the expected auth fail ok 42 ok 43 ok 44 ok 45 ok 46 1..46 ok t/basic_psgi.t ................ ok 1 - ... got the expected auth fail ok 2 - ... got the expected auth fail ok 3 - ... got the right value for /bar ok 4 - ... got the expected auth fail ok 5 - ... got the expected auth fail ok 6 - ... got the right value for /foo ok 7 - ... got the expected auth fail ok 8 - ... got the right value for /bar/baz ok 9 - ... got the expected auth fail 1..9 ok t/basic_psgi_w_obj.t .......... ok 1 - ... got the expected auth fail ok 2 - ... got the expected auth fail ok 3 - ... got the right value for /bar ok 4 - ... got the expected auth fail ok 5 - ... got the expected auth fail ok 6 - ... got the right value for /foo ok 7 - ... got the expected auth fail ok 8 - ... got the right value for /bar/baz ok 9 - ... got the expected auth fail 1..9 ok t/basic_returning_psgi.t ...... ok 1 - An object of class 'Plack::App::Path::Router' isa 'Plack::App::Path::Router' ok 2 - An object of class 'Plack::App::Path::Router' isa 'Plack::Component' ok 3 - An object of class 'Plack::Request' isa 'Plack::Request' ok 4 - ... got the right value for index ok 5 - An object of class 'Plack::Request' isa 'Plack::Request' ok 6 - ... got the right value for /testing ok 7 - An object of class 'Plack::Request' isa 'Plack::Request' ok 8 - ... got the right value for /testing/stuff ok 9 - An object of class 'Plack::Request' isa 'Plack::Request' ok 10 - ... got the right value for /testing/edit/things ok 11 - ... got the right value for 404 1..11 ok t/basic_returning_response.t .. ok 1 - An object of class 'Plack::App::Path::Router' isa 'Plack::App::Path::Router' ok 2 - An object of class 'Plack::App::Path::Router' isa 'Plack::Component' ok 3 - An object of class 'Plack::Request' isa 'Plack::Request' ok 4 - ... got the right value for index ok 5 - An object of class 'Plack::Request' isa 'Plack::Request' ok 6 - ... got the right value for /testing ok 7 - An object of class 'Plack::Request' isa 'Plack::Request' ok 8 - ... got the right value for /testing/stuff ok 9 - An object of class 'Plack::Request' isa 'Plack::Request' ok 10 - ... got the right value for /testing/edit/things ok 11 - ... got the right value for 404 1..11 ok t/basic_target_objects.t ...... ok 1 - ... got the right value for /foo ok 2 - ... got the right value for /bar 1..2 ok t/basic_with_urlmap.t ......... ok 1 - An object of class 'Plack::App::Path::Router' isa 'Plack::App::Path::Router' ok 2 - An object of class 'Plack::App::Path::Router' isa 'Plack::Component' ok 3 - An object of class 'Plack::Request' isa 'Plack::Request' ok 4 - ... got the right value for index ok 5 - An object of class 'Plack::Request' isa 'Plack::Request' ok 6 - ... got the right value for index ok 7 - An object of class 'Plack::Request' isa 'Plack::Request' ok 8 - ... got the right value for index ok 9 - An object of class 'Plack::Request' isa 'Plack::Request' ok 10 - ... got the right value for index ok 11 - An object of class 'Plack::Request' isa 'Plack::Request' ok 12 - ... got the right value for index ok 13 - An object of class 'Plack::Request' isa 'Plack::Request' ok 14 - ... got the right value for index 1..14 ok t/custom_request.t ............ ok 1 - An object of class 'Plack::App::Path::Router' isa 'Plack::App::Path::Router' ok 2 - An object of class 'Plack::App::Path::Router' isa 'Plack::Component' ok 3 - An object of class 'My::Framework::Request' isa 'My::Framework::Request' ok 4 - ... got the right value for index ok 5 - An object of class 'My::Framework::Request' isa 'My::Framework::Request' ok 6 - ... got the right value for /testing ok 7 - An object of class 'My::Framework::Request' isa 'My::Framework::Request' ok 8 - ... got the right value for /testing/stuff ok 9 - An object of class 'My::Framework::Request' isa 'My::Framework::Request' ok 10 - ... got the right value for /testing/edit/things ok 11 - ... got the right value for 404 1..11 ok t/custom_response.t ........... ok 1 - ... got the expected match ok 2 - ... got the expected fail ok 3 - ... got the expected message ok 4 - ... got the expected fail ok 5 - ... got the expected message ok 6 - ... got the expected changed success ok 7 - ... got the expected message 1..7 ok t/load.t ...................... ok 1 - An object of class 'Plack::App::Path::Router' isa 'Plack::App::Path::Router' ok 2 - An object of class 'Plack::App::Path::Router' isa 'Plack::Component' ok 3 - ... got the right value for index ok 4 - ... got the right value for /testing/10 ok 5 - ... got the right value for 404 (validation did not pass) ok 6 - ... got the right value for /testing/edit/10 ok 7 - ... got the right value for 404 1..7 ok All tests successful. Files=12, Tests=141, 9 wallclock secs ( 0.05 usr 0.02 sys + 4.67 cusr 0.46 csys = 5.20 CPU) Result: PASS DOY/Plack-App-Path-Router-0.08.tar.gz make test TEST_VERBOSE=1 -- OK Jesse Luehrs <doy@cpan.org> A Plack component for dispatching with Path::Router >>> (cd /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Plack-App-Path-Router-0.08-jUYFsO && tar cvf - Plack-App-Path-Router-0.08.ppd blib) | gzip -c >/Users/fly2200/cpanfly-5.22/var/REPO/D/DO/DOY/Plack-App-Path-Router-0.08.tar.gz Plack-App-Path-Router-0.08.ppd blib/ blib/lib/ blib/lib/Plack/ blib/lib/Plack/App/ blib/lib/Plack/App/Path/ blib/lib/Plack/App/Path/Router/ blib/lib/Plack/App/Path/Router/Custom.pm blib/lib/Plack/App/Path/Router/PSGI.pm blib/lib/Plack/App/Path/Router.pm blib/man3/ blib/man3/Plack::App::Path::Router.3 blib/man3/Plack::App::Path::Router::Custom.3 blib/man3/Plack::App::Path::Router::PSGI.3 TIMB/WebAPI-DBIC-0.004002.tar.gz Has already been unwrapped into directory /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/WebAPI-DBIC-0.004002-qT3xPz TIMB/WebAPI-DBIC-0.004002.tar.gz Has already been prepared Running make for T/TI/TIMB/WebAPI-DBIC-0.004002.tar.gz Prepending /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Plack-App-Path-Router-0.08-jUYFsO/blib/arch /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Plack-App-Path-Router-0.08-jUYFsO/blib/lib /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Sub-Quote-2.003001-kfbB9i/blib/arch /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Sub-Quote-2.003001-kfbB9i/blib/lib to PERL5LIB for 'make' >>> make cp lib/WebAPI/DBIC/Resource/GenericRoot.pm blib/lib/WebAPI/DBIC/Resource/GenericRoot.pm cp lib/WebAPI/DBIC/Resource/ActiveModel.pm blib/lib/WebAPI/DBIC/Resource/ActiveModel.pm cp lib/WebAPI/DBIC/Resource/GenericCore.pm blib/lib/WebAPI/DBIC/Resource/GenericCore.pm cp lib/WebAPI/DBIC/Resource/GenericSetInvoke.pm blib/lib/WebAPI/DBIC/Resource/GenericSetInvoke.pm cp lib/WebAPI/DBIC/Resource/JSONAPI/Role/ItemWritable.pm blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/ItemWritable.pm cp lib/WebAPI/DBIC/Role/JsonParams.pm blib/lib/WebAPI/DBIC/Role/JsonParams.pm cp lib/WebAPI/DBIC/Resource/Role/Identity.pm blib/lib/WebAPI/DBIC/Resource/Role/Identity.pm cp lib/WebAPI/DBIC/Resource/ActiveModel/Role/Set.pm blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/Set.pm cp lib/WebAPI/DBIC/Resource/JSONAPI/Role/SetWritable.pm blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/SetWritable.pm cp lib/WebAPI/DBIC/Resource/JSONAPI.pm blib/lib/WebAPI/DBIC/Resource/JSONAPI.pm cp lib/WebAPI/DBIC.pm blib/lib/WebAPI/DBIC.pm cp lib/WebAPI/DBIC/Resource/GenericItemInvoke.pm blib/lib/WebAPI/DBIC/Resource/GenericItemInvoke.pm cp lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm cp lib/WebAPI/DBIC/Resource/ActiveModel/Role/SetWritable.pm blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/SetWritable.pm cp lib/WebAPI/DBIC/Resource/Role/DBIC.pm blib/lib/WebAPI/DBIC/Resource/Role/DBIC.pm cp data_service_api.pod blib/lib/WebAPI/data_service_api.pod cp lib/WebAPI/DBIC/Router.pm blib/lib/WebAPI/DBIC/Router.pm cp NOTES.pod blib/lib/WebAPI/NOTES.pod cp lib/WebAPI/DBIC/Resource/JSONAPI/Role/DBIC.pm blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/DBIC.pm cp lib/WebAPI/DBIC/Resource/Base.pm blib/lib/WebAPI/DBIC/Resource/Base.pm cp lib/WebAPI/HTTP/Throwable/Factory.pm blib/lib/WebAPI/HTTP/Throwable/Factory.pm cp lib/WebAPI/DBIC/Resource/JSONAPI/Role/Set.pm blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/Set.pm cp lib/WebAPI/DBIC/Resource/Role/Root.pm blib/lib/WebAPI/DBIC/Resource/Role/Root.pm cp lib/WebAPI/DBIC/Resource/Role/SetInvoke.pm blib/lib/WebAPI/DBIC/Resource/Role/SetInvoke.pm cp lib/WebAPI/DBIC/Resource/GenericSet.pm blib/lib/WebAPI/DBIC/Resource/GenericSet.pm cp lib/WebAPI/DBIC/Resource/Role/DBICParams.pm blib/lib/WebAPI/DBIC/Resource/Role/DBICParams.pm cp lib/WebAPI/DBIC/Resource/HAL/Role/Root.pm blib/lib/WebAPI/DBIC/Resource/HAL/Role/Root.pm cp lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm cp lib/WebAPI/DBIC/Role/JsonEncoder.pm blib/lib/WebAPI/DBIC/Role/JsonEncoder.pm cp lib/WebAPI/DBIC/Resource/ActiveModel/Role/Item.pm blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/Item.pm cp lib/WebAPI/DBIC/Resource/HAL/Role/Item.pm blib/lib/WebAPI/DBIC/Resource/HAL/Role/Item.pm cp lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm blib/lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm cp lib/WebAPI/DBIC/Resource/Role/Set.pm blib/lib/WebAPI/DBIC/Resource/Role/Set.pm cp lib/WebAPI/DBIC/Util.pm blib/lib/WebAPI/DBIC/Util.pm cp lib/WebAPI/DBIC/Resource/ActiveModel/Role/DBIC.pm blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/DBIC.pm cp lib/WebAPI/DBIC/Resource/Role/DBICException.pm blib/lib/WebAPI/DBIC/Resource/Role/DBICException.pm cp lib/WebAPI/DBIC/Resource/HAL/Role/DBIC.pm blib/lib/WebAPI/DBIC/Resource/HAL/Role/DBIC.pm cp lib/WebAPI/DBIC/Resource/ActiveModel/Role/ItemWritable.pm blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/ItemWritable.pm cp lib/WebAPI/DBIC/Resource/Role/Item.pm blib/lib/WebAPI/DBIC/Resource/Role/Item.pm cp lib/WebAPI/DBIC/Resource/HAL/Role/ItemWritable.pm blib/lib/WebAPI/DBIC/Resource/HAL/Role/ItemWritable.pm cp lib/WebAPI/DBIC/Resource/Role/Relationship.pm blib/lib/WebAPI/DBIC/Resource/Role/Relationship.pm cp lib/WebAPI/DBIC/Resource/Role/SetWritable.pm blib/lib/WebAPI/DBIC/Resource/Role/SetWritable.pm cp lib/WebAPI/DBIC/Resource/HAL/Role/Set.pm blib/lib/WebAPI/DBIC/Resource/HAL/Role/Set.pm cp lib/WebAPI/DBIC/Resource/HAL.pm blib/lib/WebAPI/DBIC/Resource/HAL.pm cp lib/WebAPI/DBIC/Resource/JSONAPI/Role/Item.pm blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/Item.pm cp lib/WebAPI/DBIC/RouteMaker.pm blib/lib/WebAPI/DBIC/RouteMaker.pm cp lib/WebAPI/DBIC/Resource/Role/Router.pm blib/lib/WebAPI/DBIC/Resource/Role/Router.pm cp lib/WebAPI/DBIC/Route.pm blib/lib/WebAPI/DBIC/Route.pm cp lib/WebAPI/DBIC/WebApp.pm blib/lib/WebAPI/DBIC/WebApp.pm cp lib/WebAPI/DBIC/TypeNamer.pm blib/lib/WebAPI/DBIC/TypeNamer.pm cp lib/WebAPI/DBIC/Resource/GenericItem.pm blib/lib/WebAPI/DBIC/Resource/GenericItem.pm cp lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm blib/lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm cp lib/WebAPI/DBIC/Resource/HAL/Role/SetWritable.pm blib/lib/WebAPI/DBIC/Resource/HAL/Role/SetWritable.pm Manifying 53 pod documents TIMB/WebAPI-DBIC-0.004002.tar.gz make -- OK Prepending /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Plack-App-Path-Router-0.08-jUYFsO/blib/arch /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Plack-App-Path-Router-0.08-jUYFsO/blib/lib /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Sub-Quote-2.003001-kfbB9i/blib/arch /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/Sub-Quote-2.003001-kfbB9i/blib/lib to PERL5LIB for 'test' Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 "/Users/fly2200/ap2200-299195/bin/perl-dynamic" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/media-active-model/*.t t/media-hal/*.t t/media-jsonapi/*.t webapi-dbic-any.psgi syntax OK webapi-dbic-demo.psgi syntax OK t/00-compile.t .......................... ok 1 - lib/WebAPI/DBIC.pm compiles ok 2 - lib/WebAPI/DBIC/Route.pm compiles ok 3 - lib/WebAPI/DBIC/RouteMaker.pm compiles ok 4 - lib/WebAPI/DBIC/Router.pm compiles ok 5 - lib/WebAPI/DBIC/TypeNamer.pm compiles ok 6 - lib/WebAPI/DBIC/Util.pm compiles ok 7 - lib/WebAPI/DBIC/WebApp.pm compiles ok 8 - blib/lib/WebAPI/DBIC.pm compiles ok 9 - lib/WebAPI/DBIC/Resource/ActiveModel.pm compiles ok 10 - lib/WebAPI/DBIC/Resource/Base.pm compiles ok 11 - lib/WebAPI/DBIC/Resource/GenericCore.pm compiles ok 12 - lib/WebAPI/DBIC/Resource/GenericItem.pm compiles ok 13 - lib/WebAPI/DBIC/Resource/GenericItemInvoke.pm compiles ok 14 - lib/WebAPI/DBIC/Resource/GenericRoot.pm compiles ok 15 - lib/WebAPI/DBIC/Resource/GenericSet.pm compiles ok 16 - lib/WebAPI/DBIC/Resource/GenericSetInvoke.pm compiles ok 17 - lib/WebAPI/DBIC/Resource/HAL.pm compiles ok 18 - lib/WebAPI/DBIC/Resource/JSONAPI.pm compiles ok 19 - lib/WebAPI/DBIC/Role/JsonEncoder.pm compiles ok 20 - lib/WebAPI/DBIC/Role/JsonParams.pm compiles ok 21 - lib/WebAPI/HTTP/Throwable/Factory.pm compiles ok 22 - blib/lib/WebAPI/DBIC/Route.pm compiles ok 23 - blib/lib/WebAPI/DBIC/RouteMaker.pm compiles ok 24 - blib/lib/WebAPI/DBIC/Router.pm compiles ok 25 - blib/lib/WebAPI/DBIC/TypeNamer.pm compiles ok 26 - blib/lib/WebAPI/DBIC/Util.pm compiles ok 27 - blib/lib/WebAPI/DBIC/WebApp.pm compiles ok 28 - lib/WebAPI/DBIC/Resource/Role/DBIC.pm compiles ok 29 - lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm compiles ok 30 - lib/WebAPI/DBIC/Resource/Role/DBICException.pm compiles ok 31 - lib/WebAPI/DBIC/Resource/Role/DBICParams.pm compiles ok 32 - lib/WebAPI/DBIC/Resource/Role/Identity.pm compiles ok 33 - lib/WebAPI/DBIC/Resource/Role/Item.pm compiles ok 34 - lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm compiles ok 35 - lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm compiles ok 36 - lib/WebAPI/DBIC/Resource/Role/Relationship.pm compiles ok 37 - lib/WebAPI/DBIC/Resource/Role/Root.pm compiles ok 38 - lib/WebAPI/DBIC/Resource/Role/Router.pm compiles ok 39 - lib/WebAPI/DBIC/Resource/Role/Set.pm compiles ok 40 - lib/WebAPI/DBIC/Resource/Role/SetInvoke.pm compiles ok 41 - lib/WebAPI/DBIC/Resource/Role/SetWritable.pm compiles ok 42 - lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm compiles ok 43 - blib/lib/WebAPI/DBIC/Resource/ActiveModel.pm compiles ok 44 - blib/lib/WebAPI/DBIC/Resource/Base.pm compiles ok 45 - blib/lib/WebAPI/DBIC/Resource/GenericCore.pm compiles ok 46 - blib/lib/WebAPI/DBIC/Resource/GenericItem.pm compiles ok 47 - blib/lib/WebAPI/DBIC/Resource/GenericItemInvoke.pm compiles ok 48 - blib/lib/WebAPI/DBIC/Resource/GenericRoot.pm compiles ok 49 - blib/lib/WebAPI/DBIC/Resource/GenericSet.pm compiles ok 50 - blib/lib/WebAPI/DBIC/Resource/GenericSetInvoke.pm compiles ok 51 - blib/lib/WebAPI/DBIC/Resource/HAL.pm compiles ok 52 - blib/lib/WebAPI/DBIC/Resource/JSONAPI.pm compiles ok 53 - blib/lib/WebAPI/DBIC/Role/JsonEncoder.pm compiles ok 54 - blib/lib/WebAPI/DBIC/Role/JsonParams.pm compiles ok 55 - blib/lib/WebAPI/HTTP/Throwable/Factory.pm compiles ok 56 - lib/WebAPI/DBIC/Resource/ActiveModel/Role/DBIC.pm compiles ok 57 - lib/WebAPI/DBIC/Resource/ActiveModel/Role/Item.pm compiles ok 58 - lib/WebAPI/DBIC/Resource/ActiveModel/Role/ItemWritable.pm compiles ok 59 - lib/WebAPI/DBIC/Resource/ActiveModel/Role/Set.pm compiles ok 60 - lib/WebAPI/DBIC/Resource/ActiveModel/Role/SetWritable.pm compiles ok 61 - lib/WebAPI/DBIC/Resource/HAL/Role/DBIC.pm compiles ok 62 - lib/WebAPI/DBIC/Resource/HAL/Role/Item.pm compiles ok 63 - lib/WebAPI/DBIC/Resource/HAL/Role/ItemWritable.pm compiles ok 64 - lib/WebAPI/DBIC/Resource/HAL/Role/Root.pm compiles ok 65 - lib/WebAPI/DBIC/Resource/HAL/Role/Set.pm compiles ok 66 - lib/WebAPI/DBIC/Resource/HAL/Role/SetWritable.pm compiles ok 67 - lib/WebAPI/DBIC/Resource/JSONAPI/Role/DBIC.pm compiles ok 68 - lib/WebAPI/DBIC/Resource/JSONAPI/Role/Item.pm compiles ok 69 - lib/WebAPI/DBIC/Resource/JSONAPI/Role/ItemWritable.pm compiles ok 70 - lib/WebAPI/DBIC/Resource/JSONAPI/Role/Set.pm compiles ok 71 - lib/WebAPI/DBIC/Resource/JSONAPI/Role/SetWritable.pm compiles ok 72 - blib/lib/WebAPI/DBIC/Resource/Role/DBIC.pm compiles ok 73 - blib/lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm compiles ok 74 - blib/lib/WebAPI/DBIC/Resource/Role/DBICException.pm compiles ok 75 - blib/lib/WebAPI/DBIC/Resource/Role/DBICParams.pm compiles ok 76 - blib/lib/WebAPI/DBIC/Resource/Role/Identity.pm compiles ok 77 - blib/lib/WebAPI/DBIC/Resource/Role/Item.pm compiles ok 78 - blib/lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm compiles ok 79 - blib/lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm compiles ok 80 - blib/lib/WebAPI/DBIC/Resource/Role/Relationship.pm compiles ok 81 - blib/lib/WebAPI/DBIC/Resource/Role/Root.pm compiles ok 82 - blib/lib/WebAPI/DBIC/Resource/Role/Router.pm compiles ok 83 - blib/lib/WebAPI/DBIC/Resource/Role/Set.pm compiles ok 84 - blib/lib/WebAPI/DBIC/Resource/Role/SetInvoke.pm compiles ok 85 - blib/lib/WebAPI/DBIC/Resource/Role/SetWritable.pm compiles ok 86 - blib/lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm compiles ok 87 - blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/DBIC.pm compiles ok 88 - blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/Item.pm compiles ok 89 - blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/ItemWritable.pm compiles ok 90 - blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/Set.pm compiles ok 91 - blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/SetWritable.pm compiles ok 92 - blib/lib/WebAPI/DBIC/Resource/HAL/Role/DBIC.pm compiles ok 93 - blib/lib/WebAPI/DBIC/Resource/HAL/Role/Item.pm compiles ok 94 - blib/lib/WebAPI/DBIC/Resource/HAL/Role/ItemWritable.pm compiles ok 95 - blib/lib/WebAPI/DBIC/Resource/HAL/Role/Root.pm compiles ok 96 - blib/lib/WebAPI/DBIC/Resource/HAL/Role/Set.pm compiles ok 97 - blib/lib/WebAPI/DBIC/Resource/HAL/Role/SetWritable.pm compiles ok 98 - blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/DBIC.pm compiles ok 99 - blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/Item.pm compiles ok 100 - blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/ItemWritable.pm compiles ok 101 - blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/Set.pm compiles ok 102 - blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/SetWritable.pm compiles ok 103 - has psgi files 1..103 ok t/10-basics-req.t ....................... importing fixtures - deleting existing temp directory /tmp/pDQqCrzaoY - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== basics - specs ===== # --- Config: # --- Name: get single item # GET /artist/1 # Vary: Accept # Content-Length: 69 # Content-Type: application/vnd.wapid+json # --- Name: get different single item # GET /artist/2 # Vary: Accept # Content-Length: 66 # Content-Type: application/vnd.wapid+json # --- Name: get set of items # GET /artist # Vary: Accept # Content-Length: 387 # Content-Type: application/vnd.wapid+json # --- Name: get item with multi-field key # GET /gig/1/2014-01-01T01:01:01Z # Vary: Accept # Content-Length: 52 # Content-Type: application/vnd.wapid+json # --- Name: get different item with multi-field key # GET /gig/2/2014-06-30T19:00:00Z # Vary: Accept # Content-Length: 52 # Content-Type: application/vnd.wapid+json # --- Name: get view data # GET /classic_albums # Vary: Accept # Content-Length: 322 # Content-Type: application/vnd.wapid+json ok 1 - 10-basics-req.t output in t/10-basics-req.got matches t/10-basics-req.exp 1..1 ok 2 - ===== basics - specs ===== 1..2 ok t/11-paging-req.t ....................... importing fixtures - deleting existing temp directory /tmp/vek2Mmrvs0 - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Paging ===== # --- Config: # --- Name: get 1 row # GET /artist?rows=1 # Vary: Accept # Content-Length: 71 # Content-Type: application/vnd.wapid+json # --- Name: get 2 rows # GET /artist?rows=2 # Vary: Accept # Content-Length: 138 # Content-Type: application/vnd.wapid+json # --- Name: get 2 rows from second 'page' # GET /artist?rows=2&page=2 # Vary: Accept # Content-Length: 125 # Content-Type: application/vnd.wapid+json ok 1 - 11-paging-req.t output in t/11-paging-req.got matches t/11-paging-req.exp 1..1 ok 2 - ===== Paging ===== 1..2 ok t/12-searching-req.t .................... importing fixtures - deleting existing temp directory /tmp/NbsIyxOd1B - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Paging ===== # --- Config: # --- Name: get 1 row from set by qualifying the key # GET /artist?me.artistid=2 # Vary: Accept # Content-Length: 68 # Content-Type: application/vnd.wapid+json # --- Name: get specific rows via json array # GET /artist?me.artistid~json=%5B1%2C3%5D # Vary: Accept # Content-Length: 134 # Content-Type: application/vnd.wapid+json # --- Name: get specific rows via json qualifier expression # GET /artist?me.artistid~json=%7B%22%3C%3D%22%3A2%7D # Vary: Accept # Content-Length: 138 # Content-Type: application/vnd.wapid+json # --- Name: get no rows, empty set, due to qualifier that matches none # GET /artist?me.artistid=999999 # Vary: Accept # Content-Length: 2 # Content-Type: application/vnd.wapid+json # --- Name: invalid request due to qualifying by non-existant field ok 1 # skip need to add post-processing of the error result ok 2 - 12-searching-req.t output in t/12-searching-req.got matches t/12-searching-req.exp 1..2 ok 2 - ===== Paging ===== 1..2 ok t/13-fields-req.t ....................... importing fixtures - deleting existing temp directory /tmp/3yJay_7tbz - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Get with fields param ===== # GET /artist?fields=artistid,name ok 1 ok 2 - response is a ref ok 3 - /artist data looks sane ok 4 - rank fields not preset # GET /artist/1?fields=artistid,name ok 5 ok 6 - response is a ref ok 7 - data isn't a hash ok 8 - set has less than 2 attributes ok 9 - artistid ok 10 - data matches # GET /artist/2?fields=artistid,rank ok 11 ok 12 - response is a ref ok 13 - data isn't a hash ok 14 - set has less than 2 attributes ok 15 - artistid ok 16 - has rank field 1..16 ok 2 - ===== Get with fields param ===== 1..2 ok t/14-distinct-req.t ..................... importing fixtures - deleting existing temp directory /tmp/NpSoOI4n_2 - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== GET distinct ===== # GET /cd?fields=year&order=year&distinct=1 ok 1 ok 2 - response is a ref ok 3 1..3 ok 2 - ===== GET distinct ===== 1..2 ok t/30-ordering-req.t ..................... importing fixtures - deleting existing temp directory /tmp/GoBLtSb7ow - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Ordering ===== # --- Config: # --- Name: order by PK asc # GET /cd?order=me.cdid # Vary: Accept # Content-Length: 498 # Content-Type: application/vnd.wapid+json # --- Name: order by PK desc # GET /cd?order=me.cdid%20desc&fields=cdid,year # Vary: Accept # Content-Length: 126 # Content-Type: application/vnd.wapid+json # --- Name: order by year desc and title desc # GET /cd?sort=me.year%20desc,title%20desc&fields=cdid,year,title # Vary: Accept # Content-Length: 283 # Content-Type: application/vnd.wapid+json # --- Name: order by year desc and title desc using JSON API style # GET /cd?sort=-year,-title&fields=cdid,year,title # Vary: Accept # Content-Length: 283 # Content-Type: application/vnd.wapid+json ok 1 - 30-ordering-req.t output in t/30-ordering-req.got matches t/30-ordering-req.exp 1..1 ok 2 - ===== Ordering ===== 1..2 ok t/50-modify-req.t ....................... importing fixtures - deleting existing temp directory /tmp/RrG48qVmcj - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Create - POST ===== # GET /artist ok 1 ok 2 - response is a ref ok 3 - /artist includes 1 ok 4 - /artist includes 2 ok 5 - /artist includes 3 ok 6 - /artist data looks sane # plain post # POST /artist ok 7 ok 8 - has Location header ok 9 - no data returned without prefetch # GET /artist/7 ok 10 ok 11 - response is a ref ok 12 - new item has id ok 13 - new item has new id ok 14 ok 15 # post with prefetch=self # POST /artist?prefetch=self ok 16 ok 17 - has Location header ok 18 - response is a ref # GET /artist/8 ok 19 ok 20 - response is a ref ok 21 - new item has id ok 22 - new item has new id ok 23 ok 24 ok 25 - returned prefetch matches item at location # ===== Update - PUT ===== # put without prefetch=self # PUT /artist/8 ok 26 ok 27 - no response body # GET /artist/8 ok 28 ok 29 - response is a ref ok 30 # put with prefetch=self # PUT /artist/8?prefetch=self ok 31 ok 32 - response is a ref ok 33 - has response body ok 34 - prefetch response has updated rank # GET /artist/8 ok 35 ok 36 - response is a ref ok 37 - returned prefetch matches item at location # ===== Delete - DELETE ===== # DELETE /artist/7 ok 38 ok 39 - no response body # GET /person_types/7 ok 40 # DELETE /artist/8 ok 41 ok 42 - no response body # GET /person_types/8 ok 43 1..43 ok 2 - ===== Create - POST ===== 1..2 ok t/53-put_rel-req.t ...................... importing fixtures - deleting existing temp directory /tmp/dVjiO26Bjx - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Update a resource and related resources via PUT ===== # --- Config: # --- Name: POST to the set to create a Track to edit (on an existing CD) # POST /track?prefetch=self # Location: /track/19 # Vary: Accept # Content-Length: 107 # Content-Type: application/vnd.wapid+json # --- Name: update the title (19 hardwired for now) and prefetch self and disc (ignored) # PUT /track/19?prefetch=self,disc # Vary: Accept # Content-Length: 115 # Content-Type: application/vnd.wapid+json # --- Name: update the track id (primary key) # PUT /track/19?prefetch=self # Vary: Accept # Content-Length: 117 # Content-Type: application/vnd.wapid+json # --- Name: delete the track we just added # DELETE /track/1900 # Vary: Accept # Content-Type: application/vnd.wapid+json ok 1 - 53-put_rel-req.t output in t/53-put_rel-req.got matches t/53-put_rel-req.exp # POST /track?prefetch=self ok 2 ok 3 - has Location header ok 4 - response is a ref # PUT /track/19?prefetch=self,disc ok 5 ok 6 - response is a ref ok 7 - return data ok 8 - has trackid assigned ok 9 ok 10 - has same position assigned # recheck data as a separate request # GET /track/19?prefetch=self,disc ok 11 ok 12 - response is a ref ok 13 - has trackid assigned ok 14 ok 15 - has same position assigned # DELETE /track/19 ok 16 1..16 ok 2 - ===== Update a resource and related resources via PUT ===== 1..2 ok Exception: DBIx::Class::Row::get_column(): No such column 'nonesuch' on TestSchema::Result::Artist at /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/WebAPI-DBIC-0.004002-qT3xPz/blib/lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm line 57 t/60-invoke-req.t ....................... importing fixtures - deleting existing temp directory /tmp/Db3xWjPgDy - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Invoke methods ===== # --- Config: # --- Name: Invoke get_column('name') on Item # POST /artist/1/invoke/get_column # Content-Length: 31 # Content-Type: application/vnd.wapid+json # --- Name: Invoke get_column({}) on Item - Invalid arg type # POST /artist/1/invoke/get_column # Content-Length: 46 # Content-Type: application/json # --- Name: Invoke get_column() on Item - Unknown attribute # POST /artist/1/invoke/get_column # Content-Length: 49 # Content-Type: application/json # --- Name: Invoke get_column() on Item - Invalid Body # POST /artist/1/invoke/get_column # Content-Length: 52 # Content-Type: application/json # --- Name: Invoke get_colum('nonesuch') on Item - Invalid column # POST /artist/1/invoke/get_column # Content-Length: 0 # Content-Type: application/vnd.wapid+json # --- Name: Invoke get_column('name') on Set # POST /artist/invoke/get_column # Content-Type: text/html # --- Name: Invoke count on Set # POST /artist/invoke/count # Content-Length: 12 # Content-Type: application/vnd.wapid+json # --- Name: Invoke count on Set - Invalid arg type # POST /artist/invoke/count # Content-Length: 46 # Content-Type: application/json # --- Name: Invoke count on Set - Unknown attribute # POST /artist/invoke/count # Content-Length: 49 # Content-Type: application/json # --- Name: Invoke count on Set - Invalid Body # POST /artist/invoke/count # Content-Length: 52 # Content-Type: application/json # --- Name: Invoke count({name => "Caterwauler McCrae"}) on Set # POST /artist/invoke/count # Content-Length: 12 # Content-Type: application/vnd.wapid+json # --- Name: Invoke count on Item # POST /artist/1/invoke/count # Content-Type: text/html ok 1 - 60-invoke-req.t output in t/60-invoke-req.got matches t/60-invoke-req.exp 1..1 ok 2 - ===== Invoke methods ===== 1..2 ok t/90-root-req.t ......................... # Subtest: ===== basics - specs ===== # --- Config: # --- Name: get root url as html # GET / # Location: browser/browser.html#/ # Vary: Accept # Content-Length: 0 # Content-Type: text/html # --- Config: # --- Name: get root url as plain json # GET / # Vary: Accept # Content-Length: 771 # Content-Type: application/vnd.wapid+json ok 1 - 90-root-req.t output in t/90-root-req.got matches t/90-root-req.exp 1..1 ok 1 - ===== basics - specs ===== 1..1 ok t/media-active-model/10-basics-req.t .... importing fixtures - deleting existing temp directory /tmp/Px_j98Du2g - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== basics - specs ===== # --- Config: # --- Name: get single item # GET /artist/1 # Vary: Accept # Content-Length: 82 # Content-Type: application/json # --- Name: get different single item # GET /artist/2 # Vary: Accept # Content-Length: 79 # Content-Type: application/json # --- Name: get set of items # GET /artist # Vary: Accept # Content-Length: 398 # Content-Type: application/json # --- Name: get item with multi-field key # GET /gig/1/2014-01-01T01:01:01Z # Vary: Accept # Content-Length: 62 # Content-Type: application/json # --- Name: get different item with multi-field key # GET /gig/2/2014-06-30T19:00:00Z # Vary: Accept # Content-Length: 62 # Content-Type: application/json # --- Name: get view data # GET /classic_albums # Vary: Accept # Content-Length: 341 # Content-Type: application/json ok 1 - 10-basics-req.t output in t/media-active-model/10-basics-req.got matches t/media-active-model/10-basics-req.exp 1..1 ok 2 - ===== basics - specs ===== 1..2 ok Child result class TestSchema::Result::CD_to_Producer has multiple keys (cd producer) so relations like cd_to_producer won't have links generated. t/media-active-model/40-prefetch-req.t .. importing fixtures - deleting existing temp directory /tmp/l3ASO9HIVe - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Prefetch ===== # --- Config: # --- Name: prefetch on an item using two belongs_to relationships # GET /cd/1?prefetch=artist,genre # Vary: Accept # Content-Length: 248 # Content-Type: application/json # --- Name: prefetch on a set using two belongs_to relationships # GET /cd?rows=2&page=1&prefetch=artist,genre # Vary: Accept # Content-Length: 400 # Content-Type: application/json # --- Name: filter on prefetched relation field # GET /cd?prefetch=artist&artist.name=Random+Boy+Band # Vary: Accept # Content-Length: 207 # Content-Type: application/json # --- Name: filter on prefetch with JSON # GET /cd?prefetch=artist&artist.name~json=%7B%22like%22%3A%22%25Band%22%7D # Vary: Accept # Content-Length: 207 # Content-Type: application/json # --- Name: multi type relation (has_many) in prefetch on item # GET /artist/1?prefetch=cds&order=cds.cdid # Vary: Accept # Content-Length: 392 # Content-Type: application/json # --- Name: multi type relation (has_many) in prefetch on set # GET /artist?prefetch=cds&order=me.artistid,cds.cdid&rows=2 # Vary: Accept # Content-Length: 579 # Content-Type: application/json # --- Name: multi type relation in prefetch on item (many_to_many via JSON) ArrayRef Syntax # GET /cd/1?prefetch~json=%5B%7B%22cd_to_producer%22%3A%22producer%22%7D%5D # Vary: Accept # Content-Length: 103 # Content-Type: application/json # --- Name: multi type relation in prefetch on item (many_to_many via JSON) HashRef Syntax # GET /cd/1?prefetch~json=%7B%22cd_to_producer%22%3A%22producer%22%7D # Vary: Accept # Content-Length: 103 # Content-Type: application/json # --- Name: filter on nested prefetch # GET /artist?rows=2&producer.name=Matt+S+Trout&prefetch~json=%7B%22cds%22%3A%7B%22cd_to_producer%22%3A%22producer%22%7D%7D&cds.year~json=%7B%22%3E%22%3A%220996%22%7D # Vary: Accept # Content-Length: 197 # Content-Type: application/json # --- Name: prefetch with query on ambiguous field # GET /cd/?me.artist=1&prefetch=artist # Vary: Accept # Content-Length: 417 # Content-Type: application/json # --- Name: prefetch on invalid name # GET /cd/1?prefetch=nonesuch # Content-Length: 389 # Content-Type: application/json # --- Name: prefetch on set with partial response of prefetched items # GET /cd?rows=2&page=1&prefetch=artist,genre&fields=cdid,artist,genreid,genre.genreid,artist.artistid # Vary: Accept # Content-Length: 194 # Content-Type: application/json # --- Name: prefetch on item with partial response of prefetched item # GET /cd/1?prefetch=artist,genre&fields=cdid,artist,genreid,artist.artistid,genre.genreid # Vary: Accept # Content-Length: 119 # Content-Type: application/json # --- Name: prefetch on item with id primary key #28 # GET /country/1?prefetch=cities # Vary: Accept # Content-Length: 103 # Content-Type: application/json # --- Name: prefetch a complex set with second-tier relationships # GET /artist/1?prefetch~json=%7B%22cds%22%3A%22tracks%22%7D # Vary: Accept # Content-Length: 1372 # Content-Type: application/json ok 1 - 40-prefetch-req.t output in t/media-active-model/40-prefetch-req.got matches t/media-active-model/40-prefetch-req.exp 1..1 ok 2 - ===== Prefetch ===== 1..2 ok TestSchema::Result::Artist relationship cds_90s has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/media-hal/10-basics-req.t ............. importing fixtures - deleting existing temp directory /tmp/BJTQ8LoY4i - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== basics - specs ===== # --- Config: # --- Name: get single item # GET /artist/1 # Vary: Accept # Content-Length: 174 # Content-Type: application/hal+json # --- Name: get different single item # GET /artist/2 # Vary: Accept # Content-Length: 171 # Content-Type: application/hal+json # --- Name: get set of items # GET /artist # Vary: Accept # Content-Length: 1131 # Content-Type: application/hal+json # --- Name: get item with multi-field key # GET /gig/1/2014-01-01T01:01:01Z # Vary: Accept # Content-Length: 139 # Content-Type: application/hal+json # --- Name: get different item with multi-field key # GET /gig/2/2014-06-30T19:00:00Z # Vary: Accept # Content-Length: 139 # Content-Type: application/hal+json # --- Name: get view data # GET /classic_albums # Vary: Accept # Content-Length: 666 # Content-Type: application/hal+json ok 1 - 10-basics-req.t output in t/media-hal/10-basics-req.got matches t/media-hal/10-basics-req.exp 1..1 ok 2 - ===== basics - specs ===== 1..2 ok TestSchema::Result::Artist relationship cds_90s has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/media-hal/11-paging-req.t ............. importing fixtures - deleting existing temp directory /tmp/dKk8lX6LDt - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Paging ===== # --- Config: # --- Name: get 1 row # GET /artist?rows=1 # Vary: Accept # Content-Length: 329 # Content-Type: application/hal+json # --- Name: get 2 rows with count # GET /artist?rows=2&with=count # Vary: Accept # Content-Length: 594 # Content-Type: application/hal+json # --- Name: get 2 rows from second 'page' # GET /artist?rows=2&page=2 # Vary: Accept # Content-Length: 569 # Content-Type: application/hal+json ok 1 - 11-paging-req.t output in t/media-hal/11-paging-req.got matches t/media-hal/11-paging-req.exp 1..1 ok 2 - ===== Paging ===== 1..2 ok TestSchema::Result::Artist relationship cds_90s has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/media-hal/12-searching-req.t .......... importing fixtures - deleting existing temp directory /tmp/9jBepcnWac - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Paging ===== # --- Config: # --- Name: get 1 row from set by qualifying the key # GET /artist?me.artistid=2 # Vary: Accept # Content-Length: 301 # Content-Type: application/hal+json # --- Name: get specific rows via json array # GET /artist?me.artistid~json=%5B1%2C3%5D # Vary: Accept # Content-Length: 487 # Content-Type: application/hal+json # --- Name: get specific rows via json qualifier expression # GET /artist?me.artistid~json=%7B%22%3C%3D%22%3A2%7D # Vary: Accept # Content-Length: 502 # Content-Type: application/hal+json # --- Name: get no rows, empty set, due to qualifier that matches none # GET /artist?me.artistid=999999 # Vary: Accept # Content-Length: 135 # Content-Type: application/hal+json # --- Name: invalid request due to qualifying by non-existant field ok 1 # skip need to add post-processing of the error result ok 2 - 12-searching-req.t output in t/media-hal/12-searching-req.got matches t/media-hal/12-searching-req.exp 1..2 ok 2 - ===== Paging ===== 1..2 ok TestSchema::Result::Artist relationship cds_90s has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/media-hal/13-fields-req.t ............. importing fixtures - deleting existing temp directory /tmp/l4r_48gytO - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Get with fields param ===== # GET /artist?fields=artistid,name ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - _embedded isn't hash ok 5 - _embedded has artist array ok 6 - set has at least 2 items ok 7 - /artist includes 1 ok 8 - /artist includes 2 ok 9 - /artist includes 3 ok 10 - /artist data looks sane ok 11 - rank fields not preset # GET /artist/1?fields=artistid,name ok 12 ok 13 - response is a ref ok 14 - data isn't a hash ok 15 - set has less than 2 attributes ok 16 - artistid ok 17 - data matches # GET /artist/2?fields=artistid,rank ok 18 ok 19 - response is a ref ok 20 - data isn't a hash ok 21 - set has less than 2 attributes ok 22 - artistid ok 23 - has rank field 1..23 ok 2 - ===== Get with fields param ===== 1..2 ok t/media-hal/14-distinct-req.t ........... importing fixtures - deleting existing temp directory /tmp/rHv4Cu9MMm - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== GET distinct ===== # GET /cd?fields=year&order=year&distinct=1 ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - _embedded isn't hash ok 5 - _embedded has cd array ok 6 - set has at least 4 items ok 7 - set has at most 4 items ok 8 1..8 ok 2 - ===== GET distinct ===== 1..2 ok t/media-hal/30-ordering-req.t ........... importing fixtures - deleting existing temp directory /tmp/SKHmpfUGx8 - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Ordering ===== # --- Config: # --- Name: order by PK asc # GET /cd?order=me.cdid # Vary: Accept # Content-Length: 1500 # Content-Type: application/hal+json # --- Name: order by PK desc # GET /cd?order=me.cdid%20desc # Vary: Accept # Content-Length: 1500 # Content-Type: application/hal+json # --- Name: order by year desc and title desc # GET /cd?sort=me.year%20desc,title%20desc # Vary: Accept # Content-Length: 1500 # Content-Type: application/hal+json # --- Name: order by field in a relation (and the primary set for test stability) # GET /cd?prefetch=artist&sort=artist.name,cdid # Vary: Accept # Content-Length: 1955 # Content-Type: application/hal+json # --- Name: order by field in two relations # GET /cd?prefetch=artist,genre&order=-genre.name,artist.name # Vary: Accept # Content-Length: 2139 # Content-Type: application/hal+json ok 1 - 30-ordering-req.t output in t/media-hal/30-ordering-req.got matches t/media-hal/30-ordering-req.exp 1..1 ok 2 - ===== Ordering ===== 1..2 ok TestSchema::Result::Artist relationship cds_90s has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/media-hal/40-prefetch-req.t ........... importing fixtures - deleting existing temp directory /tmp/BeN0Ycmm4f - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Prefetch ===== # --- Config: # --- Name: prefetch on an item using two belongs_to relationships # GET /cd/1?prefetch=artist,genre # Vary: Accept # Content-Length: 402 # Content-Type: application/hal+json # --- Name: prefetch on a set using two belongs_to relationships # GET /cd?rows=2&page=1&prefetch=artist,genre # Vary: Accept # Content-Length: 947 # Content-Type: application/hal+json # --- Name: filter on prefetched relation field # GET /cd?prefetch=artist&artist.name=Random+Boy+Band # Vary: Accept # Content-Length: 480 # Content-Type: application/hal+json # --- Name: filter on prefetch with JSON # GET /cd?prefetch=artist&artist.name~json=%7B%22like%22%3A%22%25Band%22%7D # Vary: Accept # Content-Length: 480 # Content-Type: application/hal+json # --- Name: multi type relation (has_many) in prefetch on item # GET /artist/1?prefetch=cds&order=cds.cdid # Vary: Accept # Content-Length: 1022 # Content-Type: application/hal+json # --- Name: multi type relation (has_many) in prefetch on set # GET /artist?prefetch=cds&order=me.artistid,cds.cdid&rows=2 # Vary: Accept # Content-Length: 1658 # Content-Type: application/hal+json # --- Name: multi type relation in prefetch on item (many_to_many via JSON) ArrayRef Syntax # GET /cd/1?sort=cd_to_producer.producer&prefetch~json=%5B%7B%22cd_to_producer%22%3A%22producer%22%7D%5D # Vary: Accept # Content-Length: 940 # Content-Type: application/hal+json # --- Name: multi type relation in prefetch on item (many_to_many via JSON) HashRef Syntax # GET /cd/1?sort=cd_to_producer.producer&prefetch~json=%7B%22cd_to_producer%22%3A%22producer%22%7D # Vary: Accept # Content-Length: 940 # Content-Type: application/hal+json # --- Name: filter on nested prefetch # GET /artist?rows=2&producer.name=Matt+S+Trout&prefetch~json=%7B%22cds%22%3A%7B%22cd_to_producer%22%3A%22producer%22%7D%7D&cds.year~json=%7B%22%3E%22%3A%220996%22%7D # Vary: Accept # Content-Length: 827 # Content-Type: application/hal+json # --- Name: prefetch with query on ambiguous field # GET /cd/?me.artist=1&prefetch=artist # Vary: Accept # Content-Length: 1220 # Content-Type: application/hal+json # --- Name: prefetch on invalid name # GET /cd/1?prefetch=nonesuch # Content-Length: 389 # Content-Type: application/json # --- Name: prefetch on set with partial response of prefetched items # GET /cd?rows=2&page=1&prefetch=artist,genre&fields=cdid,artist,genreid,genre.genreid,artist.artistid # Vary: Accept # Content-Length: 686 # Content-Type: application/hal+json # --- Name: prefetch on item with partial response of prefetched item # GET /cd/1?prefetch=artist,genre&fields=cdid,artist,genreid,artist.artistid,genre.genreid # Vary: Accept # Content-Length: 273 # Content-Type: application/hal+json # --- Name: prefetch on item with id primary key #28 # GET /country/1?prefetch=cities # Vary: Accept # Content-Length: 241 # Content-Type: application/hal+json ok 1 - 40-prefetch-req.t output in t/media-hal/40-prefetch-req.got matches t/media-hal/40-prefetch-req.exp 1..1 ok 2 - ===== Prefetch ===== 1..2 ok TestSchema::Result::Artist relationship cds_90s has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/media-hal/50-modify-req.t ............. importing fixtures - deleting existing temp directory /tmp/Fkx_Z4o8je - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Create - POST ===== # GET /artist ok 1 ok 2 - response is a ref ok 3 - data isn't a hash ok 4 - _embedded isn't hash ok 5 - _embedded has artist array ok 6 - set has at least 2 items ok 7 - /artist includes 1 ok 8 - /artist includes 2 ok 9 - /artist includes 3 ok 10 - /artist data looks sane # plain post # POST /artist ok 11 ok 12 - has Location header ok 13 - no data returned without prefetch # GET /artist/7 ok 14 ok 15 - response is a ref ok 16 - new item has id ok 17 - new item has new id ok 18 ok 19 # post with prefetch=self # POST /artist?prefetch=self ok 20 ok 21 - has Location header ok 22 - response is a ref # GET /artist/8 ok 23 ok 24 - response is a ref ok 25 - new item has id ok 26 - new item has new id ok 27 ok 28 ok 29 - returned prefetch matches item at location # ===== Update - PUT ===== # put without prefetch=self # PUT /artist/8 ok 30 ok 31 - no response body # GET /artist/8 ok 32 ok 33 - response is a ref ok 34 # put with prefetch=self # PUT /artist/8?prefetch=self ok 35 ok 36 - response is a ref ok 37 - has response body ok 38 - prefetch response has updated rank # GET /artist/8 ok 39 ok 40 - response is a ref ok 41 - returned prefetch matches item at location # ===== Delete - DELETE ===== # DELETE /artist/7 ok 42 ok 43 - no response body # GET /person_types/7 ok 44 # DELETE /artist/8 ok 45 ok 46 - no response body # GET /person_types/8 ok 47 1..47 ok 2 - ===== Create - POST ===== 1..2 ok TestSchema::Result::Track relationship next_tracks has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/media-hal/52-post_rel-req.t ........... importing fixtures - deleting existing temp directory /tmp/KDd_q40ybt - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Create item, with embedded items, by POST to set ===== # POST /track?rollback=1 ok 1 ok 2 - has Location header ok 3 - returns reasonable Location ok 4 - returns no data # POST /track?rollback=1&prefetch=self ok 5 ok 6 - has Location header ok 7 - response is a ref ok 8 - returns reasonable Location ok 9 - return data ok 10 - has trackid assigned ok 11 ok 12 ok 13 - has cd assigned ok 14 - has no _embedded # POST /track?rollback=1&prefetch=self,disc ok 15 ok 16 - has Location header ok 17 - response is a ref ok 18 - returns reasonable Location ok 19 - return data ok 20 - has trackid assigned ok 21 ok 22 ok 23 - has cd assigned ok 24 - has _embedded ok 25 ok 26 - has _embedded disc ok 27 - disc matches ok 28 - disc name matches 1..28 ok 2 - ===== Create item, with embedded items, by POST to set ===== 1..2 ok TestSchema::Result::Track relationship next_tracks has coderef-based condition which is not handled yet - unknown crosstable_cond_key t/media-hal/53-put_rel-req.t ............ importing fixtures - deleting existing temp directory /tmp/CaF8VPG9tn - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Update a resource and related resources via PUT ===== # --- Config: # --- Name: POST to the set to create a Track to edit (on an existing CD) # POST /track?prefetch=self # Location: /track/19 # Vary: Accept # Content-Length: 254 # Content-Type: application/hal+json # --- Name: update the title (19 hardwired for now) and prefetch self and disc # PUT /track/19?prefetch=self,disc # Vary: Accept # Content-Length: 377 # Content-Type: application/hal+json # --- Name: update the track id (primary key) # PUT /track/19?prefetch=self # Vary: Accept # Content-Length: 268 # Content-Type: application/hal+json # --- Name: delete the track we just added # DELETE /track/1900 # Vary: Accept # Content-Type: application/hal+json ok 1 - 53-put_rel-req.t output in t/media-hal/53-put_rel-req.got matches t/media-hal/53-put_rel-req.exp # POST /track?prefetch=self ok 2 ok 3 - has Location header ok 4 - response is a ref # PUT /track/19?prefetch=self,disc ok 5 ok 6 - response is a ref ok 7 - return data ok 8 - has trackid assigned ok 9 ok 10 - has same position assigned # recheck data as a separate request # GET /track/19?prefetch=self,disc ok 11 ok 12 - response is a ref ok 13 - has trackid assigned ok 14 ok 15 - has same position assigned # DELETE /track/19 ok 16 1..16 ok 2 - ===== Update a resource and related resources via PUT ===== 1..2 ok t/media-hal/90-root-req.t ............... # Subtest: ===== basics - specs ===== # --- Config: # --- Name: get root url as html # GET / # Location: browser/browser.html#/ # Vary: Accept # Content-Length: 0 # Content-Type: text/html # --- Config: # --- Name: get root url as hal+json # GET / # Vary: Accept # Content-Length: 1678 # Content-Type: application/hal+json ok 1 - 90-root-req.t output in t/media-hal/90-root-req.got matches t/media-hal/90-root-req.exp 1..1 ok 1 - ===== basics - specs ===== 1..1 ok t/media-jsonapi/10-basics-req.t ......... importing fixtures - deleting existing temp directory /tmp/sgno9eA946 - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== basics - specs ===== # --- Config: # --- Name: get single item # GET /artist/1 # Vary: Accept # Content-Length: 124 # Content-Type: application/vnd.api+json # --- Name: get different single item # GET /artist/2 # Vary: Accept # Content-Length: 121 # Content-Type: application/vnd.api+json # --- Name: get set of items # GET /artist # Vary: Accept # Content-Length: 650 # Content-Type: application/vnd.api+json # --- Name: get item with multi-field key # GET /gig/1/2014-01-01T01:01:01Z # Vary: Accept # Content-Length: 119 # Content-Type: application/vnd.api+json # --- Name: get different item with multi-field key # GET /gig/2/2014-06-30T19:00:00Z # Vary: Accept # Content-Length: 119 # Content-Type: application/vnd.api+json # --- Name: get view data # GET /classic_albums # Vary: Accept # Content-Length: 515 # Content-Type: application/vnd.api+json ok 1 - 10-basics-req.t output in t/media-jsonapi/10-basics-req.got matches t/media-jsonapi/10-basics-req.exp 1..1 ok 2 - ===== basics - specs ===== 1..2 ok Result class TestSchema::Result::CD_to_Producer has multiple keys (cd producer) so relations like cd_to_producer won't have links generated. t/media-jsonapi/40-prefetch-req.t ....... importing fixtures - deleting existing temp directory /tmp/uAM6u9KKLv - creating temp dir - adding Artist - adding Country - adding Genre - adding Producer - adding City - adding Gig - adding Track - adding CD - adding ClassicAlbums - adding CD_to_Producer - fixtures imported - cleaning up ok 1 - Fixtures Installed # Subtest: ===== Prefetch ===== # --- Config: # --- Name: prefetch on an item using two belongs_to relationships # GET /cd/1?prefetch=artist,genre # Vary: Accept # Content-Length: 512 # Content-Type: application/vnd.api+json # --- Name: prefetch on a set using two belongs_to relationships # GET /cd?rows=2&page=1&prefetch=artist,genre # Vary: Accept # Content-Length: 742 # Content-Type: application/vnd.api+json # --- Name: filter on prefetched relation field # GET /cd?prefetch=artist&artist.name=Random+Boy+Band # Vary: Accept # Content-Length: 374 # Content-Type: application/vnd.api+json # --- Name: filter on prefetch with JSON # GET /cd?prefetch=artist&artist.name~json=%7B%22like%22%3A%22%25Band%22%7D # Vary: Accept # Content-Length: 374 # Content-Type: application/vnd.api+json # --- Name: multi type relation (has_many) in prefetch on item # GET /artist/1?prefetch=cds&order=cds.cdid # Vary: Accept # Content-Length: 628 # Content-Type: application/vnd.api+json # --- Name: multi type relation (has_many) in prefetch on set # GET /artist?prefetch=cds&order=me.artistid,cds.cdid&rows=2 # Vary: Accept # Content-Length: 897 # Content-Type: application/vnd.api+json # --- Name: multi type relation in prefetch on item (many_to_many via JSON) ArrayRef Syntax # GET /cd/1?prefetch~json=%5B%7B%22cd_to_producer%22%3A%22producer%22%7D%5D # Vary: Accept # Content-Length: 137 # Content-Type: application/vnd.api+json # --- Name: multi type relation in prefetch on item (many_to_many via JSON) HashRef Syntax # GET /cd/1?prefetch~json=%7B%22cd_to_producer%22%3A%22producer%22%7D # Vary: Accept # Content-Length: 137 # Content-Type: application/vnd.api+json # --- Name: filter on nested prefetch # GET /artist?rows=2&producer.name=Matt+S+Trout&prefetch~json=%7B%22cds%22%3A%7B%22cd_to_producer%22%3A%22producer%22%7D%7D&cds.year~json=%7B%22%3E%22%3A%220996%22%7D # Vary: Accept # Content-Length: 365 # Content-Type: application/vnd.api+json # --- Name: prefetch with query on ambiguous field # GET /cd/?me.artist=1&prefetch=artist # Vary: Accept # Content-Length: 666 # Content-Type: application/vnd.api+json # --- Name: prefetch on invalid name # GET /cd/1?prefetch=nonesuch # Content-Length: 389 # Content-Type: application/json # --- Name: prefetch on set with partial response of prefetched items # GET /cd?rows=2&page=1&prefetch=artist,genre&fields=cdid,artist,genreid,genre.genreid,artist.artistid # Vary: Accept # Content-Length: 536 # Content-Type: application/vnd.api+json # --- Name: prefetch on item with partial response of prefetched item # GET /cd/1?prefetch=artist,genre&fields=cdid,artist,genreid,artist.artistid,genre.genreid # Vary: Accept # Content-Length: 383 # Content-Type: application/vnd.api+json # --- Name: prefetch on item with id primary key #28 # GET /country/1?prefetch=cities # Vary: Accept # Content-Length: 272 # Content-Type: application/vnd.api+json ok 1 - 40-prefetch-req.t output in t/media-jsonapi/40-prefetch-req.got matches t/media-jsonapi/40-prefetch-req.exp 1..1 ok 2 - ===== Prefetch ===== 1..2 ok t/release-pod-syntax.t .................. skipped: these tests are for release candidate testing All tests successful. Files=27, Tests=151, 86 wallclock secs ( 0.21 usr 0.06 sys + 40.74 cusr 4.62 csys = 45.63 CPU) Result: PASS TIMB/WebAPI-DBIC-0.004002.tar.gz make test TEST_VERBOSE=1 -- OK Fetching with LWP: http://ppm.activestate.com/CPAN/authors/id/T/TI/TIMB/CHECKSUMS Tim Bunce <Tim.Bunce@pobox.com> A composable RESTful JSON API to DBIx::Class schemas using roles and Web::Machine >>> (cd /Users/fly2200/cpanfly-5.22/var/tmp/cpan_build/WebAPI-DBIC-0.004002-qT3xPz && tar cvf - WebAPI-DBIC-0.004002.ppd blib) | gzip -c >/Users/fly2200/cpanfly-5.22/var/REPO/T/TI/TIMB/WebAPI-DBIC-0.004002.tar.gz WebAPI-DBIC-0.004002.ppd blib/ blib/lib/ blib/lib/WebAPI/ blib/lib/WebAPI/data_service_api.pod blib/lib/WebAPI/DBIC/ blib/lib/WebAPI/DBIC/Resource/ blib/lib/WebAPI/DBIC/Resource/ActiveModel/ blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/ blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/DBIC.pm blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/Item.pm blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/ItemWritable.pm blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/Set.pm blib/lib/WebAPI/DBIC/Resource/ActiveModel/Role/SetWritable.pm blib/lib/WebAPI/DBIC/Resource/ActiveModel.pm blib/lib/WebAPI/DBIC/Resource/Base.pm blib/lib/WebAPI/DBIC/Resource/GenericCore.pm blib/lib/WebAPI/DBIC/Resource/GenericItem.pm blib/lib/WebAPI/DBIC/Resource/GenericItemInvoke.pm blib/lib/WebAPI/DBIC/Resource/GenericRoot.pm blib/lib/WebAPI/DBIC/Resource/GenericSet.pm blib/lib/WebAPI/DBIC/Resource/GenericSetInvoke.pm blib/lib/WebAPI/DBIC/Resource/HAL/ blib/lib/WebAPI/DBIC/Resource/HAL/Role/ blib/lib/WebAPI/DBIC/Resource/HAL/Role/DBIC.pm blib/lib/WebAPI/DBIC/Resource/HAL/Role/Item.pm blib/lib/WebAPI/DBIC/Resource/HAL/Role/ItemWritable.pm blib/lib/WebAPI/DBIC/Resource/HAL/Role/Root.pm blib/lib/WebAPI/DBIC/Resource/HAL/Role/Set.pm blib/lib/WebAPI/DBIC/Resource/HAL/Role/SetWritable.pm blib/lib/WebAPI/DBIC/Resource/HAL.pm blib/lib/WebAPI/DBIC/Resource/JSONAPI/ blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/ blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/DBIC.pm blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/Item.pm blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/ItemWritable.pm blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/Set.pm blib/lib/WebAPI/DBIC/Resource/JSONAPI/Role/SetWritable.pm blib/lib/WebAPI/DBIC/Resource/JSONAPI.pm blib/lib/WebAPI/DBIC/Resource/Role/ blib/lib/WebAPI/DBIC/Resource/Role/DBIC.pm blib/lib/WebAPI/DBIC/Resource/Role/DBICAuth.pm blib/lib/WebAPI/DBIC/Resource/Role/DBICException.pm blib/lib/WebAPI/DBIC/Resource/Role/DBICParams.pm blib/lib/WebAPI/DBIC/Resource/Role/Identity.pm blib/lib/WebAPI/DBIC/Resource/Role/Item.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemInvoke.pm blib/lib/WebAPI/DBIC/Resource/Role/ItemWritable.pm blib/lib/WebAPI/DBIC/Resource/Role/Relationship.pm blib/lib/WebAPI/DBIC/Resource/Role/Root.pm blib/lib/WebAPI/DBIC/Resource/Role/Router.pm blib/lib/WebAPI/DBIC/Resource/Role/Set.pm blib/lib/WebAPI/DBIC/Resource/Role/SetInvoke.pm blib/lib/WebAPI/DBIC/Resource/Role/SetWritable.pm blib/lib/WebAPI/DBIC/Role/ blib/lib/WebAPI/DBIC/Role/JsonEncoder.pm blib/lib/WebAPI/DBIC/Role/JsonParams.pm blib/lib/WebAPI/DBIC/Route.pm blib/lib/WebAPI/DBIC/RouteMaker.pm blib/lib/WebAPI/DBIC/Router.pm blib/lib/WebAPI/DBIC/TypeNamer.pm blib/lib/WebAPI/DBIC/Util.pm blib/lib/WebAPI/DBIC/WebApp.pm blib/lib/WebAPI/DBIC.pm blib/lib/WebAPI/HTTP/ blib/lib/WebAPI/HTTP/Throwable/ blib/lib/WebAPI/HTTP/Throwable/Factory.pm blib/lib/WebAPI/HTTP/Throwable/Role/ blib/lib/WebAPI/HTTP/Throwable/Role/JSONBody.pm blib/lib/WebAPI/NOTES.pod blib/man3/ blib/man3/WebAPI::data_service_api.3 blib/man3/WebAPI::DBIC.3 blib/man3/WebAPI::DBIC::Resource::ActiveModel.3 blib/man3/WebAPI::DBIC::Resource::ActiveModel::Role::DBIC.3 blib/man3/WebAPI::DBIC::Resource::ActiveModel::Role::Item.3 blib/man3/WebAPI::DBIC::Resource::ActiveModel::Role::ItemWritable.3 blib/man3/WebAPI::DBIC::Resource::ActiveModel::Role::Set.3 blib/man3/WebAPI::DBIC::Resource::ActiveModel::Role::SetWritable.3 blib/man3/WebAPI::DBIC::Resource::Base.3 blib/man3/WebAPI::DBIC::Resource::GenericCore.3 blib/man3/WebAPI::DBIC::Resource::GenericItem.3 blib/man3/WebAPI::DBIC::Resource::GenericItemInvoke.3 blib/man3/WebAPI::DBIC::Resource::GenericRoot.3 blib/man3/WebAPI::DBIC::Resource::GenericSet.3 blib/man3/WebAPI::DBIC::Resource::GenericSetInvoke.3 blib/man3/WebAPI::DBIC::Resource::HAL.3 blib/man3/WebAPI::DBIC::Resource::HAL::Role::DBIC.3 blib/man3/WebAPI::DBIC::Resource::HAL::Role::Item.3 blib/man3/WebAPI::DBIC::Resource::HAL::Role::ItemWritable.3 blib/man3/WebAPI::DBIC::Resource::HAL::Role::Root.3 blib/man3/WebAPI::DBIC::Resource::HAL::Role::Set.3 blib/man3/WebAPI::DBIC::Resource::HAL::Role::SetWritable.3 blib/man3/WebAPI::DBIC::Resource::JSONAPI.3 blib/man3/WebAPI::DBIC::Resource::JSONAPI::Role::DBIC.3 blib/man3/WebAPI::DBIC::Resource::JSONAPI::Role::Item.3 blib/man3/WebAPI::DBIC::Resource::JSONAPI::Role::ItemWritable.3 blib/man3/WebAPI::DBIC::Resource::JSONAPI::Role::Set.3 blib/man3/WebAPI::DBIC::Resource::JSONAPI::Role::SetWritable.3 blib/man3/WebAPI::DBIC::Resource::Role::DBIC.3 blib/man3/WebAPI::DBIC::Resource::Role::DBICAuth.3 blib/man3/WebAPI::DBIC::Resource::Role::DBICException.3 blib/man3/WebAPI::DBIC::Resource::Role::DBICParams.3 blib/man3/WebAPI::DBIC::Resource::Role::Identity.3 blib/man3/WebAPI::DBIC::Resource::Role::Item.3 blib/man3/WebAPI::DBIC::Resource::Role::ItemInvoke.3 blib/man3/WebAPI::DBIC::Resource::Role::ItemWritable.3 blib/man3/WebAPI::DBIC::Resource::Role::Relationship.3 blib/man3/WebAPI::DBIC::Resource::Role::Root.3 blib/man3/WebAPI::DBIC::Resource::Role::Router.3 blib/man3/WebAPI::DBIC::Resource::Role::Set.3 blib/man3/WebAPI::DBIC::Resource::Role::SetInvoke.3 blib/man3/WebAPI::DBIC::Resource::Role::SetWritable.3 blib/man3/WebAPI::DBIC::Role::JsonEncoder.3 blib/man3/WebAPI::DBIC::Role::JsonParams.3 blib/man3/WebAPI::DBIC::Route.3 blib/man3/WebAPI::DBIC::RouteMaker.3 blib/man3/WebAPI::DBIC::Router.3 blib/man3/WebAPI::DBIC::TypeNamer.3 blib/man3/WebAPI::DBIC::Util.3 blib/man3/WebAPI::DBIC::WebApp.3 blib/man3/WebAPI::HTTP::Throwable::Factory.3 blib/man3/WebAPI::HTTP::Throwable::Role::JSONBody.3 blib/man3/WebAPI::NOTES.3 Finished 2017-01-25T00:50:33