PATH=C:\mingw\bin;C:\cpanfly-5.20\var\megalib\bin;C:\Perl-5.20\site\bin;C:\Perl-5.20\bin;C:\cygwin\bin;C:\mingw\bin;C:\cpanfly-5.20\var\megalib\bin;C:\Perl-5.20\site\bin;C:\Perl-5.20\bin;C:\cygwin\bin;C:\Program Files\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\Git\cmd;C:\Program Files\CMake\bin;C:\instantclient_11_2;C:\Program Files\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\Git\cmd;C:\Program Files\CMake\bin
Start 2016-07-09T00:23:25
ActivePerl-2003 CPAN-2.10
PATH=C:/CPANFL~1.20/var/libs/bin;C:\mingw\bin;C:\CPANFL~1.20\var\megalib\bin;C:\Perl-5.20\site\bin;C:\Perl-5.20\bin;C:\cygwin\bin;C:\mingw\bin;C:\CPANFL~1.20\var\megalib\bin;C:\Perl-5.20\site\bin;C:\Perl-5.20\bin;C:\cygwin\bin;C:\PROGRA~1\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\PROGRA~1\Git\cmd;C:\PROGRA~1\CMake\bin;C:\INSTAN~1;C:\PROGRA~1\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\PROGRA~1\Git\cmd;C:\PROGRA~1\CMake\bin
Reading 'C:\cpanfly-5.20\var\cpan\Metadata'
Database was generated on Fri, 08 Jul 2016 04:17:02 GMT
Fetching with LWP:
http://ppm.activestate.com/CPAN/authors/id/Y/YA/YANICK/Dancer2-Session-Memcached-0.004.tar.gz
Fetching with LWP:
http://ppm.activestate.com/CPAN/authors/id/Y/YA/YANICK/CHECKSUMS
Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\Y\YA\YANICK\Dancer2-Session-Memcached-0.004.tar.gz ok
Dancer2-Session-Memcached-0.004/
Dancer2-Session-Memcached-0.004/xt/
Dancer2-Session-Memcached-0.004/xt/author/
Dancer2-Session-Memcached-0.004/xt/author/pod-syntax.t
Dancer2-Session-Memcached-0.004/xt/author/00-compile.t
Dancer2-Session-Memcached-0.004/xt/author/critic.t
Dancer2-Session-Memcached-0.004/xt/author/pod-spell.t
Dancer2-Session-Memcached-0.004/xt/author/pod-coverage.t
Dancer2-Session-Memcached-0.004/xt/release/
Dancer2-Session-Memcached-0.004/xt/release/distmeta.t
Dancer2-Session-Memcached-0.004/xt/release/portability.t
Dancer2-Session-Memcached-0.004/xt/release/minimum-version.t
Dancer2-Session-Memcached-0.004/xt/release/test-version.t
Dancer2-Session-Memcached-0.004/lib/
Dancer2-Session-Memcached-0.004/lib/Dancer2/
Dancer2-Session-Memcached-0.004/lib/Dancer2/Session/
Dancer2-Session-Memcached-0.004/lib/Dancer2/Session/Memcached.pm
Dancer2-Session-Memcached-0.004/Makefile.PL
Dancer2-Session-Memcached-0.004/MANIFEST
Dancer2-Session-Memcached-0.004/Changes
Dancer2-Session-Memcached-0.004/LICENSE
Dancer2-Session-Memcached-0.004/README.pod
Dancer2-Session-Memcached-0.004/META.json
Dancer2-Session-Memcached-0.004/CONTRIBUTING
Dancer2-Session-Memcached-0.004/META.yml
Dancer2-Session-Memcached-0.004/perlcritic.rc
Dancer2-Session-Memcached-0.004/cpanfile
Dancer2-Session-Memcached-0.004/t/
Dancer2-Session-Memcached-0.004/t/00-report-prereqs.t
Dancer2-Session-Memcached-0.004/t/00-report-prereqs.dd
Dancer2-Session-Memcached-0.004/t/basic.t
Dancer2-Session-Memcached-0.004/dist.ini
Dancer2-Session-Memcached-0.004/README
Configuring Y/YA/YANICK/Dancer2-Session-Memcached-0.004.tar.gz with Makefile.PL
>>> C:\Perl-5.20\bin\perl.exe Makefile.PL
Warning: prerequisite Cache::Memcached 0 not found.
Warning: prerequisite Dancer2 0.15000 not found.
Warning: prerequisite Dancer2::Core::Role::SessionFactory 0 not found.
Warning: prerequisite Dancer2::Core::Types 0 not found.
Checking if your kit is complete...
Looks good
Have \cpanfl~1.20\var\megalib
Want \perl-5.20\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for Dancer2::Session::Memcached
Writing MYMETA.yml and MYMETA.json
YANICK/Dancer2-Session-Memcached-0.004.tar.gz
C:\Perl-5.20\bin\perl.exe Makefile.PL -- OK
Running make for Y/YA/YANICK/Dancer2-Session-Memcached-0.004.tar.gz
---- Unsatisfied dependencies detected during ----
---- YANICK/Dancer2-Session-Memcached-0.004.tar.gz ----
Cache::Memcached [requires]
Dancer2::Core::Types [requires]
Dancer2 [requires]
Dancer2::Core::Role::SessionFactory [requires]
Running test for module 'Cache::Memcached'
Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\D\DO\DORMANDO\Cache-Memcached-1.30.tar.gz ok
Cache-Memcached-1.30/
Cache-Memcached-1.30/MANIFEST
Cache-Memcached-1.30/t/
Cache-Memcached-1.30/t/02_keys.t
Cache-Memcached-1.30/t/04_noreply.t
Cache-Memcached-1.30/t/06_utf8_key.t
Cache-Memcached-1.30/t/100_flush_bug.t
Cache-Memcached-1.30/t/01_use.t
Cache-Memcached-1.30/t/03_stats.t
Cache-Memcached-1.30/t/101_multiple_clients.t
Cache-Memcached-1.30/t/05_reconnect_timeout.t
Cache-Memcached-1.30/README
Cache-Memcached-1.30/META.json
Cache-Memcached-1.30/META.yml
Cache-Memcached-1.30/lib/
Cache-Memcached-1.30/lib/Cache/
Cache-Memcached-1.30/lib/Cache/Memcached/
Cache-Memcached-1.30/lib/Cache/Memcached/GetParser.pm
Cache-Memcached-1.30/lib/Cache/Memcached.pm
Cache-Memcached-1.30/TODO
Cache-Memcached-1.30/ChangeLog
Cache-Memcached-1.30/MANIFEST.SKIP
Cache-Memcached-1.30/Makefile.PL
Configuring D/DO/DORMANDO/Cache-Memcached-1.30.tar.gz with Makefile.PL
>>> C:\Perl-5.20\bin\perl.exe Makefile.PL
Checking if your kit is complete...
Looks good
Have \cpanfl~1.20\var\megalib
Want \perl-5.20\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for Cache::Memcached
Writing MYMETA.yml and MYMETA.json
DORMANDO/Cache-Memcached-1.30.tar.gz
C:\Perl-5.20\bin\perl.exe Makefile.PL -- OK
Running make for D/DO/DORMANDO/Cache-Memcached-1.30.tar.gz
>>> dmake
cp lib/Cache/Memcached/GetParser.pm blib\lib\Cache\Memcached\GetParser.pm
cp lib/Cache/Memcached.pm blib\lib\Cache\Memcached.pm
DORMANDO/Cache-Memcached-1.30.tar.gz
dmake -- OK
Running make test
>>> dmake test TEST_VERBOSE=1
"C:\Perl-5.20\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
t/01_use.t ................
1..1
ok 1 - use Cache::Memcached;
ok
t/02_keys.t ............... skipped: No memcached instance running at 127.0.0.1:11211
t/03_stats.t .............. skipped: No memcached instance running at 127.0.0.1:11211
t/04_noreply.t ............ skipped: No memcached instance running at 127.0.0.1:11211
# Failed test 'Expected pause while connecting'
# at t/05_reconnect_timeout.t line 45.
# Looks like you failed 1 test of 2.
t/05_reconnect_timeout.t ..
1..2
not ok 1 - Expected pause while connecting
ok 2 - Should return fast on retry
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/2 subtests
t/06_utf8_key.t ........... skipped: No memcached instance running at 127.0.0.1:11211
# Failed test 'OK'
# at t/100_flush_bug.t line 61.
# got: '0'
# expected: '1'
# Looks like you failed 1 test of 7.
t/100_flush_bug.t .........
1..7
not ok 1 - OK
ok 2 - ERROR
ok 3 - ERROR
ok 4 - FOOERROR
ok 5 - FOOOKERROR
ok 6 - OK
ok 7 - END
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/7 subtests
t/101_multiple_clients.t .. skipped: cannot connect to 127.0.0.1:11211
Test Summary Report
-------------------
t/05_reconnect_timeout.t (Wstat: 256 Tests: 2 Failed: 1)
Failed test: 1
Non-zero exit status: 1
t/100_flush_bug.t (Wstat: 256 Tests: 7 Failed: 1)
Failed test: 1
Non-zero exit status: 1
Files=8, Tests=10, 12 wallclock secs ( 0.13 usr + 0.03 sys = 0.16 CPU)
Result: FAIL
Failed 2/8 test programs. 2/10 subtests failed.
dmake: Error code 255, while making 'test_dynamic'
DORMANDO/Cache-Memcached-1.30.tar.gz
dmake test TEST_VERBOSE=1 -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports DORMANDO/Cache-Memcached-1.30.tar.gz
Running test for module 'Dancer2::Core::Types'
Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\X\XS\XSAWYERX\Dancer2-0.200002.tar.gz ok
Dancer2-0.200002/
Dancer2-0.200002/Makefile.PL
Dancer2-0.200002/t/
Dancer2-0.200002/t/template_tiny/
Dancer2-0.200002/t/template_tiny/04_compat.t
Dancer2-0.200002/t/template_tiny/03_samples.t
Dancer2-0.200002/t/template_tiny/05_preparse.t
Dancer2-0.200002/t/template_tiny/01_compile.t
Dancer2-0.200002/t/template_tiny/samples/
Dancer2-0.200002/t/template_tiny/samples/09_trim.txt
Dancer2-0.200002/t/template_tiny/samples/01_hello.var
Dancer2-0.200002/t/template_tiny/samples/05_condition.txt
Dancer2-0.200002/t/template_tiny/samples/02_null.txt
Dancer2-0.200002/t/template_tiny/samples/06_object.tt
Dancer2-0.200002/t/template_tiny/samples/05_condition.var
Dancer2-0.200002/t/template_tiny/samples/03_chomp.tt
Dancer2-0.200002/t/template_tiny/samples/09_trim.var
Dancer2-0.200002/t/template_tiny/samples/07_nesting.tt
Dancer2-0.200002/t/template_tiny/samples/08_foreach.txt
Dancer2-0.200002/t/template_tiny/samples/03_chomp.var
Dancer2-0.200002/t/template_tiny/samples/05_condition.tt
Dancer2-0.200002/t/template_tiny/samples/02_null.var
Dancer2-0.200002/t/template_tiny/samples/08_foreach.tt
Dancer2-0.200002/t/template_tiny/samples/06_object.txt
Dancer2-0.200002/t/template_tiny/samples/04_nested.tt
Dancer2-0.200002/t/template_tiny/samples/07_nesting.txt
Dancer2-0.200002/t/template_tiny/samples/09_trim.tt
Dancer2-0.200002/t/template_tiny/samples/06_object.var
Dancer2-0.200002/t/template_tiny/samples/04_nested.var
Dancer2-0.200002/t/template_tiny/samples/01_hello.txt
Dancer2-0.200002/t/template_tiny/samples/04_nested.txt
Dancer2-0.200002/t/template_tiny/samples/02_null.tt
Dancer2-0.200002/t/template_tiny/samples/08_foreach.var
Dancer2-0.200002/t/template_tiny/samples/01_hello.tt
Dancer2-0.200002/t/template_tiny/samples/07_nesting.var
Dancer2-0.200002/t/template_tiny/samples/03_chomp.txt
Dancer2-0.200002/t/template_tiny/02_trivial.t
Dancer2-0.200002/t/scope_problems/
Dancer2-0.200002/t/scope_problems/with_return_dies.t
Dancer2-0.200002/t/scope_problems/keywords_before_template_hook.t
Dancer2-0.200002/t/scope_problems/views/
Dancer2-0.200002/t/scope_problems/views/500.tt
Dancer2-0.200002/t/scope_problems/session_is_cleared.t
Dancer2-0.200002/t/scope_problems/config.yml
Dancer2-0.200002/t/scope_problems/dispatcher_internal_request.t
Dancer2-0.200002/t/author-no-tabs.t
Dancer2-0.200002/t/cookie.t
Dancer2-0.200002/t/custom_dsl.t
Dancer2-0.200002/t/file_utils.t
Dancer2-0.200002/t/release-distmeta.t
Dancer2-0.200002/t/route-pod-coverage/
Dancer2-0.200002/t/route-pod-coverage/route-pod-coverage.t
Dancer2-0.200002/t/uri_for.t
Dancer2-0.200002/t/http_methods.t
Dancer2-0.200002/t/plugin_register.t
Dancer2-0.200002/t/caller.t
Dancer2-0.200002/t/types.t
Dancer2-0.200002/t/template_default_tokens.t
Dancer2-0.200002/t/template.t
Dancer2-0.200002/t/classes/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-Engine/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-Engine/with.t
Dancer2-0.200002/t/classes/Dancer2-Core-Response/
Dancer2-0.200002/t/classes/Dancer2-Core-Response/new_from.t
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/with.t
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerFile/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerFile/fakescript.pl
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerFile/.dancer
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/bin/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/bin/.exists
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/blib/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/blib/bin/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/blib/bin/.exists
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/blib/lib/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/blib/lib/fakescript.pl
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/lib/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/lib/fake/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/lib/fake/inner/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/lib/fake/inner/dir/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/lib/fake/inner/dir/.exists
Dancer2-0.200002/t/classes/Dancer2-Core-Role-Handler/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-Handler/with.t
Dancer2-0.200002/t/classes/Dancer2-Core-Route/
Dancer2-0.200002/t/classes/Dancer2-Core-Route/base.t
Dancer2-0.200002/t/classes/Dancer2-Core-Route/match.t
Dancer2-0.200002/t/classes/Dancer2-Core-Route/deprecated_param_keys.t
Dancer2-0.200002/t/classes/Dancer2-Core-Runner/
Dancer2-0.200002/t/classes/Dancer2-Core-Runner/environment.t
Dancer2-0.200002/t/classes/Dancer2-Core-Runner/new.t
Dancer2-0.200002/t/classes/Dancer2-Core-Runner/psgi_app.t
Dancer2-0.200002/t/classes/Dancer2-Core-Role-Serializer/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-Serializer/with.t
Dancer2-0.200002/t/classes/Dancer2-Core-Response-Delayed/
Dancer2-0.200002/t/classes/Dancer2-Core-Response-Delayed/after_hooks.t
Dancer2-0.200002/t/classes/Dancer2-Core-Response-Delayed/new.t
Dancer2-0.200002/t/classes/Dancer2-Core-Factory/
Dancer2-0.200002/t/classes/Dancer2-Core-Factory/new.t
Dancer2-0.200002/t/classes/Dancer2-Core-Hook/
Dancer2-0.200002/t/classes/Dancer2-Core-Hook/new.t
Dancer2-0.200002/t/classes/Dancer2/
Dancer2-0.200002/t/classes/Dancer2/import-pragmas.t
Dancer2-0.200002/t/classes/Dancer2/import.t
Dancer2-0.200002/t/classes/Dancer2-Core/
Dancer2-0.200002/t/classes/Dancer2-Core/camelize.t
Dancer2-0.200002/t/classes/Dancer2-Core-Request/
Dancer2-0.200002/t/classes/Dancer2-Core-Request/serializers.t
Dancer2-0.200002/t/classes/Dancer2-Core-Request/new.t
Dancer2-0.200002/t/classes/Dancer2-Core-Role-StandardResponses/
Dancer2-0.200002/t/classes/Dancer2-Core-Role-StandardResponses/with.t
Dancer2-0.200002/t/session_config.t
Dancer2-0.200002/t/mime.t
Dancer2-0.200002/t/context-in-before.t
Dancer2-0.200002/t/request_upload.t
Dancer2-0.200002/t/public/
Dancer2-0.200002/t/public/file.txt
Dancer2-0.200002/t/serializer_mutable.t
Dancer2-0.200002/t/corpus/
Dancer2-0.200002/t/corpus/pretty_public/
Dancer2-0.200002/t/corpus/pretty_public/404.html
Dancer2-0.200002/t/corpus/pretty_public/510.html
Dancer2-0.200002/t/corpus/pretty/
Dancer2-0.200002/t/corpus/pretty/relative.tt
Dancer2-0.200002/t/corpus/pretty/505.tt
Dancer2-0.200002/t/corpus/static/
Dancer2-0.200002/t/corpus/static/index.html
Dancer2-0.200002/t/corpus/static/1x1.png
Dancer2-0.200002/t/config_settings.t
Dancer2-0.200002/t/session_engines.t
Dancer2-0.200002/t/dancer-test/
Dancer2-0.200002/t/dancer-test/config.yml
Dancer2-0.200002/t/template_simple.t
Dancer2-0.200002/t/forward.t
Dancer2-0.200002/t/error.t
Dancer2-0.200002/t/views/
Dancer2-0.200002/t/views/tokens.tt
Dancer2-0.200002/t/views/folder/
Dancer2-0.200002/t/views/folder/page.tt
Dancer2-0.200002/t/views/session_in_template.tt
Dancer2-0.200002/t/views/index.tt
Dancer2-0.200002/t/views/beforetemplate.tt
Dancer2-0.200002/t/views/layouts/
Dancer2-0.200002/t/views/layouts/main.tt
Dancer2-0.200002/t/views/template_simple_index.tt
Dancer2-0.200002/t/views/auto_page.tt
Dancer2-0.200002/t/dispatcher.t
Dancer2-0.200002/t/redirect.t
Dancer2-0.200002/t/time.t
Dancer2-0.200002/t/issues/
Dancer2-0.200002/t/issues/gh-936/
Dancer2-0.200002/t/issues/gh-936/views/
Dancer2-0.200002/t/issues/gh-936/views/error.tt
Dancer2-0.200002/t/issues/gh-762.t
Dancer2-0.200002/t/issues/gh-811.t
Dancer2-0.200002/t/issues/gh-931.t
Dancer2-0.200002/t/issues/gh-797.t
Dancer2-0.200002/t/issues/gh-794.t
Dancer2-0.200002/t/issues/gh-596.t
Dancer2-0.200002/t/issues/vars-in-forward.t
Dancer2-0.200002/t/issues/memleak/
Dancer2-0.200002/t/issues/memleak/die_in_hooks.t
Dancer2-0.200002/t/issues/gh-936.t
Dancer2-0.200002/t/issues/gh-1070.t
Dancer2-0.200002/t/issues/gh-799.t
Dancer2-0.200002/t/issues/gh-762/
Dancer2-0.200002/t/issues/gh-762/views/
Dancer2-0.200002/t/issues/gh-762/views/404.tt
Dancer2-0.200002/t/issues/gh-723.t
Dancer2-0.200002/t/issues/gh-1046/
Dancer2-0.200002/t/issues/gh-1046/gh-1046.t
Dancer2-0.200002/t/issues/gh-1046/config.yml
Dancer2-0.200002/t/issues/config.yml
Dancer2-0.200002/t/issues/gh-634.t
Dancer2-0.200002/t/issues/gh-639/
Dancer2-0.200002/t/issues/gh-639/succeeds/
Dancer2-0.200002/t/issues/gh-639/succeeds/issue.t
Dancer2-0.200002/t/issues/gh-639/succeeds/.dancer
Dancer2-0.200002/t/issues/gh-639/succeeds/config.yml
Dancer2-0.200002/t/issues/gh-639/fails/
Dancer2-0.200002/t/issues/gh-639/fails/issue.t
Dancer2-0.200002/t/issues/gh-639/fails/.dancer
Dancer2-0.200002/t/issues/gh-639/fails/config.yml
Dancer2-0.200002/t/issues/gh-730.t
Dancer2-0.200002/t/issues/gh-650/
Dancer2-0.200002/t/issues/gh-650/views/
Dancer2-0.200002/t/issues/gh-650/views/environment_setting.tt
Dancer2-0.200002/t/issues/gh-650/gh-650.t
Dancer2-0.200002/t/issues/gh-1013/
Dancer2-0.200002/t/issues/gh-1013/gh-1013.t
Dancer2-0.200002/t/issues/gh-1013/views/
Dancer2-0.200002/t/issues/gh-1013/views/t.tt
Dancer2-0.200002/t/issues/gh-1098.t
Dancer2-0.200002/t/issues/gh-944.t
Dancer2-0.200002/t/sessions/
Dancer2-0.200002/t/sessions/VZnjPwAAO6k9bW5FauLnPe6HtecLdTl7.yml
Dancer2-0.200002/t/sessions/VZnjPwAAO6k-BdDf7U1asyu8L3IiwLPH.yml
Dancer2-0.200002/t/sessions/VZnfBAAAM1uzNFM805U0WYIBH6g9O9sP.yml
Dancer2-0.200002/t/sessions/Vg064wAAJ9laQxRh3IZuFLenkVBgIk9I.yml
Dancer2-0.200002/t/sessions/Vg064wAAJ9kplKAlXLoTRgcwpA4SHS7p.yml
Dancer2-0.200002/t/sessions/VZnjPwAAO6mvnV4jszDm0R5-aWeczZvi.yml
Dancer2-0.200002/t/sessions/Vg04TQAAIh5Z2I-GTU_wKFHO4feGKLE_.yml
Dancer2-0.200002/t/sessions/VZnmcwAAQCxW6LW-ZL8Xt8U8jJfvzYQE.yml
Dancer2-0.200002/t/sessions/VZnmcwAAQCzAiy3r3BF_Y9nl17qh9xWZ.yml
Dancer2-0.200002/t/sessions/VZnfBAAAM1vX474E7L8-IKj6yGKXydT6.yml
Dancer2-0.200002/t/sessions/Vg064wAAJ9kQ4eZCIrRZYn2MHmDG9gdR.yml
Dancer2-0.200002/t/sessions/Vg04TQAAIh5ip4atDSSzR5k8O0kUe8xe.yml
Dancer2-0.200002/t/sessions/Vg04TQAAIh6p0AWJuzbIW1SGm4EYmG3M.yml
Dancer2-0.200002/t/sessions/VZnfBAAAM1tKFkfDZ4IUwyKrWceQJRkE.yml
Dancer2-0.200002/t/sessions/Vg04TQAAIh5f8_rJkoZU-jF0X0Ju1tUT.yml
Dancer2-0.200002/t/sessions/Vg064wAAJ9kOJP85EngBszwmwHbWlNSI.yml
Dancer2-0.200002/t/sessions/Vg064wAAJ9kdprsPF4Sv3csep-q5vNcS.yml
Dancer2-0.200002/t/sessions/Vg064wAAJ9lUqjejJGWqSsvCik0IMkXR.yml
Dancer2-0.200002/t/sessions/Vg04TQAAIh6LD69zbMVWaoqIU23Crkdm.yml
Dancer2-0.200002/t/sessions/Vg04TQAAIh7D5x7ePVh0dCf2cIkxpaxw.yml
Dancer2-0.200002/t/sessions/VZnmcwAAQCzZczgTm1OVACmWHKa_8Ba3.yml
Dancer2-0.200002/t/session_forward.t
Dancer2-0.200002/t/plugin_import.t
Dancer2-0.200002/t/shared_engines.t
Dancer2-0.200002/t/00-compile.t
Dancer2-0.200002/t/psgi_app_forward_and_pass.t
Dancer2-0.200002/t/vars.t
Dancer2-0.200002/t/lib/
Dancer2-0.200002/t/lib/Foo.pm
Dancer2-0.200002/t/lib/MyDancerDSL.pm
Dancer2-0.200002/t/lib/SubApp1.pm
Dancer2-0.200002/t/lib/poc2.pm
Dancer2-0.200002/t/lib/PoC/
Dancer2-0.200002/t/lib/PoC/Plugin/
Dancer2-0.200002/t/lib/PoC/Plugin/Polite.pm
Dancer2-0.200002/t/lib/App2.pm
Dancer2-0.200002/t/lib/SubApp2.pm
Dancer2-0.200002/t/lib/poc.pm
Dancer2-0.200002/t/lib/TestApp.pm
Dancer2-0.200002/t/lib/TestPod.pm
Dancer2-0.200002/t/lib/Dancer2/
Dancer2-0.200002/t/lib/Dancer2/Plugin/
Dancer2-0.200002/t/lib/Dancer2/Plugin/Hookee.pm
Dancer2-0.200002/t/lib/Dancer2/Plugin/Foo.pm
Dancer2-0.200002/t/lib/Dancer2/Plugin/Polite.pm
Dancer2-0.200002/t/lib/Dancer2/Plugin/EmptyPlugin.pm
Dancer2-0.200002/t/lib/Dancer2/Plugin/DancerPlugin.pm
Dancer2-0.200002/t/lib/Dancer2/Plugin/FooPlugin.pm
Dancer2-0.200002/t/lib/Dancer2/Plugin/OnPluginImport.pm
Dancer2-0.200002/t/lib/Dancer2/Plugin/Bar.pm
Dancer2-0.200002/t/lib/Dancer2/Plugin/PluginWithImport.pm
Dancer2-0.200002/t/lib/App1.pm
Dancer2-0.200002/t/serializer_json.t
Dancer2-0.200002/t/session_hooks.t
Dancer2-0.200002/t/roles/
Dancer2-0.200002/t/roles/hook.t
Dancer2-0.200002/t/app_alone.t
Dancer2-0.200002/t/forward_before_hook.t
Dancer2-0.200002/t/deserialize.t
Dancer2-0.200002/t/serializer.t
Dancer2-0.200002/t/plugin2/
Dancer2-0.200002/t/plugin2/no-clobbering.t
Dancer2-0.200002/t/plugin2/no-config.t
Dancer2-0.200002/t/plugin2/inside-plugin.t
Dancer2-0.200002/t/plugin2/basic.t
Dancer2-0.200002/t/plugin2/define-keywords.t
Dancer2-0.200002/t/plugin2/with-plugins.t
Dancer2-0.200002/t/plugin2/from-config.t
Dancer2-0.200002/t/plugin2/hooks.t
Dancer2-0.200002/t/plugin2/keywords-hooks-namespace.t
Dancer2-0.200002/t/plugin2/no-app-munging.t
Dancer2-0.200002/t/plugin2/basic-2.t
Dancer2-0.200002/t/config/
Dancer2-0.200002/t/config/environments/
Dancer2-0.200002/t/config/environments/failure.yml
Dancer2-0.200002/t/config/environments/production.yml
Dancer2-0.200002/t/config/environments/merging.yml
Dancer2-0.200002/t/config/environments/staging.json
Dancer2-0.200002/t/config/config.yml
Dancer2-0.200002/t/plugin_multiple_apps.t
Dancer2-0.200002/t/response.t
Dancer2-0.200002/t/multi_apps_forward.t
Dancer2-0.200002/t/template_ext.t
Dancer2-0.200002/t/logger_console.t
Dancer2-0.200002/t/session_lifecycle.t
Dancer2-0.200002/t/request.t
Dancer2-0.200002/t/request_make_forward_to.t
Dancer2-0.200002/t/config.yml
Dancer2-0.200002/t/dancer-test.t
Dancer2-0.200002/t/00-report-prereqs.t
Dancer2-0.200002/t/log_levels.t
Dancer2-0.200002/t/session_object.t
Dancer2-0.200002/t/app.t
Dancer2-0.200002/t/http_status.t
Dancer2-0.200002/t/engine.t
Dancer2-0.200002/t/dsl/
Dancer2-0.200002/t/dsl/error_template.t
Dancer2-0.200002/t/dsl/delayed.t
Dancer2-0.200002/t/dsl/halt_with_param.t
Dancer2-0.200002/t/dsl/halt.t
Dancer2-0.200002/t/dsl/any.t
Dancer2-0.200002/t/dsl/send_file.t
Dancer2-0.200002/t/dsl/to_app.t
Dancer2-0.200002/t/dsl/extend.t
Dancer2-0.200002/t/dsl/pass.t
Dancer2-0.200002/t/dsl/route_retvals.t
Dancer2-0.200002/t/dsl/content.t
Dancer2-0.200002/t/dsl/request.t
Dancer2-0.200002/t/dsl/app.t
Dancer2-0.200002/t/dsl/send_as.t
Dancer2-0.200002/t/dsl/splat.t
Dancer2-0.200002/t/dsl/extend_config/
Dancer2-0.200002/t/dsl/extend_config/config.yml
Dancer2-0.200002/t/dsl/path.t
Dancer2-0.200002/t/dsl/parameters.t
Dancer2-0.200002/t/config_multiapp.t
Dancer2-0.200002/t/app/
Dancer2-0.200002/t/app/t1/
Dancer2-0.200002/t/app/t1/bin/
Dancer2-0.200002/t/app/t1/bin/app.psgi
Dancer2-0.200002/t/app/t1/lib/
Dancer2-0.200002/t/app/t1/lib/App1.pm
Dancer2-0.200002/t/app/t1/lib/Sub/
Dancer2-0.200002/t/app/t1/lib/Sub/App2.pm
Dancer2-0.200002/t/app/t1/config.yml
Dancer2-0.200002/t/app/t2/
Dancer2-0.200002/t/app/t2/lib/
Dancer2-0.200002/t/app/t2/lib/App3.pm
Dancer2-0.200002/t/app/t2/.dancer
Dancer2-0.200002/t/app/t2/config.yml
Dancer2-0.200002/t/plugin_syntax.t
Dancer2-0.200002/t/log_die_before_hook.t
Dancer2-0.200002/t/00-report-prereqs.dd
Dancer2-0.200002/t/auto_page.t
Dancer2-0.200002/t/template_name.t
Dancer2-0.200002/t/named_apps.t
Dancer2-0.200002/t/logger.t
Dancer2-0.200002/t/hooks.t
Dancer2-0.200002/t/forward_test_tcp.t
Dancer2-0.200002/t/charset_server.t
Dancer2-0.200002/t/factory.t
Dancer2-0.200002/t/multi_apps.t
Dancer2-0.200002/t/memory_cycles.t
Dancer2-0.200002/t/psgi_app.t
Dancer2-0.200002/t/multiapp_template_hooks.t
Dancer2-0.200002/t/session_in_template.t
Dancer2-0.200002/t/author-pod-syntax.t
Dancer2-0.200002/t/config_reader.t
Dancer2-0.200002/LICENSE
Dancer2-0.200002/META.json
Dancer2-0.200002/xt/
Dancer2-0.200002/xt/perltidy.rc
Dancer2-0.200002/xt/whitespace.t
Dancer2-0.200002/xt/perlcritic.rc
Dancer2-0.200002/META.yml
Dancer2-0.200002/script/
Dancer2-0.200002/script/dancer2
Dancer2-0.200002/GitGuide.md
Dancer2-0.200002/Changes
Dancer2-0.200002/lib/
Dancer2-0.200002/lib/Dancer2/
Dancer2-0.200002/lib/Dancer2/FileUtils.pm
Dancer2-0.200002/lib/Dancer2/Manual.pod
Dancer2-0.200002/lib/Dancer2/Core.pm
Dancer2-0.200002/lib/Dancer2/Serializer/
Dancer2-0.200002/lib/Dancer2/Serializer/Dumper.pm
Dancer2-0.200002/lib/Dancer2/Serializer/YAML.pm
Dancer2-0.200002/lib/Dancer2/Serializer/Mutable.pm
Dancer2-0.200002/lib/Dancer2/Serializer/JSON.pm
Dancer2-0.200002/lib/Dancer2/Logger/
Dancer2-0.200002/lib/Dancer2/Logger/Capture/
Dancer2-0.200002/lib/Dancer2/Logger/Capture/Trap.pm
Dancer2-0.200002/lib/Dancer2/Logger/Capture.pm
Dancer2-0.200002/lib/Dancer2/Logger/Null.pm
Dancer2-0.200002/lib/Dancer2/Logger/Console.pm
Dancer2-0.200002/lib/Dancer2/Logger/Diag.pm
Dancer2-0.200002/lib/Dancer2/Logger/File.pm
Dancer2-0.200002/lib/Dancer2/Logger/Note.pm
Dancer2-0.200002/lib/Dancer2/Config.pod
Dancer2-0.200002/lib/Dancer2/CLI.pm
Dancer2-0.200002/lib/Dancer2/CLI/
Dancer2-0.200002/lib/Dancer2/CLI/Command/
Dancer2-0.200002/lib/Dancer2/CLI/Command/version.pm
Dancer2-0.200002/lib/Dancer2/CLI/Command/gen.pm
Dancer2-0.200002/lib/Dancer2/Test.pm
Dancer2-0.200002/lib/Dancer2/Session/
Dancer2-0.200002/lib/Dancer2/Session/YAML.pm
Dancer2-0.200002/lib/Dancer2/Session/Simple.pm
Dancer2-0.200002/lib/Dancer2/Plugin.pm
Dancer2-0.200002/lib/Dancer2/Template/
Dancer2-0.200002/lib/Dancer2/Template/Tiny.pm
Dancer2-0.200002/lib/Dancer2/Template/Implementation/
Dancer2-0.200002/lib/Dancer2/Template/Implementation/ForkedTiny.pm
Dancer2-0.200002/lib/Dancer2/Template/Simple.pm
Dancer2-0.200002/lib/Dancer2/Template/TemplateToolkit.pm
Dancer2-0.200002/lib/Dancer2/Cookbook.pod
Dancer2-0.200002/lib/Dancer2/Handler/
Dancer2-0.200002/lib/Dancer2/Handler/AutoPage.pm
Dancer2-0.200002/lib/Dancer2/Handler/File.pm
Dancer2-0.200002/lib/Dancer2/Manual/
Dancer2-0.200002/lib/Dancer2/Manual/Migration.pod
Dancer2-0.200002/lib/Dancer2/Manual/Testing.pod
Dancer2-0.200002/lib/Dancer2/Manual/Deployment.pod
Dancer2-0.200002/lib/Dancer2/Tutorial.pod
Dancer2-0.200002/lib/Dancer2/Plugins.pod
Dancer2-0.200002/lib/Dancer2/Policy.pod
Dancer2-0.200002/lib/Dancer2/Core/
Dancer2-0.200002/lib/Dancer2/Core/Runner.pm
Dancer2-0.200002/lib/Dancer2/Core/Route.pm
Dancer2-0.200002/lib/Dancer2/Core/Dispatcher.pm
Dancer2-0.200002/lib/Dancer2/Core/Session.pm
Dancer2-0.200002/lib/Dancer2/Core/Factory.pm
Dancer2-0.200002/lib/Dancer2/Core/Response/
Dancer2-0.200002/lib/Dancer2/Core/Response/Delayed.pm
Dancer2-0.200002/lib/Dancer2/Core/DSL.pm
Dancer2-0.200002/lib/Dancer2/Core/Role/
Dancer2-0.200002/lib/Dancer2/Core/Role/Template.pm
Dancer2-0.200002/lib/Dancer2/Core/Role/Hookable.pm
Dancer2-0.200002/lib/Dancer2/Core/Role/ConfigReader.pm
Dancer2-0.200002/lib/Dancer2/Core/Role/DSL.pm
Dancer2-0.200002/lib/Dancer2/Core/Role/Serializer.pm
Dancer2-0.200002/lib/Dancer2/Core/Role/.Template.pm.swp
Dancer2-0.200002/lib/Dancer2/Core/Role/HasLocation.pm
Dancer2-0.200002/lib/Dancer2/Core/Role/Handler.pm
Dancer2-0.200002/lib/Dancer2/Core/Role/SessionFactory/
Dancer2-0.200002/lib/Dancer2/Core/Role/SessionFactory/File.pm
Dancer2-0.200002/lib/Dancer2/Core/Role/Engine.pm
Dancer2-0.200002/lib/Dancer2/Core/Role/Logger.pm
Dancer2-0.200002/lib/Dancer2/Core/Role/SessionFactory.pm
Dancer2-0.200002/lib/Dancer2/Core/Role/StandardResponses.pm
Dancer2-0.200002/lib/Dancer2/Core/Cookie.pm
Dancer2-0.200002/lib/Dancer2/Core/Types.pm
Dancer2-0.200002/lib/Dancer2/Core/HTTP.pm
Dancer2-0.200002/lib/Dancer2/Core/Request/
Dancer2-0.200002/lib/Dancer2/Core/Request/Upload.pm
Dancer2-0.200002/lib/Dancer2/Core/Response.pm
Dancer2-0.200002/lib/Dancer2/Core/Request.pm
Dancer2-0.200002/lib/Dancer2/Core/MIME.pm
Dancer2-0.200002/lib/Dancer2/Core/Error.pm
Dancer2-0.200002/lib/Dancer2/Core/App.pm
Dancer2-0.200002/lib/Dancer2/Core/Hook.pm
Dancer2-0.200002/lib/Dancer2/Core/Time.pm
Dancer2-0.200002/lib/Dancer2.pm
Dancer2-0.200002/share/
Dancer2-0.200002/share/skel/
Dancer2-0.200002/share/skel/Makefile.PL
Dancer2-0.200002/share/skel/t/
Dancer2-0.200002/share/skel/t/002_index_route.t
Dancer2-0.200002/share/skel/t/001_base.t
Dancer2-0.200002/share/skel/cpanfile
Dancer2-0.200002/share/skel/bin/
Dancer2-0.200002/share/skel/bin/+app.psgi
Dancer2-0.200002/share/skel/MANIFEST.SKIP
Dancer2-0.200002/share/skel/public/
Dancer2-0.200002/share/skel/public/404.html
Dancer2-0.200002/share/skel/public/javascripts/
Dancer2-0.200002/share/skel/public/javascripts/jquery.js
Dancer2-0.200002/share/skel/public/favicon.ico
Dancer2-0.200002/share/skel/public/+dispatch.fcgi
Dancer2-0.200002/share/skel/public/images/
Dancer2-0.200002/share/skel/public/images/perldancer-bg.jpg
Dancer2-0.200002/share/skel/public/images/perldancer.jpg
Dancer2-0.200002/share/skel/public/500.html
Dancer2-0.200002/share/skel/public/+dispatch.cgi
Dancer2-0.200002/share/skel/public/css/
Dancer2-0.200002/share/skel/public/css/style.css
Dancer2-0.200002/share/skel/public/css/error.css
Dancer2-0.200002/share/skel/views/
Dancer2-0.200002/share/skel/views/index.tt
Dancer2-0.200002/share/skel/views/layouts/
Dancer2-0.200002/share/skel/views/layouts/main.tt
Dancer2-0.200002/share/skel/lib/
Dancer2-0.200002/share/skel/lib/AppFile.pm
Dancer2-0.200002/share/skel/.dancer
Dancer2-0.200002/share/skel/environments/
Dancer2-0.200002/share/skel/environments/production.yml
Dancer2-0.200002/share/skel/environments/development.yml
Dancer2-0.200002/share/skel/config.yml
Dancer2-0.200002/MANIFEST
Dancer2-0.200002/AUTHORS
Configuring X/XS/XSAWYERX/Dancer2-0.200002.tar.gz with Makefile.PL
>>> C:\Perl-5.20\bin\perl.exe Makefile.PL
Checking if your kit is complete...
Looks good
Have \cpanfl~1.20\var\megalib
Want \perl-5.20\lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [MSWin32-x86-multi-thread-64int]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a dmake-style Makefile
Writing Makefile for Dancer2
Writing MYMETA.yml and MYMETA.json
XSAWYERX/Dancer2-0.200002.tar.gz
C:\Perl-5.20\bin\perl.exe Makefile.PL -- OK
Running make for X/XS/XSAWYERX/Dancer2-0.200002.tar.gz
>>> dmake
cp share\skel\views\index.tt blib\lib\auto\share\dist\Dancer2\skel\views\index.tt
cp share\skel\public\+dispatch.fcgi blib\lib\auto\share\dist\Dancer2\skel\public\+dispatch.fcgi
cp share\skel\public\favicon.ico blib\lib\auto\share\dist\Dancer2\skel\public\favicon.ico
cp share\skel\public\500.html blib\lib\auto\share\dist\Dancer2\skel\public\500.html
cp share\skel\Makefile.PL blib\lib\auto\share\dist\Dancer2\skel\Makefile.PL
cp share\skel\public\+dispatch.cgi blib\lib\auto\share\dist\Dancer2\skel\public\+dispatch.cgi
cp share\skel\public\images\perldancer-bg.jpg blib\lib\auto\share\dist\Dancer2\skel\public\images\perldancer-bg.jpg
cp share\skel\environments\production.yml blib\lib\auto\share\dist\Dancer2\skel\environments\production.yml
cp share\skel\MANIFEST.SKIP blib\lib\auto\share\dist\Dancer2\skel\MANIFEST.SKIP
cp share\skel\lib\AppFile.pm blib\lib\auto\share\dist\Dancer2\skel\lib\AppFile.pm
cp share\skel\cpanfile blib\lib\auto\share\dist\Dancer2\skel\cpanfile
cp share\skel\config.yml blib\lib\auto\share\dist\Dancer2\skel\config.yml
cp share\skel\public\404.html blib\lib\auto\share\dist\Dancer2\skel\public\404.html
cp share\skel\public\css\style.css blib\lib\auto\share\dist\Dancer2\skel\public\css\style.css
cp share\skel\bin\+app.psgi blib\lib\auto\share\dist\Dancer2\skel\bin\+app.psgi
cp share\skel\public\images\perldancer.jpg blib\lib\auto\share\dist\Dancer2\skel\public\images\perldancer.jpg
cp share\skel\public\css\error.css blib\lib\auto\share\dist\Dancer2\skel\public\css\error.css
cp share\skel\public\javascripts\jquery.js blib\lib\auto\share\dist\Dancer2\skel\public\javascripts\jquery.js
cp share\skel\t\001_base.t blib\lib\auto\share\dist\Dancer2\skel\t\001_base.t
cp share\skel\views\layouts\main.tt blib\lib\auto\share\dist\Dancer2\skel\views\layouts\main.tt
cp share\skel\t\002_index_route.t blib\lib\auto\share\dist\Dancer2\skel\t\002_index_route.t
cp share\skel\.dancer blib\lib\auto\share\dist\Dancer2\skel\.dancer
cp share\skel\environments\development.yml blib\lib\auto\share\dist\Dancer2\skel\environments\development.yml
cp lib/Dancer2/Core/HTTP.pm blib\lib\Dancer2\Core\HTTP.pm
cp lib/Dancer2/Core/DSL.pm blib\lib\Dancer2\Core\DSL.pm
cp lib/Dancer2/Core/App.pm blib\lib\Dancer2\Core\App.pm
cp lib/Dancer2/CLI/Command/version.pm blib\lib\Dancer2\CLI\Command\version.pm
cp lib/Dancer2/Core/Request.pm blib\lib\Dancer2\Core\Request.pm
cp lib/Dancer2/CLI.pm blib\lib\Dancer2\CLI.pm
cp lib/Dancer2/Core/Dispatcher.pm blib\lib\Dancer2\Core\Dispatcher.pm
cp lib/Dancer2/Config.pod blib\lib\Dancer2\Config.pod
cp lib/Dancer2/Core/Response/Delayed.pm blib\lib\Dancer2\Core\Response\Delayed.pm
cp lib/Dancer2/Cookbook.pod blib\lib\Dancer2\Cookbook.pod
cp lib/Dancer2/Core/Factory.pm blib\lib\Dancer2\Core\Factory.pm
cp lib/Dancer2/Core/Request/Upload.pm blib\lib\Dancer2\Core\Request\Upload.pm
cp lib/Dancer2/Core/Hook.pm blib\lib\Dancer2\Core\Hook.pm
cp lib/Dancer2/Core/Response.pm blib\lib\Dancer2\Core\Response.pm
cp lib/Dancer2/Core/Cookie.pm blib\lib\Dancer2\Core\Cookie.pm
cp lib/Dancer2/Core/Error.pm blib\lib\Dancer2\Core\Error.pm
cp lib/Dancer2.pm blib\lib\Dancer2.pm
cp lib/Dancer2/Core/MIME.pm blib\lib\Dancer2\Core\MIME.pm
cp lib/Dancer2/CLI/Command/gen.pm blib\lib\Dancer2\CLI\Command\gen.pm
cp lib/Dancer2/Core.pm blib\lib\Dancer2\Core.pm
cp lib/Dancer2/Core/Role/ConfigReader.pm blib\lib\Dancer2\Core\Role\ConfigReader.pm
cp lib/Dancer2/Core/Role/DSL.pm blib\lib\Dancer2\Core\Role\DSL.pm
cp lib/Dancer2/Core/Role/Logger.pm blib\lib\Dancer2\Core\Role\Logger.pm
cp lib/Dancer2/Core/Runner.pm blib\lib\Dancer2\Core\Runner.pm
cp lib/Dancer2/Core/Role/Hookable.pm blib\lib\Dancer2\Core\Role\Hookable.pm
cp lib/Dancer2/Core/Time.pm blib\lib\Dancer2\Core\Time.pm
cp lib/Dancer2/Core/Role/StandardResponses.pm blib\lib\Dancer2\Core\Role\StandardResponses.pm
cp lib/Dancer2/Core/Role/Serializer.pm blib\lib\Dancer2\Core\Role\Serializer.pm
cp lib/Dancer2/Core/Role/HasLocation.pm blib\lib\Dancer2\Core\Role\HasLocation.pm
cp lib/Dancer2/Core/Route.pm blib\lib\Dancer2\Core\Route.pm
cp lib/Dancer2/Core/Types.pm blib\lib\Dancer2\Core\Types.pm
cp lib/Dancer2/Core/Session.pm blib\lib\Dancer2\Core\Session.pm
cp lib/Dancer2/Core/Role/Engine.pm blib\lib\Dancer2\Core\Role\Engine.pm
cp lib/Dancer2/Core/Role/Handler.pm blib\lib\Dancer2\Core\Role\Handler.pm
cp lib/Dancer2/Core/Role/SessionFactory/File.pm blib\lib\Dancer2\Core\Role\SessionFactory\File.pm
cp lib/Dancer2/Core/Role/Template.pm blib\lib\Dancer2\Core\Role\Template.pm
cp lib/Dancer2/Core/Role/SessionFactory.pm blib\lib\Dancer2\Core\Role\SessionFactory.pm
cp lib/Dancer2/Plugins.pod blib\lib\Dancer2\Plugins.pod
cp lib/Dancer2/Manual.pod blib\lib\Dancer2\Manual.pod
cp lib/Dancer2/Serializer/Dumper.pm blib\lib\Dancer2\Serializer\Dumper.pm
cp lib/Dancer2/Plugin.pm blib\lib\Dancer2\Plugin.pm
cp lib/Dancer2/Handler/AutoPage.pm blib\lib\Dancer2\Handler\AutoPage.pm
cp lib/Dancer2/Logger/File.pm blib\lib\Dancer2\Logger\File.pm
cp lib/Dancer2/Manual/Testing.pod blib\lib\Dancer2\Manual\Testing.pod
cp lib/Dancer2/Logger/Capture.pm blib\lib\Dancer2\Logger\Capture.pm
cp lib/Dancer2/Logger/Console.pm blib\lib\Dancer2\Logger\Console.pm
cp lib/Dancer2/Logger/Note.pm blib\lib\Dancer2\Logger\Note.pm
cp lib/Dancer2/Logger/Diag.pm blib\lib\Dancer2\Logger\Diag.pm
cp lib/Dancer2/Manual/Deployment.pod blib\lib\Dancer2\Manual\Deployment.pod
cp lib/Dancer2/Logger/Capture/Trap.pm blib\lib\Dancer2\Logger\Capture\Trap.pm
cp lib/Dancer2/Serializer/JSON.pm blib\lib\Dancer2\Serializer\JSON.pm
cp lib/Dancer2/Handler/File.pm blib\lib\Dancer2\Handler\File.pm
cp lib/Dancer2/Policy.pod blib\lib\Dancer2\Policy.pod
cp lib/Dancer2/Manual/Migration.pod blib\lib\Dancer2\Manual\Migration.pod
cp lib/Dancer2/FileUtils.pm blib\lib\Dancer2\FileUtils.pm
cp lib/Dancer2/Logger/Null.pm blib\lib\Dancer2\Logger\Null.pm
cp lib/Dancer2/Serializer/Mutable.pm blib\lib\Dancer2\Serializer\Mutable.pm
cp lib/Dancer2/Template/Implementation/ForkedTiny.pm blib\lib\Dancer2\Template\Implementation\ForkedTiny.pm
cp lib/Dancer2/Test.pm blib\lib\Dancer2\Test.pm
cp lib/Dancer2/Template/Simple.pm blib\lib\Dancer2\Template\Simple.pm
cp lib/Dancer2/Serializer/YAML.pm blib\lib\Dancer2\Serializer\YAML.pm
cp lib/Dancer2/Tutorial.pod blib\lib\Dancer2\Tutorial.pod
cp lib/Dancer2/Template/Tiny.pm blib\lib\Dancer2\Template\Tiny.pm
cp lib/Dancer2/Session/Simple.pm blib\lib\Dancer2\Session\Simple.pm
cp lib/Dancer2/Template/TemplateToolkit.pm blib\lib\Dancer2\Template\TemplateToolkit.pm
cp lib/Dancer2/Session/YAML.pm blib\lib\Dancer2\Session\YAML.pm
"C:\Perl-5.20\bin\perl.exe" -MExtUtils::Command -e cp -- script/dancer2 blib\script\dancer2
pl2bat.bat blib\script\dancer2
XSAWYERX/Dancer2-0.200002.tar.gz
dmake -- OK
Running make test
>>> dmake test TEST_VERBOSE=1
Skip blib\lib\auto\share\dist\Dancer2\skel\cpanfile (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\public\favicon.ico (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\public\+dispatch.cgi (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\public\css\style.css (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\Makefile.PL (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\lib\AppFile.pm (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\MANIFEST.SKIP (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\public\+dispatch.fcgi (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\environments\production.yml (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\public\404.html (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\config.yml (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\public\images\perldancer-bg.jpg (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\views\index.tt (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\public\500.html (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\views\layouts\main.tt (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\t\002_index_route.t (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\t\001_base.t (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\public\javascripts\jquery.js (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\bin\+app.psgi (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\environments\development.yml (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\public\css\error.css (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\public\images\perldancer.jpg (unchanged)
Skip blib\lib\auto\share\dist\Dancer2\skel\.dancer (unchanged)
"C:\Perl-5.20\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/classes/Dancer2-Core-Factory/*.t t/classes/Dancer2-Core-Hook/*.t t/classes/Dancer2-Core-Request/*.t t/classes/Dancer2-Core-Response-Delayed/*.t t/classes/Dancer2-Core-Response/*.t t/classes/Dancer2-Core-Role-Engine/*.t t/classes/Dancer2-Core-Role-Handler/*.t t/classes/Dancer2-Core-Role-HasLocation/*.t t/classes/Dancer2-Core-Role-Serializer/*.t t/classes/Dancer2-Core-Role-StandardResponses/*.t t/classes/Dancer2-Core-Route/*.t t/classes/Dancer2-Core-Runner/*.t t/classes/Dancer2-Core/*.t t/classes/Dancer2/*.t t/dsl/*.t t/issues/*.t t/issues/gh-1013/*.t t/issues/gh-1046/*.t t/issues/gh-639/fails/*.t t/issues/gh-639/succeeds/*.t t/issues/gh-650/*.t t/issues/memleak/*.t t/plugin2/*.t t/roles/*.t t/route-pod-coverage/*.t t/scope_problems/*.t t/template_tiny/*.t
t/00-compile.t .........................................
1..58
ok 1 - Dancer2.pm loaded ok
ok 2 - Dancer2/CLI.pm loaded ok
ok 3 - Dancer2/CLI/Command/gen.pm loaded ok
ok 4 - Dancer2/CLI/Command/version.pm loaded ok
ok 5 - Dancer2/Core.pm loaded ok
ok 6 - Dancer2/Core/App.pm loaded ok
ok 7 - Dancer2/Core/Cookie.pm loaded ok
ok 8 - Dancer2/Core/DSL.pm loaded ok
ok 9 - Dancer2/Core/Dispatcher.pm loaded ok
ok 10 - Dancer2/Core/Error.pm loaded ok
ok 11 - Dancer2/Core/Factory.pm loaded ok
ok 12 - Dancer2/Core/HTTP.pm loaded ok
ok 13 - Dancer2/Core/Hook.pm loaded ok
ok 14 - Dancer2/Core/MIME.pm loaded ok
ok 15 - Dancer2/Core/Request.pm loaded ok
ok 16 - Dancer2/Core/Request/Upload.pm loaded ok
ok 17 - Dancer2/Core/Response.pm loaded ok
ok 18 - Dancer2/Core/Response/Delayed.pm loaded ok
ok 19 - Dancer2/Core/Role/ConfigReader.pm loaded ok
ok 20 - Dancer2/Core/Role/DSL.pm loaded ok
ok 21 - Dancer2/Core/Role/Engine.pm loaded ok
ok 22 - Dancer2/Core/Role/Handler.pm loaded ok
ok 23 - Dancer2/Core/Role/HasLocation.pm loaded ok
ok 24 - Dancer2/Core/Role/Hookable.pm loaded ok
ok 25 - Dancer2/Core/Role/Logger.pm loaded ok
ok 26 - Dancer2/Core/Role/Serializer.pm loaded ok
ok 27 - Dancer2/Core/Role/SessionFactory.pm loaded ok
ok 28 - Dancer2/Core/Role/SessionFactory/File.pm loaded ok
ok 29 - Dancer2/Core/Role/StandardResponses.pm loaded ok
ok 30 - Dancer2/Core/Role/Template.pm loaded ok
ok 31 - Dancer2/Core/Route.pm loaded ok
ok 32 - Dancer2/Core/Runner.pm loaded ok
ok 33 - Dancer2/Core/Session.pm loaded ok
ok 34 - Dancer2/Core/Time.pm loaded ok
ok 35 - Dancer2/Core/Types.pm loaded ok
ok 36 - Dancer2/FileUtils.pm loaded ok
ok 37 - Dancer2/Handler/AutoPage.pm loaded ok
ok 38 - Dancer2/Handler/File.pm loaded ok
ok 39 - Dancer2/Logger/Capture.pm loaded ok
ok 40 - Dancer2/Logger/Capture/Trap.pm loaded ok
ok 41 - Dancer2/Logger/Console.pm loaded ok
ok 42 - Dancer2/Logger/Diag.pm loaded ok
ok 43 - Dancer2/Logger/File.pm loaded ok
ok 44 - Dancer2/Logger/Note.pm loaded ok
ok 45 - Dancer2/Logger/Null.pm loaded ok
ok 46 - Dancer2/Plugin.pm loaded ok
ok 47 - Dancer2/Serializer/Dumper.pm loaded ok
ok 48 - Dancer2/Serializer/JSON.pm loaded ok
ok 49 - Dancer2/Serializer/Mutable.pm loaded ok
ok 50 - Dancer2/Serializer/YAML.pm loaded ok
ok 51 - Dancer2/Session/Simple.pm loaded ok
ok 52 - Dancer2/Session/YAML.pm loaded ok
ok 53 - Dancer2/Template/Implementation/ForkedTiny.pm loaded ok
ok 54 - Dancer2/Template/Simple.pm loaded ok
ok 55 - Dancer2/Template/TemplateToolkit.pm loaded ok
ok 56 - Dancer2/Template/Tiny.pm loaded ok
ok 57 - Dancer2/Test.pm loaded ok
ok 58 # skip script/dancer2 isn't perl
ok
#
# Versions for all modules listed in MYMETA.json (including optional ones):
#
# === Configure Requires ===
#
# Module Want Have
# ----------------------- ---- ----
# ExtUtils::MakeMaker any 7.04
# File::ShareDir::Install 0.06 0.10
#
# === Build Requires ===
#
# Module Want Have
# ------------------- ---- ----
# ExtUtils::MakeMaker any 7.04
#
# === Test Requires ===
#
# Module Want Have
# ------------------- ---- --------
# Capture::Tiny 0.12 0.42
# ExtUtils::MakeMaker any 7.04
# File::Spec any 3.62
# HTTP::Body any 1.22
# HTTP::Cookies any 6.01
# HTTP::Headers any 6.11
# IO::Handle any 1.35
# IPC::Open3 any 1.16
# Template any 2.26
# Test::Fatal any 0.014
# Test::More 0.92 1.001009
# YAML 0.86 1.15
#
# === Test Recommends ===
#
# Module Want Have
# ---------- -------- --------
# CPAN::Meta 2.120900 2.150005
#
# === Runtime Requires ===
#
# Module Want Have
# ------------------------------------------- -------- --------
# App::Cmd::Setup any 0.330
# Carp any 1.38
# Config::Any any 0.27
# Digest::SHA any 5.95
# Encode any 2.79
# Exporter 5.57 5.72
# Exporter::Tiny any 0.042
# File::Basename any 2.85
# File::Copy any 2.30
# File::Find any 1.27
# File::Path any 2.12
# File::ShareDir any 1.102
# File::Spec any 3.62
# HTTP::Body any 1.22
# HTTP::Date any 6.02
# HTTP::Headers::Fast any 0.20
# HTTP::Tiny any 0.058
# Hash::Merge::Simple any 0.051
# Hash::MultiValue any 0.16
# Import::Into any 1.002005
# JSON any 2.90
# MIME::Base64 3.13 3.15
# Module::Runtime any 0.014
# Moo 2.000000 2.002004
# Moo::Role any 2.002004
# POSIX any 1.38_03
# Plack 1.0035 1.0039
# Plack::Middleware::FixMissingBodyInRedirect any 0.12
# Plack::Middleware::RemoveRedundantBody any 0.04
# Return::MultiLevel any 0.04
# Role::Tiny 2.000000 2.000003
# Safe::Isa any 1.000005
# Sub::Quote any 2.002004
# Template::Tiny any 1.12
# Type::Tiny 0.008 1.000005
# URI::Escape any 3.31
# parent any 0.234
#
# === Runtime Recommends ===
#
# Module Want Have
# ----------------------- ---- --------
# CGI::Deurl::XS any 0.08
# Crypt::URandom any 0.36
# JSON::XS any 3.02
# Math::Random::ISAAC::XS any 1.004
# Pod::Simple::Search any 3.28
# Pod::Simple::SimpleTree any 3.28
# Scope::Upper any 0.29
# Test::Builder any 1.001009
# Test::More any 1.001009
# Type::Tiny::XS any 0.012
# URL::Encode::XS any 0.03
#
# === Runtime Suggests ===
#
# Module Want Have
# ----------- ---- ----
# Fcntl any 1.11
# MIME::Types any 2.13
# YAML 0.86 1.15
#
t/00-report-prereqs.t ..................................
1..1
ok 1
ok
[main:13336] error @2016-07-09 00:24:45> Exception caught in 'core.app.before_request' filter: Hook error: Can't locate object method "failure" via package "Foo" (perhaps you forgot to load "Foo"?) at t/app.t line 151.
at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm line 1063. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
[main:13336] error @2016-07-09 00:24:45> Route exception: Exception caught in 'core.app.before_request' filter: Hook error: Can't locate object method "failure" via package "Foo" (perhaps you forgot to load "Foo"?) at t/app.t line 151.
at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm line 1063.
at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Hookable.pm line 115. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
t/app.t ................................................
ok 1 - An object of class 'Dancer2::Core::App' isa 'Dancer2::Core::App'
ok 2
ok 3 - route regexps are OK
ok 4 - got a 200
ok 5 - got expected route
ok 6 - got a 200
ok 7 - got expected route
ok 8 - got a 200
ok 9 - got expected route
ok 10 - got a 200
ok 11 - got expected route
# testing lexical prefixes
ok 12 - got a 200
ok 13 - got expected route
ok 14 - got a 200
ok 15 - got expected route
ok 16 - got a 200
ok 17 - got expected route
ok 18 - got a 200
ok 19 - got expected route
ok 20 - got a 200
ok 21 - got expected route
# test a failure in the callback of a lexical prefix
ok 22 - caught an exception in the lexical prefix callback
ok 23 - before filter nonexistent method failure
ok 24 - Engine 'foo' does not exist
ok 25 - Template engine is defined
ok 26 - Serializer engine does not exist
ok 27 - Empty configuration for nonexistent engine
ok 28 - _get_config_for_engine can find the right configuration
ok 29 - Correct caller for app
1..29
ok
t/app_alone.t ..........................................
1..3
ok 1 - A reference of type 'CODE' isa 'CODE'
ok 2 - [GET /] Correct status
ok 3 - [GET /] Correct content
ok
t/author-no-tabs.t ..................................... skipped: these tests are for testing by the author
t/author-pod-syntax.t .................................. skipped: these tests are for testing by the author
# Failed test 'found file on public with autopage'
# at t/auto_page.t line 84.
# got: '404'
# expected: '200'
# Failed test '[GET /file.txt] Correct content'
# at t/auto_page.t line 85.
# got: '
#
#
#
#
# Error 404 - Not Found
#
#
#
#
Error 404 - Not Found
#
# /file.txt
#
#
#
#
# '
# expected: 'this is a public file
# '
# Failed test 'public served file has correct content type header'
# at t/auto_page.t line 91.
# 'text/html'
# doesn't match '(?^:text/plain)'
# Looks like you failed 3 tests of 12.
# Failed test 'autopage with template tiny'
# at t/auto_page.t line 25.
# Failed test 'found file on public with autopage'
# at t/auto_page.t line 84.
# got: '404'
# expected: '200'
# Failed test '[GET /file.txt] Correct content'
# at t/auto_page.t line 85.
# got: '
#
#
#
#
# Error 404 - Not Found
#
#
#
#
Error 404 - Not Found
#
# /file.txt
#
#
#
#
# '
# expected: 'this is a public file
# '
# Failed test 'public served file has correct content type header'
# at t/auto_page.t line 91.
# 'text/html'
# doesn't match '(?^:text/plain)'
# Looks like you failed 3 tests of 12.
# Failed test 'autopage with template template_toolkit'
# at t/auto_page.t line 25.
# Looks like you failed 2 tests of 2.
t/auto_page.t ..........................................
# Subtest: autopage with template tiny
ok 1 - Autopage found the page
ok 2 - ...with proper content
ok 3 - auto page has correct content type header
ok 4 - auto page has correct charset in content type header
ok 5 - auto page has correct content length header
ok 6 - Autopage found the page under a folder
ok 7 - ...with proper content
ok 8 - Autopage doesn't try to render nonexistent pages
ok 9 - Layouts are not served
not ok 10 - found file on public with autopage
not ok 11 - [GET /file.txt] Correct content
not ok 12 - public served file has correct content type header
1..12
not ok 1 - autopage with template tiny
# Subtest: autopage with template template_toolkit
ok 1 - Autopage found the page
ok 2 - ...with proper content
ok 3 - auto page has correct content type header
ok 4 - auto page has correct charset in content type header
ok 5 - auto page has correct content length header
ok 6 - Autopage found the page under a folder
ok 7 - ...with proper content
ok 8 - Autopage doesn't try to render nonexistent pages
ok 9 - Layouts are not served
not ok 10 - found file on public with autopage
not ok 11 - [GET /file.txt] Correct content
not ok 12 - public served file has correct content type header
1..12
not ok 2 - autopage with template template_toolkit
1..2
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests
t/caller.t .............................................
1..2
ok 1 - [GET /] Successful
ok 2 - Correct App name from caller
ok
t/charset_server.t .....................................
ok 1 - Got app
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
1..10
ok
t/classes/Dancer2-Core-Factory/new.t ...................
1..5
ok 1 - use Dancer2::Core::Factory;
ok 2 - An object of class 'Dancer2::Core::Factory' isa 'Dancer2::Core::Factory'
ok 3 - Dancer2::Core::Factory->can('create')
ok 4 - An object of class 'Dancer2::Template::TemplateToolkit' isa 'Dancer2::Template::TemplateToolkit'
ok 5 - Correct layout set in the template
ok
t/classes/Dancer2-Core-Hook/new.t ......................
1..12
ok 1 - use Dancer2::Core::Hook;
ok 2 - Must provide code attribute
ok 3 - Must provide name attribute
ok 4 - Can create hook with name and code
ok 5 - An object of class 'Dancer2::Core::Hook' isa 'Dancer2::Core::Hook'
ok 6 - Dancer2::Core::Hook->can(...)
ok 7 - before_template becomes before_template_render
ok 8 - A reference of type 'CODE' isa 'CODE'
ok 9 - Correct input for hook
ok 10 - Hook returned proper output
ok 11 - An object of class 'Dancer2::Core::Hook' isa 'Dancer2::Core::Hook'
ok 12 - Hook crashing caught
ok
t/classes/Dancer2-Core-Request/new.t ...................
1..9
ok 1 - use Dancer2::Core::Request;
# Subtest: Defaults
ok 1 - An object of class 'Dancer2::Core::Request' isa 'Dancer2::Core::Request'
ok 2 - Dancer2::Core::Request->can('env')
ok 3 - A reference of type 'HASH' isa 'HASH'
ok 4 - Dancer2::Core::Request->can(...)
ok 5 - HTTP ENV key accept
ok 6 - HTTP ENV key accept_charset
ok 7 - HTTP ENV key accept_encoding
ok 8 - HTTP ENV key accept_language
ok 9 - HTTP ENV key connection
ok 10 - HTTP ENV key keep_alive
ok 11 - HTTP ENV key referer
ok 12 - HTTP ENV key user_agent
ok 13 - HTTP ENV key x_requested_with
ok 14 - agent as alias to user_agent
ok 15 - remote_address as alias to address
ok 16 - Setting variables using DSL
ok 17 - Read single variable
ok 18 - Overwriting variables using vars() method
ok 19 - Read variable
ok 20 - Default path
ok 21 - Default path_info
ok 22 - Default method
ok 23 - Correct request ID
ok 24 - remote_host derived from REMOTE_HOST
ok 25 - script_name derived from SCRIPT_NAME
ok 26 - address derived from REMOTE_ADDR
ok 27 - protocol derived from SERVER_PROTOCOL
ok 28 - user derived from REMOTE_USER
ok 29 - port derived from SERVER_PORT
ok 30 - request_uri derived from REQUEST_URI
ok 31 - Correct to_string
ok 32 - Request successful
1..32
ok 2 - Defaults
# Subtest: Create with single env
ok 1 - 'Create with env hash' isa 'Dancer2::Core::Request'
ok 2 - 'Create with single argument for env' isa 'Dancer2::Core::Request'
ok 3 - env() attribute populated successfully
1..3
ok 3 - Create with single env
# Subtest: Serializer
ok 1 - Dancer2::Core::Request->can('serializer')
ok 2 - No serializer set
ok 3 - Cannot send random object to request as serializer
ok 4 - Can create request with serializer
ok 5 - Serializer set
ok 6 - An object of class 'Serializer' isa 'Serializer'
1..6
ok 4 - Serializer
# Subtest: Path when mounting
ok 1 - Script name when mounted (script_name)
ok 2 - Correct request_uri
ok 3 - Full path when mounted (path)
ok 4 - Mounted path when mounted (path_info)
ok 5 - Request successful
1..5
ok 5 - Path when mounting
# Subtest: Different method
ok 1 - Correct method
ok 2 - REQUEST_METHOD derived from env
ok 3 - Request successful
1..3
ok 6 - Different method
# Subtest: Checking request ID
ok 1 - Correct request id
ok 2 - Request successful
1..2
ok 7 - Checking request ID
# Subtest: is_$method (head/post/get/put/delete/patch
ok 1 - is_head
ok 2 - Request successful
ok 3 - is_post
ok 4 - Request successful
ok 5 - is_get
ok 6 - Request successful
ok 7 - is_put
ok 8 - Request successful
ok 9 - is_delete
ok 10 - Request successful
ok 11 - is_patch
ok 12 - Request successful
1..12
ok 8 - is_$method (head/post/get/put/delete/patch
# Subtest: Parameters (body/query/route)
# Running test with XS_URL_DECODE
# Running test with XS_PARSE_QUERY_STRING
ok 1 - path is set
ok 2 - method is set
ok 3 - method is GET
ok 4 - params are OK
ok 5 - params accessor works
ok 6 - params wantarray works
ok 7 - Request successful
ok 8 - path is set
ok 9 - method is set
ok 10 - method is POST
ok 11 - Request presented well as string
ok 12 - params are OK
ok 13 - params wantarray works
ok 14 - params wantarray works
ok 15 - Request successful
ok 16 - path is set
ok 17 - method is set
ok 18 - params are OK
ok 19 - body params are OK
ok 20 - query params are OK
ok 21 - Request successful
# Running test without XS_PARSE_QUERY_STRING
ok 22 - path is set
ok 23 - method is set
ok 24 - method is GET
ok 25 - params are OK
ok 26 - params accessor works
ok 27 - params wantarray works
ok 28 - Request successful
ok 29 - path is set
ok 30 - method is set
ok 31 - method is POST
ok 32 - Request presented well as string
ok 33 - params are OK
ok 34 - params wantarray works
ok 35 - params wantarray works
ok 36 - Request successful
ok 37 - path is set
ok 38 - method is set
ok 39 - params are OK
ok 40 - body params are OK
ok 41 - query params are OK
ok 42 - Request successful
# Running test without XS_URL_DECODE
ok 43 - path is set
ok 44 - method is set
ok 45 - method is GET
ok 46 - params are OK
ok 47 - params accessor works
ok 48 - params wantarray works
ok 49 - Request successful
ok 50 - path is set
ok 51 - method is set
ok 52 - method is POST
ok 53 - Request presented well as string
ok 54 - params are OK
ok 55 - params wantarray works
ok 56 - params wantarray works
ok 57 - Request successful
ok 58 - path is set
ok 59 - method is set
ok 60 - params are OK
ok 61 - body params are OK
ok 62 - query params are OK
ok 63 - Request successful
1..63
ok 9 - Parameters (body/query/route)
ok
t/classes/Dancer2-Core-Request/serializers.t ...........
# Subtest: Testing with CBOR
1..0 # SKIP Dancer2::Serializer::CBOR is needed for this test
ok 1 # skip Dancer2::Serializer::CBOR is needed for this test
# Subtest: Testing with JSON
ok 1 - Empty parameters
ok 2 - Correct data using request->data
ok 3 - Successful response
ok 4 - Correct response
1..4
ok 2 - Testing with JSON
1..2
ok
t/classes/Dancer2-Core-Response-Delayed/after_hooks.t ..
# Subtest: delayed (not async) response
ok 1 - Successful request for /
ok 2 - response returned test file content
1..2
ok 1 - delayed (not async) response
# Subtest: after hook flushes session headers for delayed response
ok 1 - Successful request for /file
ok 2 - Session returned test file name
1..2
ok 2 - after hook flushes session headers for delayed response
1..2
ok
t/classes/Dancer2-Core-Response-Delayed/new.t ..........
1..18
ok 1 - use Dancer2::Core::Response::Delayed;
ok 2 - An object of class 'Dancer2::Core::Runner' isa 'Dancer2::Core::Runner'
ok 3 - An object of class 'Dancer2::Core::Request' isa 'Dancer2::Core::Request'
ok 4 - An object of class 'Dancer2::Core::Response' isa 'Dancer2::Core::Response'
ok 5 - An object of class 'Dancer2::Core::Response::Delayed' isa 'Dancer2::Core::Response::Delayed'
ok 6 - Dancer2::Core::Response::Delayed->can(...)
ok 7 - Dancer2::Core::Response::Delayed->can(...)
ok 8 - is_halted returns no
ok 9 - has_passed returns no
ok 10 - Callback not run yet
ok 11 - An object of class 'Dancer2::Core::Request' isa 'Dancer2::Core::Request'
ok 12 - An object of class 'Dancer2::Core::Response' isa 'Dancer2::Core::Response'
ok 13 - Correct path in the request
ok 14 - 'Got a responder callback' isa 'CODE'
ok 15 - Correct response asynchronously
ok 16 - Callback run
ok 17 - we can access the response header
ok 18 - 'Able to retrieve headers' isa 'HTTP::Headers'
ok
t/classes/Dancer2-Core-Response/new_from.t .............
1..3
ok 1 - Dancer2::Core::Response->can(...)
# Subtest: new_from_array
1..4
ok 1 - An object of class 'Dancer2::Core::Response' isa 'Dancer2::Core::Response'
ok 2 - Correct status
ok 3 - Correct content
ok 4 - All headers correct
ok 2 - new_from_array
# Subtest: new_from_plack
1..5
ok 1 - An object of class 'Plack::Response' isa 'Plack::Response'
ok 2 - An object of class 'Dancer2::Core::Response' isa 'Dancer2::Core::Response'
ok 3 - Correct status
ok 4 - Correct content
ok 5 - All headers correct
ok 3 - new_from_plack
ok
t/classes/Dancer2-Core-Role-Engine/with.t ..............
1..4
ok 1 - An object of class 'App' isa 'App'
ok 2 - App->can(...)
ok 3 - App->can(...)
ok 4 - App consumes Dancer2::Core::Role::Hookable
ok
t/classes/Dancer2-Core-Role-Handler/with.t .............
1..3
ok 1 - An object of class 'Handler' isa 'Handler'
ok 2 - Handler->can('app')
ok 3 - Handler consumes Dancer2::Core::Role::Handler
ok
t/classes/Dancer2-Core-Role-HasLocation/with.t .........
1..11
# Defaults:
ok 1 - An object of class 'App' isa 'App'
ok 2 - App->can(...)
ok 3 - App->can('_build_location')
ok 4 - App consumes Dancer2::Core::Role::HasLocation
ok 5 - Default caller
# With lib/ and bin/:
ok 6 - An object of class 'App' isa 'App'
ok 7 - Got correct location with lib/ and bin/
# With .dancer file:
ok 8 - An object of class 'App' isa 'App'
ok 9 - Got correct location with .dancer file
# blib/ ignored:
ok 10 - An object of class 'App' isa 'App'
ok 11 - blib/ dir is ignored
ok
t/classes/Dancer2-Core-Role-Serializer/with.t ..........
1..5
ok 1 - use Dancer2::Core::Hook;
# Subtest: Successful
1..5
ok 1 - An object of class 'Serializer::OK' isa 'Serializer::OK'
ok 2 - Correct content in before hook
ok 3 - Correct content in after hook
ok 4 - Serializing
ok 5 - Deserializing
ok 2 - Successful
# Subtest: Unsuccessful
1..21
ok 1 - use Dancer2::Logger::Capture;
ok 2 - An object of class 'Dancer2::Logger::Capture' isa 'Dancer2::Logger::Capture'
ok 3 - An object of class 'Serializer::NotOK' isa 'Serializer::NotOK'
ok 4 - Serialization result
ok 5 - An object of class 'Dancer2::Logger::Capture::Trap' isa 'Dancer2::Logger::Capture::Trap'
ok 6 - A reference of type 'ARRAY' isa 'ARRAY'
ok 7 - One error caught
ok 8 - A reference of type 'HASH' isa 'HASH'
ok 9 - Two items in the error
ok 10 - Correct level
ok 11 - Correct error message
ok 12 - An object of class 'Dancer2::Logger::Capture' isa 'Dancer2::Logger::Capture'
ok 13 - An object of class 'Serializer::NotOK' isa 'Serializer::NotOK'
ok 14 - Deserialization result
ok 15 - An object of class 'Dancer2::Logger::Capture::Trap' isa 'Dancer2::Logger::Capture::Trap'
ok 16 - A reference of type 'ARRAY' isa 'ARRAY'
ok 17 - One error caught
ok 18 - A reference of type 'HASH' isa 'HASH'
ok 19 - Two items in the error
ok 20 - Correct level
ok 21 - Correct error message
ok 3 - Unsuccessful
# Subtest: support_content_type
1..7
ok 1 - An object of class 'Serializer::Generic' isa 'Serializer::Generic'
ok 2 - Serializer::Generic->can('support_content_type')
ok 3 - Empty returns undef
ok 4 - Content type not supported
ok 5 - Content type not supported (because not first)
ok 6 - Content type supported when single
ok 7 - Content type supported when first
ok 4 - support_content_type
# Subtest: Called with empty content
1..6
ok 1 - An object of class 'Serializer::Empty' isa 'Serializer::Empty'
ok 2 - Serializer::Empty->can(...)
ok 3 - Do not try to serialize without input
ok 4 - Do not try to serialize with empty input
ok 5 - Do not try to deserialize without input
ok 6 - Do not try to deserialize with empty input
ok 5 - Called with empty content
ok
t/classes/Dancer2-Core-Role-StandardResponses/with.t ...
1..24
# Checking our fake app
ok 1 - An object of class 'App' isa 'App'
ok 2 - App->can('response')
ok 3 - An object of class 'Response' isa 'Response'
# Checking our fake response
ok 4 - An object of class 'Response' isa 'Response'
ok 5 - An object of class 'Response' isa 'Response'
ok 6 - status called
ok 7 - status() works
ok 8 - An object of class 'Response' isa 'Response'
ok 9 - header called
ok 10 - header() works
ok 11 - An object of class 'Handler' isa 'Handler'
ok 12 - Handler->can(...)
# ->response
ok 13 - An object of class 'Response' isa 'Response'
ok 14 - Correct status code
ok 15 - An object of class 'Response' isa 'Response'
ok 16 - Correct header name
ok 17 - Correct header value
ok 18 - Correct response created
# ->standard_response
ok 19 - An object of class 'Response' isa 'Response'
ok 20 - Correct status code
ok 21 - An object of class 'Response' isa 'Response'
ok 22 - Correct header name
ok 23 - Correct header value
ok 24 - Correct response 400 created
ok
t/classes/Dancer2-Core-Route/base.t ....................
1..3
# Subtest: no prefix, paths without a leading slash
ok 1 - 'no+leading+slash' is a valid route pattern
ok 2 - undef prefix prepends '/' to spec_route
ok 3 - '' is a valid route pattern
ok 4 - undef prefix prepends '/' to spec_route
1..4
ok 1 - no prefix, paths without a leading slash
# Subtest: no prefix, paths with a leading slash
ok 1 - '/+leading+slash' is a valid route pattern
ok 2 - undef prefix does not prepend '/' to spec_route
ok 3 - '/' is a valid route pattern
ok 4 - undef prefix does not prepend '/' to spec_route
ok 5 - '//' is a valid route pattern
ok 6 - undef prefix does not prepend '/' to spec_route
1..6
ok 2 - no prefix, paths with a leading slash
# Subtest: prefix and paths append
ok 1 - '/prefixno+leading+slash' is a valid route pattern
ok 2 - '/prefix' is a valid route pattern
ok 3 - '/prefix/+leading+slash' is a valid route pattern
ok 4 - '/prefix/' is a valid route pattern
ok 5 - '/prefix//' is a valid route pattern
1..5
ok 3 - prefix and paths append
ok
t/classes/Dancer2-Core-Route/deprecated_param_keys.t ...
ok 1 - use Dancer2::Core::Route;
ok 2 - Find deprecation of :splat
ok 3 - Find deprecation of :captures
1..3
ok
t/classes/Dancer2-Core-Route/match.t ...................
1..110
ok 1 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 2 - no warnings generated for /
ok 3 - got expected data for '/'
ok 4 - got expected result for '/'
ok 5 - don't match failing request
ok 6 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 7 - no warnings generated for /failure
ok 8 - got expected data for '/failure'
ok 9 - got expected result for '/failure'
ok 10 - don't match failing request
ok 11 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 12 - no warnings generated for /hello/sukria
ok 13 - got expected data for '/hello/sukria'
ok 14 - got expected result for '/hello/sukria'
ok 15 - don't match failing request
ok 16 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 17 - no warnings generated for /hello/
ok 18 - got expected data for '/hello/'
ok 19 - got expected result for '/hello/'
ok 20 - don't match failing request
ok 21 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 22 - no warnings generated for /forum/
ok 23 - got expected data for '/forum/'
ok 24 - got expected result for '/forum/'
ok 25 - don't match failing request
ok 26 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 27 - no warnings generated for /forum/
ok 28 - got expected data for '/forum/'
ok 29 - got expected result for '/forum/'
ok 30 - don't match failing request
ok 31 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 32 - no warnings generated for /forum/mywebsite
ok 33 - got expected data for '/forum/mywebsite'
ok 34 - got expected result for '/forum/mywebsite'
ok 35 - don't match failing request
ok 36 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 37 - no warnings generated for /
ok 38 - got expected data for '/'
ok 39 - got expected result for '/'
ok 40 - don't match failing request
ok 41 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 42 - no warnings generated for /hello/sukria
ok 43 - got expected data for '/hello/sukria'
ok 44 - got expected result for '/hello/sukria'
ok 45 - don't match failing request
ok 46 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 47 - no warnings generated for /hello/sukria/
ok 48 - got expected data for '/hello/sukria/'
ok 49 - got expected result for '/hello/sukria/'
ok 50 - don't match failing request
ok 51 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 52 - no warnings generated for /file/dist.ini
ok 53 - got expected data for '/file/dist.ini'
ok 54 - got expected result for '/file/dist.ini'
ok 55 - don't match failing request
ok 56 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 57 - no warnings generated for /forum/dancer
ok 58 - got expected data for '/forum/dancer'
ok 59 - got expected result for '/forum/dancer'
ok 60 - don't match failing request
ok 61 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 62 - no warnings generated for /file/some/where/42
ok 63 - got expected data for '/file/some/where/42'
ok 64 - got expected result for '/file/some/where/42'
ok 65 - don't match failing request
ok 66 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 67 - no warnings generated for /foo/bar///baz
ok 68 - got expected data for '/foo/bar///baz'
ok 69 - got expected result for '/foo/bar///baz'
ok 70 - don't match failing request
ok 71 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 72 - no warnings generated for /foo/bar///
ok 73 - got expected data for '/foo/bar///'
ok 74 - got expected result for '/foo/bar///'
ok 75 - don't match failing request
ok 76 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 77 - no warnings generated for /foo/bar/baz
ok 78 - got expected data for '/foo/bar/baz'
ok 79 - got expected result for '/foo/bar/baz'
ok 80 - don't match failing request
ok 81 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 82 - no warnings generated for /foo
ok 83 - got expected data for '/foo'
ok 84 - got expected result for '/foo'
ok 85 - don't match failing request
ok 86 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 87 - no warnings generated for /some/where/to/run/and/hide
ok 88 - got expected data for '/some/where/to/run/and/hide'
ok 89 - got expected result for '/some/where/to/run/and/hide'
ok 90 - don't match failing request
ok 91 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 92 - no warnings generated for /some/one/to/say/boo/
ok 93 - got expected data for '/some/one/to/say/boo/'
ok 94 - got expected result for '/some/one/to/say/boo/'
ok 95 - don't match failing request
ok 96 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 97 - no warnings generated for /stuff48
ok 98 - got expected data for '/stuff48'
ok 99 - got expected result for '/stuff48'
ok 100 - don't match failing request
ok 101 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 102 - no warnings generated for /foo/stuff48
ok 103 - got expected data for '/foo/stuff48'
ok 104 - got expected result for '/foo/stuff48'
ok 105 - don't match failing request
ok 106 - named captures work
# routes with options
ok 107 - Route did not match
ok 108 - Route matched
ok 109 - More options - Route did not match - test 1
ok 110 - More options - Route did not match - test 2
ok
t/classes/Dancer2-Core-Runner/environment.t ............
1..6
ok 1 - An object of class 'Dancer2::Core::Runner' isa 'Dancer2::Core::Runner'
ok 2 - Default environment
ok 3 - An object of class 'Dancer2::Core::Runner' isa 'Dancer2::Core::Runner'
ok 4 - Successfully set envinronment using DANCER_ENVIRONMENT
ok 5 - An object of class 'Dancer2::Core::Runner' isa 'Dancer2::Core::Runner'
ok 6 - Successfully set environment using PLACK_ENV
ok
t/classes/Dancer2-Core-Runner/new.t ....................
1..39
ok 1 - use Dancer2::Core::Runner;
ok 2 - No runner defined in Dancer2 yet
ok 3 - An object of class 'Dancer2::Core::Runner' isa 'Dancer2::Core::Runner'
# MIME types
ok 4 - Dancer2::Core::Runner->can('mime_type')
ok 5 - An object of class 'Dancer2::Core::MIME' isa 'Dancer2::Core::MIME'
ok 6 - Have a runner (probably) in $Dancer2::runner
ok 7 - 'Runner now defined' isa 'Dancer2::Core::Runner'
# BUILD setting $Carp::Verbose
ok 8 - traces not turned on (default
ok 9 - Carp Verbose not turned on (default)
ok 10 - traces turned on
ok 11 - Carp Verbose turned on (using DANCER_TRACES)
# server
ok 12 - Dancer2::Core::Runner->can(...)
ok 13 - An object of class 'HTTP::Server::PSGI' isa 'HTTP::Server::PSGI'
ok 14 - HTTP::Server::PSGI->can('run')
ok 15 - host set correctly in Server
ok 16 - port set correctly in Server
ok 17 - timeout set correctly in Server
ok 18 - server_software set correctly in Server
# Environment
ok 19 - Default environment
ok 20 - Successfully set envinronment using DANCER_ENVIRONMENT
ok 21 - Successfully set environment using PLACK_ENV
ok 22 - apphandler set to PSGI under PLACK_ENV
ok 23 - apphandler set via DANCER_APPHANDLER
# Server tokens
ok 24 - Default no_server_tokens
ok 25 - Successfully set no_server_tokens using DANCER_NO_SERVER_TOKENS
# Startup info
ok 26 - Default startup_info
ok 27 - Successfully set startup_info using DANCER_STARTUP_INFO
ok 28 - Dancer2::Core::Runner->can(...)
ok 29 - Apps are empty at first
ok 30 - No postponed hooks at first
ok 31 - Runner registered application
ok 32 - Runner registered the App's postponed hooks
ok 33 - Dancer2::Core::Runner->can(...)
ok 34 - A reference of type 'CODE' isa 'CODE'
ok 35 - An object of class 'Server::Fake' isa 'Server::Fake'
ok 36 - A reference of type 'CODE' isa 'CODE'
ok 37 - start_server works
ok 38 - Dancer2::Core::Runner->can('start')
ok 39 - A reference of type 'CODE' isa 'CODE'
ok
t/classes/Dancer2-Core-Runner/psgi_app.t ...............
1..25
# All Apps
ok 1 - 'Got PSGI app' isa 'CODE'
ok 2 - App1 available
ok 3 - App2 available
ok 4 - App3 available
# Specific Apps by parameters
ok 5 - Took two apps from the Runner
ok 6 - 'Got PSGI app' isa 'CODE'
ok 7 - App1 available
ok 8 - App3 available
ok 9 - App2 is not available
# Specific Apps via App objects
ok 10 - 'Got PSGI app' isa 'CODE'
ok 11 - App2 available
ok 12 - App1 is not available
ok 13 - App3 is not available
# Specific apps by App names
ok 14 - 'Got PSGI app' isa 'CODE'
ok 15 - App2 is not available
ok 16 - App1 available
ok 17 - App3 available
# Specific apps by App names with regular expression, v1
ok 18 - 'Got PSGI app' isa 'CODE'
ok 19 - App2 is not available
ok 20 - App1 available
ok 21 - App3 available
# Specific apps by App names with regular expression, v2
ok 22 - 'Got PSGI app' isa 'CODE'
ok 23 - App1 is not available
ok 24 - App2 available
ok 25 - App3 available
ok
t/classes/Dancer2-Core/camelize.t ......................
1..4
ok 1 - class_NAME camelized as ClassNAME
ok 2 - class_nAME camelized as ClassNAME
ok 3 - test camelized as Test
ok 4 - class_name camelized as ClassName
ok
t/classes/Dancer2/import-pragmas.t .....................
1..1
ok 1 - warnings pragma not activated
ok
t/classes/Dancer2/import.t .............................
1..34
ok 1 - Dancer2->can('runner')
ok 2 - No runner by default
ok 3 - 'Runner created' isa 'Dancer2::Core::Runner'
ok 4 - 'Runner created' isa 'Dancer2::Core::Runner'
ok 5 - Runner not recreated
ok 6 - An object of class 'FakeRunner' isa 'FakeRunner'
ok 7 - psgi_app calls Runner->psgi_app
ok 8 - psgi_app works as expected
ok 9 - :script is allowed
ok 10 - :tests is allowed
ok 11 - :syntax is allowed
ok 12 - Must import key/value pairs
ok 13 - Must import key/value pairs
ok 14 - Must import key/value pairs unless prefixed by !
ok 15 - Must import key/value pairs unless prefixed by !
ok 16 - App::GettingDSL->can(...)
ok 17 - App::GettingSelectiveDSL->can('get')
ok 18 - get imported successfully
ok 19 - Can import keywords selectively
ok 20 - An object of class 'Dancer2::Core::Runner' isa 'Dancer2::Core::Runner'
ok 21 - Correct number of Apps created so far
ok 22 - All apps accounted for
ok 23 - A reference of type 'CODE' isa 'CODE'
ok 24 - Got original app response
ok 25 - Can compose apps with appname
ok 26 - An object of class 'Dancer2::Core::App' isa 'Dancer2::Core::App'
ok 27 - Changed settings using with keyword
ok 28 - no strict (control test)
ok 29 - utf8 pragma not imported
ok 30 - warnings pragma imported
ok 31 - warnings pragma imported
ok 32 - strict pragma imported
ok 33 - warnings pragma imported
ok 34 - utf8 pragma imported
ok
t/config_multiapp.t ....................................
ok 1 - App1: config files found
ok 2 - App1: config loaded properly
ok 3 - Sub::App2: config files found
ok 4 - Sub::App2: config loaded properly
ok 5 - App3: config files found
ok 6 - App3: config loaded properly
1..6
ok
t/config_reader.t ......................................
ok 1 - config_files() only sees existing files
ok 2 - role Dancer2::Core::Role::ConfigReader is consumed
ok 3 - config_files() works
ok 4 - config_files() does JSON too!
# bad YAML file
ok 5
ok 6 - config_files() works
ok 7 - Configuration file parsing failure
# config merging
ok 8 - full merging of configuration hashes
# config parsing
ok 9
ok 10
ok 11 - normalized UTF-8 to utf-8
ok 12
ok 13
# default values
ok 14
ok 15 - Configuration file charset failure
ok 16
ok 17 - traces are not enabled
ok 18 - traces are enabled
ok 19
1..19
ok
t/config_settings.t ....................................
ok 1 - default value for 'port' is OK
ok 2 - default value for 'content_type' is OK
ok 3 - setting a new value
ok 4 - new value has been set
ok 5 - setting bar with set
ok 6 - new value has been set
ok 7 - set multiple values
ok 8 - set multiple values successful
1..8
ok
t/context-in-before.t ..................................
1..10
ok 1 - 'Got app' isa 'CODE'
ok 2 - 'Context is actually an app now' isa 'Dancer2::Core::App'
ok 3 - It is the correct app
ok 4 - Dancer2::Core::App->can('app')
ok 5 - 'When called ->app, we get te app again' isa 'Dancer2::Core::App'
ok 6 - It is the correct app
ok 7 - Same exact application (by reference)
ok 8 - [GET /] status OK
ok 9 - [GET /] content OK
ok 10 - before hook called
ok
t/cookie.t .............................................
# Constructor
ok 1 - An object of class 'Dancer2::Core::Cookie' isa 'Dancer2::Core::Cookie'
ok 2 - Dancer2::Core::Cookie->can('to_header')
# Setting values
ok 3
ok 4
ok 5 - Stringifies to desired value
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
# accessors and defaults
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20 - by default, path is /
ok 21 - has_path
ok 22
ok 23 - has_path
ok 24
ok 25
ok 26
ok 27
ok 28
ok 29
ok 30
ok 31
ok 32
ok 33
ok 34
# expiration strings
ok 35
ok 36
ok 37
ok 38
ok 39
ok 40
ok 41
ok 42
ok 43
ok 44
ok 45
ok 46
ok 47
ok 48
ok 49
ok 50
ok 51
ok 52
# to header
ok 53
ok 54
ok 55
1..55
ok
t/custom_dsl.t .........................................
ok 1
ok 2 - [GET /] Correct content
ok 3 - [POST /] Correct content
1..3
ok
t/dancer-test.t ........................................
1..49
ok 1
ok 2
ok 3
ok 4
ok 5 - route /foo exists
ok 6 - route ARRAY(0x3909c) exists
ok 7 - route Dancer2::Core::Request=HASH(0x9ea7cc) exists
ok 8 - An object of class 'Dancer2::Core::Response' isa 'Dancer2::Core::Response'
ok 9
ok 10 - An object of class 'Dancer2::Core::Response' isa 'Dancer2::Core::Response'
ok 11
ok 12 - An object of class 'Dancer2::Core::Response' isa 'Dancer2::Core::Response'
ok 13
ok 14 - An object of class 'Dancer2::Core::Response' isa 'Dancer2::Core::Response'
ok 15
ok 16 - response_content_is with /foo
ok 17 - response_content_is with ARRAY(0x3909c)
ok 18 - response_content_is with Dancer2::Core::Request=HASH(0x9ea7cc)
ok 19 - response_content_is with Dancer2::Core::Response=HASH(0x1a9e6c4)
ok 20 - response_content_isnt with /foo
ok 21 - response_content_isnt with ARRAY(0x3909c)
ok 22 - response_content_isnt with Dancer2::Core::Request=HASH(0x9ea7cc)
ok 23 - response_content_isnt with Dancer2::Core::Response=HASH(0x1a9e6c4)
ok 24 - response content matches (?^:igh) for GET /foo
ok 25 - response content matches (?^:igh) for GET /foo
ok 26 - response content matches (?^:igh) for GET /foo
ok 27 - response content matches (?^:igh) for response object
ok 28 - response content doesn't match (?^:ought) for GET /foo
ok 29 - response content doesn't match (?^:ought) for GET /foo
ok 30 - response content doesn't match (?^:ought) for GET /foo
ok 31 - response content doesn't match (?^:ought) for response object
ok 32 - response status is 200 for GET /foo
ok 33 - response status is 200 for GET /foo
ok 34 - response status is 200 for GET /foo
ok 35 - response status is 200 for response object
ok 36 - response status is not 203 for GET /foo
ok 37 - response status is not 203 for GET /foo
ok 38 - response status is not 203 for GET /foo
ok 39 - response status is not 203 for response object
ok 40 - headers include expected data for GET /foo
ok 41 - headers include expected data for GET /foo
ok 42 - headers include expected data for GET /foo
ok 43 - headers include expected data for response object
ok 44 - PARAMS get echoed by route
ok 45 - file uploaded with supplied data
ok 46 - file uploaded with supplied filename
ok 47 - multi values for same key get echoed back
ok 48 - multi utf8 value properly merge
# extra headers in request
ok 49 - extra headers included in request
ok
t/deserialize.t ........................................
1..15
ok 1 - An object of class 'Dancer2::Logger::Capture' isa 'Dancer2::Logger::Capture'
# Subtest: PUT request with parameters
ok 1 - Parameters deserialized from params
ok 2 - Parameters deserialized from data
1..2
ok 2 - PUT request with parameters
# Verify Serializers decode into characters
ok 3 - utf-8 string returns the same using the Dumper serializer
ok 4 - utf-8 string returns the same using the JSON serializer
ok 5 - utf-8 string returns the same using the YAML serializer
# Decoding of mixed route and deserialized body params
ok 6 - Integer from JSON body remains integer and route params decoded
# Deserialze any body content that is allowed or undefined
ok 7 - JSON body deserialized for DELETE requests
ok 8 - JSON body deserialized for PATCH requests
# Check serialization errors
ok 9 - An object of class 'Dancer2::Logger::Capture::Trap' isa 'Dancer2::Logger::Capture::Trap'
ok 10 - A reference of type 'ARRAY' isa 'ARRAY'
ok 11 - One error caught
ok 12 - A reference of type 'HASH' isa 'HASH'
ok 13 - Two items in the error
ok 14 - Correct level
ok 15 - Correct error message
ok
t/dispatcher.t .........................................
1..16
ok 1 - [/] Return code ok
ok 2 - [/] Correct headers
ok 3 - [/] Contents ok. (test 0)
ok 4 - [/user/Johnny] Return code ok
ok 5 - [/user/Johnny] Correct headers
ok 6 - [/user/Johnny] Contents ok. (test 1)
ok 7 - [/twoohfour] Return code ok
ok 8 - [/twoohfour] Correct headers
ok 9 - [/twoohfour] Contents ok. (test 2)
ok 10 - [/haltme] Return code ok
ok 11 - [/haltme] Correct headers
ok 12 - [/haltme] Contents ok. (test 3)
ok 13 - Return code ok.
ok 14 - Length ok.
ok 15 - contents ok
ok 16 - didn't enter the second filter, because of halt
ok
t/dsl/any.t ............................................
1..2
# Subtest: any with params
ok 1 - Method GET works
ok 2 - Method POST works
ok 3 - Method PUT doesn't exist
ok 4 - Method DELETE doesn't exist
ok 5 - Method OPTIONS doesn't exist
ok 6 - Method PATCH doesn't exist
ok 7 - Method NONEXIST doesn't exist
1..7
ok 1 - any with params
# Subtest: any without params
ok 1 - Method GET works
ok 2 - Method POST works
ok 3 - Method PUT works
ok 4 - Method DELETE works
ok 5 - Method OPTIONS works
ok 6 - Method PATCH works
1..6
ok 2 - any without params
ok
t/dsl/app.t ............................................
1..2
ok 1 - An object of class 'Dancer2::Core::App' isa 'Dancer2::Core::App'
ok 2 - Correct app name
ok
t/dsl/content.t ........................................
1..1
# Subtest: content keyword can only be used within delayed response
ok 1 - Request failed
ok 2 - Correct response code
ok 3 - Failed to use content keyword outside delayed response
ok 4 - An object of class 'Dancer2::Logger::Capture' isa 'Dancer2::Logger::Capture'
ok 5 - An object of class 'Dancer2::Logger::Capture::Trap' isa 'Dancer2::Logger::Capture::Trap'
ok 6 - A reference of type 'ARRAY' isa 'ARRAY'
ok 7 - Only one error
ok 8 - Got formatted message
ok 9 - Correct error message
ok 10 - Rest of error okay
1..10
ok 1 - content keyword can only be used within delayed response
ok
t/dsl/delayed.t ........................................
1..5
# Subtest: Testing an app with content keyword
ok 1 - No responder yet
ok 2 - 'Got a responder in the delayed callback' isa 'CODE'
ok 3 - No writer yet
ok 4 - Got a writer
ok 5 - Successful request
ok 6 - Correct content
1..6
ok 1 - Testing an app with content keyword
# Subtest: Testing an app with multiple content keyword calls
ok 1 - Successful request
ok 2 - Correct content
1..2
ok 2 - Testing an app with multiple content keyword calls
# Subtest: Testing an app without content keyword
ok 1 - Successful request
ok 2 - Correct content
1..2
ok 3 - Testing an app without content keyword
# Subtest: Delayed response ignored for non-delayed content
ok 1 - Successful request
ok 2 - Correct content
1..2
ok 4 - Delayed response ignored for non-delayed content
# Subtest: Delayed response error handling
ok 1 - Successful request # TODO Does not work in development server
ok 2 - Correct content # TODO Does not work in development server
ok 3 - 'Got logs' isa 'ARRAY' # TODO Does not work in development server
not ok 4 - Got a message # TODO Does not work in development server
# Failed (TODO) test 'Got a message'
# at t/dsl/delayed.t line 136.
# got: '0'
# expected: '1'
not ok 5 - Got message # TODO Does not work in development server
# Failed (TODO) test 'Got message'
# at t/dsl/delayed.t line 139.
not ok 6 - 'Got message' isa 'HASH' # TODO Does not work in development server
# Failed (TODO) test ''Got message' isa 'HASH''
# at t/dsl/delayed.t line 140.
# 'Got message' isn't defined
not ok 7 - Correct error message level # TODO Does not work in development server
# Failed (TODO) test 'Correct error message level'
# at t/dsl/delayed.t line 141.
# got: undef
# expected: 'core'
not ok 8 - Got error # TODO Does not work in development server
# Failed (TODO) test 'Got error'
# at t/dsl/delayed.t line 147.
# undef
# doesn't match '(?^:^Error in delayed response:)'
ok 9 - Successful request # TODO Does not work in development server
ok 10 - Correct content # TODO Does not work in development server
not ok 11 - Got error # TODO Does not work in development server
# Failed (TODO) test 'Got error'
# at t/dsl/delayed.t line 159.
# undef
# doesn't match '(?^:^Error in delayed response:)'
1..11
ok 5 - Delayed response error handling
ok
t/dsl/error_template.t .................................
ok 1 - Got app
ok 2 - Got app
# Subtest: /error
ok 1 - send_error sets the status to 505
ok 2 - Error message looks good
ok 3
ok 4
1..4
ok 3 - /error
# Subtest: /public
ok 1 - send_error sets the status to 510
ok 2 - Error message looks good
1..2
ok 4 - /public
# Subtest: 404 with static template
ok 1 - unknown route => 404
ok 2 - Error message looks good
1..2
ok 5 - 404 with static template
# Subtest: /no_template
ok 1 - send_error sets the status to 404
ok 2 - Error message looks good
ok 3 - Error contains no stack trace
1..3
ok 6 - /no_template
1..6
ok
t/dsl/extend.t .........................................
1..5
ok 1 - use line dsl can foo
ok 2 - use line Foo returns bar
ok 3 - intermediate package has no polluted namespace
ok 4 - config specified DSL can foo
ok 5 - config specified Foo returns baz
ok
t/dsl/halt.t ...........................................
# Subtest: halt within routes
ok 1 - Got app
ok 2 - [/shortcircuit] Correct status
ok 3 - [/shortcircuit] Correct content
ok 4 - [/halt] Correct Server header
ok 5 - [/halt] Correct X-Foo header
1..5
ok 1 - halt within routes
# Subtest: halt in before hook
ok 1 - Got app
ok 2 - [/shortcircuit] Correct code with before hook
ok 3 - [/shortcircuit] Correct content with before hook
1..3
ok 2 - halt in before hook
1..2
ok
t/dsl/halt_with_param.t ................................
# Subtest: halt with parameter within routes
ok 1 - Got app
ok 2 - [/shortcircuit] Correct status
ok 3 - [/shortcircuit] Correct content
ok 4 - [/halt] Correct Server header
ok 5 - [/halt] Correct X-Foo header
1..5
ok 1 - halt with parameter within routes
# Subtest: halt with parameter in before hook
ok 1 - Got app
ok 2 - [/shortcircuit] Correct code with before hook
ok 3 - [/shortcircuit] Correct content with before hook
1..3
ok 2 - halt with parameter in before hook
1..2
ok
t/dsl/parameters.t .....................................
# Subtest: Query parameters
ok 1 - 'parameters keyword' isa 'Hash::MultiValue'
ok 2 - Got single value
ok 3 - Got single value from multi key
ok 4 - Got multi value from multi key
ok 5 - HMV interface returns decoded values
ok 6 - Regular interface returns encoded values
ok 7 - Successful request
1..7
ok 1 - Query parameters
# Subtest: Body parameters
ok 1 - 'parameters keyword' isa 'Hash::MultiValue'
ok 2 - Got single value
ok 3 - Got single value from multi key
ok 4 - Got multi value from multi key
ok 5 - Successful request
1..5
ok 2 - Body parameters
# Subtest: Body parameters with serialized data
ok 1 - 'parameters keyword' isa 'Hash::MultiValue'
ok 2 - Got single value
ok 3 - Got single value from multi key
ok 4 - Got multi value from multi key
ok 5 - Successful request
1..5
ok 3 - Body parameters with serialized data
# Subtest: Route parameters
ok 1 - 'parameters keyword' isa 'Hash::MultiValue'
ok 2 - Got keyed value
ok 3 - Successful request
ok 4 - 'parameters keyword returns Hash::MultiValue object' isa 'Hash::MultiValue'
ok 5 - Got first value
ok 6 - Got second value
ok 7 - Successful request
1..7
ok 4 - Route parameters
# Subtest: Splat and megasplat route parameters
ok 1 - 'parameters keyword' isa 'Hash::MultiValue'
ok 2 - All route parameters are empty
ok 3 - Got splat values
ok 4 - Successful request
ok 5 - 'parameters keyword returns Hash::MultiValue object' isa 'Hash::MultiValue'
ok 6 - All route parameters are empty
ok 7 - Got splat values
ok 8 - Successful request
ok 9 - 'parameters keyword returns Hash::MultiValue object' isa 'Hash::MultiValue'
ok 10 - All route parameters are empty
ok 11 - Got splat values
ok 12 - Successful request
ok 13 - 'parameters keyword returns Hash::MultiValue object' isa 'Hash::MultiValue'
ok 14 - Correct route parameter
ok 15 - Got splat values
ok 16 - Successful request
1..16
ok 5 - Splat and megasplat route parameters
# Subtest: Captured route parameters
ok 1 - 'parameters keyword' isa 'Hash::MultiValue'
ok 2 - All route parameters are empty
ok 3 - Correct splat values
ok 4 - capture values are empty
ok 5 - Successful request
1..5
ok 6 - Captured route parameters
# Subtest: Named captured route parameters
ok 1 - 'parameters keyword' isa 'Hash::MultiValue'
ok 2 - All route parameters are empty
ok 3 - splat values are empty
ok 4 - Correct capture values
ok 5 - Successful request
1..5
ok 7 - Named captured route parameters
1..7
ok
t/dsl/pass.t ...........................................
# Subtest: pass within routes
ok 1 - Got app
ok 2 - [/pass] Correct status
ok 3 - [/pass] Correct content
ok 4 - [/pass] Correct X-Pass header
1..4
ok 1 - pass within routes
1..1
ok
t/dsl/path.t ...........................................
1..4
# Subtest: /
ok 1 - PATH_INFO empty or /
ok 2 - D2 path_info matches $env
ok 3 - D2 path_info matches Plack path_info
ok 4 - D2 path is /
ok 5 - Plack path is /
ok 6 - Result successful
ok 7 - script_name is empty
1..7
ok 1 - /
# Subtest: /endpoint
ok 1 - PATH_INFO /endpoint
ok 2 - D2 path_info matches $env
ok 3 - D2 path_info matches Plack path_info
ok 4 - D2 path is /
ok 5 - Plack path is /
ok 6 - Result successful
ok 7 - script_name is empty
1..7
ok 2 - /endpoint
# Subtest: /mounted/
ok 1 - PATH_INFO empty or /
ok 2 - D2 path_info matches $env
ok 3 - D2 path_info matches Plack path_info
ok 4 - D2 path is /
ok 5 - Plack path is /
ok 6 - Result successful
ok 7 - script_name is /mounted
1..7
ok 3 - /mounted/
# Subtest: /mounted/endpoint
ok 1 - PATH_INFO /endpoint
ok 2 - D2 path_info matches $env
ok 3 - D2 path_info matches Plack path_info
ok 4 - D2 path is /
ok 5 - Plack path is /
ok 6 - Result successful
ok 7 - script_name is /mounted
1..7
ok 4 - /mounted/endpoint
ok
t/dsl/request.t ........................................
# Subtest: Testing an app with request keyword
ok 1 - Successful GET request
ok 2 - GET / correct content
ok 3 - Successful POST request
ok 4 - POST / correct content
1..4
ok 1 - Testing an app with request keyword
# Subtest: Testing app with request_header heyword
ok 1 - Successful GET request
ok 2 - GET /headers correct content
1..2
ok 2 - Testing app with request_header heyword
1..2
ok
t/dsl/route_retvals.t ..................................
ok 1 - Two routes available
ok 2 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 3 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route'
ok 4 - Created GET route
ok 5 - Created HEAD route too
1..5
ok
Subroutine from_json redefined at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Serializer/jSoN.pm line 13.
Subroutine to_json redefined at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Serializer/jSoN.pm line 15.
Subroutine serialize redefined at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Serializer/jSoN.pm line 18.
Subroutine deserialize redefined at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Serializer/jSoN.pm line 32.
t/dsl/send_as.t ........................................
# Subtest: default serializer
ok 1
ok 2
ok 3
1..3
ok 1 - default serializer
# Subtest: send_as json
ok 1
ok 2
ok 3
1..3
ok 2 - send_as json
# Subtest: send_as json custom content-type
ok 1
ok 2
ok 3
ok 4
1..4
ok 3 - send_as json custom content-type
# Subtest: send_as html
ok 1
ok 2
ok 3
ok 4
1..4
ok 4 - send_as html
# Subtest: send_as error cases
ok 1 - send_as dies with no defined type
ok 2 - .. throws route exception
ok 3 - send_as dies with incorrectly cased serializer name
ok 4 - .. throws route exception
ok 5 - send_as dies when called with non-existant serializer
ok 6 - .. throws route exception
1..6
ok 5 - send_as error cases
1..5
ok
t/dsl/send_file.t ......................................
ok 1 - Got app
# Subtest: Text content
ok 1 - send_file sets the status to 200
ok 2 - Text content type has UTF-8 charset
ok 3 - Text content contains UTF-8 characters
1..3
ok 2 - Text content
# Subtest: Binary content
ok 1 - send_file sets the status to 200 (binary content)
ok 2 - send_file returns immediately with content
ok 3 - correct content_type in response
1..3
ok 3 - Binary content
# Subtest: string refs
ok 1 - send_file set status to 200 (string ref)
ok 2 - stringref content
1..2
ok 4 - string refs
# Subtest: filehandles
ok 1 - send_file set status to 200 (filehandle)
ok 2 - filehandle content
1..2
ok 5 - filehandles
# Subtest: no streaming
ok 1 - send_file set status to 200 (no streaming)
ok 2 - no streaming - content
1..2
ok 6 - no streaming
# Subtest: options streaming
ok 1 - send_file set status to 200 (options streaming)
ok 2 - options streaming - content
1..2
ok 7 - options streaming
# Subtest: send_file returns correct content type
ok 1 - send_file returns success
ok 2 - send_file returns correct content_type
1..2
ok 8 - send_file returns correct content type
1..8
ok
t/dsl/splat.t ..........................................
1..4
ok 1 - Correct params
ok 2 - splat behaves as expected
ok 3 - got a 200
ok 4 - got expected response
ok
t/dsl/to_app.t .........................................
1..2
ok 1 - Got first App
ok 2 - Got second App
ok
t/engine.t .............................................
ok 1 - An object of class 'Dancer2::Template::Tiny' isa 'Dancer2::Template::Tiny'
ok 2 - Consumed Role::Engine
ok 3 - Consumed Role::Template
ok 4 - Correct engine name
ok 5 - An object of class 'Dancer2::Core::App' isa 'Dancer2::Core::App'
# logger
ok 6 - Built logger successfully with proper name
ok 7 - Failed creating logger with illegal name
ok 8 - Correct response from override
# session
ok 9 - Built session successfully with proper name
ok 10 - Failed creating session with illegal name
ok 11 - Correct response from override
# template
ok 12 - Built template successfully with proper name
ok 13 - Failed creating template with illegal name
ok 14 - Correct response from override
1..14
ok
[AppDies:7476] error @2016-07-09 00:25:59> Route exception: oh no in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
t/error.t ..............................................
# Subtest: basic defaults of Error object
ok 1 - code
ok 2 - title
ok 3 - message
ok 4 - error content contains css path relative to uri_base
1..4
ok 1 - basic defaults of Error object
# Subtest: send_error in route
ok 1 - Got app
ok 2 - send_error sets the status to 500
ok 3 - Error message looks good
ok 4 - Response has appropriate content type after serialization
1..4
ok 2 - send_error in route
# Subtest: send_error with custom stuff
ok 1 - Got app
ok 2 - send_error sets the status to 542
ok 3 - Error message looks good
1..3
ok 3 - send_error with custom stuff
# Subtest: Response->error()
ok 1 - An object of class 'Dancer2::Core::Error' isa 'Dancer2::Core::Error'
ok 2 - response code is 418
ok 3 - response content overriden by error
ok 4 - error code title is present
ok 5 - response is halted
1..5
ok 4 - Response->error()
# Subtest: Throwing an error with a response
ok 1 - 'Error->throw() accepts a response' isa 'Dancer2::Core::Response'
1..1
ok 5 - Throwing an error with a response
# Subtest: Error with show_errors: 0
ok 1
1..1
ok 6 - Error with show_errors: 0
# Subtest: Error with show_errors: 1
ok 1
1..1
ok 7 - Error with show_errors: 1
# Subtest: App dies with serialized error
ok 1 - 'Got app' isa 'CODE'
ok 2 - /die returns 500
ok 3 - JSON decoding serializer error produces no errors
ok 4 - 'Error deserializes to a hash' isa 'HASH'
ok 5 - Get expected error message
1..5
ok 8 - App dies with serialized error
# Subtest: Error with exception object
ok 1 - Error content contains exception message
1..1
ok 9 - Error with exception object
1..9
ok
t/factory.t ............................................
ok 1
ok 2
ok 3 - Failure to load nonexistent class
ok 4 - An object of class 'Dancer2::Logger::Console' isa 'Dancer2::Logger::Console'
1..4
ok
Error in tempfile() using template C:/cpanfly-5.20/var/tmp/cpan_build/Dancer2-0.200002-fKlWH6/C:/cpanfly-5.20/var/tmp/XXXXXXXXXX: Parent directory (C:/cpanfly-5.20/var/tmp/cpan_build/Dancer2-0.200002-fKlWH6/C:/cpanfly-5.20/var/tmp/) does not exist at t/file_utils.t line 56.
# Looks like you planned 25 tests but ran 12.
# Looks like your test exited with 2 just after 12.
t/file_utils.t .........................................
1..25
ok 1 - Failure opening nonexistent file
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
Dubious, test returned 2 (wstat 512, 0x200)
Failed 13/25 subtests
t/forward.t ............................................
ok 1 - Got app
ok 2 - [GET /] Correct code
ok 3 - [GET /] Correct content
ok 4 - [GET /bounce] Correct code
ok 5 - [GET /bounce] Correct content
ok 6 - [GET /bounce/thesethings/] Correct code
ok 7 - [GET /bounce/thesethings/] Correct content
ok 8 - [GET /bounce2/adding_params/] Correct code
ok 9 - [GET /bounce2/adding_params/] Correct content
ok 10 - [GET /go_to_post/] Correct code
ok 11 - [GET /go_to_post/] Correct content
ok 12 - [GET /bounce/] Correct content length
ok 13 - [GET /bounce/] Correct content type
ok 14 - [GET /bounce/] Correct content type charset
ok 15 - [GET /bounce/] Correct Server
ok 16 - [POST /] Correct code
ok 17 - [POST /] Correct content
ok 18 - [POST /bounce/] Correct code
ok 19 - [POST /bounce/] Correct content
ok 20 - [POST /bounce/] Correct content length
ok 21 - [POST /bounce/] Correct content type
ok 22 - [POST /bounce/] Correct content type charset
ok 23 - [POST /bounce/] Correct Server
ok 24 - [GET /forward_with_proxy/] maintained is_behind_proxy
1..24
ok
t/forward_before_hook.t ................................
1..4
ok 1 - Got app
ok 2 - forward in before hook
ok 3 - redirect in before hook
ok 4 - .. and the response content is correct
ok
t/forward_test_tcp.t ...................................
ok 1 - Got app
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
1..21
ok
t/hooks.t ..............................................
# Subtest: Request hooks
ok 1 - before_request was called
ok 2 - after_request was called
ok 3 - before_serializer was called
ok 4 - after_serializer was called
ok 5 - before_file_render undef
# after hook called once per request
ok 6 - after_request called after redirect
# Serializer hooks
# About to forward!
ok 7 - after_request called only once after forward
ok 8 - Response serialized
ok 9 - before_serializer was called
ok 10 - after_serializer was called
ok 11 - before_file_render undef
ok 12 - Before hook modified content
ok 13 - before_serializer was called with no content
ok 14 - after_serializer was called after content changes in hook
1..14
ok 1 - Request hooks
# Subtest: file render hooks
ok 1 - before_file_render was called
ok 2 - after_file_render was called
1..2
ok 2 - file render hooks
# Subtest: template render hook
ok 1 - before_template_render was called
ok 2 - after_template_render was called
1..2
ok 3 - template render hook
# Subtest: before can halt
ok 1
1..1
ok 4 - before can halt
# Subtest: route_exception
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
1..7
ok 5 - route_exception
1..5
ok
t/http_methods.t .......................................
1..12
ok 1 - Got app
ok 2 - PUT /
ok 3 - OPTIONS /
ok 4 - DELETE /
ok 5 - GET /
ok 6 - PATCH /
ok 7 - POST /
ok 8 - HEAD /
ok 9 - Content-Length for HEAD
ok 10 - Response->is_success is false when using illegal HTTP method
ok 11 - Illegal method should return 405 code
ok 12 - Illegal method should have "Method Not Allowed" in the content
ok
t/http_status.t ........................................
1..11
# HTTP status
ok 1 - HTTP status looks good for undef
ok 2 - HTTP status looks good for 200
ok 3 - HTTP status looks good for Not Found
ok 4 - HTTP status looks good for bad_request
ok 5 - HTTP status looks good for i_m_a_teapot
ok 6 - HTTP status looks good for error
ok 7 - HTTP status looks good for 911
# HTTP status_message
ok 8 - HTTP status message looks good for undef
ok 9 - HTTP status message looks good for 200
ok 10 - HTTP status message looks good for error
ok 11 - HTTP status message looks good for 911
ok
[TestApp:12712] error @2016-07-09 00:26:11> Route exception: Can't open 'C:\cpanfly-5.20\views\t.tt' using mode '<' at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Template/Simple.pm line 31. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
# Failed test 'Request successful'
# at t/issues/gh-1013/gh-1013.t line 34.
# Failed test 'Correct content'
# at t/issues/gh-1013/gh-1013.t line 37.
# got: '
#
#
#
#
# Error 500 - Internal Server Error
#
#
#
#
Error 500 - Internal Server Error
#
# Wooops, something went wrong
#
#
#
# '
# expected: 'hello'
# Looks like you failed 2 tests of 3.
t/issues/gh-1013/gh-1013.t .............................
ok 1 - Request does not crash
not ok 2 - Request successful
not ok 3 - Correct content
1..3
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/3 subtests
# Failed test 'Server header not available'
# at t/issues/gh-1046/gh-1046.t line 17.
# got: 'Perl Dancer2 0.200002'
# expected: undef
# Looks like you failed 1 test of 1.
t/issues/gh-1046/gh-1046.t .............................
not ok 1 - Server header not available
1..1
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests
t/issues/gh-1070.t .....................................
1..2
ok 1 - Escaped message
ok 2 - No unescaped message
ok
t/issues/gh-1098.t .....................................
1..3
# Subtest: Core::Error serializer isa tests
1..5
ok 1 - Error->new lived
ok 2 - Error->new(show_errors => []) died
ok 3 - Error->new(serializer => undef) lived
ok 4 - Error->new(serializer => Dancer2::Serializer::JSON->new) lived
ok 5 - Error->new(serializer => JSON->new) died
ok 1 - Core::Error serializer isa tests
# Subtest: Core::Response headers isa tests
1..5
ok 1 - Response->new lived
ok 2 - Response->new( headers => [ Header => 'Content' ] ) lived
ok 3 - Response->new( headers => HTTP::Headers->new ) lived
ok 4 - Response->new( headers => HTTP::Headers::Fast->new ) lived
ok 5 - Response->new( headers => JSON->new ) died
ok 2 - Core::Response headers isa tests
# Subtest: Core::Role::Logger log_level isa tests
1..8
ok 1 - Logger->new lived
ok 2 - Logger->new(log_level => core) lives
ok 3 - Logger->new(log_level => debug) lives
ok 4 - Logger->new(log_level => info) lives
ok 5 - Logger->new(log_level => warn) lives
ok 6 - Logger->new(log_level => warning) lives
ok 7 - Logger->new(log_level => error) lives
ok 8 - Logger->new(log_level => 'BadLevel') died
ok 3 - Core::Role::Logger log_level isa tests
ok
t/issues/gh-596.t ......................................
1..2
ok 1 - Successful
ok 2 - Correct server tokens configuration
ok
t/issues/gh-634.t ......................................
1..3
# Subtest: test Logger::File with log_dir specified
1..6
ok 1 - An object of class 'Dancer2::Logger::File' isa 'Dancer2::Logger::File'
ok 2 - Logger got correct environment
ok 3 - Logger got correct location
ok 4 - Logger got correct log directory
ok 5 - Logger got correct filename
ok 6 - Logger got correct log file
ok 1 - test Logger::File with log_dir specified
# Subtest: test Logger::File with log_dir NOT specified
1..6
ok 1 - An object of class 'Dancer2::Logger::File' isa 'Dancer2::Logger::File'
ok 2 - Logger got correct environment
ok 3 - Logger got correct location
ok 4 - Logger got correct log directory
ok 5 - Logger got correct filename
ok 6 - Logger got correct log file
ok 2 - test Logger::File with log_dir NOT specified
# Subtest: test Logger::File with non-existent log_dir specified
1..6
ok 1 - An object of class 'Dancer2::Logger::File' isa 'Dancer2::Logger::File'
ok 2 - Logger got correct environment
ok 3 - Logger got correct location
ok 4 - Logger got correct log directory
ok 5 - Logger got correct filename
ok 6 - Logger got correct log file
ok 3 - test Logger::File with non-existent log_dir specified
ok
t/issues/gh-639/fails/issue.t ..........................
1..1
ok 1 - Correct compilation issue
ok
t/issues/gh-639/succeeds/issue.t .......................
1..1
ok 1 - No compilation issue
ok
[MyApp:18060] error @2016-07-09 00:26:24> Route exception: Failed to render template: file error - environment_setting.tt: not found at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
# Failed test 'Successful request'
# at t/issues/gh-650/gh-650.t line 34.
# got: '500'
# expected: '200'
# Failed test 'Correct content'
# at t/issues/gh-650/gh-650.t line 35.
# '
#
#
#
#
# Error 500 - Internal Server Error
#
#
#
#
Error 500 - Internal Server Error
#
# Wooops, something went wrong
#
#
#
#
# '
# doesn't match '(?^:development)'
[MyApp:18060] error @2016-07-09 00:26:24> Route exception: Failed to render template: file error - environment_setting.tt: not found at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
# Failed test 'Successful request'
# at t/issues/gh-650/gh-650.t line 38.
# got: '500'
# expected: '200'
# Failed test 'Correct content'
# at t/issues/gh-650/gh-650.t line 39.
# '
#
#
#
#
# Error 500 - Internal Server Error
#
#
#
#
Error 500 - Internal Server Error
#
# Wooops, something went wrong
#
#
#
#
# '
# doesn't match '(?^:development)'
# Looks like you failed 4 tests of 5.
t/issues/gh-650/gh-650.t ...............................
ok 1 - Got app
not ok 2 - Successful request
not ok 3 - Correct content
not ok 4 - Successful request
not ok 5 - Correct content
1..5
Dubious, test returned 4 (wstat 1024, 0x400)
Failed 4/5 subtests
t/issues/gh-723.t ......................................
1..4
ok 1 - A reference of type 'CODE' isa 'CODE'
# Subtest: GET /
1..2
ok 1 - Correct code
ok 2 - Correct content
ok 2 - GET /
# Subtest: GET /test/
1..2
ok 1 - Correct code
ok 2 - Correct content
ok 3 - GET /test/
# Subtest: Missing POST params
1..4
ok 1 - A reference of type 'HASH' isa 'HASH'
ok 2 - Got params
ok 3 - Correct code
ok 4 - Correct content
ok 4 - Missing POST params
ok
t/issues/gh-730.t ......................................
1..3
ok 1 - A reference of type 'CODE' isa 'CODE'
# Subtest: Runner config
1..5
ok 1 - No default behind_proxy
ok 2 - Single app registered
ok 3 - 'Correct app registered' isa 'Dancer2::Core::App'
ok 4 - behind_proxy not defined by default in an app
ok 5 - Set behind_proxy locally in the app to one
ok 2 - Runner config
# Subtest: Using App-level settings
1..3
ok 1 - Runner's behind_proxy is still the default
ok 2 - [GET /] Correct code
ok 3 - [GET /] Local value achieved
ok 3 - Using App-level settings
ok
t/issues/gh-762.t ......................................
# Subtest: /error
ok 1 - send_error sets the status to 404
ok 2 - Error message looks good
ok 3
ok 4
1..4
ok 1 - /error
# Subtest: FourOhFour with views template
ok 1 - unknown route => 404
ok 2 - Error message looks good
ok 3
ok 4
1..4
ok 2 - FourOhFour with views template
1..2
ok
[App:13536] core @2016-07-09 00:26:31> Failed to deserialize content: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "invalid") at C:/cpanfly-5.20/var/megalib/JSON.pm line 171. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Serializer.pm l. 71
t/issues/gh-794.t ......................................
1..2
ok 1 - Correct JSON content in POST
ok 2 - Failed to decode invalid content
ok
[App:13396] core @2016-07-09 00:26:32> Failed to deserialize content: 'false' expected, at character offset 0 (before "foo=bar") at C:/cpanfly-5.20/var/megalib/JSON.pm line 171. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Serializer.pm l. 71
t/issues/gh-797.t ......................................
# Subtest: Basic response failing
ok 1 - [POST /] Failed when sending regular params # TODO 500 when deserializing bad input
1..1
ok 1 - Basic response failing
# Subtest: Basic response
ok 1 - [POST /] Correct response code
ok 2 - [POST /] Correct response data
1..2
ok 2 - Basic response
# Subtest: Empty POST
ok 1 - [POST /] Correct response code with empty post body
1..1
ok 3 - Empty POST
1..3
ok
t/issues/gh-799.t ......................................
1..1
# Subtest: Logger can access request
ok 1 - An object of class 'Dancer2::Core::Request' isa 'Dancer2::Core::Request'
ok 2 - An object of class 'Dancer2::Logger::Capture' isa 'Dancer2::Logger::Capture'
ok 3 - Dancer2::Logger::Capture->can('format_message')
ok 4 - An object of class 'Dancer2::Logger::Capture::Trap' isa 'Dancer2::Logger::Capture::Trap'
ok 5 - Messages logged successfully
ok 6 - Dancer2::Logger::Capture->can('format_message')
ok 7 - Correct formatted message created
ok 8 - Successful request
1..8
ok 1 - Logger can access request
ok
t/issues/gh-811.t ...................................... skipped: Dancer2::Session::Cookie probably missing.
t/issues/gh-931.t ......................................
# Subtest: Route takes precedence over all other parameters
ok 1 - Query variable exists
ok 2 - Body variable exists
ok 3 - Route variable exists
ok 4 - Route variable wins
1..4
ok 1 - Route takes precedence over all other parameters
# Subtest: When route parameters not available, POST takes precedence
ok 1 - Query variable exists
ok 2 - Body variable exists
ok 3 - Body variable wins
1..3
ok 2 - When route parameters not available, POST takes precedence
1..2
ok
t/issues/gh-936.t ......................................
# Subtest: does-not-exist
ok 1 - status is 404
ok 2 - Error message looks good
1..2
ok 1 - does-not-exist
# Subtest: anywhere
ok 1 - status is 404
ok 2 - Error message looks good
1..2
ok 2 - anywhere
1..2
ok
t/issues/gh-944.t ......................................
# Subtest: response set in before hook
ok 1 - Successful request
ok 2 - Correct content
1..2
ok 1 - response set in before hook
# Subtest: response content set in route
ok 1 - Successful request
ok 2 - route return value ignored
ok 3 - Correct content
1..3
ok 2 - response content set in route
1..2
ok
t/issues/memleak/die_in_hooks.t ........................
1..6
ok 1 - Object exists
ok 2 - 'It is an object' isa 'Foo::Destroy'
ok 3 - Request failed
ok 4 - Failure status
ok 5 - Memory cleaned
ok 6 - Correct error
ok
t/issues/vars-in-forward.t .............................
1..2
ok 1 - Successful response
ok 2 - Correct response
ok
t/log_die_before_hook.t ................................
ok 1 - Got app
ok 2 - Got error message when a before hook dies
1..2
ok
t/log_levels.t .........................................
1..6
ok 1 - Successful response
ok 2 - Correct content
ok 3 - Log levels work
ok 4 - Successful response
ok 5 - Correct content
ok 6 - Log levels work
ok
# Failed test at t/logger.t line 50.
# Structures begin differing at:
# $got->[2] = HASH(0x2072214)
# $expected->[2] = Does not exist
# Looks like you failed 1 test of 2.
# Failed test 'log level and capture'
# at t/logger.t line 64.
# Looks like you failed 1 test of 5.
t/logger.t .............................................
ok 1
ok 2
# Subtest: log level and capture
not ok 1
ok 2
1..2
not ok 3 - log level and capture
# Subtest: logger enging hooks
ok 1
1..1
ok 4 - logger enging hooks
# Subtest: logger file
ok 1
1..1
ok 5 - logger file
1..5
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/5 subtests
t/logger_console.t .....................................
ok 1 - core message sent
ok 2 - debug message sent
ok 3 - info message sent
ok 4 - warning message sent
ok 5 - error message sent
1..5
ok
t/memory_cycles.t ......................................
ok 1 - runner has no memory cycles
ok 2 - App has no memory cycles
1..2
ok
t/mime.t ...............................................
1..12
ok 1 - use Dancer2::Core::MIME;
ok 2 - user defined mime_types are empty
ok 3 - text/foo is saved
ok 4 - mime type foo is found
ok 5 - mime type bar is found
ok 6 - mime type for extension .bar is found
ok 7 - mime type for no extension is the default
ok 8 - mime gets correctly lowercased for user types
ok 9 - mime gets correctly lowercased for system types
ok 10 - alias of unknown mime type gets default mime type
ok 11 - name_or_type does not change if it seems a mime type string
ok 12 - name_or_type knows svg
ok
t/multi_apps.t .........................................
ok 1 - 'Got app' isa 'CODE'
ok 2 - Got wiki root
ok 3 - Got forum root
ok 4 - 'Got app' isa 'CODE'
ok 5 - Got /wiki path
ok 6 - Got /forum path
1..6
ok
t/multi_apps_forward.t .................................
1..9
ok 1 - [GET /] OK
ok 2 - [GET /] OK content
ok 3 - [GET /forward] OK
ok 4 - [GET /forward] OK content
ok 5 - Cannot find /new
ok 6 - [GET /] OK
ok 7 - [GET /] OK content
# Old format using psgi_app to loop over multiple apps
ok 8 - [GET /forward_to_new] OK
ok 9 - [GET /forward_to_new] OK content
ok
t/multiapp_template_hooks.t ............................
1..32
# Check App1 only calls first hook, not both
ok 1 - 'Got app for test' isa 'CODE'
ok 2 - '[App1] Tokens' isa 'HASH'
ok 3 - 'Got app object inside App1' isa 'Dancer2::Core::App'
ok 4 - Request reached to correct App (App1)
ok 5 - App1 has a single before_template hook defined
ok 6 - [GET /] Successful
ok 7 - [GET /] Correct content
ok 8 - Only App1's before_template hook was called
# Check App2 only calls second hook, not both
ok 9 - 'Got app for test' isa 'CODE'
ok 10 - '[App2] Tokens' isa 'HASH'
ok 11 - 'Got app object inside App2' isa 'Dancer2::Core::App'
ok 12 - Request reached to correct App (App2)
ok 13 - App2 has a single before_template hook defined
ok 14 - [GET /] Successful
ok 15 - [GET /] Correct content
ok 16 - Only App2's before_template hook was called
# Check both apps only call the first hook (correct app), not both
ok 17 - 'Got app for test' isa 'CODE'
ok 18 - '[App1] Tokens' isa 'HASH'
ok 19 - 'Got app object inside App1' isa 'Dancer2::Core::App'
ok 20 - Request reached to correct App (App1)
ok 21 - App1 has a single before_template hook defined
ok 22 - [GET /] Successful
ok 23 - [GET /] Correct content
ok 24 - Only App1's before_template hook was called (full PSGI app)
# Check both apps only call the second hook (correct app), not both
ok 25 - 'Got app for test' isa 'CODE'
ok 26 - '[App2] Tokens' isa 'HASH'
ok 27 - 'Got app object inside App2' isa 'Dancer2::Core::App'
ok 28 - Request reached to correct App (App2)
ok 29 - App2 has a single before_template hook defined
ok 30 - [GET /2] Successful
ok 31 - [GET /2] Correct content
ok 32 - Only App2's before_template hook was called (full PSGI app)
ok
t/named_apps.t .........................................
ok 1 - Got app content path foo
ok 2 - Got app content path bar
1..2
ok
t/plugin2/basic-2.t ....................................
1..8
# poc2 root
ok 1
ok 2
ok 3
# pos2 goodbye
ok 4
ok 5
ok 6
# pos2 hooked
ok 7
ok 8
ok
t/plugin2/basic.t ......................................
1..6
# poc root
ok 1
ok 2
ok 3 - config parameters are read
ok 4 - Plugin Bar has been loaded
ok 5 - Foo has a copy of Bar
# poc truncate
ok 6
ok
t/plugin2/define-keywords.t ............................
1..1
ok 1 - all expected keywords
ok
t/plugin2/from-config.t ................................
1..5
ok 1 - from config
ok 2 - from config, nested
ok 3 - nothing in config, default value
ok 4 - from_config a coderef
ok 5 - from_config a coderef, no override
ok
t/plugin2/hooks.t ......................................
1..3
# Subtest: initial state
ok 1
ok 2
ok 3
ok 4
1..4
ok 1 - initial state
# Subtest: trigger hook
ok 1
ok 2
ok 3
ok 4
1..4
ok 2 - trigger hook
# Subtest: execute hook counting
ok 1
ok 2
ok 3
ok 4
1..4
ok 3 - execute hook counting
ok
t/plugin2/inside-plugin.t ..............................
ok 1 - Test number of plugins.
ok 2 - An object of class 'Dancer2::Plugin::TestPlugin' isa 'Dancer2::Plugin::TestPlugin'
ok 3 - An object of class 'Dancer2::Plugin::InsidePlugin' isa 'Dancer2::Plugin::InsidePlugin'
ok 4 - Test config of TestPlugin.
ok 5 - Test config of InsidePlugin.
1..5
ok
t/plugin2/keywords-hooks-namespace.t ...................
# Subtest: Plugin1
ok 1 - keywords
ok 2 - hooks
1..2
ok 1 - Plugin1
# Subtest: Plugin2
ok 1 - keywords
ok 2 - hooks
1..2
ok 2 - Plugin2
# Subtest: app_side
ok 1 - from plugin1
ok 2 - from plugin2
ok 3
1..3
ok 3 - app_side
1..3
ok
t/plugin2/no-app-munging.t .............................
1..1
ok 1 - we survived!
ok
t/plugin2/no-clobbering.t ..............................
ok 1 - alpha from config
ok 2 - alpha from plugin_setting
ok 3 - alpha from indirect
ok 4 - beta from config
ok 5 - beta from plugin_setting
ok 6 - beta from indirect
1..6
ok
t/plugin2/no-config.t ..................................
1..1
ok 1 - we survived bar() and baz()
ok
t/plugin2/with-plugins.t ...............................
1..8
ok 1 - An object of class 'Dancer2::Plugin::Foo' isa 'Dancer2::Plugin'
ok 2 - app has one plugin
ok 3 - app has plugin Foo
ok 4 - plugin is not redefined
ok 5 - app still has one plugin
ok 6 - app has plugin Foo
# Subtest: adding plugin Bar
ok 1 - An object of class 'Dancer2::Plugin::Bar' isa 'Dancer2::Plugin'
ok 2 - app has two plugins
ok 3 - app has plugin Foo
ok 4 - app has plugin Bar
1..4
ok 7 - adding plugin Bar
# Subtest: adding as an object
ok 1 - it's the same
ok 2 - app has three plugins
ok 3 - app has plugin Foo
ok 4 - app has plugin Bar
ok 5 - app has plugin Baz
1..5
ok 8 - adding as an object
ok
t/plugin_import.t ......................................
ok 1 - Got app
ok 2 - the plugin exported its keyword
ok 3 - the original import method of the plugin is still there
# Subtest: import flags
ok 1 - with :no_dsl, the Dancer's dsl is not imported.
ok 2 - without any import flag, the DSL is imported
1..2
ok 4 - import flags
1..4
ok
t/plugin_multiple_apps.t ...............................
ok 1 - Got app
ok 2 - /subapp1
ok 3 - /subapp2
1..3
ok
t/plugin_register.t ....................................
# Subtest: reserved keywords
ok 1 - Can't use Dancer2's reserved keywords
ok 2 - Can't use invalid names for keywords
1..2
ok 1 - reserved keywords
# Subtest: plugin reserved keywords
ok 1 - can register a new keyword
ok 2 - can't register a keyword already registered by another plugin
1..2
ok 2 - plugin reserved keywords
1..2
ok
# Failed test 'plugin_setting returned the expected config'
# at t/plugin_syntax.t line 46.
# got: '{}'
# expected: '{"plugin":"42"}'
# Looks like you failed 1 test of 5.
# Failed test 'global and route keywords'
# at t/plugin_syntax.t line 58.
# Looks like you failed 1 test of 4.
t/plugin_syntax.t ......................................
# Subtest: global and route keywords
ok 1 - Got app
ok 2 - route defined by a plugin
ok 3 - DSL keyword wrapped by a plugin
not ok 4 - plugin_setting returned the expected config
ok 5 - app name is correct
1..5
not ok 1 - global and route keywords
# Subtest: plugin old syntax
ok 1 - Got app
ok 2 - foo plugin
1..2
ok 2 - plugin old syntax
# Subtest: caller_dsl
ok 1 - Got app
ok 2 - Correct content
1..2
ok 3 - caller_dsl
# Subtest: hooks in plugins
ok 1 - Got app
ok 2 - the hook has not been executed
ok 3 - ... route is rendered
ok 4 - ... and the hook has been executed exactly once
ok 5 - ... hook does not influence rendered content by return value
ok 6 - Vars preserved from hooks
ok 7 - hooks added by on_plugin_import don't stop hooks being added later
1..7
ok 4 - hooks in plugins
1..4
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/4 subtests
t/psgi_app.t ...........................................
1..25
# All Apps
ok 1 - 'Got PSGI app' isa 'CODE'
ok 2 - App1 available
ok 3 - App2 available
ok 4 - App3 available
# Specific Apps by parameters
ok 5 - Took two apps from the Runner
ok 6 - 'Got PSGI app' isa 'CODE'
ok 7 - App1 available
ok 8 - App3 available
ok 9 - App2 is not available
# Specific Apps via App objects
ok 10 - 'Got PSGI app' isa 'CODE'
ok 11 - App2 available
ok 12 - App1 is not available
ok 13 - App3 is not available
# Specific apps by App names
ok 14 - 'Got PSGI app' isa 'CODE'
ok 15 - App2 is not available
ok 16 - App1 available
ok 17 - App3 available
# Specific apps by App names with regular expression, v1
ok 18 - 'Got PSGI app' isa 'CODE'
ok 19 - App2 is not available
ok 20 - App1 available
ok 21 - App3 available
# Specific apps by App names with regular expression, v2
ok 22 - 'Got PSGI app' isa 'CODE'
ok 23 - App1 is not available
ok 24 - App2 available
ok 25 - App3 available
ok
t/psgi_app_forward_and_pass.t ..........................
1..4
ok 1 - A reference of type 'CODE' isa 'CODE'
ok 2 - Simple request
ok 3 - Passing from App to App works
ok 4 - Forwarding from App to App works
ok
t/redirect.t ...........................................
# Subtest: basic redirects
ok 1 - Got app
ok 2 - [GET /] Correct code
ok 3 - [GET /] Correct content
ok 4 - [GET /] Correct content-type
ok 5 - [GET /bounce] Correct code
ok 6 - [GET /redirect] Correct code
ok 7 - Correct Location header
ok 8 - Correct X-Foo header
ok 9 - [GET /redirect_querystring] Correct code
ok 10 - Correct Location header
1..10
ok 1 - basic redirects
# Subtest: absolute and relative redirects
ok 1 - Got app
ok 2 - Correct Location header
ok 3 - Correct Location header
ok 4 - Correct Location header
1..4
ok 2 - absolute and relative redirects
# Subtest: redirect behind a proxy
ok 1 - Got app
ok 2 - behind a proxy, host() is read from X_FORWARDED_HOST
ok 3 - ... and the scheme is read from HTTP_FORWARDED_PROTO
ok 4 - ... or from X_FORWARDED_PROTOCOL
ok 5 - ... or from X_FORWARDED_PROTO
1..5
ok 3 - redirect behind a proxy
# Subtest: redirect behind multiple proxies
ok 1 - Got app
ok 2 - behind multiple proxies, host() is read from X_FORWARDED_HOST
ok 3 - ... and the scheme is read from HTTP_FORWARDED_PROTO
ok 4 - ... or from X_FORWARDED_PROTOCOL
1..4
ok 4 - redirect behind multiple proxies
1..4
ok
t/release-distmeta.t ................................... skipped: these tests are for release candidate testing
t/request.t ............................................
# Run test with XS_URL_DECODE
# Run test with XS_PARSE_QUERY_STRING
# tests for accessors
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
# tests params
ok 26
# tests cookies
ok 27 - multiple cookies extracted
ok 28
ok 29
# tests for uri_for
ok 30
ok 31
ok 32
ok 33 - uri_for returns a URI (with $dont_escape)
ok 34
ok 35
ok 36
ok 37
ok 38
# testing behind proxy
ok 39
ok 40
ok 41
# testing behind proxy when optional headers are not set
ok 42
ok 43
ok 44
# testing path, dispatch_path and uri_base
ok 45 - path corrent when empty PATH_INFO
ok 46 - uri_base correct when empty PATH_INFO
ok 47 - dispatch_path correct when empty PATH_INFO
ok 48 - path corrent when empty SCRIPT_NAME
ok 49 - uri_base handles empty SCRIPT_NAME
ok 50 - dispatch_path handles empty SCRIPT_NAME
ok 51 - path corrent when both PATH_INFO and SCRIPT_NAME set
ok 52 - uri_base correct when both PATH_INFO and SCRIPT_NAME set
ok 53 - dispatch_path correct when both PATH_INFO and SCRIPT_NAME set
ok 54 - path corrent when calculated from REQUEST_URI
ok 55 - uri_base correct when calculated from REQUEST_URI
ok 56 - dispatch_path correct when calculated from REQUEST_URI
# testing forward
ok 57 - path is /
ok 58 - method is get
ok 59 - params are parsed
ok 60 - path is changed
ok 61 - method is unchanged
ok 62 - params are not touched
ok 63 - path is changed
ok 64 - method is changed
ok 65 - params are not touched
# testing unicode params
ok 66 - multi byte unicode chars work in param keys and values
# testing private _decode not to mangle hash
ok 67 - hash not mangled
ok 68 - no warnings were issued
# Run test without XS_PARSE_QUERY_STRING
# tests for accessors
ok 69
ok 70
ok 71
ok 72
ok 73
ok 74
ok 75
ok 76
ok 77
ok 78
ok 79
ok 80
ok 81
ok 82
ok 83
ok 84
ok 85
ok 86
ok 87
ok 88
ok 89
ok 90
ok 91
ok 92
ok 93
# tests params
ok 94
# tests cookies
ok 95 - multiple cookies extracted
ok 96
ok 97
# tests for uri_for
ok 98
ok 99
ok 100
ok 101 - uri_for returns a URI (with $dont_escape)
ok 102
ok 103
ok 104
ok 105
ok 106
# testing behind proxy
ok 107
ok 108
ok 109
# testing behind proxy when optional headers are not set
ok 110
ok 111
ok 112
# testing path, dispatch_path and uri_base
ok 113 - path corrent when empty PATH_INFO
ok 114 - uri_base correct when empty PATH_INFO
ok 115 - dispatch_path correct when empty PATH_INFO
ok 116 - path corrent when empty SCRIPT_NAME
ok 117 - uri_base handles empty SCRIPT_NAME
ok 118 - dispatch_path handles empty SCRIPT_NAME
ok 119 - path corrent when both PATH_INFO and SCRIPT_NAME set
ok 120 - uri_base correct when both PATH_INFO and SCRIPT_NAME set
ok 121 - dispatch_path correct when both PATH_INFO and SCRIPT_NAME set
ok 122 - path corrent when calculated from REQUEST_URI
ok 123 - uri_base correct when calculated from REQUEST_URI
ok 124 - dispatch_path correct when calculated from REQUEST_URI
# testing forward
ok 125 - path is /
ok 126 - method is get
ok 127 - params are parsed
ok 128 - path is changed
ok 129 - method is unchanged
ok 130 - params are not touched
ok 131 - path is changed
ok 132 - method is changed
ok 133 - params are not touched
# testing unicode params
ok 134 - multi byte unicode chars work in param keys and values
# testing private _decode not to mangle hash
ok 135 - hash not mangled
ok 136 - no warnings were issued
# Run test without XS_URL_DECODE
# tests for accessors
ok 137
ok 138
ok 139
ok 140
ok 141
ok 142
ok 143
ok 144
ok 145
ok 146
ok 147
ok 148
ok 149
ok 150
ok 151
ok 152
ok 153
ok 154
ok 155
ok 156
ok 157
ok 158
ok 159
ok 160
ok 161
# tests params
ok 162
# tests cookies
ok 163 - multiple cookies extracted
ok 164
ok 165
# tests for uri_for
ok 166
ok 167
ok 168
ok 169 - uri_for returns a URI (with $dont_escape)
ok 170
ok 171
ok 172
ok 173
ok 174
# testing behind proxy
ok 175
ok 176
ok 177
# testing behind proxy when optional headers are not set
ok 178
ok 179
ok 180
# testing path, dispatch_path and uri_base
ok 181 - path corrent when empty PATH_INFO
ok 182 - uri_base correct when empty PATH_INFO
ok 183 - dispatch_path correct when empty PATH_INFO
ok 184 - path corrent when empty SCRIPT_NAME
ok 185 - uri_base handles empty SCRIPT_NAME
ok 186 - dispatch_path handles empty SCRIPT_NAME
ok 187 - path corrent when both PATH_INFO and SCRIPT_NAME set
ok 188 - uri_base correct when both PATH_INFO and SCRIPT_NAME set
ok 189 - dispatch_path correct when both PATH_INFO and SCRIPT_NAME set
ok 190 - path corrent when calculated from REQUEST_URI
ok 191 - uri_base correct when calculated from REQUEST_URI
ok 192 - dispatch_path correct when calculated from REQUEST_URI
# testing forward
ok 193 - path is /
ok 194 - method is get
ok 195 - params are parsed
ok 196 - path is changed
ok 197 - method is unchanged
ok 198 - params are not touched
ok 199 - path is changed
ok 200 - method is changed
ok 201 - params are not touched
# testing unicode params
ok 202 - multi byte unicode chars work in param keys and values
# testing private _decode not to mangle hash
ok 203 - hash not mangled
ok 204 - no warnings were issued
1..204
ok
t/request_make_forward_to.t ............................
1..1
ok 1 - Access denied to unauthorized merge
ok
t/request_upload.t .....................................
# Run test with XS_URL_DECODE
# Run test with XS_PARSE_QUERY_STRING
ok 1 - non-existent upload as array is empty
ok 2 - ... and non-existent upload as scalar is undef
ok 3 - content for first upload is ok, via 'upload'
ok 4 - ... content for second as well
ok 5 - ... content for other also good
# headers
ok 6
# type
ok 7
ok 8 - content for upload \#3 as a scalar is good, via req->upload
ok 9 - content for upload \#6 is good
ok 10
ok 11 - An object of class 'Dancer2::Core::Request::Upload' isa 'Dancer2::Core::Request::Upload'
ok 12 - filename is ok
ok 13 - file handle is defined
ok 14 - filename is accessible via params
ok 15 - file 'C:\cpanfly-5.20\var\tmp\4IhAMtoIFi\yappo6.txt' has been copied
ok 16 - hardlink 'C:\cpanfly-5.20\var\tmp\4IhAMtoIFi\hardlink' has been created
ok 17 - temp file exists while HTTP::Body lives
ok 18 # skip Win32 can't remove file/link while open, deadlock with HTTP::Body
# testing failing open for tempfile
ok 19
# Run test without XS_PARSE_QUERY_STRING
ok 20 - non-existent upload as array is empty
ok 21 - ... and non-existent upload as scalar is undef
ok 22 - content for first upload is ok, via 'upload'
ok 23 - ... content for second as well
ok 24 - ... content for other also good
# headers
ok 25
# type
ok 26
ok 27 - content for upload \#3 as a scalar is good, via req->upload
ok 28 - content for upload \#6 is good
ok 29
ok 30 - An object of class 'Dancer2::Core::Request::Upload' isa 'Dancer2::Core::Request::Upload'
ok 31 - filename is ok
ok 32 - file handle is defined
ok 33 - filename is accessible via params
ok 34 - file 'C:\cpanfly-5.20\var\tmp\IZ4BN3IjPY\yappo6.txt' has been copied
ok 35 - hardlink 'C:\cpanfly-5.20\var\tmp\IZ4BN3IjPY\hardlink' has been created
ok 36 - temp file exists while HTTP::Body lives
ok 37 # skip Win32 can't remove file/link while open, deadlock with HTTP::Body
# testing failing open for tempfile
ok 38
# Run test without XS_URL_DECODE
ok 39 - non-existent upload as array is empty
ok 40 - ... and non-existent upload as scalar is undef
ok 41 - content for first upload is ok, via 'upload'
ok 42 - ... content for second as well
ok 43 - ... content for other also good
# headers
ok 44
# type
ok 45
ok 46 - content for upload \#3 as a scalar is good, via req->upload
ok 47 - content for upload \#6 is good
ok 48
ok 49 - An object of class 'Dancer2::Core::Request::Upload' isa 'Dancer2::Core::Request::Upload'
ok 50 - filename is ok
ok 51 - file handle is defined
ok 52 - filename is accessible via params
ok 53 - file 'C:\cpanfly-5.20\var\tmp\Nxjf9NdimA\yappo6.txt' has been copied
ok 54 - hardlink 'C:\cpanfly-5.20\var\tmp\Nxjf9NdimA\hardlink' has been created
ok 55 - temp file exists while HTTP::Body lives
ok 56 # skip Win32 can't remove file/link while open, deadlock with HTTP::Body
# testing failing open for tempfile
ok 57
1..57
ok
t/response.t ...........................................
ok 1
ok 2
# content_type
ok 3
ok 4 - An object of class 'HTTP::Headers::Fast' isa 'HTTP::Headers'
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
1..17
ok
t/roles/hook.t .........................................
1..8
ok 1
ok 2
ok 3 - execute_hook needs a hook name
ok 4 - Supported hook can be installed
ok 5 - Unsupported hook cannot be installed
ok 6
ok 7 - Nonexistent hook fails
ok 8 - replaced hooks were installed and executed
ok
t/route-pod-coverage/route-pod-coverage.t ..............
# Subtest: t::lib::TestPodis pod covered
ok 1 - post /in_testpod/* is documented
ok 2 - post /me:id is documented
ok 3 - get /in_testpod is documented
ok 4 - get /hello is documented
ok 5 - get /me:id is documented
1..5
ok 1 - t::lib::TestPodis pod covered
ok 2 - my pod looks like expected
1..2
ok
[Test::App:6536] error @2016-07-09 00:27:36> Exception caught in 'core.app.before_request' filter: Hook error: Nope, Nope, Nope at t/scope_problems/dispatcher_internal_request.t line 18.
at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm line 1063. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
[Test::App:6536] error @2016-07-09 00:27:36> Route exception: Exception caught in 'core.app.before_request' filter: Hook error: Nope, Nope, Nope at t/scope_problems/dispatcher_internal_request.t line 18.
at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm line 1063.
at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Hookable.pm line 115. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
t/scope_problems/dispatcher_internal_request.t .........
ok 1 - Runner internal request cleaned up
1..1
ok
t/scope_problems/keywords_before_template_hook.t .......
# [Test::App:15172] error @2016-07-09 00:27:38> Route exception: Yes yes YES! at t/scope_problems/keywords_before_template_hook.t line 31. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
ok 1 - Got 500 response
ok 2 - with the template content
1..2
ok
[MyTestApp:9120] error @2016-07-09 00:27:40> Route exception: Hook error: V4CnbAAAI6D0TFAdB2Zo7So3OETRjbkq at t/scope_problems/session_is_cleared.t line 17.
at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Hookable.pm line 115. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
t/scope_problems/session_is_cleared.t ..................
ok 1 - /normal_route does not error
ok 2 - /route_with_renderer_error errors errors
ok 3 - /normal_route does not error
ok 4 - 3rd route does not have session value from second route
1..4
ok
[MyTestApp:13804] error @2016-07-09 00:27:41> Route exception: Hook error: 37098572 at t/scope_problems/with_return_dies.t line 19.
at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Hookable.pm line 115. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
t/scope_problems/with_return_dies.t ....................
ok 1 - /normal_route does not error
ok 2 - /route_with_renderer_error errors errors
ok 3 - /normal_route does not error
ok 4 - The 3rd request has a different with_return from the first run
ok 5 - The 3rd request has a different with_return from the second run
1..5
ok
t/serializer.t .........................................
1..5
ok 1 - Got app
ok 2 - [/json] Correct status
ok 3 - [/json] Correct content
ok 4 - [/json] Correct content-type headers
ok 5 - content-type is set correctly
ok
t/serializer_json.t ....................................
ok 1 - to_json: basic hash
ok 2 - serialize: basic hash
ok 3 - serialized content in response: basic hash
ok 4 - to_json: nested
ok 5 - serialize: nested
ok 6 - serialized content in response: nested
ok 7 - to_json: utf8
ok 8 - serialize: utf8
ok 9 - serialized content in response: utf8
1..9
ok
t/serializer_mutable.t .................................
1..41
ok 1 - Got app
# Format: yaml
ok 2 - [/yaml] Correct status
ok 3 - [/yaml] Correct content
ok 4 - [/yaml] Correct content-type headers
ok 5 - [/yaml] Correct status
ok 6 - [/yaml] Correct content
ok 7 - [/yaml] Correct content-type headers
ok 8 - [/yaml] Correct status
ok 9 - [/yaml] Correct content
ok 10 - [/yaml] Correct status
ok 11 - [/yaml] Correct content
ok 12 - [/yaml] Correct content-type headers
ok 13 - [/yaml] Correct status
ok 14 - [/yaml] Correct content
ok 15 - [/yaml] Correct content-type headers
ok 16 - [/yaml] Correct status
ok 17 - [/yaml] Correct content
# Format: json
ok 18 - [/json] Correct status
ok 19 - [/json] Correct content
ok 20 - [/json] Correct content-type headers
ok 21 - [/json] Correct status
ok 22 - [/json] Correct content
ok 23 - [/json] Correct content-type headers
ok 24 - [/json] Correct status
ok 25 - [/json] Correct content
ok 26 - [/json] Correct status
ok 27 - [/json] Correct content
ok 28 - [/json] Correct content-type headers
ok 29 - [/json] Correct status
ok 30 - [/json] Correct content
ok 31 - [/json] Correct content-type headers
ok 32 - [/json] Correct status
ok 33 - [/json] Correct content
# Format: dumper
ok 34 - [/dumper] Correct status
ok 35 - [/dumper] Correct content
ok 36 - [/dumper] Correct content-type headers
ok 37 - [/dumper] Correct status
ok 38 - [/dumper] Correct content
ok 39 - [/dumper] Correct content-type headers
ok 40 - [/dumper] Correct status
ok 41 - [/dumper] Correct content
ok
t/session_config.t .....................................
# Subtest: Set session
ok 1 - /foo/set_session/larry
ok 2 - session cookie set
ok 3 - cookie expiration is in future
ok 4 - cookie domain set
ok 5 - cookie path set
ok 6 - cookie has not set HttpOnly
1..6
ok 1 - Set session
# Subtest: Read session
ok 1 - /foo/read_session
ok 2 - session value looks good
1..2
ok 2 - Read session
1..2
ok
t/session_engines.t ....................................
# Subtest: [YAML][one] Empty session
ok 1 - empty session for client one
1..1
ok 1 - [YAML][one] Empty session
# Subtest: [YAML][one] set_session
ok 1 - set_session for client one
1..1
ok 2 - [YAML][one] set_session
# Subtest: [YAML][one] session for client
ok 1 - session looks good for client one
1..1
ok 3 - [YAML][one] session for client
# Subtest: [YAML][one] delete session
ok 1 - deleted session key
1..1
ok 4 - [YAML][one] delete session
# Subtest: [YAML][one] cleanup
ok 1 - cleanup done for one
ok 2 - session hook triggered
1..2
ok 5 - [YAML][one] cleanup
# Subtest: [YAML][two] Empty session
ok 1 - empty session for client two
1..1
ok 6 - [YAML][two] Empty session
# Subtest: [YAML][two] set_session
ok 1 - set_session for client two
1..1
ok 7 - [YAML][two] set_session
# Subtest: [YAML][two] session for client
ok 1 - session looks good for client two
1..1
ok 8 - [YAML][two] session for client
# Subtest: [YAML][two] delete session
ok 1 - deleted session key
1..1
ok 9 - [YAML][two] delete session
# Subtest: [YAML][two] cleanup
ok 1 - cleanup done for two
ok 2 - session hook triggered
1..2
ok 10 - [YAML][two] cleanup
# Subtest: [YAML][three] Empty session
ok 1 - empty session for client three
1..1
ok 11 - [YAML][three] Empty session
# Subtest: [YAML][three] set_session
ok 1 - set_session for client three
1..1
ok 12 - [YAML][three] set_session
# Subtest: [YAML][three] session for client
ok 1 - session looks good for client three
1..1
ok 13 - [YAML][three] session for client
# Subtest: [YAML][three] delete session
ok 1 - deleted session key
1..1
ok 14 - [YAML][three] delete session
# Subtest: [YAML][three] cleanup
ok 1 - cleanup done for three
ok 2 - session hook triggered
1..2
ok 15 - [YAML][three] cleanup
# Subtest: [Simple][one] Empty session
ok 1 - empty session for client one
1..1
ok 16 - [Simple][one] Empty session
# Subtest: [Simple][one] set_session
ok 1 - set_session for client one
1..1
ok 17 - [Simple][one] set_session
# Subtest: [Simple][one] session for client
ok 1 - session looks good for client one
1..1
ok 18 - [Simple][one] session for client
# Subtest: [Simple][one] delete session
ok 1 - deleted session key
1..1
ok 19 - [Simple][one] delete session
# Subtest: [Simple][one] cleanup
ok 1 - cleanup done for one
ok 2 - session hook triggered
1..2
ok 20 - [Simple][one] cleanup
# Subtest: [Simple][two] Empty session
ok 1 - empty session for client two
1..1
ok 21 - [Simple][two] Empty session
# Subtest: [Simple][two] set_session
ok 1 - set_session for client two
1..1
ok 22 - [Simple][two] set_session
# Subtest: [Simple][two] session for client
ok 1 - session looks good for client two
1..1
ok 23 - [Simple][two] session for client
# Subtest: [Simple][two] delete session
ok 1 - deleted session key
1..1
ok 24 - [Simple][two] delete session
# Subtest: [Simple][two] cleanup
ok 1 - cleanup done for two
ok 2 - session hook triggered
1..2
ok 25 - [Simple][two] cleanup
# Subtest: [Simple][three] Empty session
ok 1 - empty session for client three
1..1
ok 26 - [Simple][three] Empty session
# Subtest: [Simple][three] set_session
ok 1 - set_session for client three
1..1
ok 27 - [Simple][three] set_session
# Subtest: [Simple][three] session for client
ok 1 - session looks good for client three
1..1
ok 28 - [Simple][three] session for client
# Subtest: [Simple][three] delete session
ok 1 - deleted session key
1..1
ok 29 - [Simple][three] delete session
# Subtest: [Simple][three] cleanup
ok 1 - cleanup done for three
ok 2 - session hook triggered
1..2
ok 30 - [Simple][three] cleanup
1..30
ok
t/session_forward.t ....................................
# Subtest: Forwards within a single app
ok 1 - session value preserved after chained forwards
ok 2 - session values preserved between calls
ok 3 - session value preserved after forward from route
1..3
ok 1 - Forwards within a single app
# Subtest: Forwards between multiple apps using the same cookie name
ok 1 - session value preserved after chained forwards between apps
ok 2 - session value preserved after forward from route
1..2
ok 2 - Forwards between multiple apps using the same cookie name
# Subtest: Forwards between multiple apps using different cookie names
ok 1 - session value only from forwarded app
1..1
ok 3 - Forwards between multiple apps using different cookie names
# Subtest: Forwards between multiple apps using multiple different cookie names
ok 1 - session value only from apps with same session cookie name
1..1
ok 4 - Forwards between multiple apps using multiple different cookie names
1..4
ok
t/session_hooks.t ......................................
ok 1 - Make sure flag hash is clear
# Subtest: set_session
ok 1 - An object of class 'Dancer2::Core::Session' isa 'Dancer2::Core::Session'
ok 2 - An object of class 'Dancer2::Core::Session' isa 'Dancer2::Core::Session'
ok 3 - set_session ran ok
1..3
ok 2 - set_session
# Subtest: verify hooks for session create and session flush
ok 1 - session.before_create called
ok 2 - session.after_create called
ok 3 - session.before_flush called
ok 4 - session.after_flush called
ok 5 - session.before_retrieve not called
ok 6 - session.after_retrieve not called
ok 7 - session.before_destroy not called
ok 8 - session.after_destroy not called
1..8
ok 3 - verify hooks for session create and session flush
# Subtest: verify Handler::File (static content) does not retrieve session
ok 1 - session.before_create not called
ok 2 - session.after_create not called
ok 3 - session.before_retrieve not called
ok 4 - session.after_retrieve not called
1..4
ok 4 - verify Handler::File (static content) does not retrieve session
# Subtest: get_session
ok 1 - An object of class 'Dancer2::Core::Session' isa 'Dancer2::Core::Session'
ok 2 - Got the right session back
ok 3 - get_session ran ok
1..3
ok 5 - get_session
# Subtest: verify hooks for session retrieve
ok 1 - session.before_retrieve called
ok 2 - session.after_retrieve called
ok 3 - session.before_create not called
ok 4 - session.after_create not called
ok 5 - session.before_flush not called
ok 6 - session.after_flush not called
ok 7 - session.before_destroy not called
ok 8 - session.after_destroy not called
1..8
ok 6 - verify hooks for session retrieve
# Subtest: destroy_session
ok 1 - An object of class 'Dancer2::Core::Session' isa 'Dancer2::Core::Session'
ok 2 - destroy_session ran ok
1..2
ok 7 - destroy_session
# Subtest: verify session destroy hooks
ok 1 - session.before_destroy called
ok 2 - session.after_destroy called
ok 3 - session.before_retrieve called
ok 4 - session.after_retrieve called
ok 5 - session.before_create not called
ok 6 - session.after_create not called
ok 7 - session.before_flush not called
ok 8 - session.after_flush not called
1..8
ok 8 - verify session destroy hooks
1..8
ok
[TestApp:17940] error @2016-07-09 00:27:56> Route exception: C:\cpanfly-5.20\views\session_in_template.tt is not a regular file or reference at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
# Failed test 'Successful request'
# at t/session_in_template.t line 52.
# Failed test at t/session_in_template.t line 53.
# got: '
#
#
#
#
# Error 500 - Internal Server Error
#
#
#
#
Error 500 - Internal Server Error
#
# Wooops, something went wrong
#
#
#
#
# '
# expected: 'session.name
# '
[TestApp:17940] error @2016-07-09 00:27:56> Route exception: C:\cpanfly-5.20\views\session_in_template.tt is not a regular file or reference at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
# Failed test 'Successful request'
# at t/session_in_template.t line 67.
# Failed test at t/session_in_template.t line 68.
# got: '
#
#
#
#
# Error 500 - Internal Server Error
#
#
#
#
Error 500 - Internal Server Error
#
# Wooops, something went wrong
#
#
#
#
# '
# expected: 'session.name test_name
# '
[TestApp:17940] error @2016-07-09 00:27:56> Route exception: C:\cpanfly-5.20\views\session_in_template.tt is not a regular file or reference at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
# Failed test 'Successful request'
# at t/session_in_template.t line 67.
# Failed test at t/session_in_template.t line 68.
# got: '
#
#
#
#
# Error 500 - Internal Server Error
#
#
#
#
Error 500 - Internal Server Error
#
# Wooops, something went wrong
#
#
#
#
# '
# expected: 'session.name test_name
# '
[TestApp:17940] error @2016-07-09 00:27:56> Route exception: C:\cpanfly-5.20\views\session_in_template.tt is not a regular file or reference at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
# Failed test 'Successful request'
# at t/session_in_template.t line 79.
# Failed test at t/session_in_template.t line 80.
# got: '
#
#
#
#
# Error 500 - Internal Server Error
#
#
#
#
Error 500 - Internal Server Error
#
# Wooops, something went wrong
#
#
#
#
# '
# expected: 'session.name test_name
# '
[TestApp:17940] error @2016-07-09 00:27:56> Route exception: C:\cpanfly-5.20\views\session_in_template.tt is not a regular file or reference at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
# Failed test 'Successful request'
# at t/session_in_template.t line 91.
# Failed test at t/session_in_template.t line 92.
# got: '
#
#
#
#
# Error 500 - Internal Server Error
#
#
#
#
Error 500 - Internal Server Error
#
# Wooops, something went wrong
#
#
#
#
# '
# expected: 'session.name
# '
# Looks like you failed 10 tests of 11.
t/session_in_template.t ................................
ok 1 - Got app
not ok 2 - Successful request
not ok 3
not ok 4 - Successful request
not ok 5
not ok 6 - Successful request
not ok 7
not ok 8 - Successful request
not ok 9
not ok 10 - Successful request
not ok 11
1..11
Dubious, test returned 10 (wstat 2560, 0xa00)
Failed 10/11 subtests
t/session_lifecycle.t ..................................
# Subtest: No cookie set if session not referenced
ok 1 - /no_session_data
ok 2 - No cookie set
1..2
ok 1 - No cookie set if session not referenced
# Subtest: No empty session created if session read attempted
ok 1 - /read_session
ok 2 - No cookie set
1..2
ok 2 - No empty session created if session read attempted
# Subtest: Set value into session
ok 1 - /set_session/larry
ok 2 - Cookie set
ok 3 - Got SID from cookie
1..3
ok 3 - Set value into session
# Subtest: Read value back
ok 1 - /read_session
ok 2 - Jar cleared
ok 3 - session cookie set again
ok 4 - session value looks good
1..4
ok 4 - Read value back
# Subtest: Session cookie persists even if we do not touch sessions
ok 1 - /no_session_data
ok 2 - Jar cleared
ok 3 - session cookie set again
1..3
ok 5 - Session cookie persists even if we do not touch sessions
# Subtest: Destroy session and check that cookies expiration is set
ok 1 - /destroy_session
ok 2 - We have a cookie before reading response
ok 3 - Cookie was removed from jar
1..3
ok 6 - Destroy session and check that cookies expiration is set
# Subtest: Session cookie not sent after session destruction
ok 1 - /no_session_data
ok 2 - Jar is empty
ok 3 - Jar still empty (no new session cookie)
1..3
ok 7 - Session cookie not sent after session destruction
# Subtest: Set value into session again
ok 1 - /set_session/larry
ok 2 - session cookie set
ok 3 - New session has different ID
1..3
ok 8 - Set value into session again
# Subtest: Destroy and create a session in one request
ok 1 - /churn_session
ok 2 - session cookie set
ok 3 - Changed session has different ID
1..3
ok 9 - Destroy and create a session in one request
# Subtest: Read value back
ok 1 - /read_session
ok 2 - session cookie set
ok 3 - session value looks good
1..3
ok 10 - Read value back
1..10
ok
t/session_object.t .....................................
# Crypto strength tokens
# Subtest: session attributes
ok 1 - id is defined
ok 2 - id can be set
ok 3 - ... new value found for id
ok 4 - IDs are not the same
1..4
ok 1 - session attributes
# Subtest: 10000 session IDs and no dups
ok 1 - no duplicate ID after 10000 iterations (done 10000)
1..1
ok 2 - 10000 session IDs and no dups
1..2
ok
t/shared_engines.t .....................................
ok 1 - session is set in main
ok 2 - Got cookie
ok 3 - session is set in foo
ok 4 - the session engine in subapp is the same
1..4
ok
[Baz:16740] error @2016-07-09 00:28:03> Route exception: Failed to render template: file error - index.tt: not found at C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\blib\lib/Dancer2/Core/App.pm l. 840
# Failed test 'got template from views'
# at t/template.t line 164.
# got: '500'
# expected: '200'
# Looks like you failed 1 test of 2.
# Failed test 'modify views propagates to TT2 via dynamic INCLUDE_PATH'
# at t/template.t line 172.
# Looks like you failed 1 test of 6.
t/template.t ...........................................
ok 1 - use Dancer2::Template::TemplateToolkit;
ok 2 - An object of class 'Dancer2::Template::TemplateToolkit' isa 'Dancer2::Template::TemplateToolkit'
ok 3
# Subtest: template hooks
ok 1 - [GET /] Correct content with template hooks
ok 2 - [GET /global] Correct content with template hooks
1..2
ok 4 - template hooks
# Subtest: modify views - absolute paths
ok 1 - [GET /default_views] Correct content
ok 2 - [GET /get_views_via_settings] Correct content
1..2
ok 5 - modify views - absolute paths
# Subtest: modify views propagates to TT2 via dynamic INCLUDE_PATH
not ok 1 - got template from views
ok 2 - got template from other view
1..2
not ok 6 - modify views propagates to TT2 via dynamic INCLUDE_PATH
1..6
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/6 subtests
t/template_default_tokens.t ............................
ok 1 - Got app
ok 2 - Response contains all expected tokens
1..2
ok
t/template_ext.t .......................................
ok 1 - An object of class 'Dancer2::Template::TemplateToolkit' isa 'Dancer2::Template::TemplateToolkit'
ok 2 - Template extension is 'foo' as configured
ok 3 - view('foo') gives filename with right extension as configured
1..3
ok
t/template_name.t ......................................
ok 1 - Got app
ok 2 - template name
1..2
ok
t/template_simple.t ....................................
1..9
ok 1 - template got processed successfully
ok 2 - prototype failure detected
ok 3 - processed a template given as a scalar ref
ok 4 - object are interpolated in templates
ok 5 - code ref are interpolated in templates
ok 6 - arrayref are interpolated in templates
ok 7 - true boolean condition matched
ok 8 - false boolean condition matched
ok 9 - multiline template processed
ok
t/template_tiny/01_compile.t ...........................
1..1
ok 1 - use Dancer2::Template::Implementation::ForkedTiny;
ok
t/template_tiny/02_trivial.t ...........................
1..1
ok 1 - Trivial ok
ok
t/template_tiny/03_samples.t ...........................
1..54
ok 1 - 01_hello: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\01_hello.tt
ok 2 - 01_hello: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\01_hello.txt
ok 3 - 01_hello: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\01_hello.var
ok 4 - 01_hello: Loaded stash from file
ok 5 - An object of class 'Dancer2::Template::Implementation::ForkedTiny' isa 'Dancer2::Template::Implementation::ForkedTiny'
ok 6 - Dancer2::Template::Implementation::ForkedTiny=HASH(0xc1eb0c): Output matches expected
ok 7 - 02_null: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\02_null.tt
ok 8 - 02_null: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\02_null.txt
ok 9 - 02_null: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\02_null.var
ok 10 - 02_null: Loaded stash from file
ok 11 - An object of class 'Dancer2::Template::Implementation::ForkedTiny' isa 'Dancer2::Template::Implementation::ForkedTiny'
ok 12 - Dancer2::Template::Implementation::ForkedTiny=HASH(0xc9a7dc): Output matches expected
ok 13 - 03_chomp: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\03_chomp.tt
ok 14 - 03_chomp: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\03_chomp.txt
ok 15 - 03_chomp: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\03_chomp.var
ok 16 - 03_chomp: Loaded stash from file
ok 17 - An object of class 'Dancer2::Template::Implementation::ForkedTiny' isa 'Dancer2::Template::Implementation::ForkedTiny'
ok 18 - Dancer2::Template::Implementation::ForkedTiny=HASH(0xc9b0dc): Output matches expected
ok 19 - 04_nested: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\04_nested.tt
ok 20 - 04_nested: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\04_nested.txt
ok 21 - 04_nested: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\04_nested.var
ok 22 - 04_nested: Loaded stash from file
ok 23 - An object of class 'Dancer2::Template::Implementation::ForkedTiny' isa 'Dancer2::Template::Implementation::ForkedTiny'
ok 24 - Dancer2::Template::Implementation::ForkedTiny=HASH(0xca2994): Output matches expected
ok 25 - 05_condition: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\05_condition.tt
ok 26 - 05_condition: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\05_condition.txt
ok 27 - 05_condition: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\05_condition.var
ok 28 - 05_condition: Loaded stash from file
ok 29 - An object of class 'Dancer2::Template::Implementation::ForkedTiny' isa 'Dancer2::Template::Implementation::ForkedTiny'
ok 30 - Dancer2::Template::Implementation::ForkedTiny=HASH(0xca2e44): Output matches expected
ok 31 - 06_object: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\06_object.tt
ok 32 - 06_object: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\06_object.txt
ok 33 - 06_object: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\06_object.var
ok 34 - 06_object: Loaded stash from file
ok 35 - An object of class 'Dancer2::Template::Implementation::ForkedTiny' isa 'Dancer2::Template::Implementation::ForkedTiny'
ok 36 - Dancer2::Template::Implementation::ForkedTiny=HASH(0xca53ec): Output matches expected
ok 37 - 07_nesting: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\07_nesting.tt
ok 38 - 07_nesting: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\07_nesting.txt
ok 39 - 07_nesting: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\07_nesting.var
ok 40 - 07_nesting: Loaded stash from file
ok 41 - An object of class 'Dancer2::Template::Implementation::ForkedTiny' isa 'Dancer2::Template::Implementation::ForkedTiny'
ok 42 - Dancer2::Template::Implementation::ForkedTiny=HASH(0xca58cc): Output matches expected
ok 43 - 08_foreach: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\08_foreach.tt
ok 44 - 08_foreach: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\08_foreach.txt
ok 45 - 08_foreach: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\08_foreach.var
ok 46 - 08_foreach: Loaded stash from file
ok 47 - An object of class 'Dancer2::Template::Implementation::ForkedTiny' isa 'Dancer2::Template::Implementation::ForkedTiny'
ok 48 - Dancer2::Template::Implementation::ForkedTiny=HASH(0xca5cbc): Output matches expected
ok 49 - 09_trim: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\09_trim.tt
ok 50 - 09_trim: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\09_trim.txt
ok 51 - 09_trim: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\09_trim.var
ok 52 - 09_trim: Loaded stash from file
ok 53 - An object of class 'Dancer2::Template::Implementation::ForkedTiny' isa 'Dancer2::Template::Implementation::ForkedTiny'
ok 54 - Dancer2::Template::Implementation::ForkedTiny=HASH(0xcb222c): Output matches expected
ok
t/template_tiny/04_compat.t ............................
1..63
ok 1 - 01_hello: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\01_hello.tt
ok 2 - 01_hello: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\01_hello.txt
ok 3 - 01_hello: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\01_hello.var
ok 4 - 01_hello: Loaded stash from file
ok 5 - An object of class 'Template' isa 'Template'
ok 6 - 01_hello: ->process returns true
ok 7 - 01_hello: Output matches expected
ok 8 - 02_null: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\02_null.tt
ok 9 - 02_null: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\02_null.txt
ok 10 - 02_null: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\02_null.var
ok 11 - 02_null: Loaded stash from file
ok 12 - An object of class 'Template' isa 'Template'
ok 13 - 02_null: ->process returns true
ok 14 - 02_null: Output matches expected
ok 15 - 03_chomp: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\03_chomp.tt
ok 16 - 03_chomp: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\03_chomp.txt
ok 17 - 03_chomp: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\03_chomp.var
ok 18 - 03_chomp: Loaded stash from file
ok 19 - An object of class 'Template' isa 'Template'
ok 20 - 03_chomp: ->process returns true
ok 21 - 03_chomp: Output matches expected
ok 22 - 04_nested: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\04_nested.tt
ok 23 - 04_nested: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\04_nested.txt
ok 24 - 04_nested: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\04_nested.var
ok 25 - 04_nested: Loaded stash from file
ok 26 - An object of class 'Template' isa 'Template'
ok 27 - 04_nested: ->process returns true
ok 28 - 04_nested: Output matches expected
ok 29 - 05_condition: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\05_condition.tt
ok 30 - 05_condition: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\05_condition.txt
ok 31 - 05_condition: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\05_condition.var
ok 32 - 05_condition: Loaded stash from file
ok 33 - An object of class 'Template' isa 'Template'
ok 34 - 05_condition: ->process returns true
ok 35 - 05_condition: Output matches expected
ok 36 - 06_object: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\06_object.tt
ok 37 - 06_object: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\06_object.txt
ok 38 - 06_object: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\06_object.var
ok 39 - 06_object: Loaded stash from file
ok 40 - An object of class 'Template' isa 'Template'
ok 41 - 06_object: ->process returns true
ok 42 - 06_object: Output matches expected
ok 43 - 07_nesting: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\07_nesting.tt
ok 44 - 07_nesting: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\07_nesting.txt
ok 45 - 07_nesting: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\07_nesting.var
ok 46 - 07_nesting: Loaded stash from file
ok 47 - An object of class 'Template' isa 'Template'
ok 48 - 07_nesting: ->process returns true
ok 49 - 07_nesting: Output matches expected
ok 50 - 08_foreach: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\08_foreach.tt
ok 51 - 08_foreach: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\08_foreach.txt
ok 52 - 08_foreach: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\08_foreach.var
ok 53 - 08_foreach: Loaded stash from file
ok 54 - An object of class 'Template' isa 'Template'
ok 55 - 08_foreach: ->process returns true
ok 56 - 08_foreach: Output matches expected
ok 57 - 09_trim: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\09_trim.tt
ok 58 - 09_trim: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\09_trim.txt
ok 59 - 09_trim: Found C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6\t\template_tiny\samples\09_trim.var
ok 60 - 09_trim: Loaded stash from file
ok 61 - An object of class 'Template' isa 'Template'
ok 62 - 09_trim: ->process returns true
ok 63 - 09_trim: Output matches expected
ok
t/template_tiny/05_preparse.t ..........................
1..6
ok 1 - Simple IF
ok 2 - ->proprocess does not modify original template variable
ok 3 - Simple UNLESS
ok 4 - ->proprocess does not modify original template variable
ok 5 - Simple FOREACH
ok 6 - ->proprocess does not modify original template variable
ok
t/time.t ...............................................
# Subtest: Expression: "1h"
ok 1 - "1h" is 3600 seconds
ok 2 - ... its epoch is 1355679844
ok 3 - ... and its GMT string is Sun, 16-Dec-2012 17:44:04 GMT
1..3
ok 1 - Expression: "1h"
# Subtest: Expression: "1 hour"
ok 1 - "1 hour" is 3600 seconds
ok 2 - ... its epoch is 1355679844
ok 3 - ... and its GMT string is Sun, 16-Dec-2012 17:44:04 GMT
1..3
ok 2 - Expression: "1 hour"
# Subtest: Expression: "+1 hour"
ok 1 - "+1 hour" is 3600 seconds
ok 2 - ... its epoch is 1355679844
ok 3 - ... and its GMT string is Sun, 16-Dec-2012 17:44:04 GMT
1..3
ok 3 - Expression: "+1 hour"
# Subtest: Expression: "-1h"
ok 1 - "-1h" is -3600 seconds
ok 2 - ... its epoch is 1355672644
ok 3 - ... and its GMT string is Sun, 16-Dec-2012 15:44:04 GMT
1..3
ok 4 - Expression: "-1h"
# Subtest: Expression: "1 hours"
ok 1 - "1 hours" is 3600 seconds
ok 2 - ... its epoch is 1355679844
ok 3 - ... and its GMT string is Sun, 16-Dec-2012 17:44:04 GMT
1..3
ok 5 - Expression: "1 hours"
# Subtest: Expression: "1d"
ok 1 - "1d" is 86400 seconds
ok 2 - ... its epoch is 1355762644
ok 3 - ... and its GMT string is Mon, 17-Dec-2012 16:44:04 GMT
1..3
ok 6 - Expression: "1d"
# Subtest: Expression: "1 day"
ok 1 - "1 day" is 86400 seconds
ok 2 - ... its epoch is 1355762644
ok 3 - ... and its GMT string is Mon, 17-Dec-2012 16:44:04 GMT
1..3
ok 7 - Expression: "1 day"
# Subtest: Forcing another epoch in the object should work
ok 1 - ...1h is still 3600 seconds
ok 2 - ... epoch is 1
ok 3 - ... and is expressed as Thu, 01-Jan-1970 00:00:01 GMT
1..3
ok 8 - Forcing another epoch in the object should work
# Subtest: unparsable strings should be kept
ok 1 - "something silly" is something silly seconds
ok 2 - ... its epoch is something silly
ok 3 - ... and its GMT string is something silly
ok 4 - "+2 something" is +2 something seconds
ok 5 - ... its epoch is +2 something
ok 6 - ... and its GMT string is +2 something
1..6
ok 9 - unparsable strings should be kept
1..9
ok
t/types.t ..............................................
1..51
ok 1 - Str does not accept undef value
ok 2 - Str
ok 3 - Str
ok 4 - Num
ok 5 - Num does not accept undef value
ok 6 - Num fail
ok 7 - Bool true value
ok 8 - Bool false value
ok 9 - Bool does accepts undef value
ok 10 - Bool fail
ok 11 - Regexp
ok 12 - Regexp fail
ok 13 - Regexp does not accept undef value
ok 14 - HashRef
ok 15 - HashRef fail
ok 16 - HashRef does not accept undef value
ok 17 - ArrayRef
ok 18 - ArrayRef fail
ok 19 - ArrayRef does not accept undef value
ok 20 - CodeRef
ok 21 - CodeRef fail
ok 22 - CodeRef does not accept undef value
ok 23 - InstanceOf
ok 24 - InstanceOf fail
ok 25 - InstanceOf does not accept undef value
ok 26 - Dancer2Prefix
ok 27 - Dancer2Prefix fail
ok 28 - Dancer2Prefix does not accept undef value
ok 29 - Dancer2AppName
ok 30 - Dancer2AppName
ok 31 - Dancer2AppName
ok 32 - Dancer2AppName fails with single colons
ok 33 - Dancer2AppName fails with tripe colons
ok 34 - Dancer2AppName fails with beginning number
ok 35 - Dancer2AppName fails with beginning number
ok 36 - Dancer2AppName fails with special character
ok 37 - Dancer2AppName fails with special character
ok 38 - Dancer2AppName fails with special character
ok 39 - Dancer2AppName does not accept undef value
ok 40 - Dancer2AppName fails an empty string value
ok 41 - Dancer2Method
ok 42 - Dancer2Method fail
ok 43 - Dancer2Method does not accept undef value
ok 44 - Dancer2HTTPMethod
ok 45 - Dancer2HTTPMethod fail
ok 46 - Dancer2Method does not accept undef value
ok 47 - Hook does not accept undef value
ok 48 - Hook does not Core::Error as value
ok 49 - Hook
ok 50 - ReadableFilePath
ok 51 - ReadableFilePath
ok
t/uri_for.t ............................................
ok 1 - Got app
ok 2 - /foo code okay
ok 3 - uri_for works as expected
1..3
ok
t/vars.t ...............................................
1..3
ok 1 - Got app
ok 2 - foo
ok 3 - ugh
ok
Test Summary Report
-------------------
t/auto_page.t (Wstat: 512 Tests: 2 Failed: 2)
Failed tests: 1-2
Non-zero exit status: 2
t/file_utils.t (Wstat: 512 Tests: 12 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 25 tests but ran 12.
t/issues/gh-1013/gh-1013.t (Wstat: 512 Tests: 3 Failed: 2)
Failed tests: 2-3
Non-zero exit status: 2
t/issues/gh-1046/gh-1046.t (Wstat: 256 Tests: 1 Failed: 1)
Failed test: 1
Non-zero exit status: 1
t/issues/gh-650/gh-650.t (Wstat: 1024 Tests: 5 Failed: 4)
Failed tests: 2-5
Non-zero exit status: 4
t/logger.t (Wstat: 256 Tests: 5 Failed: 1)
Failed test: 3
Non-zero exit status: 1
t/plugin_syntax.t (Wstat: 256 Tests: 4 Failed: 1)
Failed test: 1
Non-zero exit status: 1
t/session_in_template.t (Wstat: 2560 Tests: 11 Failed: 10)
Failed tests: 2-11
Non-zero exit status: 10
t/template.t (Wstat: 256 Tests: 6 Failed: 1)
Failed test: 6
Non-zero exit status: 1
Files=151, Tests=1652, 244 wallclock secs ( 0.52 usr + 0.09 sys = 0.61 CPU)
Result: FAIL
Failed 9/151 test programs. 22/1652 subtests failed.
dmake: Error code 255, while making 'test_dynamic'
XSAWYERX/Dancer2-0.200002.tar.gz
dmake test TEST_VERBOSE=1 -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports XSAWYERX/Dancer2-0.200002.tar.gz
Running test for module 'Dancer2'
XSAWYERX/Dancer2-0.200002.tar.gz
Has already been unwrapped into directory C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6
XSAWYERX/Dancer2-0.200002.tar.gz
Has already been prepared
XSAWYERX/Dancer2-0.200002.tar.gz
Has already been made
XSAWYERX/Dancer2-0.200002.tar.gz
Won't repeat unsuccessful test during this command
Running test for module 'Dancer2::Core::Role::SessionFactory'
XSAWYERX/Dancer2-0.200002.tar.gz
Has already been unwrapped into directory C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-0.200002-fKlWH6
XSAWYERX/Dancer2-0.200002.tar.gz
Has already been prepared
XSAWYERX/Dancer2-0.200002.tar.gz
Has already been made
XSAWYERX/Dancer2-0.200002.tar.gz
Won't repeat unsuccessful test during this command
YANICK/Dancer2-Session-Memcached-0.004.tar.gz
Has already been unwrapped into directory C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-Session-Memcached-0.004-cp8ehf
YANICK/Dancer2-Session-Memcached-0.004.tar.gz
Has already been prepared
Running make for Y/YA/YANICK/Dancer2-Session-Memcached-0.004.tar.gz
Warning: Prerequisite 'Dancer2 => 0.15000' for 'YANICK/Dancer2-Session-Memcached-0.004.tar.gz' failed when processing 'XSAWYERX/Dancer2-0.200002.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'Dancer2::Core::Types => 0' for 'YANICK/Dancer2-Session-Memcached-0.004.tar.gz' failed when processing 'XSAWYERX/Dancer2-0.200002.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'Dancer2::Core::Role::SessionFactory => 0' for 'YANICK/Dancer2-Session-Memcached-0.004.tar.gz' failed when processing 'XSAWYERX/Dancer2-0.200002.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'Cache::Memcached => 0' for 'YANICK/Dancer2-Session-Memcached-0.004.tar.gz' failed when processing 'DORMANDO/Cache-Memcached-1.30.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited.
>>> dmake
cp lib/Dancer2/Session/Memcached.pm blib\lib\Dancer2\Session\Memcached.pm
cp README.pod blib\lib\Dancer2\Session\README.pod
YANICK/Dancer2-Session-Memcached-0.004.tar.gz
dmake -- OK
Running make test
>>> dmake test TEST_VERBOSE=1
"C:\Perl-5.20\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t
#
# Versions for all modules listed in MYMETA.json (including optional ones):
#
# === Configure Requires ===
#
# Module Want Have
# ------------------- ---- ----
# ExtUtils::MakeMaker 6.17 7.04
#
# === Build Requires ===
#
# Module Want Have
# ------------------- ---- ----
# ExtUtils::MakeMaker any 7.04
#
# === Test Requires ===
#
# Module Want Have
# --------------------- ------- --------
# Dancer2 0.15000 missing
# ExtUtils::MakeMaker any 7.04
# File::Spec any 3.62
# File::Temp 0.22 0.2304
# HTTP::Cookies any 6.01
# HTTP::Date any 6.02
# HTTP::Request::Common any 6.11
# JSON any 2.90
# Plack::Test any undef
# Test::More any 1.001009
#
# === Test Recommends ===
#
# Module Want Have
# ---------- -------- --------
# CPAN::Meta 2.120900 2.150005
#
# === Runtime Requires ===
#
# Module Want Have
# ----------------------------------- ------- --------
# Cache::Memcached any missing
# Carp any 1.38
# Dancer2 0.15000 missing
# Dancer2::Core::Role::SessionFactory any missing
# Dancer2::Core::Types any missing
# Moo any 2.002004
# strict any 1.08
# warnings any 1.23
#
#
# *** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***
#
# The following REQUIRED prerequisites were not satisfied:
#
# Dancer2 is not installed (version '0.15000' required)
# Cache::Memcached is not installed (any version required)
# Dancer2 is not installed (version '0.15000' required)
# Dancer2::Core::Role::SessionFactory is not installed (any version required)
# Dancer2::Core::Types is not installed (any version required)
#
t/00-report-prereqs.t ..
1..1
ok 1
ok
Can't locate Cache/Memcached.pm in @INC (you may need to install the Cache::Memcached module) (@INC contains: C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-Session-Memcached-0.004-cp8ehf\blib\lib C:\cpanfly-5.20\var\tmp\cpan_build\Dancer2-Session-Memcached-0.004-cp8ehf\blib\arch C:/cpanfly-5.20/var/megalib C:/cpanfly-5.20/var/megalib C:/Perl-5.20/site/lib C:/Perl-5.20/lib .) at t/basic.t line 11.
BEGIN failed--compilation aborted at t/basic.t line 11.
t/basic.t ..............
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
Test Summary Report
-------------------
t/basic.t (Wstat: 512 Tests: 0 Failed: 0)
Non-zero exit status: 2
Parse errors: No plan found in TAP output
Files=2, Tests=1, 1 wallclock secs ( 0.08 usr + 0.00 sys = 0.08 CPU)
Result: FAIL
Failed 1/2 test programs. 0/1 subtests failed.
dmake: Error code 130, while making 'test_dynamic'
YANICK/Dancer2-Session-Memcached-0.004.tar.gz
4 dependencies missing (Dancer2::Core::Types,Dancer2,Dancer2::Core::Role::SessionFactory,Cache::Memcached); additionally test harness failed
dmake test TEST_VERBOSE=1 -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports YANICK/Dancer2-Session-Memcached-0.004.tar.gz
Finished 2016-07-09T00:28:23