PATH=C:\cpanfly-5.20-64\var\megalib\bin;C:\Perl64-5.20\site\bin;C:\Perl64-5.20\bin;C:\MinGW-64\bin;C:\cygwin\bin;C:\instantclient_11_2-64;C:\cpanfly-5.20-64\var\megalib\bin;C:\Perl64-5.20\site\bin;C:\Perl64-5.20\bin;C:\MinGW-64\bin;C:\cygwin\bin;C:\instantclient_11_2-64;C:\p4;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Program Files (x86)\CMake\bin Start 2016-05-15T12:54:15 ActivePerl-2003 CPAN-2.10 PATH=C:/CPANFL~1.20-/var/libs/bin;C:\CPANFL~1.20-\var\megalib\bin;C:\Perl64-5.20\site\bin;C:\Perl64-5.20\bin;C:\MinGW-64\bin;C:\cygwin\bin;C:\INSTAN~1;C:\CPANFL~1.20-\var\megalib\bin;C:\Perl64-5.20\site\bin;C:\Perl64-5.20\bin;C:\MinGW-64\bin;C:\cygwin\bin;C:\INSTAN~1;C:\p4;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WINDOW~1\v1.0\;C:\PROGRA~1\Git\cmd;C:\PROGRA~2\CMake\bin Reading 'C:\cpanfly-5.20-64\var\cpan\Metadata' Database was generated on Sun, 15 May 2016 04:29:02 GMT Fetching with LWP: http://ppm.activestate.com/CPAN/authors/id/E/ET/ETHER/Task-Kensho-WebDev-0.39.tar.gz Checksum for C:\cpanfly-5.20-64\var\cpan\sources\authors\id\E\ET\ETHER\Task-Kensho-WebDev-0.39.tar.gz ok Task-Kensho-WebDev-0.39/ Task-Kensho-WebDev-0.39/Build.PL Task-Kensho-WebDev-0.39/Changes Task-Kensho-WebDev-0.39/lib/ Task-Kensho-WebDev-0.39/LICENSE Task-Kensho-WebDev-0.39/Makefile.PL Task-Kensho-WebDev-0.39/MANIFEST Task-Kensho-WebDev-0.39/META.json Task-Kensho-WebDev-0.39/META.yml Task-Kensho-WebDev-0.39/README Task-Kensho-WebDev-0.39/t/ Task-Kensho-WebDev-0.39/xt/ Task-Kensho-WebDev-0.39/xt/author/ Task-Kensho-WebDev-0.39/xt/release/ Task-Kensho-WebDev-0.39/xt/release/changes_has_content.t Task-Kensho-WebDev-0.39/xt/release/cpan-changes.t Task-Kensho-WebDev-0.39/xt/release/distmeta.t Task-Kensho-WebDev-0.39/xt/release/minimum-version.t Task-Kensho-WebDev-0.39/xt/release/portability.t Task-Kensho-WebDev-0.39/xt/author/00-compile.t Task-Kensho-WebDev-0.39/xt/author/clean-namespaces.t Task-Kensho-WebDev-0.39/xt/author/eol.t Task-Kensho-WebDev-0.39/xt/author/kwalitee.t Task-Kensho-WebDev-0.39/xt/author/mojibake.t Task-Kensho-WebDev-0.39/xt/author/no-tabs.t Task-Kensho-WebDev-0.39/xt/author/pod-coverage.t Task-Kensho-WebDev-0.39/xt/author/pod-spell.t Task-Kensho-WebDev-0.39/xt/author/pod-syntax.t Task-Kensho-WebDev-0.39/t/00-report-prereqs.dd Task-Kensho-WebDev-0.39/t/00-report-prereqs.t Task-Kensho-WebDev-0.39/lib/Task/ Task-Kensho-WebDev-0.39/lib/Task/Kensho/ Task-Kensho-WebDev-0.39/lib/Task/Kensho/WebDev.pm Configuring E/ET/ETHER/Task-Kensho-WebDev-0.39.tar.gz with Makefile.PL >>> C:\Perl64-5.20\bin\perl.exe Makefile.PL Warning: prerequisite Dancer2 0 not found. Warning: prerequisite Task::Catalyst 0 not found. Checking if your kit is complete... Looks good Have \cpanfl~1.20-\var\megalib Want \perl64-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-x64-multi-thread] 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 Task::Kensho::WebDev Writing MYMETA.yml and MYMETA.json ETHER/Task-Kensho-WebDev-0.39.tar.gz C:\Perl64-5.20\bin\perl.exe Makefile.PL -- OK Running make for E/ET/ETHER/Task-Kensho-WebDev-0.39.tar.gz ---- Unsatisfied dependencies detected during ---- ---- ETHER/Task-Kensho-WebDev-0.39.tar.gz ---- Dancer2 [requires] Task::Catalyst [requires] Running test for module 'Dancer2' Checksum for C:\cpanfly-5.20-64\var\cpan\sources\authors\id\X\XS\XSAWYERX\Dancer2-0.166001.tar.gz ok Dancer2-0.166001/ Dancer2-0.166001/Makefile.PL Dancer2-0.166001/t/ Dancer2-0.166001/t/template_tiny/ Dancer2-0.166001/t/template_tiny/04_compat.t Dancer2-0.166001/t/template_tiny/03_samples.t Dancer2-0.166001/t/template_tiny/05_preparse.t Dancer2-0.166001/t/template_tiny/01_compile.t Dancer2-0.166001/t/template_tiny/samples/ Dancer2-0.166001/t/template_tiny/samples/09_trim.txt Dancer2-0.166001/t/template_tiny/samples/01_hello.var Dancer2-0.166001/t/template_tiny/samples/05_condition.txt Dancer2-0.166001/t/template_tiny/samples/02_null.txt Dancer2-0.166001/t/template_tiny/samples/06_object.tt Dancer2-0.166001/t/template_tiny/samples/05_condition.var Dancer2-0.166001/t/template_tiny/samples/03_chomp.tt Dancer2-0.166001/t/template_tiny/samples/09_trim.var Dancer2-0.166001/t/template_tiny/samples/07_nesting.tt Dancer2-0.166001/t/template_tiny/samples/08_foreach.txt Dancer2-0.166001/t/template_tiny/samples/03_chomp.var Dancer2-0.166001/t/template_tiny/samples/05_condition.tt Dancer2-0.166001/t/template_tiny/samples/02_null.var Dancer2-0.166001/t/template_tiny/samples/08_foreach.tt Dancer2-0.166001/t/template_tiny/samples/06_object.txt Dancer2-0.166001/t/template_tiny/samples/04_nested.tt Dancer2-0.166001/t/template_tiny/samples/07_nesting.txt Dancer2-0.166001/t/template_tiny/samples/09_trim.tt Dancer2-0.166001/t/template_tiny/samples/06_object.var Dancer2-0.166001/t/template_tiny/samples/04_nested.var Dancer2-0.166001/t/template_tiny/samples/01_hello.txt Dancer2-0.166001/t/template_tiny/samples/04_nested.txt Dancer2-0.166001/t/template_tiny/samples/02_null.tt Dancer2-0.166001/t/template_tiny/samples/08_foreach.var Dancer2-0.166001/t/template_tiny/samples/01_hello.tt Dancer2-0.166001/t/template_tiny/samples/07_nesting.var Dancer2-0.166001/t/template_tiny/samples/03_chomp.txt Dancer2-0.166001/t/template_tiny/02_trivial.t Dancer2-0.166001/t/scope_problems/ Dancer2-0.166001/t/scope_problems/with_return_dies.t Dancer2-0.166001/t/scope_problems/keywords_before_template_hook.t Dancer2-0.166001/t/scope_problems/views/ Dancer2-0.166001/t/scope_problems/views/500.tt Dancer2-0.166001/t/scope_problems/session_is_cleared.t Dancer2-0.166001/t/scope_problems/config.yml Dancer2-0.166001/t/scope_problems/dispatcher_internal_request.t Dancer2-0.166001/t/author-no-tabs.t Dancer2-0.166001/t/cookie.t Dancer2-0.166001/t/custom_dsl.t Dancer2-0.166001/t/file_utils.t Dancer2-0.166001/t/release-distmeta.t Dancer2-0.166001/t/route-pod-coverage/ Dancer2-0.166001/t/route-pod-coverage/route-pod-coverage.t Dancer2-0.166001/t/uri_for.t Dancer2-0.166001/t/http_methods.t Dancer2-0.166001/t/plugin_register.t Dancer2-0.166001/t/caller.t Dancer2-0.166001/t/types.t Dancer2-0.166001/t/template_default_tokens.t Dancer2-0.166001/t/template.t Dancer2-0.166001/t/classes/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-Engine/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-Engine/with.t Dancer2-0.166001/t/classes/Dancer2-Core-Response/ Dancer2-0.166001/t/classes/Dancer2-Core-Response/new_from.t Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/with.t Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerFile/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerFile/fakescript.pl Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerFile/.dancer Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/bin/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/bin/.exists Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/blib/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/blib/bin/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/blib/bin/.exists Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/blib/lib/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/blib/lib/fakescript.pl Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/lib/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/lib/fake/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/lib/fake/inner/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/lib/fake/inner/dir/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-HasLocation/FakeDancerDir/lib/fake/inner/dir/.exists Dancer2-0.166001/t/classes/Dancer2-Core-Role-Handler/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-Handler/with.t Dancer2-0.166001/t/classes/Dancer2-Core-Route/ Dancer2-0.166001/t/classes/Dancer2-Core-Route/base.t Dancer2-0.166001/t/classes/Dancer2-Core-Route/match.t Dancer2-0.166001/t/classes/Dancer2-Core-Route/deprecated_param_keys.t Dancer2-0.166001/t/classes/Dancer2-Core-Runner/ Dancer2-0.166001/t/classes/Dancer2-Core-Runner/environment.t Dancer2-0.166001/t/classes/Dancer2-Core-Runner/new.t Dancer2-0.166001/t/classes/Dancer2-Core-Runner/psgi_app.t Dancer2-0.166001/t/classes/Dancer2-Core-Role-Serializer/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-Serializer/with.t Dancer2-0.166001/t/classes/Dancer2-Core-Response-Delayed/ Dancer2-0.166001/t/classes/Dancer2-Core-Response-Delayed/after_hooks.t Dancer2-0.166001/t/classes/Dancer2-Core-Response-Delayed/new.t Dancer2-0.166001/t/classes/Dancer2-Core-Factory/ Dancer2-0.166001/t/classes/Dancer2-Core-Factory/new.t Dancer2-0.166001/t/classes/Dancer2-Core-Hook/ Dancer2-0.166001/t/classes/Dancer2-Core-Hook/new.t Dancer2-0.166001/t/classes/Dancer2/ Dancer2-0.166001/t/classes/Dancer2/import-pragmas.t Dancer2-0.166001/t/classes/Dancer2/import.t Dancer2-0.166001/t/classes/Dancer2-Core/ Dancer2-0.166001/t/classes/Dancer2-Core/camelize.t Dancer2-0.166001/t/classes/Dancer2-Core-Request/ Dancer2-0.166001/t/classes/Dancer2-Core-Request/serializers.t Dancer2-0.166001/t/classes/Dancer2-Core-Request/new.t Dancer2-0.166001/t/classes/Dancer2-Core-Role-StandardResponses/ Dancer2-0.166001/t/classes/Dancer2-Core-Role-StandardResponses/with.t Dancer2-0.166001/t/session_config.t Dancer2-0.166001/t/mime.t Dancer2-0.166001/t/context-in-before.t Dancer2-0.166001/t/request_upload.t Dancer2-0.166001/t/public/ Dancer2-0.166001/t/public/file.txt Dancer2-0.166001/t/serializer_mutable.t Dancer2-0.166001/t/corpus/ Dancer2-0.166001/t/corpus/pretty_public/ Dancer2-0.166001/t/corpus/pretty_public/404.html Dancer2-0.166001/t/corpus/pretty_public/510.html Dancer2-0.166001/t/corpus/pretty/ Dancer2-0.166001/t/corpus/pretty/relative.tt Dancer2-0.166001/t/corpus/pretty/505.tt Dancer2-0.166001/t/corpus/static/ Dancer2-0.166001/t/corpus/static/index.html Dancer2-0.166001/t/corpus/static/1x1.png Dancer2-0.166001/t/config_settings.t Dancer2-0.166001/t/session_engines.t Dancer2-0.166001/t/dancer-test/ Dancer2-0.166001/t/dancer-test/config.yml Dancer2-0.166001/t/template_simple.t Dancer2-0.166001/t/dsl.t Dancer2-0.166001/t/forward.t Dancer2-0.166001/t/error.t Dancer2-0.166001/t/views/ Dancer2-0.166001/t/views/tokens.tt Dancer2-0.166001/t/views/folder/ Dancer2-0.166001/t/views/folder/page.tt Dancer2-0.166001/t/views/session_in_template.tt Dancer2-0.166001/t/views/index.tt Dancer2-0.166001/t/views/beforetemplate.tt Dancer2-0.166001/t/views/layouts/ Dancer2-0.166001/t/views/layouts/main.tt Dancer2-0.166001/t/views/template_simple_index.tt Dancer2-0.166001/t/views/auto_page.tt Dancer2-0.166001/t/dispatcher.t Dancer2-0.166001/t/redirect.t Dancer2-0.166001/t/time.t Dancer2-0.166001/t/issues/ Dancer2-0.166001/t/issues/gh-936/ Dancer2-0.166001/t/issues/gh-936/views/ Dancer2-0.166001/t/issues/gh-936/views/error.tt Dancer2-0.166001/t/issues/gh-762.t Dancer2-0.166001/t/issues/gh-811.t Dancer2-0.166001/t/issues/gh-931.t Dancer2-0.166001/t/issues/gh-797.t Dancer2-0.166001/t/issues/gh-794.t Dancer2-0.166001/t/issues/gh-596.t Dancer2-0.166001/t/issues/memleak/ Dancer2-0.166001/t/issues/memleak/die_in_hooks.t Dancer2-0.166001/t/issues/gh-936.t Dancer2-0.166001/t/issues/gh-1070.t Dancer2-0.166001/t/issues/gh-799.t Dancer2-0.166001/t/issues/gh-762/ Dancer2-0.166001/t/issues/gh-762/views/ Dancer2-0.166001/t/issues/gh-762/views/404.tt Dancer2-0.166001/t/issues/gh-723.t Dancer2-0.166001/t/issues/config.yml Dancer2-0.166001/t/issues/gh-634.t Dancer2-0.166001/t/issues/gh-639/ Dancer2-0.166001/t/issues/gh-639/succeeds/ Dancer2-0.166001/t/issues/gh-639/succeeds/issue.t Dancer2-0.166001/t/issues/gh-639/succeeds/.dancer Dancer2-0.166001/t/issues/gh-639/succeeds/config.yml Dancer2-0.166001/t/issues/gh-639/fails/ Dancer2-0.166001/t/issues/gh-639/fails/issue.t Dancer2-0.166001/t/issues/gh-639/fails/.dancer Dancer2-0.166001/t/issues/gh-639/fails/config.yml Dancer2-0.166001/t/issues/gh-730.t Dancer2-0.166001/t/issues/gh-650/ Dancer2-0.166001/t/issues/gh-650/views/ Dancer2-0.166001/t/issues/gh-650/views/environment_setting.tt Dancer2-0.166001/t/issues/gh-650/gh-650.t Dancer2-0.166001/t/issues/gh-1013/ Dancer2-0.166001/t/issues/gh-1013/gh-1013.t Dancer2-0.166001/t/issues/gh-1013/views/ Dancer2-0.166001/t/issues/gh-1013/views/t.tt Dancer2-0.166001/t/issues/gh-1098.t Dancer2-0.166001/t/issues/gh-944.t Dancer2-0.166001/t/sessions/ Dancer2-0.166001/t/sessions/VZnjPwAAO6k9bW5FauLnPe6HtecLdTl7.yml Dancer2-0.166001/t/sessions/VZnjPwAAO6k-BdDf7U1asyu8L3IiwLPH.yml Dancer2-0.166001/t/sessions/VZnfBAAAM1uzNFM805U0WYIBH6g9O9sP.yml Dancer2-0.166001/t/sessions/Vg064wAAJ9laQxRh3IZuFLenkVBgIk9I.yml Dancer2-0.166001/t/sessions/Vg064wAAJ9kplKAlXLoTRgcwpA4SHS7p.yml Dancer2-0.166001/t/sessions/VZnjPwAAO6mvnV4jszDm0R5-aWeczZvi.yml Dancer2-0.166001/t/sessions/Vg04TQAAIh5Z2I-GTU_wKFHO4feGKLE_.yml Dancer2-0.166001/t/sessions/VZnmcwAAQCxW6LW-ZL8Xt8U8jJfvzYQE.yml Dancer2-0.166001/t/sessions/VZnmcwAAQCzAiy3r3BF_Y9nl17qh9xWZ.yml Dancer2-0.166001/t/sessions/VZnfBAAAM1vX474E7L8-IKj6yGKXydT6.yml Dancer2-0.166001/t/sessions/Vg064wAAJ9kQ4eZCIrRZYn2MHmDG9gdR.yml Dancer2-0.166001/t/sessions/Vg04TQAAIh5ip4atDSSzR5k8O0kUe8xe.yml Dancer2-0.166001/t/sessions/Vg04TQAAIh6p0AWJuzbIW1SGm4EYmG3M.yml Dancer2-0.166001/t/sessions/VZnfBAAAM1tKFkfDZ4IUwyKrWceQJRkE.yml Dancer2-0.166001/t/sessions/Vg04TQAAIh5f8_rJkoZU-jF0X0Ju1tUT.yml Dancer2-0.166001/t/sessions/Vg064wAAJ9kOJP85EngBszwmwHbWlNSI.yml Dancer2-0.166001/t/sessions/Vg064wAAJ9kdprsPF4Sv3csep-q5vNcS.yml Dancer2-0.166001/t/sessions/Vg064wAAJ9lUqjejJGWqSsvCik0IMkXR.yml Dancer2-0.166001/t/sessions/Vg04TQAAIh6LD69zbMVWaoqIU23Crkdm.yml Dancer2-0.166001/t/sessions/Vg04TQAAIh7D5x7ePVh0dCf2cIkxpaxw.yml Dancer2-0.166001/t/sessions/VZnmcwAAQCzZczgTm1OVACmWHKa_8Ba3.yml Dancer2-0.166001/t/session_forward.t Dancer2-0.166001/t/plugin_import.t Dancer2-0.166001/t/shared_engines.t Dancer2-0.166001/t/00-compile.t Dancer2-0.166001/t/psgi_app_forward_and_pass.t Dancer2-0.166001/t/vars.t Dancer2-0.166001/t/lib/ Dancer2-0.166001/t/lib/Hookee.pm Dancer2-0.166001/t/lib/Foo.pm Dancer2-0.166001/t/lib/MyDancerDSL.pm Dancer2-0.166001/t/lib/SubApp1.pm Dancer2-0.166001/t/lib/App2.pm Dancer2-0.166001/t/lib/SubApp2.pm Dancer2-0.166001/t/lib/EmptyPlugin.pm Dancer2-0.166001/t/lib/DancerPlugin.pm Dancer2-0.166001/t/lib/FooPlugin.pm Dancer2-0.166001/t/lib/TestApp.pm Dancer2-0.166001/t/lib/TestPod.pm Dancer2-0.166001/t/lib/OnPluginImport.pm Dancer2-0.166001/t/lib/App1.pm Dancer2-0.166001/t/lib/PluginWithImport.pm Dancer2-0.166001/t/serializer_json.t Dancer2-0.166001/t/session_hooks.t Dancer2-0.166001/t/roles/ Dancer2-0.166001/t/roles/hook.t Dancer2-0.166001/t/app_alone.t Dancer2-0.166001/t/forward_before_hook.t Dancer2-0.166001/t/deserialize.t Dancer2-0.166001/t/serializer.t Dancer2-0.166001/t/config/ Dancer2-0.166001/t/config/environments/ Dancer2-0.166001/t/config/environments/failure.yml Dancer2-0.166001/t/config/environments/production.yml Dancer2-0.166001/t/config/environments/merging.yml Dancer2-0.166001/t/config/environments/staging.json Dancer2-0.166001/t/config/config.yml Dancer2-0.166001/t/plugin_multiple_apps.t Dancer2-0.166001/t/response.t Dancer2-0.166001/t/multi_apps_forward.t Dancer2-0.166001/t/template_ext.t Dancer2-0.166001/t/logger_console.t Dancer2-0.166001/t/session_lifecycle.t Dancer2-0.166001/t/request.t Dancer2-0.166001/t/request_make_forward_to.t Dancer2-0.166001/t/config.yml Dancer2-0.166001/t/dancer-test.t Dancer2-0.166001/t/00-report-prereqs.t Dancer2-0.166001/t/log_levels.t Dancer2-0.166001/t/session_object.t Dancer2-0.166001/t/app.t Dancer2-0.166001/t/http_status.t Dancer2-0.166001/t/engine.t Dancer2-0.166001/t/dsl/ Dancer2-0.166001/t/dsl/error_template.t Dancer2-0.166001/t/dsl/delayed.t Dancer2-0.166001/t/dsl/halt_with_param.t Dancer2-0.166001/t/dsl/halt.t Dancer2-0.166001/t/dsl/any.t Dancer2-0.166001/t/dsl/send_file.t Dancer2-0.166001/t/dsl/to_app.t Dancer2-0.166001/t/dsl/extend.t Dancer2-0.166001/t/dsl/pass.t Dancer2-0.166001/t/dsl/route_retvals.t Dancer2-0.166001/t/dsl/content.t Dancer2-0.166001/t/dsl/app.t Dancer2-0.166001/t/dsl/splat.t Dancer2-0.166001/t/dsl/extend_config/ Dancer2-0.166001/t/dsl/extend_config/config.yml Dancer2-0.166001/t/dsl/path.t Dancer2-0.166001/t/dsl/parameters.t Dancer2-0.166001/t/config_multiapp.t Dancer2-0.166001/t/app/ Dancer2-0.166001/t/app/t1/ Dancer2-0.166001/t/app/t1/bin/ Dancer2-0.166001/t/app/t1/bin/app.psgi Dancer2-0.166001/t/app/t1/lib/ Dancer2-0.166001/t/app/t1/lib/App1.pm Dancer2-0.166001/t/app/t1/lib/Sub/ Dancer2-0.166001/t/app/t1/lib/Sub/App2.pm Dancer2-0.166001/t/app/t1/config.yml Dancer2-0.166001/t/app/t2/ Dancer2-0.166001/t/app/t2/lib/ Dancer2-0.166001/t/app/t2/lib/App3.pm Dancer2-0.166001/t/app/t2/.dancer Dancer2-0.166001/t/app/t2/config.yml Dancer2-0.166001/t/plugin_syntax.t Dancer2-0.166001/t/log_die_before_hook.t Dancer2-0.166001/t/00-report-prereqs.dd Dancer2-0.166001/t/auto_page.t Dancer2-0.166001/t/template_name.t Dancer2-0.166001/t/named_apps.t Dancer2-0.166001/t/logger.t Dancer2-0.166001/t/hooks.t Dancer2-0.166001/t/forward_test_tcp.t Dancer2-0.166001/t/charset_server.t Dancer2-0.166001/t/factory.t Dancer2-0.166001/t/multi_apps.t Dancer2-0.166001/t/memory_cycles.t Dancer2-0.166001/t/psgi_app.t Dancer2-0.166001/t/multiapp_template_hooks.t Dancer2-0.166001/t/session_in_template.t Dancer2-0.166001/t/author-pod-syntax.t Dancer2-0.166001/t/config_reader.t Dancer2-0.166001/LICENSE Dancer2-0.166001/META.json Dancer2-0.166001/xt/ Dancer2-0.166001/xt/perltidy.rc Dancer2-0.166001/xt/whitespace.t Dancer2-0.166001/xt/perlcritic.rc Dancer2-0.166001/META.yml Dancer2-0.166001/script/ Dancer2-0.166001/script/dancer2 Dancer2-0.166001/GitGuide.md Dancer2-0.166001/Changes Dancer2-0.166001/lib/ Dancer2-0.166001/lib/Dancer2/ Dancer2-0.166001/lib/Dancer2/FileUtils.pm Dancer2-0.166001/lib/Dancer2/Manual.pod Dancer2-0.166001/lib/Dancer2/Core.pm Dancer2-0.166001/lib/Dancer2/Serializer/ Dancer2-0.166001/lib/Dancer2/Serializer/Dumper.pm Dancer2-0.166001/lib/Dancer2/Serializer/YAML.pm Dancer2-0.166001/lib/Dancer2/Serializer/Mutable.pm Dancer2-0.166001/lib/Dancer2/Serializer/JSON.pm Dancer2-0.166001/lib/Dancer2/Logger/ Dancer2-0.166001/lib/Dancer2/Logger/Capture/ Dancer2-0.166001/lib/Dancer2/Logger/Capture/Trap.pm Dancer2-0.166001/lib/Dancer2/Logger/Capture.pm Dancer2-0.166001/lib/Dancer2/Logger/Null.pm Dancer2-0.166001/lib/Dancer2/Logger/Console.pm Dancer2-0.166001/lib/Dancer2/Logger/Diag.pm Dancer2-0.166001/lib/Dancer2/Logger/File.pm Dancer2-0.166001/lib/Dancer2/Logger/Note.pm Dancer2-0.166001/lib/Dancer2/Config.pod Dancer2-0.166001/lib/Dancer2/CLI.pm Dancer2-0.166001/lib/Dancer2/CLI/ Dancer2-0.166001/lib/Dancer2/CLI/Command/ Dancer2-0.166001/lib/Dancer2/CLI/Command/version.pm Dancer2-0.166001/lib/Dancer2/CLI/Command/gen.pm Dancer2-0.166001/lib/Dancer2/Test.pm Dancer2-0.166001/lib/Dancer2/Session/ Dancer2-0.166001/lib/Dancer2/Session/YAML.pm Dancer2-0.166001/lib/Dancer2/Session/Simple.pm Dancer2-0.166001/lib/Dancer2/Plugin.pm Dancer2-0.166001/lib/Dancer2/Template/ Dancer2-0.166001/lib/Dancer2/Template/Tiny.pm Dancer2-0.166001/lib/Dancer2/Template/Implementation/ Dancer2-0.166001/lib/Dancer2/Template/Implementation/ForkedTiny.pm Dancer2-0.166001/lib/Dancer2/Template/Simple.pm Dancer2-0.166001/lib/Dancer2/Template/TemplateToolkit.pm Dancer2-0.166001/lib/Dancer2/Cookbook.pod Dancer2-0.166001/lib/Dancer2/Handler/ Dancer2-0.166001/lib/Dancer2/Handler/AutoPage.pm Dancer2-0.166001/lib/Dancer2/Handler/File.pm Dancer2-0.166001/lib/Dancer2/Manual/ Dancer2-0.166001/lib/Dancer2/Manual/Migration.pod Dancer2-0.166001/lib/Dancer2/Manual/Testing.pod Dancer2-0.166001/lib/Dancer2/Manual/Deployment.pod Dancer2-0.166001/lib/Dancer2/Tutorial.pod Dancer2-0.166001/lib/Dancer2/Plugins.pod Dancer2-0.166001/lib/Dancer2/Policy.pod Dancer2-0.166001/lib/Dancer2/Core/ Dancer2-0.166001/lib/Dancer2/Core/Runner.pm Dancer2-0.166001/lib/Dancer2/Core/Route.pm Dancer2-0.166001/lib/Dancer2/Core/Dispatcher.pm Dancer2-0.166001/lib/Dancer2/Core/Session.pm Dancer2-0.166001/lib/Dancer2/Core/Factory.pm Dancer2-0.166001/lib/Dancer2/Core/Response/ Dancer2-0.166001/lib/Dancer2/Core/Response/Delayed.pm Dancer2-0.166001/lib/Dancer2/Core/DSL.pm Dancer2-0.166001/lib/Dancer2/Core/Role/ Dancer2-0.166001/lib/Dancer2/Core/Role/Template.pm Dancer2-0.166001/lib/Dancer2/Core/Role/Hookable.pm Dancer2-0.166001/lib/Dancer2/Core/Role/ConfigReader.pm Dancer2-0.166001/lib/Dancer2/Core/Role/DSL.pm Dancer2-0.166001/lib/Dancer2/Core/Role/Serializer.pm Dancer2-0.166001/lib/Dancer2/Core/Role/HasLocation.pm Dancer2-0.166001/lib/Dancer2/Core/Role/Handler.pm Dancer2-0.166001/lib/Dancer2/Core/Role/SessionFactory/ Dancer2-0.166001/lib/Dancer2/Core/Role/SessionFactory/File.pm Dancer2-0.166001/lib/Dancer2/Core/Role/Engine.pm Dancer2-0.166001/lib/Dancer2/Core/Role/Logger.pm Dancer2-0.166001/lib/Dancer2/Core/Role/SessionFactory.pm Dancer2-0.166001/lib/Dancer2/Core/Role/StandardResponses.pm Dancer2-0.166001/lib/Dancer2/Core/Cookie.pm Dancer2-0.166001/lib/Dancer2/Core/Types.pm Dancer2-0.166001/lib/Dancer2/Core/HTTP.pm Dancer2-0.166001/lib/Dancer2/Core/Request/ Dancer2-0.166001/lib/Dancer2/Core/Request/Upload.pm Dancer2-0.166001/lib/Dancer2/Core/Response.pm Dancer2-0.166001/lib/Dancer2/Core/Request.pm Dancer2-0.166001/lib/Dancer2/Core/MIME.pm Dancer2-0.166001/lib/Dancer2/Core/Error.pm Dancer2-0.166001/lib/Dancer2/Core/App.pm Dancer2-0.166001/lib/Dancer2/Core/Hook.pm Dancer2-0.166001/lib/Dancer2/Core/Time.pm Dancer2-0.166001/lib/Dancer2.pm Dancer2-0.166001/share/ Dancer2-0.166001/share/skel/ Dancer2-0.166001/share/skel/Makefile.PL Dancer2-0.166001/share/skel/t/ Dancer2-0.166001/share/skel/t/002_index_route.t Dancer2-0.166001/share/skel/t/001_base.t Dancer2-0.166001/share/skel/cpanfile Dancer2-0.166001/share/skel/bin/ Dancer2-0.166001/share/skel/bin/+app.psgi Dancer2-0.166001/share/skel/MANIFEST.SKIP Dancer2-0.166001/share/skel/public/ Dancer2-0.166001/share/skel/public/404.html Dancer2-0.166001/share/skel/public/javascripts/ Dancer2-0.166001/share/skel/public/javascripts/jquery.js Dancer2-0.166001/share/skel/public/favicon.ico Dancer2-0.166001/share/skel/public/+dispatch.fcgi Dancer2-0.166001/share/skel/public/images/ Dancer2-0.166001/share/skel/public/images/perldancer-bg.jpg Dancer2-0.166001/share/skel/public/images/perldancer.jpg Dancer2-0.166001/share/skel/public/500.html Dancer2-0.166001/share/skel/public/+dispatch.cgi Dancer2-0.166001/share/skel/public/css/ Dancer2-0.166001/share/skel/public/css/style.css Dancer2-0.166001/share/skel/public/css/error.css Dancer2-0.166001/share/skel/views/ Dancer2-0.166001/share/skel/views/index.tt Dancer2-0.166001/share/skel/views/layouts/ Dancer2-0.166001/share/skel/views/layouts/main.tt Dancer2-0.166001/share/skel/lib/ Dancer2-0.166001/share/skel/lib/AppFile.pm Dancer2-0.166001/share/skel/.dancer Dancer2-0.166001/share/skel/environments/ Dancer2-0.166001/share/skel/environments/production.yml Dancer2-0.166001/share/skel/environments/development.yml Dancer2-0.166001/share/skel/config.yml Dancer2-0.166001/MANIFEST Dancer2-0.166001/AUTHORS Configuring X/XS/XSAWYERX/Dancer2-0.166001.tar.gz with Makefile.PL >>> C:\Perl64-5.20\bin\perl.exe Makefile.PL Checking if your kit is complete... Looks good Have \cpanfl~1.20-\var\megalib Want \perl64-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-x64-multi-thread] 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.166001.tar.gz C:\Perl64-5.20\bin\perl.exe Makefile.PL -- OK Running make for X/XS/XSAWYERX/Dancer2-0.166001.tar.gz >>> dmake cp share\skel\config.yml blib\lib\auto\share\dist\Dancer2\skel\config.yml cp share\skel\public\images\perldancer-bg.jpg blib\lib\auto\share\dist\Dancer2\skel\public\images\perldancer-bg.jpg cp share\skel\public\+dispatch.cgi blib\lib\auto\share\dist\Dancer2\skel\public\+dispatch.cgi cp share\skel\environments\production.yml blib\lib\auto\share\dist\Dancer2\skel\environments\production.yml cp share\skel\public\404.html blib\lib\auto\share\dist\Dancer2\skel\public\404.html cp share\skel\public\500.html blib\lib\auto\share\dist\Dancer2\skel\public\500.html cp share\skel\bin\+app.psgi blib\lib\auto\share\dist\Dancer2\skel\bin\+app.psgi cp share\skel\public\css\error.css blib\lib\auto\share\dist\Dancer2\skel\public\css\error.css cp share\skel\lib\AppFile.pm blib\lib\auto\share\dist\Dancer2\skel\lib\AppFile.pm 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\.dancer blib\lib\auto\share\dist\Dancer2\skel\.dancer cp share\skel\views\index.tt blib\lib\auto\share\dist\Dancer2\skel\views\index.tt cp share\skel\Makefile.PL blib\lib\auto\share\dist\Dancer2\skel\Makefile.PL cp share\skel\public\+dispatch.fcgi blib\lib\auto\share\dist\Dancer2\skel\public\+dispatch.fcgi cp share\skel\public\javascripts\jquery.js blib\lib\auto\share\dist\Dancer2\skel\public\javascripts\jquery.js cp share\skel\MANIFEST.SKIP blib\lib\auto\share\dist\Dancer2\skel\MANIFEST.SKIP cp share\skel\cpanfile blib\lib\auto\share\dist\Dancer2\skel\cpanfile cp share\skel\public\favicon.ico blib\lib\auto\share\dist\Dancer2\skel\public\favicon.ico cp share\skel\public\css\style.css blib\lib\auto\share\dist\Dancer2\skel\public\css\style.css cp share\skel\environments\development.yml blib\lib\auto\share\dist\Dancer2\skel\environments\development.yml cp share\skel\public\images\perldancer.jpg blib\lib\auto\share\dist\Dancer2\skel\public\images\perldancer.jpg cp share\skel\t\002_index_route.t blib\lib\auto\share\dist\Dancer2\skel\t\002_index_route.t cp lib/Dancer2/Core/Error.pm blib\lib\Dancer2\Core\Error.pm cp lib/Dancer2/Core/Hook.pm blib\lib\Dancer2\Core\Hook.pm cp lib/Dancer2/CLI/Command/gen.pm blib\lib\Dancer2\CLI\Command\gen.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/Response.pm blib\lib\Dancer2\Core\Response.pm cp lib/Dancer2/CLI.pm blib\lib\Dancer2\CLI.pm cp lib/Dancer2/Core/Request.pm blib\lib\Dancer2\Core\Request.pm cp lib/Dancer2/Core/Cookie.pm blib\lib\Dancer2\Core\Cookie.pm cp lib/Dancer2/Core.pm blib\lib\Dancer2\Core.pm cp lib/Dancer2/Config.pod blib\lib\Dancer2\Config.pod cp lib/Dancer2/Core/HTTP.pm blib\lib\Dancer2\Core\HTTP.pm cp lib/Dancer2/Core/MIME.pm blib\lib\Dancer2\Core\MIME.pm cp lib/Dancer2/Core/Factory.pm blib\lib\Dancer2\Core\Factory.pm cp lib/Dancer2/Cookbook.pod blib\lib\Dancer2\Cookbook.pod cp lib/Dancer2/Core/Response/Delayed.pm blib\lib\Dancer2\Core\Response\Delayed.pm cp lib/Dancer2/Core/Dispatcher.pm blib\lib\Dancer2\Core\Dispatcher.pm cp lib/Dancer2/Core/Request/Upload.pm blib\lib\Dancer2\Core\Request\Upload.pm cp lib/Dancer2.pm blib\lib\Dancer2.pm cp lib/Dancer2/Core/DSL.pm blib\lib\Dancer2\Core\DSL.pm cp lib/Dancer2/Core/Types.pm blib\lib\Dancer2\Core\Types.pm cp lib/Dancer2/Core/Role/Handler.pm blib\lib\Dancer2\Core\Role\Handler.pm cp lib/Dancer2/Core/Role/ConfigReader.pm blib\lib\Dancer2\Core\Role\ConfigReader.pm cp lib/Dancer2/Core/Runner.pm blib\lib\Dancer2\Core\Runner.pm cp lib/Dancer2/Core/Time.pm blib\lib\Dancer2\Core\Time.pm cp lib/Dancer2/Core/Role/SessionFactory/File.pm blib\lib\Dancer2\Core\Role\SessionFactory\File.pm cp lib/Dancer2/Core/Role/SessionFactory.pm blib\lib\Dancer2\Core\Role\SessionFactory.pm cp lib/Dancer2/Core/Role/StandardResponses.pm blib\lib\Dancer2\Core\Role\StandardResponses.pm cp lib/Dancer2/Core/Role/Template.pm blib\lib\Dancer2\Core\Role\Template.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/Route.pm blib\lib\Dancer2\Core\Route.pm cp lib/Dancer2/Core/Role/Logger.pm blib\lib\Dancer2\Core\Role\Logger.pm cp lib/Dancer2/Core/Role/Hookable.pm blib\lib\Dancer2\Core\Role\Hookable.pm cp lib/Dancer2/Core/Role/Serializer.pm blib\lib\Dancer2\Core\Role\Serializer.pm cp lib/Dancer2/Core/Role/DSL.pm blib\lib\Dancer2\Core\Role\DSL.pm cp lib/Dancer2/Core/Role/HasLocation.pm blib\lib\Dancer2\Core\Role\HasLocation.pm cp lib/Dancer2/Logger/Null.pm blib\lib\Dancer2\Logger\Null.pm cp lib/Dancer2/Logger/Capture.pm blib\lib\Dancer2\Logger\Capture.pm cp lib/Dancer2/FileUtils.pm blib\lib\Dancer2\FileUtils.pm cp lib/Dancer2/Logger/Console.pm blib\lib\Dancer2\Logger\Console.pm cp lib/Dancer2/Manual/Migration.pod blib\lib\Dancer2\Manual\Migration.pod cp lib/Dancer2/Logger/Note.pm blib\lib\Dancer2\Logger\Note.pm cp lib/Dancer2/Handler/AutoPage.pm blib\lib\Dancer2\Handler\AutoPage.pm cp lib/Dancer2/Plugin.pm blib\lib\Dancer2\Plugin.pm cp lib/Dancer2/Logger/Capture/Trap.pm blib\lib\Dancer2\Logger\Capture\Trap.pm cp lib/Dancer2/Policy.pod blib\lib\Dancer2\Policy.pod cp lib/Dancer2/Manual/Deployment.pod blib\lib\Dancer2\Manual\Deployment.pod cp lib/Dancer2/Logger/File.pm blib\lib\Dancer2\Logger\File.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/Logger/Diag.pm blib\lib\Dancer2\Logger\Diag.pm cp lib/Dancer2/Plugins.pod blib\lib\Dancer2\Plugins.pod cp lib/Dancer2/Manual/Testing.pod blib\lib\Dancer2\Manual\Testing.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/Template/Implementation/ForkedTiny.pm blib\lib\Dancer2\Template\Implementation\ForkedTiny.pm cp lib/Dancer2/Template/TemplateToolkit.pm blib\lib\Dancer2\Template\TemplateToolkit.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/YAML.pm blib\lib\Dancer2\Session\YAML.pm cp lib/Dancer2/Test.pm blib\lib\Dancer2\Test.pm cp lib/Dancer2/Serializer/Mutable.pm blib\lib\Dancer2\Serializer\Mutable.pm cp lib/Dancer2/Session/Simple.pm blib\lib\Dancer2\Session\Simple.pm cp lib/Dancer2/Template/Simple.pm blib\lib\Dancer2\Template\Simple.pm "C:\Perl64-5.20\bin\perl.exe" -MExtUtils::Command -e cp -- script/dancer2 blib\script\dancer2 pl2bat.bat blib\script\dancer2 XSAWYERX/Dancer2-0.166001.tar.gz dmake -- OK Running make test >>> dmake test TEST_VERBOSE=1 Skip blib\lib\auto\share\dist\Dancer2\skel\public\css\error.css (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\config.yml (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\lib\AppFile.pm (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\Makefile.PL (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\public\images\perldancer-bg.jpg (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\public\500.html (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\bin\+app.psgi (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\.dancer (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\views\layouts\main.tt (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\views\index.tt (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\t\001_base.t (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\public\404.html (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\environments\production.yml (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\public\+dispatch.cgi (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\public\javascripts\jquery.js (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\environments\development.yml (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\public\images\perldancer.jpg (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\public\favicon.ico (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\public\+dispatch.fcgi (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\cpanfile (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\MANIFEST.SKIP (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\public\css\style.css (unchanged) Skip blib\lib\auto\share\dist\Dancer2\skel\t\002_index_route.t (unchanged) "C:\Perl64-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-639/fails/*.t t/issues/gh-639/succeeds/*.t t/issues/gh-650/*.t t/issues/memleak/*.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.36 # 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.001014 # 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 # Class::Load any 0.23 # Config::Any any 0.27 # Digest::SHA any 5.95 # Encode any 2.78 # Exporter 5.57 5.72 # File::Basename any 2.85 # File::Copy any 2.30 # 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 # Import::Into any 1.002005 # JSON any 2.90 # MIME::Base64 3.13 3.15 # Moo 2.000000 2.001001 # Moo::Role any 2.001001 # MooX::Types::MooseLike any 0.29 # 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 # Template::Tiny any 1.12 # 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.32 # Pod::Simple::SimpleTree any 3.32 # Scope::Upper any 0.28 # Test::Builder any 1.001014 # Test::More any 1.001014 # URL::Encode::XS any 0.03 # # === Runtime Suggests === # # Module Want Have # --------------- ---- ---- # Class::Load::XS any 0.09 # 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:2960] error @2016-05-15 12:54:58> 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-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm line 971. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 526 [main:2960] error @2016-05-15 12:54:58> 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-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm line 971. at C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Role/Hookable.pm line 115. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 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 64. # got: '404' # expected: '200' # Failed test '[GET /file.txt] Correct content' # at t/auto_page.t line 65. # got: ' # # # # # Error 404 - Not Found # # # #

Error 404 - Not Found

#
# /file.txt #
# # # # ' # expected: 'this is a public file # ' # Failed test 'public served file as correct mime' # at t/auto_page.t line 71. # 'text/html' # doesn't match '(?^:text/plain)' # Looks like you failed 3 tests of 9. # Failed test 'autopage with template tiny' # at t/auto_page.t line 24. # Failed test 'found file on public with autopage' # at t/auto_page.t line 64. # got: '404' # expected: '200' # Failed test '[GET /file.txt] Correct content' # at t/auto_page.t line 65. # got: ' # # # # # Error 404 - Not Found # # # #

Error 404 - Not Found

#
# /file.txt #
# # # # ' # expected: 'this is a public file # ' # Failed test 'public served file as correct mime' # at t/auto_page.t line 71. # 'text/html' # doesn't match '(?^:text/plain)' # Looks like you failed 3 tests of 9. # Failed test 'autopage with template template_toolkit' # at t/auto_page.t line 24. # 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 - Autopage found the page under a folder ok 4 - ...with proper content ok 5 - Autopage doesnt try to render nonexistent pages ok 6 - Layouts are not served not ok 7 - found file on public with autopage not ok 8 - [GET /file.txt] Correct content not ok 9 - public served file as correct mime 1..9 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 - Autopage found the page under a folder ok 4 - ...with proper content ok 5 - Autopage doesnt try to render nonexistent pages ok 6 - Layouts are not served not ok 7 - found file on public with autopage not ok 8 - [GET /file.txt] Correct content not ok 9 - public served file as correct mime 1..9 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 - protocol derived from SERVER_PROTOCOL ok 25 - port derived from SERVER_PORT ok 26 - script_name derived from SCRIPT_NAME ok 27 - request_uri derived from REQUEST_URI ok 28 - user derived from REMOTE_USER ok 29 - address derived from REMOTE_ADDR ok 30 - remote_host derived from REMOTE_HOST 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..73 ok 1 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 2 - got expected data for '/' ok 3 - got expected result for '/' ok 4 - dont match failing request ok 5 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 6 - got expected data for '/failure' ok 7 - got expected result for '/failure' ok 8 - dont match failing request ok 9 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 10 - got expected data for '/hello/sukria' ok 11 - got expected result for '/hello/sukria' ok 12 - dont match failing request ok 13 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 14 - got expected data for '/hello/' ok 15 - got expected result for '/hello/' ok 16 - dont match failing request ok 17 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 18 - got expected data for '/forum/' ok 19 - got expected result for '/forum/' ok 20 - dont match failing request ok 21 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 22 - got expected data for '/forum/' ok 23 - got expected result for '/forum/' ok 24 - dont match failing request ok 25 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 26 - got expected data for '/forum/mywebsite' ok 27 - got expected result for '/forum/mywebsite' ok 28 - dont match failing request ok 29 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 30 - got expected data for '/' ok 31 - got expected result for '/' ok 32 - dont match failing request ok 33 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 34 - got expected data for '/hello/sukria' ok 35 - got expected result for '/hello/sukria' ok 36 - dont match failing request ok 37 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 38 - got expected data for '/hello/sukria/' ok 39 - got expected result for '/hello/sukria/' ok 40 - dont match failing request ok 41 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 42 - got expected data for '/file/dist.ini' ok 43 - got expected result for '/file/dist.ini' ok 44 - dont match failing request ok 45 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 46 - got expected data for '/forum/dancer' ok 47 - got expected result for '/forum/dancer' ok 48 - dont match failing request ok 49 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 50 - got expected data for '/file/some/where/42' ok 51 - got expected result for '/file/some/where/42' ok 52 - dont match failing request ok 53 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 54 - got expected data for '/some/where/to/run/and/hide' ok 55 - got expected result for '/some/where/to/run/and/hide' ok 56 - dont match failing request ok 57 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 58 - got expected data for '/some/one/to/say/boo/' ok 59 - got expected result for '/some/one/to/say/boo/' ok 60 - dont match failing request ok 61 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 62 - got expected data for '/stuff48' ok 63 - got expected result for '/stuff48' ok 64 - dont match failing request ok 65 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 66 - got expected data for '/foo/stuff48' ok 67 - got expected result for '/foo/stuff48' ok 68 - dont match failing request ok 69 - named captures work # routes with options ok 70 - Route did not match ok 71 - Route matched ok 72 - More options - Route did not match - test 1 ok 73 - 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 - test camelized as Test ok 2 - class_NAME camelized as ClassNAME ok 3 - class_nAME camelized as ClassNAME 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(0x4dd238) exists ok 7 - route Dancer2::Core::Request=HASH(0x515300) 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(0x4dd238) ok 18 - response_content_is with Dancer2::Core::Request=HASH(0x515300) ok 19 - response_content_is with Dancer2::Core::Response=HASH(0x3ce25a0) ok 20 - response_content_isnt with /foo ok 21 - response_content_isnt with ARRAY(0x4dd238) ok 22 - response_content_isnt with Dancer2::Core::Request=HASH(0x515300) ok 23 - response_content_isnt with Dancer2::Core::Response=HASH(0x3ce25a0) 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 - didnt enter the second filter, because of halt ok t/dsl.t ................................................ ok 1 - Got app ok 2 - GET / correct content ok 3 - POST / correct content 1..3 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/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 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:3672] error @2016-05-15 12:55:48> Route exception: oh no in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 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-64/var/cpan/build/Dancer2-0.166001-W8bpDA/C:/cpanfly-5.20-64/var/tmp/XXXXXXXXXX: Parent directory (C:/cpanfly-5.20-64/var/cpan/build/Dancer2-0.166001-W8bpDA/C:/cpanfly-5.20-64/var/tmp/) does not exist at t/file_utils.t line 51. # Looks like you planned 20 tests but ran 7. # Looks like your test exited with 2 just after 7. t/file_utils.t ......................................... 1..20 ok 1 - Failure opening nonexistent file ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 Dubious, test returned 2 (wstat 512, 0x200) Failed 13/20 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 1..23 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 - PATCH / ok 3 - PUT / ok 4 - DELETE / ok 5 - POST / ok 6 - GET / ok 7 - OPTIONS / 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:3908] error @2016-05-15 12:55:56> Route exception: Can't open 'C:\cpanfly-5.20-64\views\t.tt' using mode '<' at C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Template/Simple.pm line 31. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 # 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 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:1136] error @2016-05-15 12:56:03> Route exception: Failed to render template: file error - environment_setting.tt: not found at C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 # 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:1136] error @2016-05-15 12:56:03> Route exception: Failed to render template: file error - environment_setting.tt: not found at C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 # 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:2152] core @2016-05-15 12:56:08> Failed to deserialize the request: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "invalid") at C:/cpanfly-5.20-64/var/megalib/JSON.pm line 171. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Request.pm l. 202 t/issues/gh-794.t ...................................... 1..2 ok 1 - Correct JSON content in POST ok 2 - Failed to decode invalid content ok [App:3504] core @2016-05-15 12:56:09> Failed to deserialize the request: 'false' expected, at character offset 0 (before "foo=bar") at C:/cpanfly-5.20-64/var/megalib/JSON.pm line 171. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Request.pm l. 202 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/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(0x29fd6e8) # $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 4. 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 file ok 1 1..1 ok 4 - logger file 1..4 Dubious, test returned 1 (wstat 256, 0x100) Failed 1/4 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 unkown 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/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 - cant 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 45. # got: '{}' # expected: '{"plugin":"42"}' # Looks like you failed 1 test of 5. # Failed test 'global and route keywords' # at t/plugin_syntax.t line 57. # 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 dont 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-64\var\tmp\oRlIdoNkAs\yappo6.txt' has been copied ok 16 - hardlink 'C:\cpanfly-5.20-64\var\tmp\oRlIdoNkAs\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-64\var\tmp\dnQlmcTeIM\yappo6.txt' has been copied ok 35 - hardlink 'C:\cpanfly-5.20-64\var\tmp\dnQlmcTeIM\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-64\var\tmp\y9Su6ItDGM\yappo6.txt' has been copied ok 54 - hardlink 'C:\cpanfly-5.20-64\var\tmp\y9Su6ItDGM\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:2052] error @2016-05-15 12:56:41> 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-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm line 971. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 526 [Test::App:2052] error @2016-05-15 12:56:41> 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-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm line 971. at C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Role/Hookable.pm line 115. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 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:1816] error @2016-05-15 12:56:42> Route exception: Yes yes YES! at t/scope_problems/keywords_before_template_hook.t line 31. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 ok 1 - Got 500 response ok 2 - with the template content 1..2 ok [MyTestApp:1468] error @2016-05-15 12:56:44> Route exception: Hook error: VzjUfAAABbw3XezRdpylplr8e4HMoCVK at t/scope_problems/session_is_cleared.t line 17. at C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Role/Hookable.pm line 115. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 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:3776] error @2016-05-15 12:56:45> Route exception: Hook error: 79603816 at t/scope_problems/with_return_dies.t line 19. at C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Role/Hookable.pm line 115. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 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: dumper ok 18 - [/dumper] Correct status ok 19 - [/dumper] Correct content ok 20 - [/dumper] Correct content-type headers ok 21 - [/dumper] Correct status ok 22 - [/dumper] Correct content ok 23 - [/dumper] Correct content-type headers ok 24 - [/dumper] Correct status ok 25 - [/dumper] Correct content # Format: json 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 ok 34 - [/json] Correct status ok 35 - [/json] Correct content ok 36 - [/json] Correct content-type headers ok 37 - [/json] Correct status ok 38 - [/json] Correct content ok 39 - [/json] Correct content-type headers ok 40 - [/json] Correct status ok 41 - [/json] 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:168] error @2016-05-15 12:56:55> Route exception: C:\cpanfly-5.20-64\views\session_in_template.tt is not a regular file or reference at C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 # 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:168] error @2016-05-15 12:56:55> Route exception: C:\cpanfly-5.20-64\views\session_in_template.tt is not a regular file or reference at C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 # 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:168] error @2016-05-15 12:56:55> Route exception: C:\cpanfly-5.20-64\views\session_in_template.tt is not a regular file or reference at C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 # 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:168] error @2016-05-15 12:56:55> Route exception: C:\cpanfly-5.20-64\views\session_in_template.tt is not a regular file or reference at C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 # 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:168] error @2016-05-15 12:56:55> Route exception: C:\cpanfly-5.20-64\views\session_in_template.tt is not a regular file or reference at C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 # 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:2568] error @2016-05-15 12:57:00> Route exception: Failed to render template: file error - index.tt: not found at C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/Role/Template.pm line 132. in C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\blib\lib/Dancer2/Core/App.pm l. 1288 # Failed test 'got template from views' # at t/template.t line 156. # got: '500' # expected: '200' # Looks like you failed 1 test of 2. # Failed test 'modify views propogates to TT2 via dynamic INCLUDE_PATH' # at t/template.t line 164. # 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 1..1 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 propogates 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 propogates 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-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\01_hello.tt ok 2 - 01_hello: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\01_hello.txt ok 3 - 01_hello: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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(0x28a28c8): Output matches expected ok 7 - 02_null: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\02_null.tt ok 8 - 02_null: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\02_null.txt ok 9 - 02_null: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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(0x28ab118): Output matches expected ok 13 - 03_chomp: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\03_chomp.tt ok 14 - 03_chomp: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\03_chomp.txt ok 15 - 03_chomp: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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(0x28aba18): Output matches expected ok 19 - 04_nested: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\04_nested.tt ok 20 - 04_nested: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\04_nested.txt ok 21 - 04_nested: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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(0x28ac818): Output matches expected ok 25 - 05_condition: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\05_condition.tt ok 26 - 05_condition: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\05_condition.txt ok 27 - 05_condition: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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(0x28aed20): Output matches expected ok 31 - 06_object: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\06_object.tt ok 32 - 06_object: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\06_object.txt ok 33 - 06_object: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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(0x28af3b0): Output matches expected ok 37 - 07_nesting: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\07_nesting.tt ok 38 - 07_nesting: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\07_nesting.txt ok 39 - 07_nesting: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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(0x28af890): Output matches expected ok 43 - 08_foreach: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\08_foreach.tt ok 44 - 08_foreach: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\08_foreach.txt ok 45 - 08_foreach: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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(0x28afc80): Output matches expected ok 49 - 09_trim: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\09_trim.tt ok 50 - 09_trim: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\09_trim.txt ok 51 - 09_trim: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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(0x28b00f0): Output matches expected ok t/template_tiny/04_compat.t ............................ 1..63 ok 1 - 01_hello: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\01_hello.tt ok 2 - 01_hello: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\01_hello.txt ok 3 - 01_hello: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\02_null.tt ok 9 - 02_null: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\02_null.txt ok 10 - 02_null: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\03_chomp.tt ok 16 - 03_chomp: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\03_chomp.txt ok 17 - 03_chomp: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\04_nested.tt ok 23 - 04_nested: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\04_nested.txt ok 24 - 04_nested: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\05_condition.tt ok 30 - 05_condition: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\05_condition.txt ok 31 - 05_condition: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\06_object.tt ok 37 - 06_object: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\06_object.txt ok 38 - 06_object: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\07_nesting.tt ok 44 - 07_nesting: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\07_nesting.txt ok 45 - 07_nesting: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\08_foreach.tt ok 51 - 08_foreach: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\08_foreach.txt ok 52 - 08_foreach: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\09_trim.tt ok 58 - 09_trim: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\t\template_tiny\samples\09_trim.txt ok 59 - 09_trim: Found C:\cpanfly-5.20-64\var\cpan\build\Dancer2-0.166001-W8bpDA\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..46 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 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: 7 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 20 tests but ran 7. 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-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: 4 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=137, Tests=1549, 150 wallclock secs ( 0.83 usr + 0.22 sys = 1.04 CPU) Result: FAIL Failed 8/137 test programs. 21/1549 subtests failed. dmake: Error code 255, while making 'test_dynamic' XSAWYERX/Dancer2-0.166001.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.166001.tar.gz Running test for module 'Task::Catalyst' Checksum for C:\cpanfly-5.20-64\var\cpan\sources\authors\id\B\BO\BOBTFISH\Task-Catalyst-4.02.tar.gz ok Task-Catalyst-4.02 Task-Catalyst-4.02/README Task-Catalyst-4.02/Changes Task-Catalyst-4.02/LICENSE Task-Catalyst-4.02/dist.ini Task-Catalyst-4.02/META.yml Task-Catalyst-4.02/MANIFEST Task-Catalyst-4.02/Makefile.PL Task-Catalyst-4.02/t Task-Catalyst-4.02/t/task-bogus.t Task-Catalyst-4.02/lib/Task Task-Catalyst-4.02/lib/Task/Catalyst.pm Task-Catalyst-4.02/t/release-pod-syntax.t Task-Catalyst-4.02/t/release-pod-coverage.t Configuring B/BO/BOBTFISH/Task-Catalyst-4.02.tar.gz with Makefile.PL >>> C:\Perl64-5.20\bin\perl.exe Makefile.PL Warning: prerequisite CatalystX::REPL 0 not found. Warning: prerequisite FCGI::ProcManager 0 not found. Warning: prerequisite Starman 0 not found. Checking if your kit is complete... Looks good Have \cpanfl~1.20-\var\megalib Want \perl64-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-x64-multi-thread] 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 Task::Catalyst Writing MYMETA.yml and MYMETA.json BOBTFISH/Task-Catalyst-4.02.tar.gz C:\Perl64-5.20\bin\perl.exe Makefile.PL -- OK Running make for B/BO/BOBTFISH/Task-Catalyst-4.02.tar.gz ---- Unsatisfied dependencies detected during ---- ---- BOBTFISH/Task-Catalyst-4.02.tar.gz ---- Starman [requires] CatalystX::REPL [requires] FCGI::ProcManager [requires] Running test for module 'Starman' Checksum for C:\cpanfly-5.20-64\var\cpan\sources\authors\id\M\MI\MIYAGAWA\Starman-0.4014.tar.gz ok Starman-0.4014/ Starman-0.4014/Build.PL Starman-0.4014/Changes Starman-0.4014/cpanfile Starman-0.4014/dist.ini Starman-0.4014/lib/ Starman-0.4014/LICENSE Starman-0.4014/MANIFEST Starman-0.4014/META.json Starman-0.4014/META.yml Starman-0.4014/README Starman-0.4014/script/ Starman-0.4014/t/ Starman-0.4014/t/00_compile.t Starman-0.4014/t/chunked_req.t Starman-0.4014/t/chunked_termination.t Starman-0.4014/t/chunked_zero_length.t Starman-0.4014/t/findbin.psgi Starman-0.4014/t/harakiri.t Starman-0.4014/t/lf_only_request.t Starman-0.4014/t/no_chunked_head.t Starman-0.4014/t/rand.psgi Starman-0.4014/t/release-findbin.t Starman-0.4014/t/release-pod-syntax.t Starman-0.4014/t/release-rand.t Starman-0.4014/t/ssl.t Starman-0.4014/t/ssl_ca.pem Starman-0.4014/t/ssl_key.pem Starman-0.4014/t/ssl_largebody.t Starman-0.4014/t/suite.t Starman-0.4014/script/starman Starman-0.4014/lib/HTTP/ Starman-0.4014/lib/Plack/ Starman-0.4014/lib/Starman/ Starman-0.4014/lib/Starman.pm Starman-0.4014/lib/Starman/Server.pm Starman-0.4014/lib/Plack/Handler/ Starman-0.4014/lib/Plack/Handler/Starman.pm Starman-0.4014/lib/HTTP/Server/ Starman-0.4014/lib/HTTP/Server/PSGI/ Starman-0.4014/lib/HTTP/Server/PSGI/Net/ Starman-0.4014/lib/HTTP/Server/PSGI/Net/Server/ Starman-0.4014/lib/HTTP/Server/PSGI/Net/Server/PreFork.pm Configuring M/MI/MIYAGAWA/Starman-0.4014.tar.gz with Build.PL >>> C:\Perl64-5.20\bin\perl.exe Build.PL Creating new 'Build' script for 'Starman' version '0.4014' MIYAGAWA/Starman-0.4014.tar.gz C:\Perl64-5.20\bin\perl.exe Build.PL -- OK Running Build for M/MI/MIYAGAWA/Starman-0.4014.tar.gz ---- Unsatisfied dependencies detected during ---- ---- MIYAGAWA/Starman-0.4014.tar.gz ---- Net::Server [requires] Running test for module 'Net::Server' Checksum for C:\cpanfly-5.20-64\var\cpan\sources\authors\id\R\RH\RHANDOM\Net-Server-2.008.tar.gz ok Net-Server-2.008/ Net-Server-2.008/Changes Net-Server-2.008/bin/ Net-Server-2.008/bin/net-server Net-Server-2.008/META.yml Net-Server-2.008/lib/ Net-Server-2.008/lib/Net/ Net-Server-2.008/lib/Net/Server.pod Net-Server-2.008/lib/Net/Server.pm Net-Server-2.008/lib/Net/Server/ Net-Server-2.008/lib/Net/Server/Daemonize.pm Net-Server-2.008/lib/Net/Server/Fork.pm Net-Server-2.008/lib/Net/Server/MultiType.pm Net-Server-2.008/lib/Net/Server/Multiplex.pm Net-Server-2.008/lib/Net/Server/PreForkSimple.pm Net-Server-2.008/lib/Net/Server/SIG.pm Net-Server-2.008/lib/Net/Server/Single.pm Net-Server-2.008/lib/Net/Server/Proto.pm Net-Server-2.008/lib/Net/Server/PreFork.pm Net-Server-2.008/lib/Net/Server/Proto/ Net-Server-2.008/lib/Net/Server/Proto/UNIX.pm Net-Server-2.008/lib/Net/Server/Proto/SSLEAY.pm Net-Server-2.008/lib/Net/Server/Proto/UNIXDGRAM.pm Net-Server-2.008/lib/Net/Server/Proto/SSL.pm Net-Server-2.008/lib/Net/Server/Proto/UDP.pm Net-Server-2.008/lib/Net/Server/Proto/TCP.pm Net-Server-2.008/lib/Net/Server/PSGI.pm Net-Server-2.008/lib/Net/Server/Log/ Net-Server-2.008/lib/Net/Server/Log/Log/ Net-Server-2.008/lib/Net/Server/Log/Log/Log4perl.pm Net-Server-2.008/lib/Net/Server/Log/Sys/ Net-Server-2.008/lib/Net/Server/Log/Sys/Syslog.pm Net-Server-2.008/lib/Net/Server/INET.pm Net-Server-2.008/lib/Net/Server/HTTP.pm Net-Server-2.008/META.json Net-Server-2.008/README Net-Server-2.008/t/ Net-Server-2.008/t/Port_Configuration.t Net-Server-2.008/t/Server_PreFork.t Net-Server-2.008/t/Server_Fork.t Net-Server-2.008/t/UNIX_test.t Net-Server-2.008/t/SSL_test.t Net-Server-2.008/t/Server_Multiplex.t Net-Server-2.008/t/UDP_test.t Net-Server-2.008/t/Options.t Net-Server-2.008/t/Options.t.conf Net-Server-2.008/t/Server_PreForkSimple.t Net-Server-2.008/t/SSLEAY_test.t Net-Server-2.008/t/Server_MultiType.t Net-Server-2.008/t/Server_INET.t Net-Server-2.008/t/Server_BASE.t Net-Server-2.008/t/Server_Single.t Net-Server-2.008/t/Server_http.t Net-Server-2.008/t/NetServerTest.pm Net-Server-2.008/examples/ Net-Server-2.008/examples/samplechat.pl Net-Server-2.008/examples/sigtest.pl Net-Server-2.008/examples/httpd Net-Server-2.008/examples/LoadTester.pl Net-Server-2.008/examples/udp_server.pl Net-Server-2.008/examples/connection_test.pl Net-Server-2.008/Makefile.PL Net-Server-2.008/MANIFEST Configuring R/RH/RHANDOM/Net-Server-2.008.tar.gz with Makefile.PL >>> C:\Perl64-5.20\bin\perl.exe Makefile.PL Checking if your kit is complete... Warning: the following files are missing in your kit: MANIFEST.SKIP Please inform the author. Have \cpanfl~1.20-\var\megalib Want \perl64-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-x64-multi-thread] 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 Net::Server Writing MYMETA.yml and MYMETA.json RHANDOM/Net-Server-2.008.tar.gz C:\Perl64-5.20\bin\perl.exe Makefile.PL -- OK Running make for R/RH/RHANDOM/Net-Server-2.008.tar.gz >>> dmake cp lib/Net/Server/Proto.pm blib\lib\Net\Server\Proto.pm cp lib/Net/Server/PSGI.pm blib\lib\Net\Server\PSGI.pm cp lib/Net/Server/MultiType.pm blib\lib\Net\Server\MultiType.pm cp lib/Net/Server/Proto/UNIX.pm blib\lib\Net\Server\Proto\UNIX.pm cp lib/Net/Server/Log/Log/Log4perl.pm blib\lib\Net\Server\Log\Log\Log4perl.pm cp lib/Net/Server/Proto/SSL.pm blib\lib\Net\Server\Proto\SSL.pm cp lib/Net/Server/Proto/SSLEAY.pm blib\lib\Net\Server\Proto\SSLEAY.pm cp lib/Net/Server/Proto/TCP.pm blib\lib\Net\Server\Proto\TCP.pm cp lib/Net/Server/Log/Sys/Syslog.pm blib\lib\Net\Server\Log\Sys\Syslog.pm cp lib/Net/Server/SIG.pm blib\lib\Net\Server\SIG.pm cp lib/Net/Server/PreForkSimple.pm blib\lib\Net\Server\PreForkSimple.pm cp lib/Net/Server/HTTP.pm blib\lib\Net\Server\HTTP.pm cp lib/Net/Server/Multiplex.pm blib\lib\Net\Server\Multiplex.pm cp lib/Net/Server.pm blib\lib\Net\Server.pm cp lib/Net/Server/Daemonize.pm blib\lib\Net\Server\Daemonize.pm cp lib/Net/Server/Proto/UDP.pm blib\lib\Net\Server\Proto\UDP.pm cp lib/Net/Server.pod blib\lib\Net\Server.pod cp lib/Net/Server/Fork.pm blib\lib\Net\Server\Fork.pm cp lib/Net/Server/Proto/UNIXDGRAM.pm blib\lib\Net\Server\Proto\UNIXDGRAM.pm cp lib/Net/Server/INET.pm blib\lib\Net\Server\INET.pm cp lib/Net/Server/PreFork.pm blib\lib\Net\Server\PreFork.pm cp lib/Net/Server/Single.pm blib\lib\Net\Server\Single.pm "C:\Perl64-5.20\bin\perl.exe" -MExtUtils::Command -e cp -- bin/net-server blib\script\net-server pl2bat.bat blib\script\net-server RHANDOM/Net-Server-2.008.tar.gz dmake -- OK Running make test >>> dmake test TEST_VERBOSE=1 "C:\Perl64-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/Options.t ............... 1..73 ok 1 - use Net::Server ok 2 - Got an object () ok 3 - Got a server () ok 4 - Correct default log_level ok 5 - Correct default log_file ok 6 - Correct default user ok 7 - Had correct configured ports (1) ok 8 - Sockets matched ports ok 9 - Right host ok 10 - Right port ok 11 - Right proto ok 12 - Loaded server ok 13 - Had 1 configured ports ok 14 - Right port ok 15 - Loaded server ok 16 - Had 1 configured ports ok 17 - Right port ok 18 - Right port ok 19 - Loaded server ok 20 - Had 1 configured ports ok 21 - Right port ok 22 - Loaded server ok 23 - Had 1 configured ports ok 24 - Right port ok 25 - Loaded server ok 26 - Had 1 configured ports ok 27 - Right port ok 28 - Loaded server ok 29 - Had 1 configured ports ok 30 - Right port ok 31 - Loaded server ok 32 - Had 1 configured ports ok 33 - Right port ok 34 - Right port ok 35 - Loaded server ok 36 - Had 1 configured ports ok 37 - Right port ok 38 - Right port ok 39 - Right port ok 40 - Right user ok 41 - Loaded server ok 42 - Right user "cmdline" ok 43 - Loaded server ok 44 - Right user "runargs" ok 45 - Loaded server ok 46 - Could use custom options ok 47 - Loaded server ok 48 - Had 1 configured custom array option ok 49 - Right value ok 50 - Loaded server ok 51 - Right my_option "bar" ok 52 - Had 3 configured custom array option ok 53 - Right value ok 54 - Right value ok 55 - Right value ok 56 - Loaded server ok 57 - Right group "cmdline" ok 58 - Loaded server ok 59 - Right group "runargs" ok 60 - Loaded server ok 61 - Right group "confgroup" ok 62 - Loaded server ok 63 - Right group "defaultgroup" ok 64 - Defaults for allow are set also ok 65 - Right group "confgroup" ok 66 - Right group "confgroup" ok 67 # skip TEST_LOG4PERL not set - skipping Log::Log4perl tests ok 68 # skip TEST_LOG4PERL not set - skipping Log::Log4perl tests ok 69 # skip TEST_LOG4PERL not set - skipping Log::Log4perl tests ok 70 # skip TEST_LOG4PERL not set - skipping Log::Log4perl tests ok 71 # skip TEST_LOG4PERL not set - skipping Log::Log4perl tests ok 72 # skip TEST_LOG4PERL not set - skipping Log::Log4perl tests ok 73 # skip TEST_LOG4PERL not set - skipping Log::Log4perl tests ok # number of tests ran 35 did not match number of specified tests 51 t/Port_Configuration.t .... 1..51 ok 1 - use Net::Server ok 2 - run ( ) ==> [ '*|20203|TCP|ipv4' ] ok 3 - run ( port => 20201 ) ==> [ '*|20201|TCP|ipv4' ] ok 4 - run ( port => 'localhost:20202' ) ==> [ 'localhost|20202|TCP|ipv4' ] ok 5 - run ( port => ['localhost:20202/tcp'] ) ==> [ 'localhost|20202|TCP|ipv4' ] ok 6 - run ( port => 'localhost:20202/ipv4' ) ==> [ 'localhost|20202|TCP|ipv4' ] ok 7 - run ( port => ['localhost:20201/ipv4/tcp', 'localhost:20202/tcp/IPv4'] ) ==> [ 'localhost|20201|TCP|ipv4', 'localhost|20202|TCP|ipv4' ] ok 8 - run ( port => ['localhost|20201|ipv4|tcp', 'localhost,20202,tcp,IPv4'] ) ==> [ 'localhost|20201|TCP|ipv4', 'localhost|20202|TCP|ipv4' ] ok 9 - run ( port => ['localhost 20201 ipv4 tcp', 'localhost, 20202, tcp, IPv4'] ) ==> [ 'localhost|20201|TCP|ipv4', 'localhost|20202|TCP|ipv4' ] ok 10 - run ( port => 'localhost:20202/udp' ) ==> [ 'localhost|20202|UDP|ipv4' ] ok 11 - run ( listen => 5, port => 20202 ) ==> [ '*|20202|TCP|ipv4' ] ok 12 - run ( port => ['bar.com:20201/udp', 'foo.com:20202/tcp'] ) ==> [ 'bar.com|20201|UDP|ipv4', 'foo.com|20202|TCP|ipv4' ] ok 13 - run ( host => 'bar.com', port => 20201, proto => 'UDP' ) ==> [ 'bar.com|20201|UDP|ipv4' ] ok 14 - run { host => 'bar.com', port => 20201, proto => 'UDP', udp_recv_len => 400 } ==> [ 'bar.com|20201|UDP|ipv4' ] ok 15 - new ( host => 'bar.com', port => 20201, proto => 'UDP' ) ==> [ 'bar.com|20201|UDP|ipv4' ] ok 16 - new { host => 'bar.com', port => 20201, proto => 'UDP' } ==> [ 'bar.com|20201|UDP|ipv4' ] ok 17 - run ( host => 'bar.com', port => [20201, 'foo.com:20202/tcp'], proto => 'UDP' ) ==> [ 'bar.com|20201|UDP|ipv4', 'foo.com|20202|TCP|ipv4' ] ok 18 - run ( port => ['localhost|20202|tcp'] ) ==> [ 'localhost|20202|TCP|ipv4' ] ok 19 - run ( port => ['localhost,20202,tcp'] ) ==> [ 'localhost|20202|TCP|ipv4' ] ok 20 - run ( port => ['[localhost]:20202/tcp'] ) ==> [ 'localhost|20202|TCP|ipv4' ] ok 21 - run ( port => ['localhost,20202,Net::Server::Proto::TCP'] ) ==> [ 'localhost|20202|TCP|ipv4' ] ok 22 - run ( port => { host => '*', port => 20201, proto => 'tcp' } ) ==> [ '*|20201|TCP|ipv4' ] ok 23 - run ( port => [{ host => '*', port => 20201, proto => 'tcp' }] ) ==> [ '*|20201|TCP|ipv4' ] ok 24 - run ( port => [{ host => 'foo.com', port => 20201, proto => 'udp' }] ) ==> [ 'foo.com|20201|UDP|ipv4' ] ok 25 - run ( host => 'foo.com', port => [{ host => 'foo.com', port => 20201, proto => 'udp' }], proto => 'udp' ) ==> [ 'foo.com|20201|UDP|ipv4' ] ok 26 - run ( port => [{ host => '*', listen => 6, port => 20202, proto => 'tcp' }] ) ==> [ '*|20202|TCP|ipv4' ] ok 27 - run ( port => 'foo/bar/unix' ) ==> [ '*|foo/bar|UNIX|*' ] ok 28 - run ( port => '/foo/bar|unix', udp_recv_len => 500 ) ==> [ '*|/foo/bar|UNIX|*' ] ok 29 - run ( port => '/foo/bar|unixdgram', udp_recv_len => 500 ) ==> [ '*|/foo/bar|UNIXDGRAM|*' ] ok 30 - run ( port => 'foo/bar|sock_dgram|unix' ) ==> [ '*|foo/bar|UNIXDGRAM|*' ] ok 31 - run ( port => { host => '*', listen => 7, port => '/foo/bar', proto => 'unix', unix_type => 'sock_stream' } ) ==> [ '*|/foo/bar|UNIX|*' ] ok 32 - run ( port => { host => '*', port => '/foo/bar', proto => 'unix', unix_type => 'sock_dgram' } ) ==> [ '*|/foo/bar|UNIXDGRAM|*' ] ok 33 - run ( port => { host => '*', port => '/foo/bar', proto => 'unixdgram' } ) ==> [ '*|/foo/bar|UNIXDGRAM|*' ] ok 34 - run ( ipv => '*', port => 'foo/bar/unix' ) ==> [ '*|foo/bar|UNIX|*' ] # Unable to load module for proto "Net::Server::Proto::SSLEAY": Could not access Fcntl constant while loading Net::Server::Proto::SSLEAY: Your vendor has not defined Fcntl macro F_GETFL, used at C:\cpanfly-5.20-64\var\cpan\build\Net-Server-2.008-UfYjnN\blib\lib/Net/Server/Proto/SSLEAY.pm line 37 BEGIN failed--compilation aborted at C:\cpanfly-5.20-64\var\cpan\build\Net-Server-2.008-UfYjnN\blib\lib/Net/Server/Proto/SSLEAY.pm line 38. Compilation failed in require at C:\cpanfly-5.20-64\var\cpan\build\Net-Server-2.008-UfYjnN\blib\lib/Net/Server/Proto.pm line 198. at line 317 # Failed at line 317 not ok 35 - run ( proto => 'ssleay' ) ==> [ '' ] # failed at t/Port_Configuration.t line 72 # got: { bind => undef } # expected: { bind => [{ host => '*', ipv => 4, port => 20203, proto => 'ssleay' }], sock => [{ NS_host => '*', NS_ipv => 4, NS_listen => 2147483647, NS_port => 20203, NS_proto => 'SSLEAY', SSL_cert_file => 'somecert' }] } Failed 17/51 subtests t/Server_BASE.t ........... 1..6 ok 1 - Can fork on this platform ok 2 - Got needed ports (20100 20101 20102) ok 3 - Pipe works ok 4 - use Net::Server ok 5 - Got the correct output from the server ok 6 - Got the correct output from the multiport server ok t/Server_Fork.t ........... 1..5 ok 1 - Can fork on this platform ok 2 - Got needed ports (20200) ok 3 - Pipe works ok 4 - use Net::Server::Fork ok 5 - Got the correct output from the server ok t/Server_http.t ........... 1..5 ok 1 - Can fork on this platform ok 2 - Got needed ports (20200) ok 3 - Pipe works ok 4 - use Net::Server::HTTP # HTTP/1.0 200 OK # Date: Sun May 15 19:57:26 2016 GMT # Connection: close # Server: Net::Server::HTTP/2.008 # Content-type: text/html # #
#
%ENV = (
#          'HTTP_FOO' => 'bar',
#          'NET_SERVER_SOFTWARE' => 'Net::Server::HTTP/2.008',
#          'NET_SERVER_TYPE' => 'Net::Server::Single',
#          'PATH_INFO' => '/',
#          'REMOTE_ADDR' => '127.0.0.1',
#          'REMOTE_PORT' => '57590',
#          'REQUEST_METHOD' => 'GET',
#          'REQUEST_URI' => '/',
#          'SCRIPT_NAME' => '',
#          'SERVER_ADDR' => '127.0.0.1',
#          'SERVER_PORT' => '20200',
#          'SERVER_PROTOCOL' => 'HTTP/1.0'
#        );
# $form = {};
# 
ok 5 - Got the correct output from the server ok t/Server_INET.t ........... 1..5 ok 1 - Can fork on this platform ok 2 - Got needed ports (20300) ok 3 - Pipe works ok 4 - use Net::Server::INET ok 5 - Got the correct output from the server ok t/Server_Multiplex.t ...... 1..5 ok 1 - Can fork on this platform ok 2 - Got needed ports (20200) ok 3 - Pipe works # Error loading IO::Multiplex: Can't locate IO/Multiplex.pm in @INC (you may need to install the IO::Multiplex module) (@INC contains: C:/cpanfly-5.20-64/var/cpan/build/Net-Server-2.008-UfYjnN/t C:\cpanfly-5.20-64\var\cpan\build\Net-Server-2.008-UfYjnN\blib\lib C:\cpanfly-5.20-64\var\cpan\build\Net-Server-2.008-UfYjnN\blib\arch C:/cpanfly-5.20-64/var/megalib C:/Perl64-5.20/site/lib C:/Perl64-5.20/lib .) at t/Server_Multiplex.t line 10. ok 4 # skip No IO::Multiplex installed ok 5 # skip No IO::Multiplex installed ok t/Server_MultiType.t ...... 1..5 ok 1 - Can fork on this platform ok 2 - Got needed ports (20400) ok 3 - Pipe works ok 4 - use Net::Server::MultiType # Net::Server::MultiType::ISA: (Net::Server::Single) # Welcome to "Net::Server::Test" (-1712) ok 5 - Got the correct output from the server ok Timeout (max run time is 300s) C:\Perl64-5.20\bin\perl.exe exits with 37.