sbuild (Debian sbuild) 0.91.10 (27 June 2026) on carme.larted.org.uk +==============================================================================+ | libdancer2-perl 2.2.2-1 (amd64) Wed, 30 Sep 2026 00:01:47 +0000 | +==============================================================================+ Package: libdancer2-perl Version: 2.2.2-1 Source Version: 2.2.2-1 Distribution: perl-5.44-throwaway Machine Architecture: amd64 Host Architecture: amd64 Build Architecture: amd64 Build Type: full I: Setting up the chroot... I: Creating chroot session... I: Setting up log color... +------------------------------------------------------------------------------+ | Chroot Setup Commands Wed, 30 Sep 2026 00:01:48 +0000 | +------------------------------------------------------------------------------+ /usr/share/debomatic/sbuildcommands/chroot-setup-commands/dpkg-speedup libdancer2-perl_2.2.2-1 perl-5.44-throwaway amd64 ------------------------------------------------------------------------------------------------------------------------ I: Finished running '/usr/share/debomatic/sbuildcommands/chroot-setup-commands/dpkg-speedup libdancer2-perl_2.2.2-1 perl-5.44-throwaway amd64'. Finished processing commands. -------------------------------------------------------------------------------- I: Setting up apt archive... +------------------------------------------------------------------------------+ | Update chroot Wed, 30 Sep 2026 00:01:48 +0000 | +------------------------------------------------------------------------------+ Get:1 file:/srv/reprepro perl-5.44 InRelease [3042 B] Get:1 file:/srv/reprepro perl-5.44 InRelease [3042 B] Hit:2 http://deb.debian.org/debian unstable InRelease Hit:3 http://deb.debian.org/debian sid InRelease Get:4 file:/srv/reprepro perl-5.44/main amd64 Packages [608 kB] Reading package lists... Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +------------------------------------------------------------------------------+ | Fetch source files Wed, 30 Sep 2026 00:01:50 +0000 | +------------------------------------------------------------------------------+ Local sources ------------- /srv/debomatic/incoming/libdancer2-perl_2.2.2-1.dsc exists in /srv/debomatic/incoming; copying to chroot +------------------------------------------------------------------------------+ | Install package build dependencies Wed, 30 Sep 2026 00:01:51 +0000 | +------------------------------------------------------------------------------+ Setup apt archive ----------------- Merged Build-Depends: debhelper-compat (= 13), build-essential, libanyevent-perl, libcapture-tiny-perl, libcli-osprey-perl (>= 0.09), libclone-perl, libconfig-any-perl, libcpan-meta-requirements-perl, libcrypt-urandom-perl, libdata-censor-perl, libexporter-tiny-perl, libfile-share-perl, libfile-sharedir-install-perl, libfile-which-perl, libhash-merge-simple-perl, libhash-multivalue-perl, libhttp-cookies-perl, libhttp-date-perl, libhttp-headers-fast-perl, libhttp-message-perl, libimport-into-perl, libjson-maybexs-perl, libmime-types-perl, libmodule-pluggable-perl, libmodule-runtime-perl, libmoo-perl, libpath-tiny-perl, libplack-middleware-fixmissingbodyinredirect-perl, libplack-middleware-removeredundantbody-perl, libplack-perl, libpod-simple-perl, libref-util-perl, librole-tiny-perl, libsafe-isa-perl, libscalar-list-utils-perl, libsub-quote-perl, libtemplate-perl, libtemplate-tiny-perl (>= 1.16), libtest-exception-perl, libtest-fatal-perl, libtest-memory-cycle-perl, libtest-mocktime-perl, libtype-tiny-perl, libtype-tiny-xs-perl, libunicode-utf8-perl, liburi-perl, liburl-encode-xs-perl, libwww-perl, libyaml-perl, perl Filtered Build-Depends: debhelper-compat (= 13), build-essential, libanyevent-perl, libcapture-tiny-perl, libcli-osprey-perl (>= 0.09), libclone-perl, libconfig-any-perl, libcpan-meta-requirements-perl, libcrypt-urandom-perl, libdata-censor-perl, libexporter-tiny-perl, libfile-share-perl, libfile-sharedir-install-perl, libfile-which-perl, libhash-merge-simple-perl, libhash-multivalue-perl, libhttp-cookies-perl, libhttp-date-perl, libhttp-headers-fast-perl, libhttp-message-perl, libimport-into-perl, libjson-maybexs-perl, libmime-types-perl, libmodule-pluggable-perl, libmodule-runtime-perl, libmoo-perl, libpath-tiny-perl, libplack-middleware-fixmissingbodyinredirect-perl, libplack-middleware-removeredundantbody-perl, libplack-perl, libpod-simple-perl, libref-util-perl, librole-tiny-perl, libsafe-isa-perl, libscalar-list-utils-perl, libsub-quote-perl, libtemplate-perl, libtemplate-tiny-perl (>= 1.16), libtest-exception-perl, libtest-fatal-perl, libtest-memory-cycle-perl, libtest-mocktime-perl, libtype-tiny-perl, libtype-tiny-xs-perl, libunicode-utf8-perl, liburi-perl, liburl-encode-xs-perl, libwww-perl, libyaml-perl, perl dpkg-deb: building package 'sbuild-build-depends-main-dummy' in '/build/libdancer2-perl-Gil75Z/resolver-m8ar3Z/apt_archive/sbuild-build-depends-main-dummy.deb'. Ign:1 copy:/build/libdancer2-perl-Gil75Z/resolver-m8ar3Z/apt_archive ./ InRelease Get:2 copy:/build/libdancer2-perl-Gil75Z/resolver-m8ar3Z/apt_archive ./ Release [615 B] Ign:3 copy:/build/libdancer2-perl-Gil75Z/resolver-m8ar3Z/apt_archive ./ Release.gpg Get:4 copy:/build/libdancer2-perl-Gil75Z/resolver-m8ar3Z/apt_archive ./ Sources [2201 B] Get:5 copy:/build/libdancer2-perl-Gil75Z/resolver-m8ar3Z/apt_archive ./ Packages [1712 B] Fetched 4528 B in 0s (0 B/s) Reading package lists... Reading package lists... Install main build dependencies (apt-based resolver) ---------------------------------------------------- Installing build dependencies Reading package lists... Building dependency tree... Reading state information... Solving dependencies... The following additional packages will be installed: autoconf automake autopoint autotools-dev bsdextrautils ca-certificates debhelper dh-autoreconf dh-strip-nondeterminism dwz file gettext gettext-base groff-base intltool-debian libanyevent-perl libapache-logformat-compiler-perl libappconfig-perl libarchive-zip-perl libb-hooks-op-check-perl libcapture-tiny-perl libclass-inspector-perl libclass-method-modifiers-perl libclass-xsaccessor-perl libcli-osprey-perl libclone-perl libconfig-any-perl libcookie-baker-perl libcpanel-json-xs-perl libcrypt-urandom-perl libdata-censor-perl libdata-optlist-perl libdebhelper-perl libdevel-callchecker-perl libdevel-cycle-perl libdevel-stacktrace-ashtml-perl libdevel-stacktrace-perl libdynaloader-functions-perl libelf1t64 libencode-locale-perl libexporter-tiny-perl libfile-listing-perl libfile-share-perl libfile-sharedir-install-perl libfile-sharedir-perl libfile-stripnondeterminism-perl libfile-which-perl libfilesys-notify-simple-perl libgetopt-long-descriptive-perl libhash-merge-simple-perl libhash-multivalue-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-entity-parser-perl libhttp-headers-fast-perl libhttp-message-perl libhttp-multipartparser-perl libhttp-negotiate-perl libimport-into-perl libio-html-perl libio-socket-ssl-perl libio-stringy-perl libjson-maybexs-perl liblwp-mediatypes-perl liblwp-protocol-https-perl libmagic-mgc libmagic1t64 libmime-types-perl libmodule-implementation-perl libmodule-pluggable-perl libmodule-runtime-perl libmoo-perl libnet-http-perl libnet-ssleay-perl libpadwalker-perl libparams-classify-perl libparams-someutil-perl libparams-util-perl libparams-validate-perl libpath-tiny-perl libpipeline1 libplack-middleware-fixmissingbodyinredirect-perl libplack-middleware-removeredundantbody-perl libplack-perl libposix-strftime-compiler-perl libref-util-perl librole-tiny-perl libsafe-isa-perl libstream-buffered-perl libsub-exporter-perl libsub-install-perl libsub-quote-perl libsub-uplevel-perl libtemplate-perl libtemplate-tiny-perl libtest-exception-perl libtest-fatal-perl libtest-memory-cycle-perl libtest-mocktime-perl libtest-sharedfork-perl libtest-tcp-perl libtimedate-perl libtool libtry-tiny-perl libtype-tiny-perl libtype-tiny-xs-perl libuchardet0 libunicode-utf8-perl liburi-perl liburl-encode-xs-perl libwww-form-urlencoded-perl libwww-perl libwww-robotrules-perl libxml2-16 libyaml-perl m4 man-db netbase openssl perl-openssl-defaults po-debconf sensible-utils Suggested packages: autoconf-archive gnu-standards autoconf-doc dh-make gettext-doc libasprintf-dev libgettextpo-dev gnulib-l10n groff libev-perl libevent-perl libio-async-perl libjson-perl | libjson-xs-perl libpoe-perl libtask-weaken-perl libdata-dump-perl libcrypt-ssleay-perl libmojolicious-perl libscalar-number-perl libtemplate-plugin-cgi-perl libtemplate-plugin-gd-perl libtemplate-plugin-xml-perl libtool-doc gfortran | fortran95-compiler libsub-name-perl libdevel-lexalias-perl libbusiness-isbn-perl libmime-base32-perl libregexp-ipv6-perl libauthen-ntlm-perl libyaml-shell-perl m4-doc apparmor less www-browser libmail-box-perl Recommended packages: curl | wget | lynx python3:any python3-requests libasync-interrupt-perl libev-perl | libevent-perl libguard-perl libconfig-general-perl libconfig-tiny-perl libxml-simple-perl libcookie-baker-xs-perl libarchive-cpio-perl libhtml-format-perl libio-compress-brotli-perl libnamespace-clean-perl libcgi-compile-perl libcgi-emulate-psgi-perl libfcgi-perl libfcgi-procmanager-perl liblog-dispatch-perl liblog-log4perl-perl libmodule-refresh-perl libreadonly-perl libref-util-xs-perl libxstring-perl libltdl-dev libwww-form-urlencoded-xs-perl libdata-dump-perl libhtml-form-perl libhttp-daemon-perl libmailtools-perl libyaml-libyaml-perl | libyaml-syck-perl libmail-sendmail-perl The following NEW packages will be installed: autoconf automake autopoint autotools-dev bsdextrautils ca-certificates debhelper dh-autoreconf dh-strip-nondeterminism dwz file gettext gettext-base groff-base intltool-debian libanyevent-perl libapache-logformat-compiler-perl libappconfig-perl libarchive-zip-perl libb-hooks-op-check-perl libcapture-tiny-perl libclass-inspector-perl libclass-method-modifiers-perl libclass-xsaccessor-perl libcli-osprey-perl libclone-perl libconfig-any-perl libcookie-baker-perl libcpanel-json-xs-perl libcrypt-urandom-perl libdata-censor-perl libdata-optlist-perl libdebhelper-perl libdevel-callchecker-perl libdevel-cycle-perl libdevel-stacktrace-ashtml-perl libdevel-stacktrace-perl libdynaloader-functions-perl libelf1t64 libencode-locale-perl libexporter-tiny-perl libfile-listing-perl libfile-share-perl libfile-sharedir-install-perl libfile-sharedir-perl libfile-stripnondeterminism-perl libfile-which-perl libfilesys-notify-simple-perl libgetopt-long-descriptive-perl libhash-merge-simple-perl libhash-multivalue-perl libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-date-perl libhttp-entity-parser-perl libhttp-headers-fast-perl libhttp-message-perl libhttp-multipartparser-perl libhttp-negotiate-perl libimport-into-perl libio-html-perl libio-socket-ssl-perl libio-stringy-perl libjson-maybexs-perl liblwp-mediatypes-perl liblwp-protocol-https-perl libmagic-mgc libmagic1t64 libmime-types-perl libmodule-implementation-perl libmodule-pluggable-perl libmodule-runtime-perl libmoo-perl libnet-http-perl libnet-ssleay-perl libpadwalker-perl libparams-classify-perl libparams-someutil-perl libparams-util-perl libparams-validate-perl libpath-tiny-perl libpipeline1 libplack-middleware-fixmissingbodyinredirect-perl libplack-middleware-removeredundantbody-perl libplack-perl libposix-strftime-compiler-perl libref-util-perl librole-tiny-perl libsafe-isa-perl libstream-buffered-perl libsub-exporter-perl libsub-install-perl libsub-quote-perl libsub-uplevel-perl libtemplate-perl libtemplate-tiny-perl libtest-exception-perl libtest-fatal-perl libtest-memory-cycle-perl libtest-mocktime-perl libtest-sharedfork-perl libtest-tcp-perl libtimedate-perl libtool libtry-tiny-perl libtype-tiny-perl libtype-tiny-xs-perl libuchardet0 libunicode-utf8-perl liburi-perl liburl-encode-xs-perl libwww-form-urlencoded-perl libwww-perl libwww-robotrules-perl libxml2-16 libyaml-perl m4 man-db netbase openssl perl-openssl-defaults po-debconf sbuild-build-depends-main-dummy sensible-utils 0 upgraded, 126 newly installed, 0 to remove and 0 not upgraded. Need to get 16.6 MB/18.4 MB of archives. After this operation, 71.1 MB of additional disk space will be used. Get:1 file:/srv/reprepro perl-5.44/main amd64 libanyevent-perl amd64 7.170-2+b9 [385 kB] Get:2 copy:/build/libdancer2-perl-Gil75Z/resolver-m8ar3Z/apt_archive ./ sbuild-build-depends-main-dummy 0.invalid.0 [1244 B] Get:3 http://deb.debian.org/debian unstable/main amd64 netbase all 6.6 [10.3 kB] Get:4 file:/srv/reprepro perl-5.44/main amd64 libb-hooks-op-check-perl amd64 0.22-3+b6 [10.7 kB] Get:5 file:/srv/reprepro perl-5.44/main amd64 libclass-xsaccessor-perl amd64 1.19-4+b8 [37.0 kB] Get:6 file:/srv/reprepro perl-5.44/main amd64 libdevel-callchecker-perl amd64 0.009-3+b2 [15.7 kB] Get:7 file:/srv/reprepro perl-5.44/main amd64 libparams-classify-perl amd64 0.015-2+b8 [22.7 kB] Get:8 file:/srv/reprepro perl-5.44/main amd64 libparams-validate-perl amd64 1.31-2+b6 [62.3 kB] Get:9 file:/srv/reprepro perl-5.44/main amd64 libparams-someutil-perl amd64 1.11-1+b1 [24.9 kB] Get:10 file:/srv/reprepro perl-5.44/main amd64 libparams-util-perl amd64 1.102-3+b3 [24.5 kB] Get:11 file:/srv/reprepro perl-5.44/main amd64 libclone-perl amd64 0.50-1+b3 [21.6 kB] Get:12 file:/srv/reprepro perl-5.44/main amd64 libcpanel-json-xs-perl amd64 4.51-1+b1 [144 kB] Get:13 file:/srv/reprepro perl-5.44/main amd64 libcrypt-urandom-perl amd64 0.55-1+b2 [15.8 kB] Get:14 http://deb.debian.org/debian unstable/main amd64 sensible-utils all 0.0.26 [27.0 kB] Get:15 file:/srv/reprepro perl-5.44/main amd64 libhtml-parser-perl amd64 3.83-2+b3 [100.0 kB] Get:16 http://deb.debian.org/debian unstable/main amd64 openssl amd64 3.6.4-1 [1546 kB] Get:17 file:/srv/reprepro perl-5.44/main amd64 libnet-ssleay-perl amd64 1.96-2+b1 [336 kB] Get:18 file:/srv/reprepro perl-5.44/main amd64 libpadwalker-perl amd64 2.5-1+b8 [19.0 kB] Get:19 file:/srv/reprepro perl-5.44/main amd64 libtemplate-perl amd64 3.106-1+b2 [561 kB] Get:20 http://deb.debian.org/debian unstable/main amd64 ca-certificates all 20260816 [134 kB] Get:21 http://deb.debian.org/debian unstable/main amd64 libmagic-mgc amd64 1:5.47-4 [345 kB] Get:22 file:/srv/reprepro perl-5.44/main amd64 libtype-tiny-xs-perl amd64 0.025-2+b5 [26.4 kB] Get:23 file:/srv/reprepro perl-5.44/main amd64 libunicode-utf8-perl amd64 0.75-1+b2 [29.1 kB] Get:24 file:/srv/reprepro perl-5.44/main amd64 liburl-encode-xs-perl amd64 0.03-2+b8 [10.9 kB] Get:25 http://deb.debian.org/debian unstable/main amd64 libmagic1t64 amd64 1:5.47-4 [111 kB] Get:26 http://deb.debian.org/debian unstable/main amd64 file amd64 1:5.47-4 [43.0 kB] Get:27 http://deb.debian.org/debian unstable/main amd64 gettext-base amd64 1.0-5 [334 kB] Get:28 http://deb.debian.org/debian unstable/main amd64 libuchardet0 amd64 0.0.8-2+b2 [69.0 kB] Get:29 http://deb.debian.org/debian unstable/main amd64 groff-base amd64 1.24.2-2 [1365 kB] Get:30 http://deb.debian.org/debian unstable/main amd64 bsdextrautils amd64 2.42.4-1 [103 kB] Get:31 http://deb.debian.org/debian unstable/main amd64 libpipeline1 amd64 1.5.8-3 [49.2 kB] Get:32 http://deb.debian.org/debian unstable/main amd64 man-db amd64 2.13.1-1 [1469 kB] Get:33 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.21-1 [332 kB] Get:34 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.73-2 [516 kB] Get:35 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20240727.1+nmu1 [60.0 kB] Get:36 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.19-2 [891 kB] Get:37 http://deb.debian.org/debian unstable/main amd64 autopoint all 1.0-5 [820 kB] Get:38 http://deb.debian.org/debian unstable/main amd64 libdebhelper-perl all 14.5 [77.7 kB] Get:39 http://deb.debian.org/debian unstable/main amd64 libtool all 2.6.2-3 [552 kB] Get:40 http://deb.debian.org/debian unstable/main amd64 dh-autoreconf all 23 [12.7 kB] Get:41 http://deb.debian.org/debian unstable/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get:42 http://deb.debian.org/debian unstable/main amd64 libfile-stripnondeterminism-perl all 1.15.1-1 [17.1 kB] Get:43 http://deb.debian.org/debian unstable/main amd64 dh-strip-nondeterminism all 1.15.1-1 [6020 B] Get:44 http://deb.debian.org/debian unstable/main amd64 libelf1t64 amd64 0.196-1 [61.2 kB] Get:45 http://deb.debian.org/debian unstable/main amd64 dwz amd64 0.17-1 [109 kB] Get:46 http://deb.debian.org/debian unstable/main amd64 libxml2-16 amd64 2.15.4+dfsg-1 [683 kB] Get:47 http://deb.debian.org/debian unstable/main amd64 gettext amd64 1.0-5 [2704 kB] Get:48 http://deb.debian.org/debian unstable/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get:49 http://deb.debian.org/debian unstable/main amd64 po-debconf all 1.0.22 [216 kB] Get:50 http://deb.debian.org/debian unstable/main amd64 debhelper all 14.5 [944 kB] Get:51 http://deb.debian.org/debian unstable/main amd64 libposix-strftime-compiler-perl all 0.46-1 [11.1 kB] Get:52 http://deb.debian.org/debian unstable/main amd64 libapache-logformat-compiler-perl all 0.36-3 [11.5 kB] Get:53 http://deb.debian.org/debian unstable/main amd64 libappconfig-perl all 1.71-2.3 [67.0 kB] Get:54 http://deb.debian.org/debian unstable/main amd64 libcapture-tiny-perl all 0.50-1 [24.6 kB] Get:55 http://deb.debian.org/debian unstable/main amd64 libclass-inspector-perl all 1.36-3 [17.5 kB] Get:56 http://deb.debian.org/debian unstable/main amd64 libclass-method-modifiers-perl all 2.15-1 [18.0 kB] Get:57 http://deb.debian.org/debian unstable/main amd64 libio-stringy-perl all 2.113-2 [48.3 kB] Get:58 http://deb.debian.org/debian unstable/main amd64 libdynaloader-functions-perl all 0.004-2 [12.2 kB] Get:59 http://deb.debian.org/debian unstable/main amd64 libmodule-runtime-perl all 0.018-1 [17.8 kB] Get:60 http://deb.debian.org/debian unstable/main amd64 libtry-tiny-perl all 0.32-1 [22.9 kB] Get:61 http://deb.debian.org/debian unstable/main amd64 libmodule-implementation-perl all 0.09-2 [12.6 kB] Get:62 http://deb.debian.org/debian unstable/main amd64 libsub-install-perl all 0.929-1 [10.5 kB] Get:63 http://deb.debian.org/debian unstable/main amd64 libdata-optlist-perl all 0.115-1 [10.4 kB] Get:64 http://deb.debian.org/debian unstable/main amd64 libsub-exporter-perl all 0.990-1.1 [49.5 kB] Get:65 http://deb.debian.org/debian unstable/main amd64 libgetopt-long-descriptive-perl all 0.117-1 [29.8 kB] Get:66 http://deb.debian.org/debian unstable/main amd64 libimport-into-perl all 1.002005-2 [11.3 kB] Get:67 http://deb.debian.org/debian unstable/main amd64 librole-tiny-perl all 2.002005-1 [19.5 kB] Get:68 http://deb.debian.org/debian unstable/main amd64 libsub-quote-perl all 2.006009-1 [21.3 kB] Get:69 http://deb.debian.org/debian unstable/main amd64 libmoo-perl all 2.005005-1 [58.0 kB] Get:70 http://deb.debian.org/debian unstable/main amd64 libpath-tiny-perl all 0.150-1 [56.4 kB] Get:71 http://deb.debian.org/debian unstable/main amd64 libcli-osprey-perl all 0.09-1 [25.3 kB] Get:72 http://deb.debian.org/debian unstable/main amd64 libmodule-pluggable-perl all 6.4-1 [33.4 kB] Get:73 http://deb.debian.org/debian unstable/main amd64 libconfig-any-perl all 0.33-1 [31.0 kB] Get:74 http://deb.debian.org/debian unstable/main amd64 liburi-perl all 5.37-1 [113 kB] Get:75 http://deb.debian.org/debian unstable/main amd64 libcookie-baker-perl all 0.12-1 [8340 B] Get:76 http://deb.debian.org/debian unstable/main amd64 libref-util-perl all 0.204-2 [17.4 kB] Get:77 http://deb.debian.org/debian unstable/main amd64 libdata-censor-perl all 0.04-1 [11.1 kB] Get:78 http://deb.debian.org/debian unstable/main amd64 libdevel-cycle-perl all 1.12-2 [11.9 kB] Get:79 http://deb.debian.org/debian unstable/main amd64 libdevel-stacktrace-perl all 2.0500-1 [26.4 kB] Get:80 http://deb.debian.org/debian unstable/main amd64 libdevel-stacktrace-ashtml-perl all 0.15-2 [12.8 kB] Get:81 http://deb.debian.org/debian unstable/main amd64 libencode-locale-perl all 1.05-3 [12.9 kB] Get:82 http://deb.debian.org/debian unstable/main amd64 libexporter-tiny-perl all 1.006003-1 [37.5 kB] Get:83 http://deb.debian.org/debian unstable/main amd64 libtimedate-perl all 2.3500-1 [64.2 kB] Get:84 http://deb.debian.org/debian unstable/main amd64 libhttp-date-perl all 6.08-1 [12.1 kB] Get:85 http://deb.debian.org/debian unstable/main amd64 libfile-listing-perl all 6.16-1 [12.4 kB] Get:86 http://deb.debian.org/debian unstable/main amd64 libfile-sharedir-perl all 1.118-3 [16.0 kB] Get:87 http://deb.debian.org/debian unstable/main amd64 libfile-share-perl all 0.27-2 [7864 B] Get:88 http://deb.debian.org/debian unstable/main amd64 libfile-sharedir-install-perl all 0.14-2 [11.6 kB] Get:89 http://deb.debian.org/debian unstable/main amd64 libfile-which-perl all 1.27-2 [15.1 kB] Get:90 http://deb.debian.org/debian unstable/main amd64 libfilesys-notify-simple-perl all 0.14-3 [8116 B] Get:91 http://deb.debian.org/debian unstable/main amd64 libhash-merge-simple-perl all 0.052-1 [8232 B] Get:92 http://deb.debian.org/debian unstable/main amd64 libhash-multivalue-perl all 0.16-3 [13.6 kB] Get:93 http://deb.debian.org/debian unstable/main amd64 libhtml-tagset-perl all 3.24-1 [14.7 kB] Get:94 http://deb.debian.org/debian unstable/main amd64 libhtml-tree-perl all 5.07-3 [211 kB] Get:95 http://deb.debian.org/debian unstable/main amd64 libio-html-perl all 1.004-3 [16.2 kB] Get:96 http://deb.debian.org/debian unstable/main amd64 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Get:97 http://deb.debian.org/debian unstable/main amd64 libhttp-message-perl all 7.04-1 [80.6 kB] Get:98 http://deb.debian.org/debian unstable/main amd64 libhttp-cookies-perl all 6.12-2 [19.2 kB] Get:99 http://deb.debian.org/debian unstable/main amd64 libhttp-multipartparser-perl all 0.02-3 [10.1 kB] Get:100 http://deb.debian.org/debian unstable/main amd64 libjson-maybexs-perl all 1.004008-1 [12.9 kB] Get:101 http://deb.debian.org/debian unstable/main amd64 libstream-buffered-perl all 0.03-3 [5728 B] Get:102 http://deb.debian.org/debian unstable/main amd64 libwww-form-urlencoded-perl all 0.26-2 [13.2 kB] Get:103 http://deb.debian.org/debian unstable/main amd64 libhttp-entity-parser-perl all 0.25-2 [21.2 kB] Get:104 http://deb.debian.org/debian unstable/main amd64 libhttp-headers-fast-perl all 0.22-3 [12.2 kB] Get:105 http://deb.debian.org/debian unstable/main amd64 libhttp-negotiate-perl all 6.01-2 [13.1 kB] Get:106 http://deb.debian.org/debian unstable/main amd64 perl-openssl-defaults amd64 7+b2 [6724 B] Get:107 http://deb.debian.org/debian unstable/main amd64 libio-socket-ssl-perl all 2.099-1 [229 kB] Get:108 http://deb.debian.org/debian unstable/main amd64 libnet-http-perl all 6.24-1 [23.2 kB] Get:109 http://deb.debian.org/debian unstable/main amd64 libwww-robotrules-perl all 6.03-1 [15.8 kB] Get:110 http://deb.debian.org/debian unstable/main amd64 libwww-perl all 6.83-1 [186 kB] Get:111 http://deb.debian.org/debian unstable/main amd64 liblwp-protocol-https-perl all 6.15-1 [10.7 kB] Get:112 http://deb.debian.org/debian unstable/main amd64 libmime-types-perl all 2.30-1 [70.5 kB] Get:113 http://deb.debian.org/debian unstable/main amd64 libtest-sharedfork-perl all 0.35-3 [8484 B] Get:114 http://deb.debian.org/debian unstable/main amd64 libtest-tcp-perl all 2.22-2 [22.9 kB] Get:115 http://deb.debian.org/debian unstable/main amd64 libplack-perl all 1.0054-1 [242 kB] Get:116 http://deb.debian.org/debian unstable/main amd64 libplack-middleware-fixmissingbodyinredirect-perl all 0.12-1 [6116 B] Get:117 http://deb.debian.org/debian unstable/main amd64 libplack-middleware-removeredundantbody-perl all 0.09-3 [5412 B] Get:118 http://deb.debian.org/debian unstable/main amd64 libsafe-isa-perl all 1.000010-1 [8288 B] Get:119 http://deb.debian.org/debian unstable/main amd64 libsub-uplevel-perl all 0.2800-3 [14.0 kB] Get:120 http://deb.debian.org/debian unstable/main amd64 libtemplate-tiny-perl all 1.16-1 [12.5 kB] Get:121 http://deb.debian.org/debian unstable/main amd64 libtest-exception-perl all 0.43-3 [16.9 kB] Get:122 http://deb.debian.org/debian unstable/main amd64 libtest-fatal-perl all 0.018-1 [13.3 kB] Get:123 http://deb.debian.org/debian unstable/main amd64 libtest-memory-cycle-perl all 1.06-2 [11.4 kB] Get:124 http://deb.debian.org/debian unstable/main amd64 libtest-mocktime-perl all 0.17-2 [8612 B] Get:125 http://deb.debian.org/debian unstable/main amd64 libtype-tiny-perl all 2.010001-1 [391 kB] Get:126 http://deb.debian.org/debian unstable/main amd64 libyaml-perl all 1.321-1 [62.1 kB] Preconfiguring packages ... Fetched 16.6 MB in 0s (66.8 MB/s) Selecting previously unselected package netbase. (Reading database ... 15722 files and directories currently installed.) Preparing to unpack .../000-netbase_6.6_all.deb ... Unpacking netbase (6.6) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../001-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package openssl. Preparing to unpack .../002-openssl_3.6.4-1_amd64.deb ... Unpacking openssl (3.6.4-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../003-ca-certificates_20260816_all.deb ... Unpacking ca-certificates (20260816) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../004-libmagic-mgc_1%3a5.47-4_amd64.deb ... Unpacking libmagic-mgc (1:5.47-4) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../005-libmagic1t64_1%3a5.47-4_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.47-4) ... Selecting previously unselected package file. Preparing to unpack .../006-file_1%3a5.47-4_amd64.deb ... Unpacking file (1:5.47-4) ... Selecting previously unselected package gettext-base. Preparing to unpack .../007-gettext-base_1.0-5_amd64.deb ... Unpacking gettext-base (1.0-5) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../008-libuchardet0_0.0.8-2+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-2+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../009-groff-base_1.24.2-2_amd64.deb ... Unpacking groff-base (1.24.2-2) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../010-bsdextrautils_2.42.4-1_amd64.deb ... Unpacking bsdextrautils (2.42.4-1) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../011-libpipeline1_1.5.8-3_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-3) ... Selecting previously unselected package man-db. Preparing to unpack .../012-man-db_2.13.1-1_amd64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../013-m4_1.4.21-1_amd64.deb ... Unpacking m4 (1.4.21-1) ... Selecting previously unselected package autoconf. Preparing to unpack .../014-autoconf_2.73-2_all.deb ... Unpacking autoconf (2.73-2) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../015-autotools-dev_20240727.1+nmu1_all.deb ... Unpacking autotools-dev (20240727.1+nmu1) ... Selecting previously unselected package automake. Preparing to unpack .../016-automake_1%3a1.19-2_all.deb ... Unpacking automake (1:1.19-2) ... Selecting previously unselected package autopoint. Preparing to unpack .../017-autopoint_1.0-5_all.deb ... Unpacking autopoint (1.0-5) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../018-libdebhelper-perl_14.5_all.deb ... Unpacking libdebhelper-perl (14.5) ... Selecting previously unselected package libtool. Preparing to unpack .../019-libtool_2.6.2-3_all.deb ... Unpacking libtool (2.6.2-3) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../020-dh-autoreconf_23_all.deb ... Unpacking dh-autoreconf (23) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../021-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../022-libfile-stripnondeterminism-perl_1.15.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.15.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../023-dh-strip-nondeterminism_1.15.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.15.1-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../024-libelf1t64_0.196-1_amd64.deb ... Unpacking libelf1t64:amd64 (0.196-1) ... Selecting previously unselected package dwz. Preparing to unpack .../025-dwz_0.17-1_amd64.deb ... Unpacking dwz (0.17-1) ... Selecting previously unselected package libxml2-16:amd64. Preparing to unpack .../026-libxml2-16_2.15.4+dfsg-1_amd64.deb ... Unpacking libxml2-16:amd64 (2.15.4+dfsg-1) ... Selecting previously unselected package gettext. Preparing to unpack .../027-gettext_1.0-5_amd64.deb ... Unpacking gettext (1.0-5) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../028-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../029-po-debconf_1.0.22_all.deb ... Unpacking po-debconf (1.0.22) ... Selecting previously unselected package debhelper. Preparing to unpack .../030-debhelper_14.5_all.deb ... Unpacking debhelper (14.5) ... Selecting previously unselected package libanyevent-perl. Preparing to unpack .../031-libanyevent-perl_7.170-2+b9_amd64.deb ... Unpacking libanyevent-perl (7.170-2+b9) ... Selecting previously unselected package libposix-strftime-compiler-perl. Preparing to unpack .../032-libposix-strftime-compiler-perl_0.46-1_all.deb ... Unpacking libposix-strftime-compiler-perl (0.46-1) ... Selecting previously unselected package libapache-logformat-compiler-perl. Preparing to unpack .../033-libapache-logformat-compiler-perl_0.36-3_all.deb ... Unpacking libapache-logformat-compiler-perl (0.36-3) ... Selecting previously unselected package libappconfig-perl. Preparing to unpack .../034-libappconfig-perl_1.71-2.3_all.deb ... Unpacking libappconfig-perl (1.71-2.3) ... Selecting previously unselected package libb-hooks-op-check-perl:amd64. Preparing to unpack .../035-libb-hooks-op-check-perl_0.22-3+b6_amd64.deb ... Unpacking libb-hooks-op-check-perl:amd64 (0.22-3+b6) ... Selecting previously unselected package libcapture-tiny-perl. Preparing to unpack .../036-libcapture-tiny-perl_0.50-1_all.deb ... Unpacking libcapture-tiny-perl (0.50-1) ... Selecting previously unselected package libclass-inspector-perl. Preparing to unpack .../037-libclass-inspector-perl_1.36-3_all.deb ... Unpacking libclass-inspector-perl (1.36-3) ... Selecting previously unselected package libclass-method-modifiers-perl. Preparing to unpack .../038-libclass-method-modifiers-perl_2.15-1_all.deb ... Unpacking libclass-method-modifiers-perl (2.15-1) ... Selecting previously unselected package libclass-xsaccessor-perl. Preparing to unpack .../039-libclass-xsaccessor-perl_1.19-4+b8_amd64.deb ... Unpacking libclass-xsaccessor-perl (1.19-4+b8) ... Selecting previously unselected package libio-stringy-perl. Preparing to unpack .../040-libio-stringy-perl_2.113-2_all.deb ... Unpacking libio-stringy-perl (2.113-2) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../041-libdynaloader-functions-perl_0.004-2_all.deb ... Unpacking libdynaloader-functions-perl (0.004-2) ... Selecting previously unselected package libdevel-callchecker-perl:amd64. Preparing to unpack .../042-libdevel-callchecker-perl_0.009-3+b2_amd64.deb ... Unpacking libdevel-callchecker-perl:amd64 (0.009-3+b2) ... Selecting previously unselected package libparams-classify-perl:amd64. Preparing to unpack .../043-libparams-classify-perl_0.015-2+b8_amd64.deb ... Unpacking libparams-classify-perl:amd64 (0.015-2+b8) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../044-libmodule-runtime-perl_0.018-1_all.deb ... Unpacking libmodule-runtime-perl (0.018-1) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../045-libtry-tiny-perl_0.32-1_all.deb ... Unpacking libtry-tiny-perl (0.32-1) ... Selecting previously unselected package libmodule-implementation-perl. Preparing to unpack .../046-libmodule-implementation-perl_0.09-2_all.deb ... Unpacking libmodule-implementation-perl (0.09-2) ... Selecting previously unselected package libparams-validate-perl:amd64. Preparing to unpack .../047-libparams-validate-perl_1.31-2+b6_amd64.deb ... Unpacking libparams-validate-perl:amd64 (1.31-2+b6) ... Selecting previously unselected package libparams-someutil-perl. Preparing to unpack .../048-libparams-someutil-perl_1.11-1+b1_amd64.deb ... Unpacking libparams-someutil-perl (1.11-1+b1) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../049-libsub-install-perl_0.929-1_all.deb ... Unpacking libsub-install-perl (0.929-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../050-libdata-optlist-perl_0.115-1_all.deb ... Unpacking libdata-optlist-perl (0.115-1) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../051-libparams-util-perl_1.102-3+b3_amd64.deb ... Unpacking libparams-util-perl (1.102-3+b3) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../052-libsub-exporter-perl_0.990-1.1_all.deb ... Unpacking libsub-exporter-perl (0.990-1.1) ... Selecting previously unselected package libgetopt-long-descriptive-perl. Preparing to unpack .../053-libgetopt-long-descriptive-perl_0.117-1_all.deb ... Unpacking libgetopt-long-descriptive-perl (0.117-1) ... Selecting previously unselected package libimport-into-perl. Preparing to unpack .../054-libimport-into-perl_1.002005-2_all.deb ... Unpacking libimport-into-perl (1.002005-2) ... Selecting previously unselected package librole-tiny-perl. Preparing to unpack .../055-librole-tiny-perl_2.002005-1_all.deb ... Unpacking librole-tiny-perl (2.002005-1) ... Selecting previously unselected package libsub-quote-perl. Preparing to unpack .../056-libsub-quote-perl_2.006009-1_all.deb ... Unpacking libsub-quote-perl (2.006009-1) ... Selecting previously unselected package libmoo-perl. Preparing to unpack .../057-libmoo-perl_2.005005-1_all.deb ... Unpacking libmoo-perl (2.005005-1) ... Selecting previously unselected package libpath-tiny-perl. Preparing to unpack .../058-libpath-tiny-perl_0.150-1_all.deb ... Unpacking libpath-tiny-perl (0.150-1) ... Selecting previously unselected package libcli-osprey-perl. Preparing to unpack .../059-libcli-osprey-perl_0.09-1_all.deb ... Unpacking libcli-osprey-perl (0.09-1) ... Selecting previously unselected package libclone-perl:amd64. Preparing to unpack .../060-libclone-perl_0.50-1+b3_amd64.deb ... Unpacking libclone-perl:amd64 (0.50-1+b3) ... Selecting previously unselected package libmodule-pluggable-perl. Preparing to unpack .../061-libmodule-pluggable-perl_6.4-1_all.deb ... Unpacking libmodule-pluggable-perl (6.4-1) ... Selecting previously unselected package libconfig-any-perl. Preparing to unpack .../062-libconfig-any-perl_0.33-1_all.deb ... Unpacking libconfig-any-perl (0.33-1) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../063-liburi-perl_5.37-1_all.deb ... Unpacking liburi-perl (5.37-1) ... Selecting previously unselected package libcookie-baker-perl. Preparing to unpack .../064-libcookie-baker-perl_0.12-1_all.deb ... Unpacking libcookie-baker-perl (0.12-1) ... Selecting previously unselected package libcpanel-json-xs-perl:amd64. Preparing to unpack .../065-libcpanel-json-xs-perl_4.51-1+b1_amd64.deb ... Unpacking libcpanel-json-xs-perl:amd64 (4.51-1+b1) ... Selecting previously unselected package libcrypt-urandom-perl. Preparing to unpack .../066-libcrypt-urandom-perl_0.55-1+b2_amd64.deb ... Unpacking libcrypt-urandom-perl (0.55-1+b2) ... Selecting previously unselected package libref-util-perl. Preparing to unpack .../067-libref-util-perl_0.204-2_all.deb ... Unpacking libref-util-perl (0.204-2) ... Selecting previously unselected package libdata-censor-perl. Preparing to unpack .../068-libdata-censor-perl_0.04-1_all.deb ... Unpacking libdata-censor-perl (0.04-1) ... Selecting previously unselected package libdevel-cycle-perl. Preparing to unpack .../069-libdevel-cycle-perl_1.12-2_all.deb ... Unpacking libdevel-cycle-perl (1.12-2) ... Selecting previously unselected package libdevel-stacktrace-perl. Preparing to unpack .../070-libdevel-stacktrace-perl_2.0500-1_all.deb ... Unpacking libdevel-stacktrace-perl (2.0500-1) ... Selecting previously unselected package libdevel-stacktrace-ashtml-perl. Preparing to unpack .../071-libdevel-stacktrace-ashtml-perl_0.15-2_all.deb ... Unpacking libdevel-stacktrace-ashtml-perl (0.15-2) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../072-libencode-locale-perl_1.05-3_all.deb ... Unpacking libencode-locale-perl (1.05-3) ... Selecting previously unselected package libexporter-tiny-perl. Preparing to unpack .../073-libexporter-tiny-perl_1.006003-1_all.deb ... Unpacking libexporter-tiny-perl (1.006003-1) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../074-libtimedate-perl_2.3500-1_all.deb ... Unpacking libtimedate-perl (2.3500-1) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../075-libhttp-date-perl_6.08-1_all.deb ... Unpacking libhttp-date-perl (6.08-1) ... Selecting previously unselected package libfile-listing-perl. Preparing to unpack .../076-libfile-listing-perl_6.16-1_all.deb ... Unpacking libfile-listing-perl (6.16-1) ... Selecting previously unselected package libfile-sharedir-perl. Preparing to unpack .../077-libfile-sharedir-perl_1.118-3_all.deb ... Unpacking libfile-sharedir-perl (1.118-3) ... Selecting previously unselected package libfile-share-perl. Preparing to unpack .../078-libfile-share-perl_0.27-2_all.deb ... Unpacking libfile-share-perl (0.27-2) ... Selecting previously unselected package libfile-sharedir-install-perl. Preparing to unpack .../079-libfile-sharedir-install-perl_0.14-2_all.deb ... Unpacking libfile-sharedir-install-perl (0.14-2) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../080-libfile-which-perl_1.27-2_all.deb ... Unpacking libfile-which-perl (1.27-2) ... Selecting previously unselected package libfilesys-notify-simple-perl. Preparing to unpack .../081-libfilesys-notify-simple-perl_0.14-3_all.deb ... Unpacking libfilesys-notify-simple-perl (0.14-3) ... Selecting previously unselected package libhash-merge-simple-perl. Preparing to unpack .../082-libhash-merge-simple-perl_0.052-1_all.deb ... Unpacking libhash-merge-simple-perl (0.052-1) ... Selecting previously unselected package libhash-multivalue-perl. Preparing to unpack .../083-libhash-multivalue-perl_0.16-3_all.deb ... Unpacking libhash-multivalue-perl (0.16-3) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../084-libhtml-tagset-perl_3.24-1_all.deb ... Unpacking libhtml-tagset-perl (3.24-1) ... Selecting previously unselected package libhtml-parser-perl:amd64. Preparing to unpack .../085-libhtml-parser-perl_3.83-2+b3_amd64.deb ... Unpacking libhtml-parser-perl:amd64 (3.83-2+b3) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../086-libhtml-tree-perl_5.07-3_all.deb ... Unpacking libhtml-tree-perl (5.07-3) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../087-libio-html-perl_1.004-3_all.deb ... Unpacking libio-html-perl (1.004-3) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../088-liblwp-mediatypes-perl_6.04-2_all.deb ... Unpacking liblwp-mediatypes-perl (6.04-2) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../089-libhttp-message-perl_7.04-1_all.deb ... Unpacking libhttp-message-perl (7.04-1) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../090-libhttp-cookies-perl_6.12-2_all.deb ... Unpacking libhttp-cookies-perl (6.12-2) ... Selecting previously unselected package libhttp-multipartparser-perl. Preparing to unpack .../091-libhttp-multipartparser-perl_0.02-3_all.deb ... Unpacking libhttp-multipartparser-perl (0.02-3) ... Selecting previously unselected package libjson-maybexs-perl. Preparing to unpack .../092-libjson-maybexs-perl_1.004008-1_all.deb ... Unpacking libjson-maybexs-perl (1.004008-1) ... Selecting previously unselected package libstream-buffered-perl. Preparing to unpack .../093-libstream-buffered-perl_0.03-3_all.deb ... Unpacking libstream-buffered-perl (0.03-3) ... Selecting previously unselected package libwww-form-urlencoded-perl. Preparing to unpack .../094-libwww-form-urlencoded-perl_0.26-2_all.deb ... Unpacking libwww-form-urlencoded-perl (0.26-2) ... Selecting previously unselected package libhttp-entity-parser-perl. Preparing to unpack .../095-libhttp-entity-parser-perl_0.25-2_all.deb ... Unpacking libhttp-entity-parser-perl (0.25-2) ... Selecting previously unselected package libhttp-headers-fast-perl. Preparing to unpack .../096-libhttp-headers-fast-perl_0.22-3_all.deb ... Unpacking libhttp-headers-fast-perl (0.22-3) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../097-libhttp-negotiate-perl_6.01-2_all.deb ... Unpacking libhttp-negotiate-perl (6.01-2) ... Selecting previously unselected package perl-openssl-defaults:amd64. Preparing to unpack .../098-perl-openssl-defaults_7+b2_amd64.deb ... Unpacking perl-openssl-defaults:amd64 (7+b2) ... Selecting previously unselected package libnet-ssleay-perl:amd64. Preparing to unpack .../099-libnet-ssleay-perl_1.96-2+b1_amd64.deb ... Unpacking libnet-ssleay-perl:amd64 (1.96-2+b1) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../100-libio-socket-ssl-perl_2.099-1_all.deb ... Unpacking libio-socket-ssl-perl (2.099-1) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../101-libnet-http-perl_6.24-1_all.deb ... Unpacking libnet-http-perl (6.24-1) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../102-libwww-robotrules-perl_6.03-1_all.deb ... Unpacking libwww-robotrules-perl (6.03-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../103-libwww-perl_6.83-1_all.deb ... Unpacking libwww-perl (6.83-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../104-liblwp-protocol-https-perl_6.15-1_all.deb ... Unpacking liblwp-protocol-https-perl (6.15-1) ... Selecting previously unselected package libmime-types-perl. Preparing to unpack .../105-libmime-types-perl_2.30-1_all.deb ... Unpacking libmime-types-perl (2.30-1) ... Selecting previously unselected package libpadwalker-perl. Preparing to unpack .../106-libpadwalker-perl_2.5-1+b8_amd64.deb ... Unpacking libpadwalker-perl (2.5-1+b8) ... Selecting previously unselected package libtest-sharedfork-perl. Preparing to unpack .../107-libtest-sharedfork-perl_0.35-3_all.deb ... Unpacking libtest-sharedfork-perl (0.35-3) ... Selecting previously unselected package libtest-tcp-perl. Preparing to unpack .../108-libtest-tcp-perl_2.22-2_all.deb ... Unpacking libtest-tcp-perl (2.22-2) ... Selecting previously unselected package libplack-perl. Preparing to unpack .../109-libplack-perl_1.0054-1_all.deb ... Unpacking libplack-perl (1.0054-1) ... Selecting previously unselected package libplack-middleware-fixmissingbodyinredirect-perl. Preparing to unpack .../110-libplack-middleware-fixmissingbodyinredirect-perl_0.12-1_all.deb ... Unpacking libplack-middleware-fixmissingbodyinredirect-perl (0.12-1) ... Selecting previously unselected package libplack-middleware-removeredundantbody-perl. Preparing to unpack .../111-libplack-middleware-removeredundantbody-perl_0.09-3_all.deb ... Unpacking libplack-middleware-removeredundantbody-perl (0.09-3) ... Selecting previously unselected package libsafe-isa-perl. Preparing to unpack .../112-libsafe-isa-perl_1.000010-1_all.deb ... Unpacking libsafe-isa-perl (1.000010-1) ... Selecting previously unselected package libsub-uplevel-perl. Preparing to unpack .../113-libsub-uplevel-perl_0.2800-3_all.deb ... Unpacking libsub-uplevel-perl (0.2800-3) ... Selecting previously unselected package libtemplate-perl. Preparing to unpack .../114-libtemplate-perl_3.106-1+b2_amd64.deb ... Unpacking libtemplate-perl (3.106-1+b2) ... Selecting previously unselected package libtemplate-tiny-perl. Preparing to unpack .../115-libtemplate-tiny-perl_1.16-1_all.deb ... Unpacking libtemplate-tiny-perl (1.16-1) ... Selecting previously unselected package libtest-exception-perl. Preparing to unpack .../116-libtest-exception-perl_0.43-3_all.deb ... Unpacking libtest-exception-perl (0.43-3) ... Selecting previously unselected package libtest-fatal-perl. Preparing to unpack .../117-libtest-fatal-perl_0.018-1_all.deb ... Unpacking libtest-fatal-perl (0.018-1) ... Selecting previously unselected package libtest-memory-cycle-perl. Preparing to unpack .../118-libtest-memory-cycle-perl_1.06-2_all.deb ... Unpacking libtest-memory-cycle-perl (1.06-2) ... Selecting previously unselected package libtest-mocktime-perl. Preparing to unpack .../119-libtest-mocktime-perl_0.17-2_all.deb ... Unpacking libtest-mocktime-perl (0.17-2) ... Selecting previously unselected package libtype-tiny-perl. Preparing to unpack .../120-libtype-tiny-perl_2.010001-1_all.deb ... Unpacking libtype-tiny-perl (2.010001-1) ... Selecting previously unselected package libtype-tiny-xs-perl:amd64. Preparing to unpack .../121-libtype-tiny-xs-perl_0.025-2+b5_amd64.deb ... Unpacking libtype-tiny-xs-perl:amd64 (0.025-2+b5) ... Selecting previously unselected package libunicode-utf8-perl. Preparing to unpack .../122-libunicode-utf8-perl_0.75-1+b2_amd64.deb ... Unpacking libunicode-utf8-perl (0.75-1+b2) ... Selecting previously unselected package liburl-encode-xs-perl. Preparing to unpack .../123-liburl-encode-xs-perl_0.03-2+b8_amd64.deb ... Unpacking liburl-encode-xs-perl (0.03-2+b8) ... Selecting previously unselected package libyaml-perl. Preparing to unpack .../124-libyaml-perl_1.321-1_all.deb ... Unpacking libyaml-perl (1.321-1) ... Selecting previously unselected package sbuild-build-depends-main-dummy. Preparing to unpack .../125-sbuild-build-depends-main-dummy_0.invalid.0_amd64.deb ... Unpacking sbuild-build-depends-main-dummy (0.invalid.0) ... Setting up libmodule-pluggable-perl (6.4-1) ... Setting up libanyevent-perl (7.170-2+b9) ... Setting up libpipeline1:amd64 (1.5.8-3) ... Setting up libfile-sharedir-install-perl (0.14-2) ... Setting up libdevel-cycle-perl (1.12-2) ... Setting up libfile-which-perl (1.27-2) ... Setting up libsafe-isa-perl (1.000010-1) ... Setting up libunicode-utf8-perl (0.75-1+b2) ... Setting up libhttp-multipartparser-perl (0.02-3) ... Setting up bsdextrautils (2.42.4-1) ... Setting up libclass-inspector-perl (1.36-3) ... Setting up libdynaloader-functions-perl (0.004-2) ... Setting up libclass-method-modifiers-perl (2.15-1) ... Setting up libmagic-mgc (1:5.47-4) ... Setting up libmime-types-perl (2.30-1) ... Setting up libclone-perl:amd64 (0.50-1+b3) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libcpanel-json-xs-perl:amd64 (4.51-1+b1) ... Setting up libxml2-16:amd64 (2.15.4+dfsg-1) ... Setting up libio-stringy-perl (2.113-2) ... Setting up libhtml-tagset-perl (3.24-1) ... Setting up libdebhelper-perl (14.5) ... Setting up libfilesys-notify-simple-perl (0.14-3) ... Setting up liblwp-mediatypes-perl (6.04-2) ... Setting up libmagic1t64:amd64 (1:5.47-4) ... Setting up libcrypt-urandom-perl (0.55-1+b2) ... Setting up libtry-tiny-perl (0.32-1) ... Setting up libtest-fatal-perl (0.018-1) ... Setting up perl-openssl-defaults:amd64 (7+b2) ... Setting up gettext-base (1.0-5) ... Setting up m4 (1.4.21-1) ... Setting up libposix-strftime-compiler-perl (0.46-1) ... Setting up libpadwalker-perl (2.5-1+b8) ... Setting up libencode-locale-perl (1.05-3) ... Setting up file (1:5.47-4) ... Setting up libparams-someutil-perl (1.11-1+b1) ... Setting up libyaml-perl (1.321-1) ... Setting up libtest-sharedfork-perl (0.35-3) ... Setting up libsub-install-perl (0.929-1) ... Setting up libelf1t64:amd64 (0.196-1) ... Setting up libhash-multivalue-perl (0.16-3) ... Setting up libjson-maybexs-perl (1.004008-1) ... Setting up libtest-memory-cycle-perl (1.06-2) ... Setting up autotools-dev (20240727.1+nmu1) ... Setting up libstream-buffered-perl (0.03-3) ... Setting up libapache-logformat-compiler-perl (0.36-3) ... Setting up libref-util-perl (0.204-2) ... Setting up libio-html-perl (1.004-3) ... Setting up libdata-optlist-perl (0.115-1) ... Setting up autopoint (1.0-5) ... Setting up libb-hooks-op-check-perl:amd64 (0.22-3+b6) ... Setting up libparams-util-perl (1.102-3+b3) ... Setting up autoconf (2.73-2) ... Setting up libcapture-tiny-perl (0.50-1) ... Setting up libtimedate-perl (2.3500-1) ... Setting up libtype-tiny-xs-perl:amd64 (0.025-2+b5) ... Setting up dwz (0.17-1) ... Setting up libtest-mocktime-perl (0.17-2) ... Setting up sensible-utils (0.0.26) ... Setting up libpath-tiny-perl (0.150-1) ... Setting up libuchardet0:amd64 (0.0.8-2+b2) ... Setting up librole-tiny-perl (2.002005-1) ... Setting up libconfig-any-perl (0.33-1) ... Setting up libfile-sharedir-perl (1.118-3) ... Setting up libsub-uplevel-perl (0.2800-3) ... Setting up netbase (6.6) ... Configuration file '/etc/services' ==> Modified locally since installation. ==> Package distributor has shipped an updated version. ==> Using current old file as requested. Setting up libwww-form-urlencoded-perl (0.26-2) ... Setting up libsub-quote-perl (2.006009-1) ... Setting up libdevel-stacktrace-perl (2.0500-1) ... Setting up libclass-xsaccessor-perl (1.19-4+b8) ... Setting up libtemplate-tiny-perl (1.16-1) ... Setting up libexporter-tiny-perl (1.006003-1) ... Setting up libhttp-entity-parser-perl (0.25-2) ... Setting up openssl (3.6.4-1) ... Setting up liburi-perl (5.37-1) ... Setting up libappconfig-perl (1.71-2.3) ... Setting up libsub-exporter-perl (0.990-1.1) ... Setting up liburl-encode-xs-perl (0.03-2+b8) ... Setting up libnet-ssleay-perl:amd64 (1.96-2+b1) ... Setting up automake (1:1.19-2) ... update-alternatives: using /usr/bin/automake-1.19 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.15.1-1) ... Setting up libhttp-date-perl (6.08-1) ... Setting up gettext (1.0-5) ... Setting up libtest-tcp-perl (2.22-2) ... Setting up libfile-listing-perl (6.16-1) ... Setting up libhash-merge-simple-perl (0.052-1) ... Setting up libhttp-headers-fast-perl (0.22-3) ... Setting up libtool (2.6.2-3) ... Setting up libtype-tiny-perl (2.010001-1) ... Setting up libnet-http-perl (6.24-1) ... Setting up libdata-censor-perl (0.04-1) ... Setting up libdevel-callchecker-perl:amd64 (0.009-3+b2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (23) ... Setting up ca-certificates (20260816) ... Updating certificates in /etc/ssl/certs... 121 added, 0 removed; done. Setting up libdevel-stacktrace-ashtml-perl (0.15-2) ... Setting up libtest-exception-perl (0.43-3) ... Setting up libfile-share-perl (0.27-2) ... Setting up libtemplate-perl (3.106-1+b2) ... Setting up dh-strip-nondeterminism (1.15.1-1) ... Setting up libwww-robotrules-perl (6.03-1) ... Setting up groff-base (1.24.2-2) ... Setting up libhtml-parser-perl:amd64 (3.83-2+b3) ... Setting up libcookie-baker-perl (0.12-1) ... Setting up libio-socket-ssl-perl (2.099-1) ... Setting up libhttp-message-perl (7.04-1) ... Setting up libhttp-negotiate-perl (6.01-2) ... Setting up libhttp-cookies-perl (6.12-2) ... Setting up po-debconf (1.0.22) ... Setting up libhtml-tree-perl (5.07-3) ... Setting up libparams-classify-perl:amd64 (0.015-2+b8) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libmodule-runtime-perl (0.018-1) ... Setting up libplack-perl (1.0054-1) ... Setting up libplack-middleware-fixmissingbodyinredirect-perl (0.12-1) ... Setting up libplack-middleware-removeredundantbody-perl (0.09-3) ... Setting up libmodule-implementation-perl (0.09-2) ... Setting up libimport-into-perl (1.002005-2) ... Setting up libmoo-perl (2.005005-1) ... Setting up debhelper (14.5) ... Setting up libparams-validate-perl:amd64 (1.31-2+b6) ... Setting up libgetopt-long-descriptive-perl (0.117-1) ... Setting up libcli-osprey-perl (0.09-1) ... Setting up liblwp-protocol-https-perl (6.15-1) ... Setting up libwww-perl (6.83-1) ... Setting up sbuild-build-depends-main-dummy (0.invalid.0) ... Processing triggers for libc-bin (2.43-6) ... Processing triggers for ca-certificates (20260816) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. +------------------------------------------------------------------------------+ | Check architectures Wed, 30 Sep 2026 00:02:00 +0000 | +------------------------------------------------------------------------------+ Arch check ok (amd64 included in all) +------------------------------------------------------------------------------+ | Build environment Wed, 30 Sep 2026 00:02:00 +0000 | +------------------------------------------------------------------------------+ Kernel: Linux 7.0.10+deb14-amd64 #1 SMP PREEMPT_DYNAMIC Debian 7.0.10-1 (2026-05-27) amd64 (x86_64) Toolchain package versions: binutils_2.47-6 dpkg-dev_1.23.11 g++-15_15.3.0-4 g++-16_16.2.0-3 gcc-15_15.3.0-4 gcc-16_16.2.0-3 libc6-dev_2.43-6 libstdc++-15-dev_15.3.0-4 libstdc++-16-dev_16.2.0-3 libstdc++6_16.2.0-3 linux-libc-dev_7.2.8-1 Package versions: apt_3.3.3 autoconf_2.73-2 automake_1:1.19-2 autopoint_1.0-5 autotools-dev_20240727.1+nmu1 base-files_14.2 base-passwd_3.6.8 bash_5.3-4 binutils_2.47-6 binutils-common_2.47-6 binutils-x86-64-linux-gnu_2.47-6 bsdextrautils_2.42.4-1 build-essential_12.12 bzip2_1.0.8-6+b2 ca-certificates_20260816 coreutils_9.10-1 cpp_4:16.1.0-3 cpp-15_15.3.0-4 cpp-15-x86-64-linux-gnu_15.3.0-4 cpp-16_16.2.0-3 cpp-16-x86-64-linux-gnu_16.2.0-3 cpp-x86-64-linux-gnu_4:16.1.0-3 dash_0.5.12-12 debconf_1.5.92 debhelper_14.5 debian-archive-keyring_2025.1 debianutils_5.24 dh-autoreconf_23 dh-strip-nondeterminism_1.15.1-1 diffutils_1:3.12-1 dirmngr_2.4.9-7+b1 dpkg_1.23.11 dpkg-dev_1.23.11 dwz_0.17-1 eatmydata_131-2 file_1:5.47-4 findutils_4.11.0-2 g++_4:16.1.0-3 g++-15_15.3.0-4 g++-15-x86-64-linux-gnu_15.3.0-4 g++-16_16.2.0-3 g++-16-x86-64-linux-gnu_16.2.0-3 g++-x86-64-linux-gnu_4:16.1.0-3 gcc_4:16.1.0-3 gcc-15_15.3.0-4 gcc-15-base_15.3.0-4 gcc-15-x86-64-linux-gnu_15.3.0-4 gcc-16_16.2.0-3 gcc-16-base_16.2.0-3 gcc-16-x86-64-linux-gnu_16.2.0-3 gcc-x86-64-linux-gnu_4:16.1.0-3 gettext_1.0-5 gettext-base_1.0-5 gnupg_2.4.9-7 gnupg-l10n_2.4.9-7 gpg_2.4.9-7+b1 gpg-agent_2.4.9-7+b1 gpgconf_2.4.9-7+b1 gpgsm_2.4.9-7+b1 grep_3.12-1 groff-base_1.24.2-2 gzip_1.14-1 hostname_3.25 init-system-helpers_1.69+nmu3 intltool-debian_0.35.0+20060710.6 libacl1_2.4.0-1 libanyevent-perl_7.170-2+b9 libapache-logformat-compiler-perl_0.36-3 libappconfig-perl_1.71-2.3 libapt-pkg7.0_3.3.3 libarchive-zip-perl_1.68-1 libasan8_16.2.0-3 libassuan9_3.0.2-2+b2 libatomic1_16.2.0-3 libattr1_1:2.6.0-1 libaudit-common_1:4.2.1-1 libaudit1_1:4.2.1-1 libb-hooks-op-check-perl_0.22-3+b6 libbinutils_2.47-6 libblkid1_2.42.4-1 libbz2-1.0_1.0.8-6+b2 libc-bin_2.43-6 libc-dev-bin_2.43-6 libc-gconv-modules-extra_2.43-6 libc6_2.43-6 libc6-dev_2.43-6 libcap-ng0_0.9.6-1 libcapture-tiny-perl_0.50-1 libcc1-0_16.2.0-3 libclass-inspector-perl_1.36-3 libclass-method-modifiers-perl_2.15-1 libclass-xsaccessor-perl_1.19-4+b8 libcli-osprey-perl_0.09-1 libclone-perl_0.50-1+b3 libconfig-any-perl_0.33-1 libcookie-baker-perl_0.12-1 libcpanel-json-xs-perl_4.51-1+b1 libcrypt-urandom-perl_0.55-1+b2 libcrypt1_1:4.5.2+20251210-1 libctf-nobfd0_2.47-6 libctf0_2.47-6 libdata-censor-perl_0.04-1 libdata-optlist-perl_0.115-1 libdb5.3t64_5.3.28+dfsg2-11+b1 libdebconfclient0_0.283 libdebhelper-perl_14.5 libdevel-callchecker-perl_0.009-3+b2 libdevel-cycle-perl_1.12-2 libdevel-stacktrace-ashtml-perl_0.15-2 libdevel-stacktrace-perl_2.0500-1 libdpkg-perl_1.23.11 libdynaloader-functions-perl_0.004-2 libeatmydata1_131-2+b2 libelf1t64_0.196-1 libencode-locale-perl_1.05-3 libexporter-tiny-perl_1.006003-1 libffi8_3.8.0-2 libfile-listing-perl_6.16-1 libfile-share-perl_0.27-2 libfile-sharedir-install-perl_0.14-2 libfile-sharedir-perl_1.118-3 libfile-stripnondeterminism-perl_1.15.1-1 libfile-which-perl_1.27-2 libfilesys-notify-simple-perl_0.14-3 libgcc-15-dev_15.3.0-4 libgcc-16-dev_16.2.0-3 libgcc-s1_16.2.0-3 libgcrypt20_1.12.4-2 libgdbm-compat4t64_1.26-1+b2 libgdbm6t64_1.26-1+b2 libgetopt-long-descriptive-perl_0.117-1 libgmp10_2:6.3.0+dfsg-5+b2 libgnutls30t64_3.8.13-1 libgomp1_16.2.0-3 libgpg-error0_1.61-5 libgprofng0_2.47-6 libhash-merge-simple-perl_0.052-1 libhash-multivalue-perl_0.16-3 libhogweed6t64_3.10.2-1+b1 libhtml-parser-perl_3.83-2+b3 libhtml-tagset-perl_3.24-1 libhtml-tree-perl_5.07-3 libhttp-cookies-perl_6.12-2 libhttp-date-perl_6.08-1 libhttp-entity-parser-perl_0.25-2 libhttp-headers-fast-perl_0.22-3 libhttp-message-perl_7.04-1 libhttp-multipartparser-perl_0.02-3 libhttp-negotiate-perl_6.01-2 libhwasan0_16.2.0-3 libidn2-0_2.3.8-5 libimport-into-perl_1.002005-2 libio-html-perl_1.004-3 libio-socket-ssl-perl_2.099-1 libio-stringy-perl_2.113-2 libisl23_0.28-1 libitm1_16.2.0-3 libjansson4_2.15.1-1 libjson-maybexs-perl_1.004008-1 libksba8_1.8.1-1 libldap2_2.6.14+dfsg-2+b1 liblsan0_16.2.0-3 liblwp-mediatypes-perl_6.04-2 liblwp-protocol-https-perl_6.15-1 liblz4-1_1.10.0-10 liblzma5_5.8.4-1 libmagic-mgc_1:5.47-4 libmagic1t64_1:5.47-4 libmd0_1.2.0-2 libmime-types-perl_2.30-1 libmodule-implementation-perl_0.09-2 libmodule-pluggable-perl_6.4-1 libmodule-runtime-perl_0.018-1 libmoo-perl_2.005005-1 libmount1_2.42.4-1 libmpc3_1.3.1-3 libmpfr6_4.2.2-3 libncursesw6_6.6+20260608-2 libnet-http-perl_6.24-1 libnet-ssleay-perl_1.96-2+b1 libnettle8t64_3.10.2-1+b1 libnpth0t64_1.8-4 libp11-kit0_0.26.5-1 libpadwalker-perl_2.5-1+b8 libpam-modules_1.7.0-8 libpam-modules-bin_1.7.0-8 libpam-runtime_1.7.0-8 libpam0g_1.7.0-8 libparams-classify-perl_0.015-2+b8 libparams-someutil-perl_1.11-1+b1 libparams-util-perl_1.102-3+b3 libparams-validate-perl_1.31-2+b6 libpath-tiny-perl_0.150-1 libpcre2-8-0_10.48-3.1 libperl5.40_5.40.1-8 libperl5.44_5.44.0-1 libpipeline1_1.5.8-3 libplack-middleware-fixmissingbodyinredirect-perl_0.12-1 libplack-middleware-removeredundantbody-perl_0.09-3 libplack-perl_1.0054-1 libposix-strftime-compiler-perl_0.46-1 libquadmath0_16.2.0-3 libreadline8t64_8.3-4 libref-util-perl_0.204-2 librole-tiny-perl_2.002005-1 libsafe-isa-perl_1.000010-1 libsasl2-2_2.1.28+dfsg1-11 libsasl2-modules-db_2.1.28+dfsg1-11 libseccomp2_2.6.1-1+b1 libselinux1_3.11-2.1 libsframe3_2.47-6 libsmartcols1_2.42.4-1 libsqlite3-0_3.53.4-2 libssl3t64_3.6.4-1 libstdc++-15-dev_15.3.0-4 libstdc++-16-dev_16.2.0-3 libstdc++6_16.2.0-3 libstream-buffered-perl_0.03-3 libsub-exporter-perl_0.990-1.1 libsub-install-perl_0.929-1 libsub-quote-perl_2.006009-1 libsub-uplevel-perl_0.2800-3 libsystemd0_262-1 libtasn1-6_4.21.0-2+b1 libtemplate-perl_3.106-1+b2 libtemplate-tiny-perl_1.16-1 libtest-exception-perl_0.43-3 libtest-fatal-perl_0.018-1 libtest-memory-cycle-perl_1.06-2 libtest-mocktime-perl_0.17-2 libtest-sharedfork-perl_0.35-3 libtest-tcp-perl_2.22-2 libtimedate-perl_2.3500-1 libtinfo6_6.6+20260608-2 libtool_2.6.2-3 libtry-tiny-perl_0.32-1 libtsan2_16.2.0-3 libtss2-mu-4.0.1-0t64_4.1.3-7 libtss2-rc0t64_4.1.3-7 libtss2-sys1t64_4.1.3-7 libtss2-tcti-device0t64_4.1.3-7 libtss2-tcti-mssim0t64_4.1.3-7 libtss2-tcti-swtpm0t64_4.1.3-7 libtype-tiny-perl_2.010001-1 libtype-tiny-xs-perl_0.025-2+b5 libubsan1_16.2.0-3 libuchardet0_0.0.8-2+b2 libudev1_262-1 libunicode-utf8-perl_0.75-1+b2 libunistring5_1.4.2-1 liburi-perl_5.37-1 liburl-encode-xs-perl_0.03-2+b8 libuuid1_2.42.4-1 libwww-form-urlencoded-perl_0.26-2 libwww-perl_6.83-1 libwww-robotrules-perl_6.03-1 libxml2-16_2.15.4+dfsg-1 libxxhash0_0.8.3-2+b2 libyaml-perl_1.321-1 libzstd1_1.5.7+dfsg-4 linux-libc-dev_7.2.8-1 m4_1.4.21-1 make_4.4.1-3 man-db_2.13.1-1 mawk_1.3.4.20260302-2 mount_2.42.4-1 ncurses-base_6.6+20260608-2 ncurses-bin_6.6+20260608-2 netbase_6.6 openssl_3.6.4-1 openssl-provider-legacy_3.6.4-1 patch_2.8-2 perl_5.44.0-1 perl-base_5.44.0-1 perl-modules-5.40_5.40.1-8 perl-modules-5.44_5.44.0-1 perl-openssl-defaults_7+b2 pinentry-curses_1.3.3-3 po-debconf_1.0.22 readline-common_8.3-4 rpcsvc-proto_1.4.4-1 sbuild-build-depends-main-dummy_0.invalid.0 sed_4.9-3 sensible-utils_0.0.26 sqv_1.5.0-1 sysvinit-utils_3.18-1 tar_1.35+dfsg-6 util-linux_2.42.4-1 xz-utils_5.8.4-1 zlib1g_1:1.3.dfsg+really1.3.2-3 +------------------------------------------------------------------------------+ | Build Wed, 30 Sep 2026 00:02:00 +0000 | +------------------------------------------------------------------------------+ Unpack source ------------- -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: libdancer2-perl Binary: libdancer2-perl Architecture: all Version: 2.2.2-1 Maintainer: Debian Perl Group Uploaders: gregor herrmann Homepage: https://metacpan.org/release/Dancer2 Standards-Version: 4.7.4 Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libdancer2-perl Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libdancer2-perl.git Testsuite: autopkgtest-pkg-perl Build-Depends: debhelper-compat (= 13) Build-Depends-Indep: libanyevent-perl , libcapture-tiny-perl , libcli-osprey-perl (>= 0.09) , libclone-perl , libconfig-any-perl , libcpan-meta-requirements-perl , libcrypt-urandom-perl , libdata-censor-perl , libexporter-tiny-perl , libfile-share-perl , libfile-sharedir-install-perl, libfile-which-perl , libhash-merge-simple-perl , libhash-multivalue-perl , libhttp-cookies-perl , libhttp-date-perl , libhttp-headers-fast-perl , libhttp-message-perl , libimport-into-perl , libjson-maybexs-perl , libmime-types-perl , libmodule-pluggable-perl , libmodule-runtime-perl , libmoo-perl , libpath-tiny-perl , libplack-middleware-fixmissingbodyinredirect-perl , libplack-middleware-removeredundantbody-perl , libplack-perl , libpod-simple-perl , libref-util-perl , librole-tiny-perl , libsafe-isa-perl , libscalar-list-utils-perl , libsub-quote-perl , libtemplate-perl , libtemplate-tiny-perl (>= 1.16) , libtest-exception-perl , libtest-fatal-perl , libtest-memory-cycle-perl , libtest-mocktime-perl , libtype-tiny-perl , libtype-tiny-xs-perl , libunicode-utf8-perl , liburi-perl , liburl-encode-xs-perl , libwww-perl , libyaml-perl , perl Package-List: libdancer2-perl deb perl optional arch=all Checksums-Sha1: 5cc5bae2780e87936af8f9c42066bd27f74affdc 487609 libdancer2-perl_2.2.2.orig.tar.gz 1c9b177ef60eb3ac7025d0f10a7752a7e71cc35e 10836 libdancer2-perl_2.2.2-1.debian.tar.xz Checksums-Sha256: f167f2f786b9353676456e0c0a4f3255c2a40f7a048f94ada5aaac1d793d2ba1 487609 libdancer2-perl_2.2.2.orig.tar.gz 50cfff9ed426997bdee5f0696a94557eaf537a547b4167efdb82461eac83e4b4 10836 libdancer2-perl_2.2.2-1.debian.tar.xz Files: 65c19995c43c85117935bc44a9556de5 487609 libdancer2-perl_2.2.2.orig.tar.gz 0c1a86db43a6599fb40f8aa663dabee4 10836 libdancer2-perl_2.2.2-1.debian.tar.xz Dgit: 8d595015b9a6c0e0dc5671c2bc1375b8074f463e debian archive/debian/2.2.2-1 https://git.dgit.debian.org/libdancer2-perl Git-Tag-Info: tag=f11e1888e6cdcc38b8a48dea7434ffa8633c2b19 fp=d1e1316e93a760a8104d85fabb3a68018649aa06 Git-Tag-Tagger: gregor herrmann -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEN02M5NuW6cvUwJcqYG0ITkaDwHkFAmq72rIACgkQYG0ITkaD wHmLnw//d2sF1M4vr+kitvplHZ0OV6IFzVlC6AF+btbAsvYjqeSPJKE+HZerg1l1 5kIcsF2WiWxE8LMXf6wddpVuQsNPK36MM8jtJMiUqPaBp4O8thL05kovXnnJUv0C 83Eru+CruukX3V0XcSp64Cg+TYGAIGfSk2UJznk70W5EaXUqOsX9V6qcGzMnI2DU soxIVrOoFfCnjxERrK+gdej/pocB9zy987MIbRBMs9ZYHhK+12AdElnfcwCtBXpI 6rWZDOhtUOsyc4BHGo3LT9UFpPJ4+C6BeUB0yLqyL/GaIryJwA5jhrvgEotntHe1 QTjhwOkZhAzgaZlTvZ4QeoFUwkaCkha6sXqXkD0noE0mES+ddEe/kbNCtB/cqTVU FFKYhOu9hsKS0bupMJ0hXdH3hp0xpkV7BbphwBaOHOAfLQYT44GqBhC7GOK5NYwb nphI1jbyZfGyYB3H/gv9OQn7sedle4ENYPWPIk8NN4Dk9aKgvaSvtonoD+nnB6OT nk+4WzIOafPmwR+it6fsvVAr7ol5TpxEzhINh/8zQaMD8aNGGtjtWJLjzJFdhYJq xMD1pR8mbuMPN4PHPp9G3kvLr9V1KW2W5haiQvlYQ/7xqadXCfeYZyVKrxScFrxZ K2pGyl3YLwxBsMLHwf6sCrYjf2v/uMCkT938296i3gTg+JZVYDg= =o16g -----END PGP SIGNATURE----- dpkg-source: warning: cannot verify inline signature for ./libdancer2-perl_2.2.2-1.dsc: missing OpenPGP keyrings dpkg-source: info: verifying ./libdancer2-perl_2.2.2-1.dsc dpkg-source: info: skipping absent keyring /usr/share/keyrings/debian-keyring.pgp dpkg-source: info: skipping absent keyring /usr/share/keyrings/debian-tag2upload.pgp dpkg-source: info: skipping absent keyring /usr/share/keyrings/debian-nonupload.pgp dpkg-source: info: skipping absent keyring /usr/share/keyrings/debian-maintainers.pgp dpkg-source: info: extracting libdancer2-perl in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2 dpkg-source: info: unpacking libdancer2-perl_2.2.2.orig.tar.gz dpkg-source: info: unpacking libdancer2-perl_2.2.2-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying no-phone-home.patch dpkg-source: info: applying autopkgtest.patch clean up apt cache ------------------ Check disk space ---------------- Sufficient free space for build +------------------------------------------------------------------------------+ | Starting Time Build Commands Wed, 30 Sep 2026 00:02:01 +0000 | +------------------------------------------------------------------------------+ /usr/share/debomatic/sbuildcommands/starting-build-commands/no-network libdancer2-perl_2.2.2-1 perl-5.44-throwaway amd64 ------------------------------------------------------------------------------------------------------------------------ I: Finished running '/usr/share/debomatic/sbuildcommands/starting-build-commands/no-network libdancer2-perl_2.2.2-1 perl-5.44-throwaway amd64'. Finished processing commands. -------------------------------------------------------------------------------- User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf HOME=/sbuild-nonexistent LANGUAGE=en_GB:en LC_ALL=C.UTF-8 LD_LIBRARY_PATH=/usr/lib/libeatmydata LD_PRELOAD=libeatmydata.so LOGNAME=debomatic PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games PWD=/build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2 SCHROOT_ALIAS_NAME=perl-5.44-throwaway-amd64-debomatic SCHROOT_CHROOT_NAME=perl-5.44-amd64-debomatic SCHROOT_COMMAND=env SCHROOT_GID=110 SCHROOT_GROUP=sbuild SCHROOT_SESSION_ID=perl-5.44-amd64-debomatic-117c95a4-7443-4d68-aabe-668102d943fb SCHROOT_UID=1002 SCHROOT_USER=debomatic SHELL=/bin/sh USER=debomatic dpkg-buildpackage ----------------- Command: dpkg-buildpackage --sanitize-env -us -uc -Zxz dpkg-buildpackage: info: source package libdancer2-perl dpkg-buildpackage: info: source version 2.2.2-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by gregor herrmann dpkg-source -Zxz --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean dh_clean dpkg-source -Zxz -b . dpkg-source: info: using source format '3.0 (quilt)' dpkg-source: info: building libdancer2-perl using existing ../libdancer2-perl_2.2.2.orig.tar.gz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: building libdancer2-perl in ../libdancer2-perl_2.2.2-1.debian.tar.xz dpkg-source: info: building libdancer2-perl in ../libdancer2-perl_2.2.2-1.dsc debian/rules binary dh binary dh_update_autotools_config dh_autoreconf dh_auto_configure /usr/bin/perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2" LD="x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro" Warning: prerequisite Test::EOL 0 not found. Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Dancer2 Writing MYMETA.yml and MYMETA.json dh_auto_build make -j2 make[1]: Entering directory '/build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2' cp lib/Dancer2/Core/Hook.pm blib/lib/Dancer2/Core/Hook.pm cp lib/Dancer2/Core/Role/SessionFactory.pm blib/lib/Dancer2/Core/Role/SessionFactory.pm cp lib/Dancer2/Core/Cookie.pm blib/lib/Dancer2/Core/Cookie.pm cp lib/Dancer2/Core/Response/Delayed.pm blib/lib/Dancer2/Core/Response/Delayed.pm cp lib/Dancer2/Core/App.pm blib/lib/Dancer2/Core/App.pm cp lib/Dancer2/CLI/Version.pm blib/lib/Dancer2/CLI/Version.pm cp lib/Dancer2/ConfigReader.pm blib/lib/Dancer2/ConfigReader.pm cp lib/Dancer2/ConfigUtils.pm blib/lib/Dancer2/ConfigUtils.pm cp lib/Dancer2/CLI.pm blib/lib/Dancer2/CLI.pm cp lib/Dancer2/Core/Role/HasLocation.pm blib/lib/Dancer2/Core/Role/HasLocation.pm cp lib/Dancer2/Core/Role/ConfigReader.pm blib/lib/Dancer2/Core/Role/ConfigReader.pm cp lib/Dancer2/Core/Request.pm blib/lib/Dancer2/Core/Request.pm cp lib/Dancer2/Core/Role/HasEnvironment.pm blib/lib/Dancer2/Core/Role/HasEnvironment.pm cp lib/Dancer2/Core.pm blib/lib/Dancer2/Core.pm cp lib/Dancer2/Core/Role/Serializer.pm blib/lib/Dancer2/Core/Role/Serializer.pm cp lib/Dancer2/Core/Error.pm blib/lib/Dancer2/Core/Error.pm cp lib/Dancer2/Core/Role/Engine.pm blib/lib/Dancer2/Core/Role/Engine.pm cp lib/Dancer2/Core/Response.pm blib/lib/Dancer2/Core/Response.pm cp lib/Dancer2/CLI/Gen.pm blib/lib/Dancer2/CLI/Gen.pm cp lib/Dancer2/Core/Role/Handler.pm blib/lib/Dancer2/Core/Role/Handler.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/HTTP.pm blib/lib/Dancer2/Core/HTTP.pm cp lib/Dancer2/Core/Role/SessionFactory/File.pm blib/lib/Dancer2/Core/Role/SessionFactory/File.pm cp lib/Dancer2/Core/Dispatcher.pm blib/lib/Dancer2/Core/Dispatcher.pm cp lib/Dancer2/Core/Role/Logger.pm blib/lib/Dancer2/Core/Role/Logger.pm cp lib/Dancer2/Core/MIME.pm blib/lib/Dancer2/Core/MIME.pm cp lib/Dancer2/Core/Role/Hookable.pm blib/lib/Dancer2/Core/Role/Hookable.pm cp lib/Dancer2/ConfigReader/Config/Any.pm blib/lib/Dancer2/ConfigReader/Config/Any.pm cp lib/Dancer2/Core/Role/HasConfig.pm blib/lib/Dancer2/Core/Role/HasConfig.pm cp lib/Dancer2/Core/Factory.pm blib/lib/Dancer2/Core/Factory.pm cp lib/Dancer2/Core/Role/DSL.pm blib/lib/Dancer2/Core/Role/DSL.pm cp lib/Dancer2/Core/Request/Upload.pm blib/lib/Dancer2/Core/Request/Upload.pm cp lib/Dancer2/DeprecationPolicy.pod blib/lib/Dancer2/DeprecationPolicy.pod cp lib/Dancer2/Manual/Testing.pod blib/lib/Dancer2/Manual/Testing.pod cp lib/Dancer2/Handler/File.pm blib/lib/Dancer2/Handler/File.pm cp lib/Dancer2/Serializer/YAML.pm blib/lib/Dancer2/Serializer/YAML.pm cp lib/Dancer2/Manual/Config.pod blib/lib/Dancer2/Manual/Config.pod cp lib/Dancer2/Logger/Capture/Trap.pm blib/lib/Dancer2/Logger/Capture/Trap.pm cp lib/Dancer2/Core/Route.pm blib/lib/Dancer2/Core/Route.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/Core/Runner.pm blib/lib/Dancer2/Core/Runner.pm cp lib/Dancer2/Logger/Capture.pm blib/lib/Dancer2/Logger/Capture.pm cp lib/Dancer2/Manual/Keywords.pod blib/lib/Dancer2/Manual/Keywords.pod cp lib/Dancer2/Serializer/Mutable.pm blib/lib/Dancer2/Serializer/Mutable.pm cp lib/Dancer2/Logger/File.pm blib/lib/Dancer2/Logger/File.pm cp lib/Dancer2/Manual/Plugins.pod blib/lib/Dancer2/Manual/Plugins.pod cp lib/Dancer2/Manual/Extending.pod blib/lib/Dancer2/Manual/Extending.pod cp lib/Dancer2/Manual.pod blib/lib/Dancer2/Manual.pod cp lib/Dancer2/Handler/AutoPage.pm blib/lib/Dancer2/Handler/AutoPage.pm cp lib/Dancer2/Logger/Diag.pm blib/lib/Dancer2/Logger/Diag.pm cp lib/Dancer2/Plugin.pm blib/lib/Dancer2/Plugin.pm cp lib/Dancer2/Policy.pod blib/lib/Dancer2/Policy.pod 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/Manual/QuickStart.pod blib/lib/Dancer2/Manual/QuickStart.pod cp lib/Dancer2/Core/Session.pm blib/lib/Dancer2/Core/Session.pm cp lib/Dancer2/Core/Time.pm blib/lib/Dancer2/Core/Time.pm cp lib/Dancer2/Logger/Null.pm blib/lib/Dancer2/Logger/Null.pm cp lib/Dancer2/Manual/Tutorial.pod blib/lib/Dancer2/Manual/Tutorial.pod cp lib/Dancer2/Manual/Cookbook.pod blib/lib/Dancer2/Manual/Cookbook.pod cp lib/Dancer2/Logger/Note.pm blib/lib/Dancer2/Logger/Note.pm cp lib/Dancer2/Manual/Deployment.pod blib/lib/Dancer2/Manual/Deployment.pod cp lib/Dancer2/FileUtils.pm blib/lib/Dancer2/FileUtils.pm cp lib/Dancer2/Serializer/JSON.pm blib/lib/Dancer2/Serializer/JSON.pm cp lib/Dancer2/Core/Types.pm blib/lib/Dancer2/Core/Types.pm cp share/skel/default/public/images/perldancer.jpg blib/lib/auto/share/dist/Dancer2/skel/default/public/images/perldancer.jpg cp share/skel/default/views/index.tt blib/lib/auto/share/dist/Dancer2/skel/default/views/index.tt cp share/skel/default/public/images/perldancer-bg.jpg blib/lib/auto/share/dist/Dancer2/skel/default/public/images/perldancer-bg.jpg cp share/skel/default/public/+dispatch.cgi blib/lib/auto/share/dist/Dancer2/skel/default/public/+dispatch.cgi cp share/skel/default/public/404.html blib/lib/auto/share/dist/Dancer2/skel/default/public/404.html cp share/skel/default/public/css/error.css blib/lib/auto/share/dist/Dancer2/skel/default/public/css/error.css cp share/skel/default/Makefile.PL blib/lib/auto/share/dist/Dancer2/skel/default/Makefile.PL cp share/skel/default/bin/+app.psgi blib/lib/auto/share/dist/Dancer2/skel/default/bin/+app.psgi cp share/skel/default/public/500.html blib/lib/auto/share/dist/Dancer2/skel/default/public/500.html cp share/skel/default/views/layouts/main.tt blib/lib/auto/share/dist/Dancer2/skel/default/views/layouts/main.tt cp share/skel/default/public/+dispatch.fcgi blib/lib/auto/share/dist/Dancer2/skel/default/public/+dispatch.fcgi cp share/skel/default/MANIFEST.SKIP blib/lib/auto/share/dist/Dancer2/skel/default/MANIFEST.SKIP cp share/skel/default/environments/development.yml blib/lib/auto/share/dist/Dancer2/skel/default/environments/development.yml cp share/skel/default/public/favicon.ico blib/lib/auto/share/dist/Dancer2/skel/default/public/favicon.ico cp share/skel/default/config.yml blib/lib/auto/share/dist/Dancer2/skel/default/config.yml cp share/skel/default/t/001_base.t blib/lib/auto/share/dist/Dancer2/skel/default/t/001_base.t cp share/skel/default/environments/production.yml blib/lib/auto/share/dist/Dancer2/skel/default/environments/production.yml cp share/skel/default/.dancer blib/lib/auto/share/dist/Dancer2/skel/default/.dancer cp share/skel/default/lib/AppFile.pm blib/lib/auto/share/dist/Dancer2/skel/default/lib/AppFile.pm cp share/skel/default/cpanfile blib/lib/auto/share/dist/Dancer2/skel/default/cpanfile cp share/docker/Dockerfile blib/lib/auto/share/dist/Dancer2/docker/Dockerfile cp share/skel/default/t/002_index_route.t blib/lib/auto/share/dist/Dancer2/skel/default/t/002_index_route.t cp share/gitignore blib/lib/auto/share/dist/Dancer2/gitignore cp share/skel/default/public/css/style.css blib/lib/auto/share/dist/Dancer2/skel/default/public/css/style.css cp lib/Dancer2/Template/Tiny.pm blib/lib/Dancer2/Template/Tiny.pm cp lib/Dancer2/Template/TemplateToolkit.pm blib/lib/Dancer2/Template/TemplateToolkit.pm cp lib/Dancer2/Session/YAML.pm blib/lib/Dancer2/Session/YAML.pm cp lib/Dancer2/Test.pm blib/lib/Dancer2/Test.pm cp lib/Dancer2/Session/Simple.pm blib/lib/Dancer2/Session/Simple.pm cp share/skel/tutorial/views/create_update.tt blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/create_update.tt cp share/skel/tutorial/cpanfile blib/lib/auto/share/dist/Dancer2/skel/tutorial/cpanfile cp share/skel/tutorial/db/blog.db blib/lib/auto/share/dist/Dancer2/skel/tutorial/db/blog.db cp share/skel/tutorial/public/css/error.css blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/css/error.css cp share/skel/tutorial/lib/AppFile.pm blib/lib/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile.pm cp share/skel/tutorial/config.yml blib/lib/auto/share/dist/Dancer2/skel/tutorial/config.yml cp share/skel/tutorial/lib/AppFile/Schema/Result/User.pm blib/lib/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema/Result/User.pm cp share/skel/tutorial/public/500.html blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/500.html cp share/skel/tutorial/public/favicon.ico blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/favicon.ico cp share/skel/tutorial/public/dispatch.fcgi blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/dispatch.fcgi cp share/skel/tutorial/public/404.html blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/404.html cp share/skel/tutorial/t/001_base.t blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/001_base.t cp share/skel/tutorial/public/css/style.css blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/css/style.css cp share/skel/tutorial/lib/AppFile/Schema/Result/Entry.pm blib/lib/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema/Result/Entry.pm cp share/skel/tutorial/t/db/test.db blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/db/test.db cp share/skel/tutorial/t/004_blog.t blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/004_blog.t cp share/skel/tutorial/t/002_index_route.t blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/002_index_route.t cp share/skel/tutorial/public/dispatch.cgi blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/dispatch.cgi cp share/skel/tutorial/db/users.sql blib/lib/auto/share/dist/Dancer2/skel/tutorial/db/users.sql cp share/skel/tutorial/db/entries.sql blib/lib/auto/share/dist/Dancer2/skel/tutorial/db/entries.sql cp share/skel/tutorial/lib/AppFile/Schema.pm blib/lib/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema.pm cp share/skel/tutorial/bin/+app.psgi blib/lib/auto/share/dist/Dancer2/skel/tutorial/bin/+app.psgi cp share/skel/tutorial/t/003_login.t blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/003_login.t cp share/skel/tutorial/views/entry.tt blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/entry.tt cp share/skel/tutorial/views/index.tt blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/index.tt cp share/skel/tutorial/views/layouts/main.tt blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/layouts/main.tt cp share/skel/tutorial/views/login.tt blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/login.tt cp share/skel/tutorial/views/delete.tt blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/delete.tt cp script/dancer2 blib/script/dancer2 "/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/dancer2 Manifying 1 pod document Manifying 32 pod documents Manifying 32 pod documents Manifying 8 pod documents make[1]: Leaving directory '/build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2' dh_auto_test make -j2 test TEST_VERBOSE=1 make[1]: Entering directory '/build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2' Skip blib/lib/auto/share/dist/Dancer2/skel/default/views/layouts/main.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/gitignore (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/Makefile.PL (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/+dispatch.fcgi (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/css/style.css (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/bin/+app.psgi (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/404.html (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/lib/AppFile.pm (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/500.html (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/images/perldancer-bg.jpg (unchanged) Skip blib/lib/auto/share/dist/Dancer2/docker/Dockerfile (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/+dispatch.cgi (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/environments/development.yml (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/environments/production.yml (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/favicon.ico (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/.dancer (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/t/001_base.t (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/css/error.css (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/cpanfile (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/t/002_index_route.t (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/images/perldancer.jpg (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/config.yml (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/views/index.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/MANIFEST.SKIP (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/db/entries.sql (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/404.html (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/create_update.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/004_blog.t (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/css/error.css (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/dispatch.fcgi (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/favicon.ico (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/dispatch.cgi (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/cpanfile (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/config.yml (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/003_login.t (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/db/test.db (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/002_index_route.t (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/500.html (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/bin/+app.psgi (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile.pm (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/db/users.sql (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/css/style.css (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema/Result/User.pm (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/db/blog.db (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/001_base.t (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema/Result/Entry.pm (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema.pm (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/delete.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/index.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/entry.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/login.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/layouts/main.tt (unchanged) PERL_DL_NONLAZY=1 "/usr/bin/perl" "-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-HasConfig/*.t t/classes/Dancer2-Core-Role-HasEnvironment/*.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/e2e/cli/*.t t/examples/*.t t/integration/dispatch/*.t t/integration/error/*.t t/integration/handler/*.t t/integration/hooks/*.t t/integration/serializer/*.t t/integration/session/*.t t/integration/template/*.t t/issues/*.t t/issues/gh-1013/*.t t/issues/gh-1046/*.t t/issues/gh-1216/*.t t/issues/gh-1226/*.t t/issues/gh-1230/*.t t/issues/gh-1449/*.t t/issues/gh-1621/*.t t/issues/gh-1664/*.t t/issues/gh-1712/*.t t/issues/gh-639/fails/*.t t/issues/gh-639/succeeds/*.t t/issues/gh-650/*.t t/issues/gh-975/*.t t/issues/memleak/*.t t/plugin2/*.t t/plugin2/app_dsl_cb/*.t t/roles/*.t t/route-pod-coverage/*.t t/scope_problems/*.t t/unit/configreader/*.t t/unit/core/*.t t/unit/logger/*.t t/00-compile.t ......................................... 1..60 ok 1 - Dancer2.pm loaded ok ok 2 - Dancer2/CLI.pm loaded ok ok 3 - Dancer2/CLI/Gen.pm loaded ok ok 4 - Dancer2/CLI/Version.pm loaded ok ok 5 - Dancer2/ConfigReader.pm loaded ok ok 6 - Dancer2/ConfigReader/Config/Any.pm loaded ok ok 7 - Dancer2/ConfigUtils.pm loaded ok ok 8 - Dancer2/Core.pm loaded ok ok 9 - Dancer2/Core/App.pm loaded ok ok 10 - Dancer2/Core/Cookie.pm loaded ok ok 11 - Dancer2/Core/DSL.pm loaded ok ok 12 - Dancer2/Core/Dispatcher.pm loaded ok ok 13 - Dancer2/Core/Error.pm loaded ok ok 14 - Dancer2/Core/Factory.pm loaded ok ok 15 - Dancer2/Core/HTTP.pm loaded ok ok 16 - Dancer2/Core/Hook.pm loaded ok ok 17 - Dancer2/Core/MIME.pm loaded ok ok 18 - Dancer2/Core/Request.pm loaded ok ok 19 - Dancer2/Core/Request/Upload.pm loaded ok ok 20 - Dancer2/Core/Response.pm loaded ok ok 21 - Dancer2/Core/Response/Delayed.pm loaded ok ok 22 - Dancer2/Core/Role/ConfigReader.pm loaded ok ok 23 - Dancer2/Core/Role/DSL.pm loaded ok ok 24 - Dancer2/Core/Role/Engine.pm loaded ok ok 25 - Dancer2/Core/Role/Handler.pm loaded ok ok 26 - Dancer2/Core/Role/HasConfig.pm loaded ok ok 27 - Dancer2/Core/Role/HasEnvironment.pm loaded ok ok 28 - Dancer2/Core/Role/HasLocation.pm loaded ok ok 29 - Dancer2/Core/Role/Hookable.pm loaded ok ok 30 - Dancer2/Core/Role/Logger.pm loaded ok ok 31 - Dancer2/Core/Role/Serializer.pm loaded ok ok 32 - Dancer2/Core/Role/SessionFactory.pm loaded ok ok 33 - Dancer2/Core/Role/SessionFactory/File.pm loaded ok ok 34 - Dancer2/Core/Role/StandardResponses.pm loaded ok ok 35 - Dancer2/Core/Role/Template.pm loaded ok ok 36 - Dancer2/Core/Route.pm loaded ok ok 37 - Dancer2/Core/Runner.pm loaded ok ok 38 - Dancer2/Core/Session.pm loaded ok ok 39 - Dancer2/Core/Time.pm loaded ok ok 40 - Dancer2/Core/Types.pm loaded ok ok 41 - Dancer2/FileUtils.pm loaded ok ok 42 - Dancer2/Handler/AutoPage.pm loaded ok ok 43 - Dancer2/Handler/File.pm loaded ok ok 44 - Dancer2/Logger/Capture.pm loaded ok ok 45 - Dancer2/Logger/Capture/Trap.pm loaded ok ok 46 - Dancer2/Logger/Console.pm loaded ok ok 47 - Dancer2/Logger/Diag.pm loaded ok ok 48 - Dancer2/Logger/File.pm loaded ok ok 49 - Dancer2/Logger/Note.pm loaded ok ok 50 - Dancer2/Logger/Null.pm loaded ok ok 51 - Dancer2/Plugin.pm loaded ok ok 52 - Dancer2/Serializer/JSON.pm loaded ok ok 53 - Dancer2/Serializer/Mutable.pm loaded ok ok 54 - Dancer2/Serializer/YAML.pm loaded ok ok 55 - Dancer2/Session/Simple.pm loaded ok ok 56 - Dancer2/Session/YAML.pm loaded ok ok 57 - Dancer2/Template/TemplateToolkit.pm loaded ok ok 58 - Dancer2/Template/Tiny.pm loaded ok ok 59 - Dancer2/Test.pm loaded ok ok 60 - script/dancer2 compiled ok ok # # Versions for all modules listed in MYMETA.json (including optional ones): # # === Configure Requires === # # Module Want Have # ------------------------ -------- -------- # CPAN::Meta::Requirements 2.120620 2.145 # ExtUtils::MakeMaker any 7.78 # File::ShareDir::Install 0.06 0.14 # Module::Metadata any 1.000039 # # === Build Requires === # # Module Want Have # ------------------- ---- ---- # ExtUtils::MakeMaker any 7.78 # # === Test Requires === # # Module Want Have # ----------------------- ---- -------- # Capture::Tiny 0.12 0.50 # ExtUtils::MakeMaker any 7.78 # File::Spec any 3.95 # HTTP::Cookies any 6.12 # HTTP::Headers any 7.04 # IO::Handle any 1.56 # IPC::Open3 any 1.24 # Pod::Simple::SimpleTree any 3.48 # Template any 3.106 # Test::Builder any 1.302219 # Test::EOL any missing # Test::Exception any 0.43 # Test::Fatal any 0.018 # Test::More 0.92 1.302219 # # === Test Recommends === # # Module Want Have # ---------- -------- -------- # CPAN::Meta 2.120900 2.150013 # # === Runtime Requires === # # Module Want Have # ------------------------------------------- -------- -------- # Attribute::Handlers any 1.03 # CLI::Osprey 0.09 0.09 # Carp any 1.54 # Clone any 0.50 # Config::Any any 0.33 # Crypt::URandom 0.36 0.55 # Data::Censor 0.04 0.04 # Digest::SHA any 6.04 # Encode any 3.24 # Exporter 5.57 5.79 # Exporter::Tiny any 1.006003 # File::Copy any 2.43 # File::Path any 2.18 # File::Share any 0.27 # File::Temp any 0.2312 # File::Which any 1.27 # HTTP::Date any 6.08 # HTTP::Headers::Fast 0.21 0.22 # HTTP::Tiny any 0.096 # Hash::Merge::Simple any 0.052 # Hash::MultiValue any 0.16 # Import::Into any 1.002005 # JSON::MaybeXS any 1.004008 # List::Util 1.29 1.70 # MIME::Base64 3.13 3.16_01 # Module::Pluggable any 6.4 # Module::Runtime any 0.018 # Moo 2.000000 2.005005 # Moo::Role any 2.005005 # POSIX any 2.26 # Path::Tiny any 0.150 # Plack 1.0040 1.0054 # Plack::Middleware::FixMissingBodyInRedirect any 0.12 # Plack::Middleware::RemoveRedundantBody any 0.09 # Ref::Util any 0.204 # Role::Tiny 2.000000 2.002005 # Safe::Isa any 1.000010 # Sub::Quote any 2.006009 # Sub::Util any 1.70 # Template any 3.106 # Template::Tiny 1.16 1.16 # Test::Builder any 1.302219 # Test::More 0.92 1.302219 # Type::Tiny 1.000006 2.010001 # Types::Standard any 2.010001 # URI::Escape any 5.37 # YAML 1.30 1.321 # parent any 0.244 # perl 5.014 5.044000 # # === Runtime Recommends === # # Module Want Have # ----------------------- -------- ------- # CGI::Deurl::XS any missing # Class::XSAccessor any 1.19 # Cpanel::JSON::XS any 4.51 # HTTP::XSCookies 0.000015 missing # HTTP::XSHeaders any missing # MooX::TypeTiny any missing # Pod::Simple::Search any 3.48 # Pod::Simple::SimpleTree any 3.48 # Type::Tiny::XS any 0.025 # URL::Encode::XS any 0.03 # Unicode::UTF8 any 0.75 # YAML::XS any missing # # === Runtime Suggests === # # Module Want Have # ----------- ---- ---- # Fcntl any 1.20 # MIME::Types any 2.30 # # === Runtime Conflicts === # # Module Want Have # ----------------- ----------- -------- # Module::Pluggable == 6.2 6.4 # Role::Tiny == 2.000007 2.002005 # # # *** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING *** # # The following REQUIRED prerequisites were not satisfied: # # Test::EOL is not installed (any version required) # t/00-report-prereqs.t .................................. 1..1 ok 1 - Reported prereqs ok 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 # Check to ensure that add_route can override a prefix, even with undef. (gh-1663) ok 22 - got expected return value on /noprefix_test ok 23 - got expected route ok 24 - got expected return value on /prefix_override_test ok 25 - got expected return value on /prefix_test ok 26 - got expected return value on /prefixtest/noprefix_test ok 27 - got expected return value on /prefixtest/prefix_override_test ok 28 - got expected return value on /prefixtest/prefix_test ok 29 - got expected route ok 30 - got expected return value on /prefixtest2/noprefix_test ok 31 - got expected return value on /prefixtest2/prefix_override_test ok 32 - got expected route ok 33 - got expected return value on /prefixtest2/prefix_test # test a failure in the callback of a lexical prefix ok 34 - caught an exception in the lexical prefix callback # [main:1993760] error @2026-09-30 00:02:12> 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 212. # at /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm line 35. in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 784 # [main:1993760] error @2026-09-30 00:02:12> 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 212. # at /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm line 35. # at /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/Role/Hookable.pm line 120. in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 1732 ok 35 - before filter nonexistent method failure ok 36 - Engine 'foo' does not exist ok 37 - Template engine is defined ok 38 - Serializer engine does not exist ok 39 - Empty configuration for nonexistent engine ok 40 - _get_config_for_engine can find the right configuration ok 41 - _get_config_for_engine can find the right configuration ok 42 - Correct caller for app 1..42 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-distmeta.t .................................... skipped: these tests are for testing by the author t/author-no-tabs.t ..................................... skipped: these tests are for testing by the author t/author-pod-syntax.t .................................. skipped: these tests are for testing by the author t/auto_page.t .......................................... # Subtest: autopage with template tiny ok 1 - Autopage found the page ok 2 - ...with proper content ok 3 - auto page has correct content type header ok 4 - auto page has correct charset in content type header ok 5 - auto page has correct content length header ok 6 - Autopage found the page under a folder ok 7 - ...with proper content ok 8 - Autopage doesn't try to render nonexistent pages ok 9 - Layouts are not served ok 10 - found file on public with autopage ok 11 - [GET /file.txt] Correct content ok 12 - public served file has correct content type header 1..12 ok 1 - autopage with template tiny # Subtest: autopage with template template_toolkit ok 1 - Autopage found the page ok 2 - ...with proper content ok 3 - auto page has correct content type header ok 4 - auto page has correct charset in content type header ok 5 - auto page has correct content length header ok 6 - Autopage found the page under a folder ok 7 - ...with proper content ok 8 - Autopage doesn't try to render nonexistent pages ok 9 - Layouts are not served ok 10 - found file on public with autopage ok 11 - [GET /file.txt] Correct content ok 12 - public served file has correct content type header 1..12 ok 2 - autopage with template template_toolkit 1..2 ok 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..7 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 6 - An object of class 'Dancer2::Template::TemplateToolkit' isa 'Dancer2::Template::TemplateToolkit' ok 7 - 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..10 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 - remote_host derived from REMOTE_HOST ok 26 - address derived from REMOTE_ADDR ok 27 - port derived from SERVER_PORT ok 28 - user derived from REMOTE_USER ok 29 - request_uri derived from REQUEST_URI ok 30 - script_name derived from SCRIPT_NAME 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 without 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_URL_DECODE 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 1..42 ok 9 - Parameters (body/query/route) # Subtest: Multiple request object creation doesnt reparse request body ok 1 - path is set ok 2 - method is set ok 3 - body params are OK ok 4 - Request successful 1..4 ok 10 - Multiple request object creation doesnt reparse request body ok t/classes/Dancer2-Core-Request/serializers.t ........... # Subtest: Testing with CBOR 1..0 # SKIP CBOR::XS is needed for this test ok 1 # skip CBOR::XS 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-HasConfig/with.t ........... ok 1 - role Dancer2::Core::Role::Config is consumed ok 2 - Correct config value ok 3 - Correct config value ok 4 - Correct config value normalized ok 5 - Correct config value set ok 6 - Correct config value set ok 7 - Has value we set previously ok 8 - Correctly missing value 1..8 ok t/classes/Dancer2-Core-Role-HasEnvironment/with.t ...... ok 1 - Default env is OK ok 2 - Dancer env is OK when dancer env has value and plack env is not defined ok 3 - Dancer env is OK when dancer and plack env vars are both used ok 4 - Dancer env is OK when dancer env var is not defined ok 5 - Dancer env is OK when one env var is empty string ok 6 - Dancer env is OK when both env vars are empty string 1..6 ok t/classes/Dancer2-Core-Role-HasLocation/with.t ......... 1..19 # 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 # Does not walk past an app root into an enclosing lib/+bin/ dir: ok 10 - App root found by a config file alone, not the enclosing lib/+bin/ dir ok 11 - App root found by config.yml, views/ and public/, not the enclosing lib/+bin/ dir ok 12 - App root found by a views/ directory alone, not the enclosing lib/+bin/ dir # Stops at a project boundary rather than escaping above it: ok 13 - .git halts the walk instead of reaching the lib/+bin/ dir above ok 14 - .hg halts the walk instead of reaching the lib/+bin/ dir above ok 15 - Makefile.PL halts the walk instead of reaching the lib/+bin/ dir above ok 16 - dist.ini halts the walk instead of reaching the lib/+bin/ dir above ok 17 - cpanfile halts the walk instead of reaching the lib/+bin/ dir above # blib/ ignored: ok 18 - An object of class 'App' isa 'App' ok 19 - blib/ dir is ignored ok t/classes/Dancer2-Core-Role-Serializer/with.t .......... 1..4 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: 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 4 - 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..116 ok 1 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 2 - no warnings generated for / ok 3 - got expected data for '/' ok 4 - got expected result for '/' ok 5 - don't match failing request ok 6 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 7 - no warnings generated for /failure ok 8 - got expected data for '/failure' ok 9 - got expected result for '/failure' ok 10 - don't match failing request ok 11 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 12 - no warnings generated for /hello/sukria ok 13 - got expected data for '/hello/sukria' ok 14 - got expected result for '/hello/sukria' ok 15 - don't match failing request ok 16 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 17 - no warnings generated for /hello/ ok 18 - got expected data for '/hello/' ok 19 - got expected result for '/hello/' ok 20 - don't match failing request ok 21 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 22 - no warnings generated for /forum/ ok 23 - got expected data for '/forum/' ok 24 - got expected result for '/forum/' ok 25 - don't match failing request ok 26 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 27 - no warnings generated for /forum/ ok 28 - got expected data for '/forum/' ok 29 - got expected result for '/forum/' ok 30 - don't match failing request ok 31 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 32 - no warnings generated for /forum/mywebsite ok 33 - got expected data for '/forum/mywebsite' ok 34 - got expected result for '/forum/mywebsite' ok 35 - don't match failing request ok 36 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 37 - no warnings generated for / ok 38 - got expected data for '/' ok 39 - got expected result for '/' ok 40 - don't match failing request ok 41 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 42 - no warnings generated for /hello/sukria ok 43 - got expected data for '/hello/sukria' ok 44 - got expected result for '/hello/sukria' ok 45 - don't match failing request ok 46 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 47 - no warnings generated for /hello/sukria/ ok 48 - got expected data for '/hello/sukria/' ok 49 - got expected result for '/hello/sukria/' ok 50 - don't match failing request ok 51 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 52 - no warnings generated for /file/dist.ini ok 53 - got expected data for '/file/dist.ini' ok 54 - got expected result for '/file/dist.ini' ok 55 - don't match failing request ok 56 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 57 - no warnings generated for /forum/dancer ok 58 - got expected data for '/forum/dancer' ok 59 - got expected result for '/forum/dancer' ok 60 - don't match failing request ok 61 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 62 - no warnings generated for /file/some/where/42 ok 63 - got expected data for '/file/some/where/42' ok 64 - got expected result for '/file/some/where/42' ok 65 - don't match failing request ok 66 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 67 - no warnings generated for /foo/bar///baz ok 68 - got expected data for '/foo/bar///baz' ok 69 - got expected result for '/foo/bar///baz' ok 70 - don't match failing request ok 71 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 72 - no warnings generated for /foo/bar/// ok 73 - got expected data for '/foo/bar///' ok 74 - got expected result for '/foo/bar///' ok 75 - don't match failing request ok 76 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 77 - no warnings generated for /foo/bar/baz ok 78 - got expected data for '/foo/bar/baz' ok 79 - got expected result for '/foo/bar/baz' ok 80 - don't match failing request ok 81 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 82 - no warnings generated for /foo ok 83 - got expected data for '/foo' ok 84 - got expected result for '/foo' ok 85 - don't match failing request ok 86 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 87 - no warnings generated for /some/where/to/run/and/hide ok 88 - got expected data for '/some/where/to/run/and/hide' ok 89 - got expected result for '/some/where/to/run/and/hide' ok 90 - don't match failing request ok 91 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 92 - no warnings generated for /some/one/to/say/boo/ ok 93 - got expected data for '/some/one/to/say/boo/' ok 94 - got expected result for '/some/one/to/say/boo/' ok 95 - don't match failing request ok 96 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 97 - no warnings generated for /stuff48 ok 98 - got expected data for '/stuff48' ok 99 - got expected result for '/stuff48' ok 100 - don't match failing request ok 101 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 102 - no warnings generated for /foo/stuff48 ok 103 - got expected data for '/foo/stuff48' ok 104 - got expected result for '/foo/stuff48' ok 105 - don't match failing request ok 106 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 107 - no warnings generated for /any/thing/else ok 108 - got expected data for '/any/thing/else' ok 109 - got expected result for '/any/thing/else' ok 110 - don't match failing request # Subtest: named captures ok 1 - named captures work 1..1 ok 111 - named captures # routes with options ok 112 - Route did not match ok 113 - Route matched ok 114 - More options - Route did not match - test 1 ok 115 - More options - Route did not match - test 2 # Subtest: typed route params ok 1 - 'good type check' does not throw an exception ok 2 - ... and route matched with expected captures ok 3 - 'bad required type check' does not throw an exception ok 4 - ... and route did not match ok 5 - 'missing required type check' does not throw an exception ok 6 - ... and route did not match ok 7 - 'optional type check exists' does not throw an exception ok 8 - ... and route matched with expected captures ok 9 - 'optional type check with bad token' does not throw an exception ok 10 - ... and route did not match ok 11 - 'optional type check with empty token' does not throw an exception ok 12 - ... and route matched with expected captures ok 13 - 'optional type check with empty token and optional missing trailing slash' does not throw an exception ok 14 - ... and route matched with expected captures ok 15 - 'bad type' throws expected exception in route constructor ok 16 - 'custom type with good match' does not throw an exception ok 17 - ... and route matched with expected captures ok 18 - 'custom type with bad match' does not throw an exception ok 19 - ... and route did not match ok 20 - 'type including type library but no type_library config setting' does not throw an exception ok 21 - ... and route matched with expected captures ok 22 - 'union of types' does not throw an exception ok 23 - ... and route matched with expected captures ok 24 - 'union of types checking other type' does not throw an exception ok 25 - ... and route matched with expected captures ok 26 - 'multiple typed tokens plus other tokens and splats' does not throw an exception ok 27 - ... and route matched with expected captures 1..27 ok 116 - typed route params ok t/classes/Dancer2-Core-Runner/environment.t ............ 1..6 ok 1 - An object of class 'Dancer2::Core::Runner' isa 'Dancer2::Core::Runner' ok 2 - Default environment ok 3 - An object of class 'Dancer2::Core::Runner' isa 'Dancer2::Core::Runner' ok 4 - Successfully set envinronment using DANCER_ENVIRONMENT ok 5 - An object of class 'Dancer2::Core::Runner' isa 'Dancer2::Core::Runner' ok 6 - Successfully set environment using PLACK_ENV ok t/classes/Dancer2-Core-Runner/new.t .................... 1..39 ok 1 - use Dancer2::Core::Runner; ok 2 - No runner defined in Dancer2 yet ok 3 - An object of class 'Dancer2::Core::Runner' isa 'Dancer2::Core::Runner' # MIME types ok 4 - Dancer2::Core::Runner->can('mime_type') ok 5 - An object of class 'Dancer2::Core::MIME' isa 'Dancer2::Core::MIME' ok 6 - Have a runner (probably) in $Dancer2::runner ok 7 - 'Runner now defined' isa 'Dancer2::Core::Runner' # BUILD setting $Carp::Verbose ok 8 - traces not turned on (default ok 9 - Carp Verbose not turned on (default) ok 10 - traces turned on ok 11 - Carp Verbose turned on (using DANCER_TRACES) # server ok 12 - Dancer2::Core::Runner->can(...) ok 13 - An object of class 'HTTP::Server::PSGI' isa 'HTTP::Server::PSGI' ok 14 - HTTP::Server::PSGI->can('run') ok 15 - host set correctly in Server ok 16 - port set correctly in Server ok 17 - timeout set correctly in Server ok 18 - server_software set correctly in Server # Environment ok 19 - Default environment ok 20 - Successfully set envinronment using DANCER_ENVIRONMENT ok 21 - Successfully set environment using PLACK_ENV ok 22 - apphandler set to PSGI under PLACK_ENV ok 23 - apphandler set via DANCER_APPHANDLER # Server tokens ok 24 - Default no_server_tokens ok 25 - Successfully set no_server_tokens using DANCER_NO_SERVER_TOKENS # Startup info ok 26 - Default startup_info ok 27 - Successfully set startup_info using DANCER_STARTUP_INFO ok 28 - Dancer2::Core::Runner->can(...) ok 29 - Apps are empty at first ok 30 - No postponed hooks at first ok 31 - Runner registered application ok 32 - Runner registered the App's postponed hooks ok 33 - Dancer2::Core::Runner->can(...) ok 34 - A reference of type 'CODE' isa 'CODE' ok 35 - An object of class 'Server::Fake' isa 'Server::Fake' ok 36 - A reference of type 'CODE' isa 'CODE' ok 37 - start_server works ok 38 - Dancer2::Core::Runner->can('start') ok 39 - A reference of type 'CODE' isa 'CODE' ok t/classes/Dancer2-Core-Runner/psgi_app.t ............... 1..25 # All Apps ok 1 - 'Got PSGI app' isa 'CODE' ok 2 - App1 available ok 3 - App2 available ok 4 - App3 available # Specific Apps by parameters ok 5 - Took two apps from the Runner ok 6 - 'Got PSGI app' isa 'CODE' ok 7 - App1 available ok 8 - App3 available ok 9 - App2 is not available # Specific Apps via App objects ok 10 - 'Got PSGI app' isa 'CODE' ok 11 - App2 available ok 12 - App1 is not available ok 13 - App3 is not available # Specific apps by App names ok 14 - 'Got PSGI app' isa 'CODE' ok 15 - App2 is not available ok 16 - App1 available ok 17 - App3 available # Specific apps by App names with regular expression, v1 ok 18 - 'Got PSGI app' isa 'CODE' ok 19 - App2 is not available ok 20 - App1 available ok 21 - App3 available # Specific apps by App names with regular expression, v2 ok 22 - 'Got PSGI app' isa 'CODE' ok 23 - App1 is not available ok 24 - App2 available ok 25 - App3 available ok t/classes/Dancer2-Core/camelize.t ...................... 1..4 ok 1 - class_nAME camelized as ClassNAME ok 2 - class_NAME camelized as ClassNAME ok 3 - test camelized as Test ok 4 - class_name camelized as ClassName ok t/classes/Dancer2/import-pragmas.t ..................... 1..1 ok 1 - warnings pragma not activated ok t/classes/Dancer2/import.t ............................. 1..34 ok 1 - Dancer2->can('runner') ok 2 - No runner by default ok 3 - 'Runner created' isa 'Dancer2::Core::Runner' ok 4 - 'Runner created' isa 'Dancer2::Core::Runner' ok 5 - Runner not recreated ok 6 - An object of class 'FakeRunner' isa 'FakeRunner' ok 7 - psgi_app calls Runner->psgi_app ok 8 - psgi_app works as expected ok 9 - :script is allowed ok 10 - :tests is allowed ok 11 - :syntax is allowed ok 12 - Must import key/value pairs ok 13 - Must import key/value pairs ok 14 - Must import key/value pairs unless prefixed by ! ok 15 - Must import key/value pairs unless prefixed by ! ok 16 - App::GettingDSL->can(...) ok 17 - App::GettingSelectiveDSL->can('get') ok 18 - get imported successfully ok 19 - Can import keywords selectively ok 20 - An object of class 'Dancer2::Core::Runner' isa 'Dancer2::Core::Runner' ok 21 - Correct number of Apps created so far ok 22 - All apps accounted for ok 23 - A reference of type 'CODE' isa 'CODE' ok 24 - Got original app response ok 25 - Can compose apps with appname ok 26 - An object of class 'Dancer2::Core::App' isa 'Dancer2::Core::App' ok 27 - Changed settings using with keyword ok 28 - no strict (control test) ok 29 - utf8 pragma not imported ok 30 - warnings pragma imported ok 31 - warnings pragma imported ok 32 - strict pragma imported ok 33 - warnings pragma imported ok 34 - utf8 pragma imported ok t/config.t ............................................. ok 1 - Ok config ok 2 - Ok default config ok 3 - Configuration file parsing failure ok 4 - OK config read ok 5 - full merging of configuration hashes ok 6 - full merging of local configuration hashes 1..6 ok t/config_file_extended.t ............................... ok 1 - App1: config loaded properly ok 2 - App1: extended config (extended:one) loaded properly ok 3 - App1: extended config (extended:two) loaded properly 1..3 ok t/config_many.t ........................................ # Subtest: basic ok 1 - basic: config loaded properly ok 2 - basic: dummy config loaded properly 1..2 ok 1 - basic # Subtest: additional_config_readers ok 1 - additional: config loaded properly ok 2 - additional: dummy config loaded properly 1..2 ok 2 - additional_config_readers 1..2 ok t/config_many_failure.t ................................ # Subtest: bad DANCER_CONFIG_READERS ok 1 - threw Regexp ((?^:`Dancer2::ConfigReader::File::Simple Dancer2::ConfigReader::TestDummy' is not a module name)) 1..1 ok 1 - bad DANCER_CONFIG_READERS # Subtest: infinite loop of configs ok 1 - threw Regexp ((?^:MAX_CONFIGS exceeded)) 1..1 ok 2 - infinite loop of configs 1..2 ok t/config_multiapp.t .................................... ok 1 - App1: config loaded properly ok 2 - Sub::App2: config loaded properly ok 3 - App3: config loaded properly 1..3 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 ok 9 - config_files() with local config works ok 10 - full merging of local configuration hashes # config parsing ok 11 ok 12 - normalized UTF-8 to utf-8 ok 13 ok 14 # default values ok 15 ok 16 - Configuration file charset failure ok 17 ok 18 - traces are not enabled ok 19 - traces are enabled ok 20 1..20 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/config_utils.t ....................................... ok 1 - normalized UTF-8 to utf-8 ok 2 - Configuration file charset failure 1..2 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 # If you want extra speed, install HTTP::XSCookies t/cookie.t ............................................. # Subtest: w/o HTTP::XSCookies # Subtest: Constructor ok 1 - An object of class 'Dancer2::Core::Cookie' isa 'Dancer2::Core::Cookie' ok 2 - Dancer2::Core::Cookie->can('to_header') 1..2 ok 1 - Constructor # Subtest: Setting values ok 1 - Can set value ok 2 - Set value stuck ok 3 - Stringifies to desired value ok 4 - can set multiple values ok 5 - get first value in scalar context ok 6 - get all values in list context ok 7 - values returns all values ok 8 - values returns arrayref in scalar context ok 9 - can set values with a hashref ok 10 ok 11 1..11 ok 2 - Setting values # Subtest: accessors and defaults ok 1 - name is as expected ok 2 - can change name ok 3 - name change stuck ok 4 - no domain set by default ok 5 - setting domain returns new value ok 6 - new domain valjue stuck ok 7 - can clear domain ok 8 - no domain set now ok 9 - by default, path is / ok 10 - has_path ok 11 - setting path returns new value ok 12 - has_path ok 13 - new path stuck ok 14 - no cookie secure flag by default ok 15 - enabling $cookie->secure returns new value ok 16 - $cookie->secure flag is enabled ok 17 - disabling $cookie->secure returns new value ok 18 - $cookie->secure flag is disabled ok 19 - http_only by default ok 20 - disabling $cookie->http_only returns new value ok 21 - $cookie->http_only is now disabled ok 22 1..22 ok 3 - accessors and defaults # Subtest: expiration strings ok 1 ok 2 - expiry 1288385656 => Fri, 29-Oct-2010 20:54:16 GMT ok 3 - expiry 1288558456 => Sun, 31-Oct-2010 20:54:16 GMT ok 4 - expiry 2 months => Sat, 14-Aug-2010 00:00:00 GMT ok 5 - expiry basset hounds got long ears => basset hounds got long ears ok 6 - expiry +2 something => +2 something ok 7 - expiry +2h => Tue, 15-Jun-2010 02:00:00 GMT ok 8 - expiry 12 years => Sun, 12-Jun-2022 00:00:00 GMT ok 9 - expiry 1 hour => Tue, 15-Jun-2010 01:00:00 GMT ok 10 - expiry 1288212856 => Wed, 27-Oct-2010 20:54:16 GMT ok 11 - expiry 1288817656 => Wed, 03-Nov-2010 20:54:16 GMT ok 12 - expiry -2h => Mon, 14-Jun-2010 22:00:00 GMT ok 13 - expiry 3 weeks 4 days 2 hours 99 min 0 secs => Sat, 10-Jul-2010 03:39:00 GMT ok 14 - expiry 1288731256 => Tue, 02-Nov-2010 20:54:16 GMT ok 15 - expiry 1288299256 => Thu, 28-Oct-2010 20:54:16 GMT ok 16 - expiry 1288644856 => Mon, 01-Nov-2010 20:54:16 GMT ok 17 - expiry +2 => Tue, 15-Jun-2010 00:00:02 GMT ok 18 - expiry 1288472056 => Sat, 30-Oct-2010 20:54:16 GMT 1..18 ok 4 - expiration strings # Subtest: to header ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 1..7 ok 5 - to header # Subtest: multi-value ok 1 ok 2 1..2 ok 6 - multi-value 1..6 ok 1 - w/o HTTP::XSCookies 1..1 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..46 ok 1 ok 2 ok 3 ok 4 ok 5 - route /foo exists ok 6 - route ARRAY(0x56324c5feaa8) exists ok 7 - route Dancer2::Core::Request=HASH(0x56324c607310) 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(0x56324c5feaa8) ok 18 - response_content_is with Dancer2::Core::Request=HASH(0x56324c607310) ok 19 - response_content_is with Dancer2::Core::Response=HASH(0x56324e566d10) ok 20 - response_content_isnt with /foo ok 21 - response_content_isnt with ARRAY(0x56324c5feaa8) ok 22 - response_content_isnt with Dancer2::Core::Request=HASH(0x56324c607310) ok 23 - response_content_isnt with Dancer2::Core::Response=HASH(0x56324e566d10) 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 - PARAMS get echoed by route ok 41 - file uploaded with supplied data ok 42 - file uploaded with supplied filename ok 43 - multi values for same key get echoed back ok 44 - multi utf8 value properly merge # extra headers in request ok 45 - extra headers included in request ok 46 # skip HTTP::XSCookies not installed ok t/deserialize.t ........................................ 1..16 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 JSON serializer ok 4 - utf-8 string returns the same using the YAML serializer # Decoding of mixed route and deserialized body params ok 5 - Integer from JSON body remains integer and route params decoded # Deserialze any body content that is allowed or undefined ok 6 - JSON body deserialized for DELETE requests ok 7 - JSON body deserialized for PATCH requests # Check serialization errors ok 8 - An object of class 'Dancer2::Logger::Capture::Trap' isa 'Dancer2::Logger::Capture::Trap' ok 9 - A reference of type 'ARRAY' isa 'ARRAY' ok 10 - One error caught ok 11 - A reference of type 'HASH' isa 'HASH' ok 12 - Two items in the error ok 13 - Correct level ok 14 - Logged correct error message ok 15 - 444 custom response ok 16 - Failed to deserialize content error ok t/disp_named_capture.t ................................. 1..2 ok 1 ok 2 ok # Dispatch test 0, for GET / # Dispatch test 1, for GET /user/Johnny # Dispatch test 2, for GET /twoohfour # Dispatch test 3, for GET /haltme t/dispatcher.t ......................................... 1..20 ok 1 - [/] Return code ok ok 2 - [/] Correct headers ok 3 - [/] Contents ok. (test 0) ok 4 - Expected route is stored in request (test 0) ok 5 - [/user/Johnny] Return code ok ok 6 - [/user/Johnny] Correct headers ok 7 - [/user/Johnny] Contents ok. (test 1) ok 8 - Expected route is stored in request (test 1) ok 9 - [/twoohfour] Return code ok ok 10 - [/twoohfour] Correct headers ok 11 - [/twoohfour] Contents ok. (test 2) ok 12 - Expected route is stored in request (test 2) ok 13 - [/haltme] Return code ok ok 14 - [/haltme] Correct headers ok 15 - [/haltme] Contents ok. (test 3) ok 16 - Expected route is stored in request (test 3) ok 17 - Return code ok. ok 18 - Length ok. ok 19 - contents ok ok 20 - didn't enter the second filter, because of halt ok t/dsl/any.t ............................................ 1..2 # Subtest: any with params ok 1 - Method GET works ok 2 - Method POST works ok 3 - Method PUT doesn't exist ok 4 - Method DELETE doesn't exist ok 5 - Method OPTIONS doesn't exist ok 6 - Method PATCH doesn't exist ok 7 - Method NONEXIST doesn't exist 1..7 ok 1 - any with params # Subtest: any without params ok 1 - Method GET works ok 2 - Method POST works ok 3 - Method PUT works ok 4 - Method DELETE works ok 5 - Method OPTIONS works ok 6 - Method PATCH works 1..6 ok 2 - any without params ok t/dsl/app.t ............................................ 1..2 ok 1 - An object of class 'Dancer2::Core::App' isa 'Dancer2::Core::App' ok 2 - Correct app name ok t/dsl/content.t ........................................ 1..1 # Subtest: content keyword can only be used within delayed response ok 1 - Request failed ok 2 - Correct response code ok 3 - Failed to use content keyword outside delayed response ok 4 - An object of class 'Dancer2::Logger::Capture' isa 'Dancer2::Logger::Capture' ok 5 - An object of class 'Dancer2::Logger::Capture::Trap' isa 'Dancer2::Logger::Capture::Trap' ok 6 - A reference of type 'ARRAY' isa 'ARRAY' ok 7 - Only one error ok 8 - Got formatted message ok 9 - Correct error message ok 10 - Rest of error okay 1..10 ok 1 - content keyword can only be used within delayed response ok t/dsl/delayed.t ........................................ 1..6 # 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 has push_header method ok 1 - Successful request ok 2 - Correct header pushed from inside "delayed" ok 3 - Correct header pushed from inside hook 1..3 ok 4 - Delayed response has push_header method # Subtest: Delayed response ignored for non-delayed content ok 1 - Successful request ok 2 - Correct content 1..2 ok 5 - 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 163. # 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 166. 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 167. # '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 169. # 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 175. # 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 186. # undef # doesn't match '(?^:^Error in delayed response:)' 1..11 ok 6 - 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 X-Foo header 1..4 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 X-Foo header 1..4 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/json.t ........................................... 1..2 ok 1 - encode_json works ok 2 - decode_json works ok t/dsl/mime.t ........................................... 1..2 # Subtest: send_file content type ok 1 - Successful request ok 2 - .. and correct mime type 1..2 ok 1 - send_file content type # Subtest: static handler content type ok 1 - Successful request via static handler ok 2 - .. and correct mime type 1..2 ok 2 - static handler content type 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 encoded 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 - HMV interface returns encoded values ok 6 - Regular interface returns encoded values ok 7 - Successful request 1..7 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 - HMV interface returns encoded values ok 6 - Regular interface returns encoded values ok 7 - Successful request 1..7 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 - Regular interface returns encoded values ok 8 - Successful request 1..8 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..5 # 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 # Subtest: /endpoint/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 /endpoint 1..7 ok 5 - /endpoint/endpoint ok t/dsl/pod.t ............................................ ok 1 - 'Check whether keywords are present' isa 'HASH' ok 2 - Keyword "any" is documented in Dancer2::Manual::Keywords ok 3 - Keyword "app" is documented in Dancer2::Manual::Keywords ok 4 - Keyword "body_parameters" is documented in Dancer2::Manual::Keywords ok 5 - Keyword "captures" is documented in Dancer2::Manual::Keywords ok 6 - Keyword "config" is documented in Dancer2::Manual::Keywords ok 7 - Keyword "content" is documented in Dancer2::Manual::Keywords ok 8 - Keyword "content_type" is documented in Dancer2::Manual::Keywords ok 9 - Keyword "context" is documented in Dancer2::Manual::Keywords ok 10 - Keyword "cookie" is documented in Dancer2::Manual::Keywords ok 11 - Keyword "cookies" is documented in Dancer2::Manual::Keywords ok 12 - Keyword "dance" is documented in Dancer2::Manual::Keywords ok 13 - Keyword "dancer_app" is documented in Dancer2::Manual::Keywords ok 14 - Keyword "dancer_major_version" is documented in Dancer2::Manual::Keywords ok 15 - Keyword "dancer_version" is documented in Dancer2::Manual::Keywords ok 16 - Keyword "debug" is documented in Dancer2::Manual::Keywords ok 17 - Keyword "decode_json" is documented in Dancer2::Manual::Keywords ok 18 - Keyword "del" is documented in Dancer2::Manual::Keywords ok 19 - Keyword "delayed" is documented in Dancer2::Manual::Keywords ok 20 - Keyword "dirname" is documented in Dancer2::Manual::Keywords ok 21 - Keyword "done" is documented in Dancer2::Manual::Keywords ok 22 - Keyword "dsl" is documented in Dancer2::Manual::Keywords ok 23 - Keyword "encode_json" is documented in Dancer2::Manual::Keywords ok 24 - Keyword "engine" is documented in Dancer2::Manual::Keywords ok 25 - Keyword "error" is documented in Dancer2::Manual::Keywords ok 26 - Keyword "false" is documented in Dancer2::Manual::Keywords ok 27 - Keyword "flush" is documented in Dancer2::Manual::Keywords ok 28 - Keyword "forward" is documented in Dancer2::Manual::Keywords ok 29 - Keyword "from_json" is documented in Dancer2::Manual::Keywords ok 30 - Keyword "from_yaml" is documented in Dancer2::Manual::Keywords ok 31 - Keyword "get" is documented in Dancer2::Manual::Keywords ok 32 - Keyword "halt" is documented in Dancer2::Manual::Keywords ok 33 - Keyword "header" is documented in Dancer2::Manual::Keywords ok 34 - Keyword "headers" is documented in Dancer2::Manual::Keywords ok 35 - Keyword "hook" is documented in Dancer2::Manual::Keywords ok 36 - Keyword "info" is documented in Dancer2::Manual::Keywords ok 37 - Keyword "log" is documented in Dancer2::Manual::Keywords ok 38 - Keyword "mime" is documented in Dancer2::Manual::Keywords ok 39 - Keyword "options" is documented in Dancer2::Manual::Keywords ok 40 - Keyword "param" is documented in Dancer2::Manual::Keywords ok 41 - Keyword "params" is documented in Dancer2::Manual::Keywords ok 42 - Keyword "pass" is documented in Dancer2::Manual::Keywords ok 43 - Keyword "patch" is documented in Dancer2::Manual::Keywords ok 44 - Keyword "path" is documented in Dancer2::Manual::Keywords ok 45 - Keyword "post" is documented in Dancer2::Manual::Keywords ok 46 - Keyword "prefix" is documented in Dancer2::Manual::Keywords ok 47 - Keyword "prepare_app" is documented in Dancer2::Manual::Keywords ok 48 - Keyword "psgi_app" is documented in Dancer2::Manual::Keywords ok 49 - Keyword "push_header" is documented in Dancer2::Manual::Keywords ok 50 - Keyword "push_response_header" is documented in Dancer2::Manual::Keywords ok 51 - Keyword "put" is documented in Dancer2::Manual::Keywords ok 52 - Keyword "query_parameters" is documented in Dancer2::Manual::Keywords ok 53 - Keyword "redirect" is documented in Dancer2::Manual::Keywords ok 54 - Keyword "request" is documented in Dancer2::Manual::Keywords ok 55 - Keyword "request_data" is documented in Dancer2::Manual::Keywords ok 56 - Keyword "request_header" is documented in Dancer2::Manual::Keywords ok 57 - Keyword "response" is documented in Dancer2::Manual::Keywords ok 58 - Keyword "response_header" is documented in Dancer2::Manual::Keywords ok 59 - Keyword "response_headers" is documented in Dancer2::Manual::Keywords ok 60 - Keyword "route_parameters" is documented in Dancer2::Manual::Keywords ok 61 - Keyword "runner" is documented in Dancer2::Manual::Keywords ok 62 - Keyword "send_as" is documented in Dancer2::Manual::Keywords ok 63 - Keyword "send_error" is documented in Dancer2::Manual::Keywords ok 64 - Keyword "send_file" is documented in Dancer2::Manual::Keywords ok 65 - Keyword "session" is documented in Dancer2::Manual::Keywords ok 66 - Keyword "set" is documented in Dancer2::Manual::Keywords ok 67 - Keyword "setting" is documented in Dancer2::Manual::Keywords ok 68 - Keyword "splat" is documented in Dancer2::Manual::Keywords ok 69 - Keyword "start" is documented in Dancer2::Manual::Keywords ok 70 - Keyword "status" is documented in Dancer2::Manual::Keywords ok 71 - Keyword "template" is documented in Dancer2::Manual::Keywords ok 72 - Keyword "to_app" is documented in Dancer2::Manual::Keywords ok 73 - Keyword "to_json" is documented in Dancer2::Manual::Keywords ok 74 - Keyword "to_yaml" is documented in Dancer2::Manual::Keywords ok 75 - Keyword "true" is documented in Dancer2::Manual::Keywords ok 76 - Keyword "upload" is documented in Dancer2::Manual::Keywords ok 77 - Keyword "uri_for" is documented in Dancer2::Manual::Keywords ok 78 - Keyword "uri_for_route" is documented in Dancer2::Manual::Keywords ok 79 - Keyword "var" is documented in Dancer2::Manual::Keywords ok 80 - Keyword "vars" is documented in Dancer2::Manual::Keywords ok 81 - Keyword "warning" is documented in Dancer2::Manual::Keywords 1..81 ok t/dsl/request.t ........................................ # Subtest: Testing an app with request keyword ok 1 - Successful GET request ok 2 - GET / correct content ok 3 - Successful POST request ok 4 - POST / correct content 1..4 ok 1 - Testing an app with request keyword # Subtest: Testing app with request_header keyword ok 1 - Successful GET request ok 2 - GET /headers correct content 1..2 ok 2 - Testing app with request_header keyword 1..2 ok t/dsl/request_data.t ................................... # Subtest: request data basic ok 1 - string content ok ok 2 - Successful request 1..2 ok 1 - request data basic # Subtest: request data serialized ok 1 - json content ok ok 2 - Successful request 1..2 ok 2 - request data serialized 1..2 ok t/dsl/route_retvals.t .................................. ok 1 - Two routes available ok 2 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 3 - An object of class 'Dancer2::Core::Route' isa 'Dancer2::Core::Route' ok 4 - Created GET route ok 5 - Created HEAD route too 1..5 ok t/dsl/send_as.t ........................................ # Subtest: default serializer ok 1 ok 2 ok 3 1..3 ok 1 - default serializer # Subtest: send_as json ok 1 ok 2 ok 3 1..3 ok 2 - send_as json # Subtest: send_as json object ok 1 ok 2 ok 3 1..3 ok 3 - send_as json object # Subtest: send_as json custom content-type ok 1 ok 2 ok 3 ok 4 1..4 ok 4 - send_as json custom content-type # Subtest: send_as html ok 1 ok 2 ok 3 ok 4 1..4 ok 5 - send_as html # Subtest: send_as plain ok 1 ok 2 ok 3 ok 4 1..4 ok 6 - send_as plain # Subtest: send_as error cases ok 1 - send_as dies with no defined type ok 2 - .. throws route exception ok 3 - send_as dies with incorrectly cased serializer name ok 4 - .. throws route exception ok 5 - send_as dies when called with non-existant serializer ok 6 - .. throws route exception 1..6 ok 7 - send_as error cases 1..7 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 default 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 - expected content_type ok 3 - expected charset ok 4 - filehandle content 1..4 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 # Subtest: Content-Disposition defaults to "attachment" ok 1 - send_file returns success ok 2 - send_file returns correct attachment Content-Disposition 1..2 ok 9 - Content-Disposition defaults to "attachment" # Subtest: Content-Disposition supports "inline" ok 1 - send_file returns success ok 2 - send_file returns correct inline Content-Disposition 1..2 ok 10 - Content-Disposition supports "inline" # Subtest: Illegal path ok 1 - Illegal path returns 403 ok 2 - Text content contains UTF-8 characters 1..2 ok 11 - Illegal path 1..11 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/dsl/uri_for.t ........................................ 1..2 # Subtest: Non-mounted app ok 1 - Successful request ok 2 - Correct regular path 1..2 ok 1 - Non-mounted app # Subtest: Mounted app ok 1 - Successful request ok 2 - Correct mounted regular path ok 3 - Successful request ok 4 - Correct mounted regular path 1..4 ok 2 - Mounted app ok t/dsl/uri_for_route.t .................................. 1..3 ok 1 - Cannot register two routes with same name # Subtest: Non-mounted app ok 1 - Successful request ok 2 - Correct path: http://localhost/view1/1?foo=1 ok 3 - Successful request ok 4 - Correct path: http://localhost/view2/2?foo=2 ok 5 - Successful request ok 6 - Correct path: http://localhost/viewsplat/foo/bar/baz/quux?id=di ok 7 - Successful request ok 8 - Correct path: http://localhost/view_mixed/foo/bar/baz/di?foo=bar ok 9 - Successful request ok 10 - Correct path: http://localhost/view1/!@%C3%82%C2%A3$% ok 11 - Cannot retrieve nonexistent route ok 12 - Successful request ok 13 - Successfully tested nonexistent failure mode ok 14 - Cannot handle mismatched splat args and elements ok 15 - Successful request ok 16 - Successfully tested mismatch splat args/elements failure mode ok 17 - Cannot handle leftover route parameters ok 18 - Successful request ok 19 - Successfully tested leftover args failure mode ok 20 - Successful request ok 21 - Correct path for typed route param: http://localhost/foo/user/sawyer?foo=1 ok 22 - Check for duplicate route names done successfully 1..22 ok 2 - Non-mounted app # Subtest: Mounted app ok 1 - Successful request ok 2 - Correct path: http://localhost/mount/view1/1?foo=1 ok 3 - Successful request ok 4 - Correct path: http://localhost/mount/view2/2?foo=2 ok 5 - Successful request ok 6 - Correct path: http://localhost/mount/viewsplat/foo/bar/baz/quux?id=di ok 7 - Successful request ok 8 - Correct path: http://localhost/mount/view_mixed/foo/bar/baz/di?foo=bar ok 9 - Successful request ok 10 - Correct path: http://localhost/mount/view1/!@%C3%82%C2%A3$% ok 11 - Cannot retrieve nonexistent route ok 12 - Successful request ok 13 - Successfully tested nonexistent failure mode ok 14 - Cannot handle mismatched splat args and elements ok 15 - Successful request ok 16 - Successfully tested mismatch splat args/elements failure mode ok 17 - Cannot handle leftover route parameters ok 18 - Successful request ok 19 - Successfully tested leftover args failure mode ok 20 - Successful request ok 21 - Correct path for typed route param: http://localhost/mount/foo/user/sawyer?foo=1 1..21 ok 3 - Mounted app ok t/dsl/yaml.t ........................................... 1..2 ok 1 - to_yaml works ok 2 - from_yaml works ok t/dsl_path_dirname.t ................................... ok 1 - path() with 2 segments keeps all segments (documented: concatenates) ok 2 - path() with 3 segments keeps all segments ok 3 - dirname() with a single argument does not crash ok 4 - dirname() of a single-argument path is correct 1..4 ok t/e2e/cli/gen.t ........................................ # this dancer2 gen has no -x: running without it, on the assumption that the version check it skips has been patched out too # Subtest: the generator runs cleanly and writes where it was told ok 1 - dancer2 gen exits successfully ok 2 - and says nothing on STDERR ok 3 - --path and -d put the application in /tmp/GWaL_HMcKT/myapp ok 4 - the run ends with the how-to-run banner 1..4 ok 1 - the generator runs cleanly and writes where it was told # Subtest: every file the generated application needs is present ok 1 - generated bin/app.psgi ok 2 - generated config.yml ok 3 - generated cpanfile ok 4 - generated views/index.tt ok 5 - generated views/layouts/main.tt ok 6 - generated public/404.html ok 7 - generated public/500.html ok 8 - generated public/css/style.css ok 9 - generated public/dispatch.cgi ok 10 - generated public/dispatch.fcgi ok 11 - generated t/001_base.t ok 12 - generated t/002_index_route.t ok 13 - generated environments/development.yml ok 14 - generated environments/production.yml ok 15 - generated .dancer ok 16 - generated Makefile.PL ok 17 - generated MANIFEST ok 18 - generated MANIFEST.SKIP ok 19 - the + marker is stripped from the generated filename ok 20 - bin/app.psgi is executable ok 21 - public/dispatch.cgi is executable 1..21 ok 2 - every file the generated application needs is present # Subtest: -a decides the package name and the module path ok 1 - the module is written at the path -a implies ok 2 - and declares that package ok 3 - no trace of the skeleton's placeholder package name ok 4 - the .psgi entry point loads the generated module ok 5 - Makefile.PL names the generated module ok 6 - no unsubstituted template token left in bin/app.psgi ok 7 - no unsubstituted template token left in Makefile.PL ok 8 - no unsubstituted template token left in config.yml 1..8 ok 3 - -a decides the package name and the module path # Subtest: the generated application compiles ok 1 - perl -c on the generated module succeeds ok 2 - and perl says so 1..2 ok 4 - the generated application compiles # Subtest: the generated application passes its own bundled tests ok 1 - the generated app passes its own tests ok 2 - the harness agrees 1..2 ok 5 - the generated application passes its own bundled tests # Subtest: the application directory is named after the dashed app name (fixed) ok 1 - generating without -d still succeeds ok 2 - the directory is named Other-App, dashed ok 3 - and the raw, colon-bearing name is not used ok 4 - and Makefile.PL cleans the same dashed name ok 5 - generating with an explicit -d still succeeds ok 6 - and an explicit -d is honoured verbatim, even with colons in it 1..6 ok 6 - the application directory is named after the dashed app name (fixed) # Subtest: MANIFEST.SKIP gets the relative dashed name (fixed) ok 1 - the appended pattern is the relative dashed name ok 2 - and is not anchored to an absolute filesystem path ok 3 - no line in MANIFEST.SKIP is an absolute path ok 4 - the other patterns are relative, as MANIFEST.SKIP expects 1..4 ok 7 - MANIFEST.SKIP gets the relative dashed name (fixed) # Subtest: the skeleton environment configs are in git (fixed) 1..0 # SKIP not a git checkout, so tracking cannot be checked ok 8 # skip not a git checkout, so tracking cannot be checked # Subtest: -g creates a git repository with an initial commit (fixed) 1..0 # SKIP no usable git binary found ok 9 # skip no usable git binary found 1..9 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 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_stacktrace: 0 ok 1 1..1 ok 6 - Error with show_stacktrace: 0 # Subtest: Error with show_stacktrace: 1 ok 1 1..1 ok 7 - Error with show_stacktrace: 1 # Subtest: App dies with serialized error ok 1 - 'Got app' isa 'CODE' # [AppDies:1993844] error @2026-09-30 00:02:37> Route exception: oh no in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 1732 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 # Subtest: Errors without server tokens # [AppNoServerTokens:1993844] error @2026-09-30 00:02:37> Route exception: oh no at t/error.t line 201. in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 1732 ok 1 - /ohno returned 500 response ok 2 - No server header when no_server_tokens => 1 1..2 ok 10 - Errors without server tokens # Subtest: Errors with show_stacktrace and circular references # [App::ShowErrorsCircRef:1993844] error @2026-09-30 00:02:37> Route exception: /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/t/views/I don't exist.tt is not a regular file or reference at /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/Role/Template.pm line 152. in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 1732 ok 1 - /ohno returned 500 response ok 2 - it includes a stack trace ok 3 - password was hidden in stacktrace ok 4 - password key appears more than once in the stacktrace ok 5 - password value does not appear in the stacktrace ok 6 - Values for other keys (non-sensitive) appear in the stacktrace 1..6 ok 11 - Errors with show_stacktrace and circular references # Subtest: censor # Subtest: core censor() ok 1 - the password is censored ok 2 - we say it is hidden 1..2 ok 1 - core censor() # Subtest: custom censor # Subtest: via function string ok 1 - the password is censored ok 2 - we say it is hidden 1..2 ok 1 - via function string # Subtest: via class hashref ok 1 - the password is censored ok 2 - we say it is hidden 1..2 ok 2 - via class hashref 1..2 ok 2 - custom censor 1..2 ok 12 - censor 1..12 ok t/examples/hello_world.t ............................... 1..3 ok 1 - Got app ok 2 - [GET /] successful ok 3 - Content looks ok ok t/examples/simple_calculator.t ......................... ok 1 - Got app ok 2 - [GET /] successful ok 3 - Content looks ok # Subtest: add 1..2 ok 1 - [GET /add/] successful ok 2 - Content looks ok ok 4 - add # Subtest: multiply 1..2 ok 1 - [GET /multiply/] successful ok 2 - Content looks ok ok 5 - multiply # Subtest: division 1..2 ok 1 - [GET /division/] successful ok 2 - Content looks ok ok 6 - division 1..6 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 t/file_utils.t ......................................... 1..14 ok 1 - Failure opening nonexistent file ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 - path_or_empty on non-existent path ok 8 - path_or_empty on an existing path # escape_filename ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 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/] Default content type charset ok 15 - [POST /] Correct code ok 16 - [POST /] Correct content ok 17 - [POST /bounce/] Correct code ok 18 - [POST /bounce/] Correct content ok 19 - [POST /bounce/] Correct content length ok 20 - [POST /bounce/] Correct content type ok 21 - [POST /bounce/] Default content type charset ok 22 - [GET /forward_with_proxy/] maintained is_behind_proxy 1..22 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_hmv_params.t ................................. # Subtest: query parameters (#1245) ok 1 - success forward for /get ok 2 - query parameters merged after forward 1..2 ok 1 - query parameters (\#1245) # Subtest: body parameters (#1116) ok 1 - success forward for /post ok 2 - forward params become query params ok 3 - body parameters available after forward 1..3 ok 2 - body parameters (\#1116) # Subtest: params when method changes ok 1 - success forward for /change/:me ok 2 - body parameters available after forward 1..2 ok 3 - params when method changes 1..3 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 1..19 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 # [App::WithError:1993853] error @2026-09-30 00:02:40> Route exception: this is a route exception at t/hooks.t line 128. in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 1732 ok 3 ok 4 ok 5 ok 6 ok 7 1..7 ok 5 - route_exception # Subtest: hook_exception ok 1 ok 2 ok 3 ok 4 1..4 ok 6 - hook_exception # Subtest: hook_exception_double ok 1 1..1 ok 7 - hook_exception_double # Subtest: hook_exception_recursive # [App::HookExceptionRecursive:1993853] error @2026-09-30 00:02:40> Exception caught in 'core.app.hook_exception' filter: Hook error: this is an exception in the hook exception causing recursion at t/hooks.t line 211. # at /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm line 35. in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 784 ok 1 1..1 ok 8 - hook_exception_recursive # Subtest: hook entries logging ok 1 - we hit both hooks ok 2 - App::HookEntries::my_before ok 3 - App::HookEntries::my_after 1..3 ok 9 - hook entries logging 1..9 ok t/http_methods.t ....................................... 1..12 ok 1 - Got app ok 2 - POST / ok 3 - GET / ok 4 - PUT / ok 5 - PATCH / ok 6 - OPTIONS / ok 7 - DELETE / 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..5 # Subtest: HTTP status ok 1 - status: undef ok 2 - status: 200 ok 3 - status: Not Found ok 4 - status: bad_request ok 5 - status: i_m_a_teapot ok 6 - status: error ok 7 - status: 911 1..7 ok 1 - HTTP status # Subtest: HTTP status_message ok 1 - status: undef ok 2 - status: 200 ok 3 - status: error ok 4 - status: 911 1..4 ok 2 - HTTP status_message ok 3 - status_mapping ok 4 - code_mapping # Subtest: all_mappings ok 1 ok 2 ok 3 1..3 ok 5 - all_mappings ok t/integration/dispatch/flow.t .......................... # Subtest: pass hands off without leaking state into the next route ok 1 - the second route produced the response ok 2 - the body comes from the second route ok 3 - the first route did capture a splat before passing ok 4 - the first route's splat parameter does not leak into the second ok 5 - the first route's content does not leak into the second 1..5 ok 1 - pass hands off without leaking state into the next route # Subtest: halt stops the route and skips after hooks ok 1 - the ordinary route responds normally ok 2 - the after hook does run on an ordinary request ok 3 - halt keeps the status it was given ok 4 - the halted body is what is returned ok 5 - neither the rest of the route nor the after hook runs after halt 1..5 ok 2 - halt stops the route and skips after hooks # Subtest: forward re-dispatches while preserving the request ok 1 - the body survives the forward through both accessors, method unchanged ok 2 - parameters added at forward time are visible to the target ok 3 - method => GET reaches the GET route, still carrying the body 1..3 ok 3 - forward re-dispatches while preserving the request # Subtest: a session created before a forward is visible after it ok 1 - the forwarded-to route sees the session set before the forward 1..1 ok 4 - a session created before a forward is visible after it # Subtest: redirect sets Location and honours the mount path ok 1 - a redirect defaults to 302 ok 2 - the destination is set verbatim at the root ok 3 - an explicit status is used instead of the default ok 4 - an absolute URL is left alone ok 5 - a root-relative redirect is rewritten to include the mount path 1..5 ok 5 - redirect sets Location and honours the mount path # Subtest: an unsupported HTTP method is refused with 405 ok 1 - an unknown verb is rejected ok 2 - the body says why ok 3 - the body names the offending method ok 4 - a supported verb on the same path still works 1..4 ok 6 - an unsupported HTTP method is refused with 405 1..6 ok t/integration/dispatch/multiapp.t ...................... # Subtest: a request the first app cannot match is offered to the next one ok 1 - the first app answers a path only it declares ok 2 - a path only the second app declares is still served ok 3 - the second app answered it, not a 404 from the first 1..3 ok 1 - a request the first app cannot match is offered to the next one # Subtest: a path no app declares gets one 404 from the first app ok 1 - exhausting every app produces a 404 ok 2 - it is the rendered error page, not a bare PSGI triplet ok 3 - the error page names the path that was not found 1..3 ok 2 - a path no app declares gets one 404 from the first app # Subtest: a deliberate 404 from the first app is not treated as "no match" ok 1 - the status the matched route set is kept ok 2 - the first app's body is returned ok 3 - the second app was never consulted ok 4 - send_error in a matched route also ends the request ok 5 - the second app was not consulted for send_error either ok 6 - and an ordinary shared path is answered by the first app 1..6 ok 3 - a deliberate 404 from the first app is not treated as "no match" # Subtest: apps are consulted in the order they were listed ok 1 - the app listed first answers a path both declare ok 2 - the app listed second still gets what only it declares 1..2 ok 4 - apps are consulted in the order they were listed # Subtest: a forward across apps keeps the session ok 1 - a session created in the first app is visible after forwarding to the second ok 2 - and a session created in the second app survives a forward back to the first 1..2 ok 5 - a forward across apps keeps the session # Subtest: uri_for_route refuses rather than emitting an unsubstituted token ok 1 - a supplied route parameter is substituted ok 2 - a route parameter with no value at all is refused (it dies) ok 3 - a route parameter with no value at all is refused ok 4 - no URL containing an unsubstituted :token is produced ok 5 - supplying only some of the parameters is refused too (it dies) ok 6 - supplying only some of the parameters is refused too ok 7 - no URL containing an unsubstituted :token is produced 1..7 ok 6 - uri_for_route refuses rather than emitting an unsubstituted token # Subtest: uri_for_route accepts a route parameter of 0, but not undef or "" ok 1 - a route parameter of 0 is substituted, not rejected ok 2 - an empty route parameter is refused ok 3 - and says the value was empty rather than missing ok 4 - not reusing the "not provided" wording for a value that was provided ok 5 - a route parameter with no value at all is still refused ok 6 - with the existing message 1..6 ok 7 - uri_for_route accepts a route parameter of 0, but not undef or "" # Subtest: uri_for_route refuses a regex route instead of guessing ok 1 - a named regex route cannot be turned into a URL ok 2 - and says so, rather than producing a URL built from the pattern 1..2 ok 8 - uri_for_route refuses a regex route instead of guessing # Subtest: a mounted app keeps its mount path in generated URLs ok 1 - dispatch still reaches every app under a mount path ok 2 - uri_for includes the mount path ok 3 - uri_for_route includes the mount path 1..3 ok 9 - a mounted app keeps its mount path in generated URLs 1..9 ok t/integration/error/fallback.t ......................... # Subtest: a throwing status template falls through to the static page ok 1 - the request still gets a 500, not a hang or a crash ok 2 - and the static page is served instead of the broken template ok 3 - the template failure is logged ok 4 - and the log names the template error 1..4 ok 1 - a throwing status template falls through to the static page # Subtest: a status template is preferred when it works ok 1 - the 404 keeps its status ok 2 - and gets its own static page 1..2 ok 2 - a status template is preferred when it works # Subtest: a 500 with show_stacktrace on skips the static page ok 1 - still a 500 ok 2 - the static 500 page is not used when a stack trace was asked for ok 3 - the built-in diagnostic page is rendered instead ok 4 - a 404 still gets its static page with show_stacktrace on 1..4 ok 3 - a 500 with show_stacktrace on skips the static page # Subtest: the configured error_template is used when there is no static page ok 1 - the status is a 500 ok 2 - the configured error_template renders the page ok 3 - and is given the status to render 1..3 ok 4 - the configured error_template is used when there is no static page 1..4 ok t/integration/error/rendering.t ........................ # Subtest: a 5xx with show_stacktrace on renders the full diagnostic page ok 1 - /die: is a 500 ok 2 - /die: shows the stack ok 3 - /die: dumps settings ok 4 - /die: dumps the session ok 5 - /die: dumps the environment ok 6 - /error500: is a 500 ok 7 - /error500: shows the stack ok 8 - /error500: dumps settings ok 9 - /error500: dumps the session ok 10 - /error500: dumps the environment 1..10 ok 1 - a 5xx with show_stacktrace on renders the full diagnostic page # Subtest: a 4xx never shows a stack trace, even with show_stacktrace on ok 1 - /error400: no stack ok 2 - /error400: no settings dump ok 3 - /error400: no environment dump ok 4 - /error400: not even a harmless setting is dumped ok 5 - /error400: still renders an error page ok 6 - /error403: no stack ok 7 - /error403: no settings dump ok 8 - /error403: no environment dump ok 9 - /error403: not even a harmless setting is dumped ok 10 - /error403: still renders an error page ok 11 - /error404: no stack ok 12 - /error404: no settings dump ok 13 - /error404: no environment dump ok 14 - /error404: not even a harmless setting is dumped ok 15 - /error404: still renders an error page ok 16 - 404 keeps its status ok 17 - 400 keeps its status 1..17 ok 2 - a 4xx never shows a stack trace, even with show_stacktrace on # Subtest: sensitive-looking settings are censored from the dump ok 1 - a non-sensitive setting does appear in the dump ok 2 - under its own key ok 3 - the sensitive key is still shown ok 4 - and so is the card number key ok 5 - and the secret key ok 6 - a value under a key matching "pass" is not shown ok 7 - a value under a key matching "card.?num" is not shown ok 8 - a value under a key matching "secret" is not shown ok 9 - the replacement text is shown in their place ok 10 - and the page says how many values were hidden 1..10 ok 3 - sensitive-looking settings are censored from the dump # Subtest: sensitive-looking session values are censored too ok 1 - the session is dumped ok 2 - an ordinary session value is visible ok 3 - but a session value under a "password" key is not 1..3 ok 4 - sensitive-looking session values are censored too # Subtest: an error message containing HTML is escaped, not rendered ok 1 - /html-400: the script tag is not emitted raw ok 2 - /html-400: it is escaped instead ok 3 - /html-400: the ampersand is escaped ok 4 - /html-400: double quotes are escaped ok 5 - /html-400: to " entities ok 6 - /html-500: the script tag is not emitted raw ok 7 - /html-500: it is escaped instead ok 8 - /html-500: the ampersand is escaped ok 9 - /html-500: double quotes are escaped ok 10 - /html-500: to " entities ok 11 - single quotes are escaped as well 1..11 ok 5 - an error message containing HTML is escaped, not rendered 1..5 ok t/integration/handler/file.t ........................... # Subtest: send_file will not serve a file outside the public directory ok 1 - a file inside the public directory is served ok 2 - and its content is what is on disk ok 3 - a ../ path pointing outside the public directory is refused ok 4 - with the standard 403 body ok 5 - and no part of the target file is disclosed ok 6 - containment is decided before existence, so an escape to a missing file is still 403, not 404 ok 7 - an absolute path is refused too, unless system_path says otherwise ok 8 - system_path => 1 is the documented way out and still works ok 9 - and it does read the requested file 1..9 ok 1 - send_file will not serve a file outside the public directory # Subtest: send_file distinguishes missing from unreadable ok 1 - a missing file is a 404 ok 2 - with the standard 404 body ok 3 - a file that exists but cannot be read is a 403, not a 404 ok 4 - with the standard 403 body 1..4 ok 2 - send_file distinguishes missing from unreadable # Subtest: send_file sets Content-Disposition and ends the route ok 1 - no Content-Disposition unless a filename was asked for ok 2 - a filename produces an attachment disposition under the given name ok 3 - content_disposition overrides the attachment default ok 4 - a scalar reference is served as content ok 5 - and the content is the referenced string ok 6 - an in-memory body can still be given a download filename ok 7 - send_file exits the route immediately; code after it does not run 1..7 ok 3 - send_file sets Content-Disposition and ends the route # Subtest: the default static handler runs ahead of the application ok 1 - an existing file is served ok 2 - straight off disk ok 3 - with a content type derived from the extension ok 4 - and a charset, because it is a text type ok 5 - a file on disk beats a route of the same path ok 6 - a missing file does not 404 on the spot ok 7 - it falls through to the route that does match ok 8 - a ../ path is refused by Plack::App::File before Dancer2 sees it ok 9 - and the file outside the public directory is not disclosed ok 10 - an unreadable file is a 403 here too 1..10 ok 4 - the default static handler runs ahead of the application # Subtest: a null byte in a static path is refused quietly (fixed) ok 1 - the request is answered, not aborted ok 2 - and the file whose name was the prefix is not served ok 3 - no warning reaches the log 1..3 ok 5 - a null byte in a static path is refused quietly (fixed) # Subtest: Dancer2::Handler::File serves files as an ordinary route ok 1 - the handler serves a file under public_dir ok 2 - with the content from disk ok 3 - and answers HEAD as well as GET ok 4 - a declared route beats a file of the same name here ok 5 - a missing file is passed on and 404s through the application ok 6 - a NUL in the path is rejected outright ok 7 - an unreadable file is a 403 1..7 ok 6 - Dancer2::Handler::File serves files as an ordinary route # Subtest: Dancer2::Handler::File refuses a ../ path outside public_dir (fixed) ok 1 - a ../ path escaping public_dir is refused ok 2 - and the content of the file outside public_dir is not disclosed 1..2 ok 7 - Dancer2::Handler::File refuses a ../ path outside public_dir (fixed) # Subtest: the ../ escape is refused at any depth (fixed) ok 1 - a two-level ../../ path is refused just as well as one ok 2 - and the file outside public_dir is not disclosed ok 3 - surplus ../ segments are refused rather than collapsing at / ok 4 - so the escape does not work regardless of the depth used ok 5 - /etc/passwd is refused, not served, through Dancer2::Handler::File ok 6 - and the response is not the system password file 1..6 ok 8 - the ../ escape is refused at any depth (fixed) 1..8 ok t/integration/hooks/chain.t ............................ # Subtest: hooks run around the route in order ok 1 - the request succeeds ok 2 - the route produced the body ok 3 - before, then the route, then after 1..3 ok 1 - hooks run around the route in order # Subtest: a dying before hook fires both exception hooks and 500s ok 1 - the request becomes a 500 ok 2 - hook_exception fires first with the position, then route_exception, and the route never runs ok 3 - and an error page is rendered 1..3 ok 2 - a dying before hook fires both exception hooks and 500s # Subtest: halt in a before hook stops the whole chain ok 1 - halt keeps the status it was given ok 2 - and the halted body is what is returned ok 3 - no later hook and no route runs after halt 1..3 ok 3 - halt in a before hook stops the whole chain # Subtest: a halting hook_exception handler keeps the route refused ok 1 - the handler's status is what the client gets ok 2 - and the handler's body ok 3 - the route does not run - the before hook's refusal holds ok 4 - the exception handler fires exactly once ok 5 - for the before hook that failed ok 6 - the full sequence: before dies, the handler runs, and nothing else 1..6 ok 4 - a halting hook_exception handler keeps the route refused # Subtest: to_app compiles the hooks only once, however many times it is called ok 1 - the first to_app reports the failing hook once, correctly ok 2 - every further to_app still reports the same failure exactly once 1..2 ok 5 - to_app compiles the hooks only once, however many times it is called # Subtest: a hook registered after the first to_app is still compiled ok 1 - the late hook runs ok 2 - and its failure is reported exactly once, so it was wrapped 1..2 ok 6 - a hook registered after the first to_app is still compiled 1..6 ok t/integration/hooks/engine.t ........................... # Subtest: a hook registered before its engine exists still reaches it ok 1 - the page renders ok 2 - both engine hooks ran, in order ok 3 - and the token the hook set reached the template 1..3 ok 1 - a hook registered before its engine exists still reaches it # Subtest: a hook registered after its engine exists also reaches it ok 1 - the page renders ok 2 - both engine hooks ran, in order ok 3 - and the token the hook set reached the template 1..3 ok 2 - a hook registered after its engine exists also reaches it # Subtest: postponed hooks reach every kind of engine, not just templates ok 1 - the request succeeds ok 2 - the template engine got its postponed hook ok 3 - the session engine got its postponed hook ok 4 - the serializer engine got its postponed hook ok 5 - the logger engine got its postponed hook 1..5 ok 3 - postponed hooks reach every kind of engine, not just templates # Subtest: an unsupported engine hook name is refused, not ignored ok 1 - registering an unknown engine hook is fatal ok 2 - the message says the hook is not supported ok 3 - and names the hook that was asked for ok 4 - and names the package that registered it 1..4 ok 4 - an unsupported engine hook name is refused, not ignored 1..4 ok t/integration/serializer/json.t ........................ # Subtest: a serialized response carries the serializer content type ok 1 - /hash: responds ok 2 - /hash: content type is the serializer's, not text/html ok 3 - /hash: round-trips through JSON ok 4 - /array: responds ok 5 - /array: content type is the serializer's, not text/html ok 6 - /array: round-trips through JSON # JSON backend is Cpanel::JSON::XS, which encodes a top-level non-reference ok 7 - /string: responds ok 8 - /string: a backend that encodes a non-ref gives the serializer content type ok 9 - /string: and the plain string is JSON-encoded into the body ok 10 - /utf8: content type is the serializer's ok 11 - /utf8: the body is UTF-8 encoded bytes ok 12 - /utf8: and decodes back to the original characters 1..12 ok 1 - a serialized response carries the serializer content type # Subtest: an empty serialized body loses the serializer content type ok 1 - /empty: still a 200 ok 2 - /empty: with an empty body ok 3 - /empty: but the content type falls back to text/html ok 4 - /undef: still a 200 ok 5 - /undef: with an empty body ok 6 - /undef: but the content type falls back to text/html 1..6 ok 2 - an empty serialized body loses the serializer content type # Subtest: a malformed body is a 400, not a 500 ok 1 - a malformed JSON body is refused as 400 ok 2 - and the error is reported in the serializer's content type ok 3 - the message says deserialization is what failed ok 4 - a valid body on the same route is accepted ok 5 - and reaches the route deserialized 1..5 ok 3 - a malformed body is a 400, not a 500 # Subtest: an empty body is not a failure ok 1 - an empty body is not treated as malformed ok 2 - there is simply nothing to deserialize 1..2 ok 4 - an empty body is not a failure # Subtest: only methods that may carry a body are deserialized ok 1 - POST: accepted ok 2 - POST: body is deserialized ok 3 - PUT: accepted ok 4 - PUT: body is deserialized ok 5 - PATCH: accepted ok 6 - PATCH: body is deserialized ok 7 - DELETE: accepted ok 8 - DELETE: body is deserialized ok 9 - GET: accepted ok 10 - GET: the body is not deserialized even when it is valid ok 11 - GET: a malformed body does not even produce a 400 ok 12 - GET: because nothing tried to deserialize it 1..12 ok 5 - only methods that may carry a body are deserialized # Subtest: a multipart upload is not run through the deserializer ok 1 - the upload is accepted ok 2 - the body was not deserialized ok 3 - the uploaded file is still available ok 4 - and so is a plain form field alongside it 1..4 ok 6 - a multipart upload is not run through the deserializer 1..6 ok t/integration/serializer/mutable.t ..................... # Subtest: Accept chooses the outgoing format ok 1 - Accept: application/json responds ok 2 - Accept: application/json sets Content-Type to match ok 3 - Accept: application/json serializes in that format ok 4 - Accept: text/html responds ok 5 - Accept: text/html sets Content-Type to match ok 6 - Accept: text/html serializes in that format ok 7 - Accept: text/x-json responds ok 8 - Accept: text/x-json sets Content-Type to match ok 9 - Accept: text/x-json serializes in that format ok 10 - Accept: text/x-yaml responds ok 11 - Accept: text/x-yaml sets Content-Type to match ok 12 - Accept: text/x-yaml serializes in that format 1..12 ok 1 - Accept chooses the outgoing format # Subtest: an unrecognised or absent Accept falls back to JSON ok 1 - Accept: application/xml falls back to JSON ok 2 - Accept: application/xml body is JSON ok 3 - Accept: text/plain falls back to JSON ok 4 - Accept: text/plain body is JSON ok 5 - Accept: */* falls back to JSON ok 6 - Accept: */* body is JSON ok 7 - Accept: text/x-data-dumper falls back to JSON ok 8 - Accept: text/x-data-dumper body is JSON ok 9 - no Accept header at all falls back to JSON ok 10 - with a JSON body 1..10 ok 2 - an unrecognised or absent Accept falls back to JSON # Subtest: Content-Type chooses the incoming format ok 1 - a YAML body is accepted ok 2 - and answered in YAML ok 3 - with the deserialized value ok 4 - a JSON body is accepted ok 5 - deserialized and answered in JSON ok 6 - an unrecognised Content-Type falls back to JSON ok 7 - so a JSON body under a bogus content type is still read 1..7 ok 3 - Content-Type chooses the incoming format # Subtest: Accept wins over Content-Type when serializing (documented) ok 1 - the request succeeds ok 2 - the response is JSON, chosen from Accept ok 3 - and says so, per the documented rule for serializing ok 4 - a JSON request is answered in YAML when Accept asks for it ok 5 - with a YAML body 1..5 ok 4 - Accept wins over Content-Type when serializing (documented) # Subtest: a charset parameter on Content-Type is stripped before the lookup (fixed) ok 1 - text/x-yaml alone is understood ok 2 - and the YAML body is deserialized ok 3 - the same body with "; charset=utf-8" is now understood too ok 4 - and deserializes exactly as the bare header does ok 5 - an uppercase spelling is understood as well ok 6 - and deserializes the same way ok 7 - JSON with a charset parameter still works ok 8 - because the parameter is stripped, not because of the fallback ok 9 - an Accept with a charset parameter now chooses YAML, not JSON ok 10 - with a YAML body 1..10 ok 5 - a charset parameter on Content-Type is stripped before the lookup (fixed) 1..5 ok t/integration/serializer/yaml.t ........................ # Subtest: a blessing tag never yields the attacker-named object ok 1 - deserialize did not return an Attacker::Gadget object ok 2 - control: the payload blesses when passed straight to YAML::Load 1..2 ok 1 - a blessing tag never yields the attacker-named object # Subtest: the localisation does not leak ok 1 - an ambient LoadBlessed is restored after deserialize returns ok 2 - an ambient LoadCode is restored after deserialize returns ok 3 - an ambient UseCode is restored after deserialize returns 1..3 ok 2 - the localisation does not leak # Subtest: ordinary YAML still round-trips ok 1 - a normal structure survives a round trip unchanged ok 2 - a top-level sequence still loads 1..2 ok 3 - ordinary YAML still round-trips # Subtest: a code tag never evaluates the payload ok 1 - control: the payload is evaluated when passed straight to YAML::Load ok 2 - deserialize did not evaluate the supplied code 1..2 ok 4 - a code tag never evaluates the payload # Subtest: a blessing payload sent as a request body never blesses ok 1 - no blessed gadget leaked into the response ok 2 - the route saw an unblessed value 1..2 ok 5 - a blessing payload sent as a request body never blesses 1..5 ok t/integration/session/lifecycle.t ...................... # Subtest: a session survives across requests and is written once ok 1 - the first request has a session id ok 2 - and sends a session cookie ok 3 - writing to the session flushes it to the store exactly once ok 4 - a later request carrying the cookie reads the value back ok 5 - a request without the cookie gets a different, empty session 1..5 ok 1 - a session survives across requests and is written once # Subtest: a session that was not modified is not written back ok 1 - the value is still readable ok 2 - reading the session does not write it back to the store ok 3 - a request that never touches the session does not write it either ok 4 - and the session cookie is still returned unchanged ok 5 - a request with no cookie that never touches the session gets none 1..5 ok 2 - a session that was not modified is not written back # Subtest: destroy_session discards the data and expires the cookie ok 1 - the data is gone from the session within the same request ok 2 - and the session is gone from the store ok 3 - the response cookie carries an Expires attribute ok 4 - the Expires value parses as a date (Tue, 29-Sep-2026 00:02:45 GMT) ok 5 - and it is in the past, so the client drops the cookie ok 6 - replaying the destroyed cookie does not bring the data back ok 7 - and a fresh session id is issued instead 1..7 ok 3 - destroy_session discards the data and expires the cookie # Subtest: change_session_id keeps the data and retires the old id ok 1 - the id actually changes ok 2 - the session data survives the change ok 3 - and the app is now on the new id ok 4 - the response cookie carries the new id, not the old one ok 5 - the old id is removed from the store ok 6 - and the new id is in the store ok 7 - the data is readable under the new id ok 8 - and not under the old one 1..8 ok 4 - change_session_id keeps the data and retires the old id # Subtest: the session cookie is HttpOnly by default ok 1 - HttpOnly is present without being asked for ok 2 - under the default cookie name ok 3 - with the default path ok 4 - Secure is not set unless configured ok 5 - SameSite is not set unless configured ok 6 - and there is no Expires, so it is a browser-session cookie 1..6 ok 5 - the session cookie is HttpOnly by default # Subtest: configured cookie attributes reach the header ok 1 - cookie_name is used ok 2 - cookie_path is used ok 3 - is_secure adds Secure ok 4 - HttpOnly is still there too ok 5 - cookie_same_site is capitalised on the way out ok 6 - cookie_duration produces an Expires attribute ok 7 - and it parses as a date (Wed, 30-Sep-2026 02:02:45 GMT) ok 8 - roughly two hours ahead, not the literal string "2 hours" ok 9 - and not much more than that 1..9 ok 6 - configured cookie attributes reach the header # Subtest: is_http_only => 0 drops HttpOnly ok 1 - HttpOnly is gone when explicitly turned off ok 2 - but the cookie is otherwise still issued 1..2 ok 7 - is_http_only => 0 drops HttpOnly # Subtest: a cookie naming an unknown session starts a fresh one ok 1 - an unknown session id does not blow up ok 2 - the new session is empty ok 3 - and a different id is issued rather than trusting the one supplied ok 4 - a malformed session id does not blow up either ok 5 - and yields an empty session ok 6 - the rejected id is not echoed back in the new cookie 1..6 ok 8 - a cookie naming an unknown session starts a fresh one 1..8 ok t/integration/template/autopage.t ...................... # Subtest: a request matching a view is served without a route ok 1 - the page is served ok 2 - rendered through the configured layout ok 3 - a nested view is served too ok 4 - also with the layout 1..4 ok 1 - a request matching a view is served without a route # Subtest: a request matching no view passes on ok 1 - a path with no matching view 404s 1..1 ok 2 - a request matching no view passes on # Subtest: a declared route wins over a view of the same name ok 1 - the request is served ok 2 - by the declared route, not the view ok 3 - the view is not used 1..3 ok 3 - a declared route wins over a view of the same name # Subtest: a layout cannot be requested as a page ok 1 - a path under the layout directory is refused ok 2 - and the layout template is not rendered as a page ok 3 - /x/../layouts/main is refused too ok 4 - /./layouts/main is refused too ok 5 - /sub/../layouts/main is refused too 1..5 ok 4 - a layout cannot be requested as a page # Subtest: the layout guard holds under a different case # this filesystem is case-sensitive - the 404 below is reached because the view lookup itself already misses ok 1 - the correctly-cased layout path is refused ok 2 - the same layout under a different case is refused too ok 3 - and the layout template is not rendered as a page 1..3 ok 5 - the layout guard holds under a different case 1..5 ok t/integration/template/rendering.t ..................... # Subtest: the configured layout is applied by default ok 1 - the page renders ok 2 - the view is wrapped in the configured layout 1..2 ok 1 - the configured layout is applied by default # Subtest: a false layout option suppresses the layout entirely ok 1 - layout => 0 renders the view with no layout ok 2 - layout => undef does the same ok 3 - while omitting the option still uses the configured layout 1..3 ok 2 - a false layout option suppresses the layout entirely # Subtest: a named layout option beats the configured layout ok 1 - the layout named in the options is used ok 2 - and the configured layout is not applied as well 1..2 ok 3 - a named layout option beats the configured layout # Subtest: a view is given the default tokens ok 1 - the page renders ok 2 - settings token is present ok 3 - params token is present ok 4 - vars token is present ok 5 - session token is present ok 6 - request token is present ok 7 - perl_version token is present ok 8 - dancer_version token is present 1..8 ok 4 - a view is given the default tokens # Subtest: an empty view renders as empty, and does not raise ok 1 - an empty view is not an error ok 2 - and renders as nothing 1..2 ok 5 - an empty view renders as empty, and does not raise # Subtest: having no content source at all does raise ok 1 - processing with no view and no content throws ok 2 - with the message that names the problem ok 3 - an empty view is a different case and does not throw ok 4 - it returns the empty string 1..4 ok 6 - having no content source at all does raise 1..6 ok t/issues/gh-1013/gh-1013.t ............................. ok 1 - Request does not crash ok 2 - Request successful ok 3 - Correct content 1..3 ok t/issues/gh-1046/gh-1046.t ............................. ok 1 - Server header not available 1..1 ok 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_stacktrace => []) 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-1216/gh-1216.t ............................. 1..2 ok 1 - No exception when creating new app ok 2 - A reference of type 'CODE' isa 'CODE' ok t/issues/gh-1226/gh-1226.t ............................. 1..13 ok 1 - No exception when creating new app ok 2 - A reference of type 'CODE' isa 'CODE' ok 3 - Appname is OtherApp ok 4 - The caller class is App::Extra ok 5 - Cannot call DSL via app (bc appname is app) ok 6 - Cannot call DSL via appname (bc it is not the consumer class) ok 7 - Cannot call DSL via appname string (bc it is not the consumer class) ok 8 - Was able to successfully call the DSL (via consumer class) ok 9 - Status was set correctly ok 10 - Was able to successfully call the DSL (via plugin->dsl) ok 11 - Status was set correctly ok 12 - Correct response code ok 13 - Correct response content ok t/issues/gh-1230/gh-1230.t ............................. 1..18 ok 1 - No exception when creating new app ok 2 - A reference of type 'CODE' isa 'CODE' ok 3 - Appname is OtherApp ok 4 - The caller class is App::Extra ok 5 - App does not receive DSL from our inner Plugin ok 6 - Appname is OtherApp ok 7 - The caller class is the first plugin (AccessPluginDSL) ok 8 - Cannot call DSL via app (bc appname is app) ok 9 - Cannot call DSL via appname (bc it is not the consumer class) ok 10 - Cannot call DSL via appname string (bc it is not the consumer class) ok 11 - Was able to successfully call the DSL (via consumer class) ok 12 - Status was set correctly ok 13 - Was able to successfully call the DSL (via plugin->dsl) ok 14 - Status was set correctly ok 15 - Successfully called the plugin DSL (via plugin->dsl) ok 16 - Status was set correctly ok 17 - Correct response code ok 18 - Correct response content ok t/issues/gh-1232.t ..................................... 1..1 # Subtest: POST request with parameters ok 1 - Body parameters deserialized 1..1 ok 1 - POST request with parameters ok t/issues/gh-1289.t ..................................... 1..1 ok 1 - Uploads survive forward ok t/issues/gh-1449/gh-1449.t ............................. ok 1 - Plugin reports the same app ok 2 - Plugin reports the correct app ok 3 - Got cookie from app1 ok 4 - Plugin reports the same app ok 5 - Plugin reports the correct app ok 6 - Got cookie from app2 ok 7 - Plugin reports the same app ok 8 - Plugin reports the correct app ok 9 - Got cookie again from app1 1..9 ok t/issues/gh-1564.t ..................................... 1..2 # Subtest: Testing app mounted to / # Subtest: Relative with leading slash ok 1 - Correct code ok 2 - Correct location header 1..2 ok 1 - Relative with leading slash # Subtest: Relative root ok 1 - Correct code ok 2 - Correct location header 1..2 ok 2 - Relative root # Subtest: Relative redirect ok 1 - Correct code ok 2 - Correct location header 1..2 ok 3 - Relative redirect # Subtest: Relative redirect with ./ ok 1 - Correct code ok 2 - Correct location header 1..2 ok 4 - Relative redirect with ./ # Subtest: Relative redirect with ../ ok 1 - Correct code ok 2 - Correct location header 1..2 ok 5 - Relative redirect with ../ # Subtest: Absolute URL redirect ok 1 - Correct code ok 2 - Correct location header 1..2 ok 6 - Absolute URL redirect # Subtest: Schemeless redirect ok 1 - Correct code ok 2 - Correct location header 1..2 ok 7 - Schemeless redirect 1..7 ok 1 - Testing app mounted to / # Subtest: Testing app mounted to /other-mount-point # Subtest: Relative with leading slash ok 1 - Correct code ok 2 - Correct location header 1..2 ok 1 - Relative with leading slash # Subtest: Relative root ok 1 - Correct code ok 2 - Correct location header 1..2 ok 2 - Relative root # Subtest: Relative redirect ok 1 - Correct code ok 2 - Correct location header 1..2 ok 3 - Relative redirect # Subtest: Relative redirect with ./ ok 1 - Correct code ok 2 - Correct location header 1..2 ok 4 - Relative redirect with ./ # Subtest: Relative redirect with ../ ok 1 - Correct code ok 2 - Correct location header 1..2 ok 5 - Relative redirect with ../ # Subtest: Absolute URL redirect ok 1 - Correct code ok 2 - Correct location header 1..2 ok 6 - Absolute URL redirect # Subtest: Schemeless redirect ok 1 - Correct code ok 2 - Correct location header 1..2 ok 7 - Schemeless redirect 1..7 ok 2 - Testing app mounted to /other-mount-point # DONE! ok t/issues/gh-1621/gh-1621.t ............................. ok 1 - Got app ok 2 - Redirect template results in redirect ok 3 - Successful subsequent request to normal template ok 4 - Correct content 1..4 ok t/issues/gh-1664/gh-1664.t ............................. # Subtest: Response->to_psgi does not add Server header ok 1 - Server header not present in PSGI response headers 1..1 ok 1 - Response->to_psgi does not add Server header # Subtest: to_app does not add Server header ok 1 - Server header not available 1..1 ok 2 - to_app does not add Server header 1..2 ok t/issues/gh-1712/gh-1712.t ............................. ok 1 - Got app ok 2 - Correct status code when overriding exception handling ok 3 - Correct content when overriding exception handling ok 4 - Correct status when sending as plain during template render ok 5 - Correct content when sending as plain ok 6 - Correct status when sending as HTML during template render ok 7 - Correct content when sending as HTML 1..7 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 t/issues/gh-650/gh-650.t ............................... ok 1 - Got app ok 2 - Successful request ok 3 - Correct content ok 4 - Successful request ok 5 - Correct content 1..5 ok 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 t/issues/gh-794.t ...................................... 1..2 ok 1 - Correct JSON content in POST ok 2 - Failed to decode invalid content ok t/issues/gh-797.t ...................................... # Subtest: Basic response failing not ok 1 - [POST /] Failed when sending regular params # TODO 500 when deserializing bad input # Failed (TODO) test '[POST /] Failed when sending regular params' # at t/issues/gh-797.t line 29. # got: '400' # expected: '500' 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/gh-975/gh-975.t ............................... 1..2 ok 1 - Succeeded retrieving file ok 2 - Correct file content ok t/issues/memleak/die_in_hooks.t ........................ 1..6 ok 1 - Object exists ok 2 - 'It is an object' isa 'Foo::Destroy' ok 3 - Request failed ok 4 - Failure status ok 5 - Memory cleaned ok 6 - Correct error ok t/issues/vars-in-forward.t ............................. 1..2 ok 1 - Successful response ok 2 - Correct response ok t/log_die_before_hook.t ................................ ok 1 - Got app ok 2 - Got error message when a before hook dies 1..2 ok t/log_levels.t ......................................... 1..8 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 7 - Successful response ok 8 - Log levels work ok t/logger.t ............................................. ok 1 ok 2 # Subtest: log level and capture ok 1 ok 2 1..2 ok 3 - log level and capture # Subtest: logger engine hooks ok 1 1..1 ok 4 - logger engine hooks # Subtest: logger file ok 1 1..1 ok 5 - logger file 1..5 ok t/logger_console.t ..................................... ok 1 - core message sent ok 2 - debug message sent ok 3 - info message sent ok 4 - warning message sent ok 5 - error message sent 1..5 ok t/memory_cycles.t ...................................... ok 1 - runner has no memory cycles ok 2 - App has no memory cycles 1..2 ok t/mime.t ............................................... 1..12 ok 1 - use Dancer2::Core::MIME; ok 2 - user defined mime_types are empty ok 3 - text/foo is saved ok 4 - mime type foo is found ok 5 - mime type bar is found ok 6 - mime type for extension .bar is found ok 7 - mime type for no extension is the default ok 8 - mime gets correctly lowercased for user types ok 9 - mime gets correctly lowercased for system types ok 10 - alias of unknown mime type gets default mime type ok 11 - name_or_type does not change if it seems a mime type string ok 12 - name_or_type knows svg ok t/multi_apps.t ......................................... ok 1 - 'Got app' isa 'CODE' ok 2 - Got wiki root ok 3 - Got forum root ok 4 - 'Got app' isa 'CODE' ok 5 - Got /wiki path ok 6 - Got /forum path 1..6 ok t/multi_apps_forward.t ................................. 1..9 ok 1 - [GET /] OK ok 2 - [GET /] OK content ok 3 - [GET /forward] OK ok 4 - [GET /forward] OK content ok 5 - Cannot find /new ok 6 - [GET /] OK ok 7 - [GET /] OK content # Old format using psgi_app to loop over multiple apps ok 8 - [GET /forward_to_new] OK ok 9 - [GET /forward_to_new] OK content ok t/multiapp_template_hooks.t ............................ 1..32 # Check App1 only calls first hook, not both ok 1 - 'Got app for test' isa 'CODE' ok 2 - '[App1] Tokens' isa 'HASH' ok 3 - 'Got app object inside App1' isa 'Dancer2::Core::App' ok 4 - Request reached to correct App (App1) ok 5 - App1 has a single before_template hook defined ok 6 - [GET /] Successful ok 7 - [GET /] Correct content ok 8 - Only App1's before_template hook was called # Check App2 only calls second hook, not both ok 9 - 'Got app for test' isa 'CODE' ok 10 - '[App2] Tokens' isa 'HASH' ok 11 - 'Got app object inside App2' isa 'Dancer2::Core::App' ok 12 - Request reached to correct App (App2) ok 13 - App2 has a single before_template hook defined ok 14 - [GET /] Successful ok 15 - [GET /] Correct content ok 16 - Only App2's before_template hook was called # Check both apps only call the first hook (correct app), not both ok 17 - 'Got app for test' isa 'CODE' ok 18 - '[App1] Tokens' isa 'HASH' ok 19 - 'Got app object inside App1' isa 'Dancer2::Core::App' ok 20 - Request reached to correct App (App1) ok 21 - App1 has a single before_template hook defined ok 22 - [GET /] Successful ok 23 - [GET /] Correct content ok 24 - Only App1's before_template hook was called (full PSGI app) # Check both apps only call the second hook (correct app), not both ok 25 - 'Got app for test' isa 'CODE' ok 26 - '[App2] Tokens' isa 'HASH' ok 27 - 'Got app object inside App2' isa 'Dancer2::Core::App' ok 28 - Request reached to correct App (App2) ok 29 - App2 has a single before_template hook defined ok 30 - [GET /2] Successful ok 31 - [GET /2] Correct content ok 32 - Only App2's before_template hook was called (full PSGI app) ok t/multipart_content.t .................................. ok 1 - Got app ok 2 - multipart with incorrect boundary returns 400 ok 3 - Providing multipart with correct boundary works 1..3 ok t/named_apps.t ......................................... ok 1 - Got app content path foo ok 2 - Got app content path bar 1..2 ok t/named_routes.t ....................................... 1..5 # Subtest: Named static route 1..2 ok 1 - Successfully reached /view ok 2 - Static route with name ok 1 - Named static route # Subtest: Named regex route 1..2 ok 1 - Successfully reached /view_r ok 2 - Regex route with name ok 2 - Named regex route # Subtest: Named static route with options 1..2 ok 1 - Successfully reached / ok 2 - Static route with name and options ok 3 - Named static route with options # Subtest: Named regex route with options 1..2 ok 1 - Successfully reached /r ok 2 - Regex route with name and options ok 4 - Named regex route with options # Subtest: Route objects 1..3 ok 1 - Only one app exists ok 2 - Four named routes registered ok 3 - All the right route names ok 5 - Route objects ok t/no_default_middleware.t .............................. # Subtest: Head ok 1 - HEAD request on unwrapped app has content ok 2 - HEAD request on wrapped app has no content ok 3 - HEAD requests have consistent content length header 1..3 ok 1 - Head # Subtest: FixMissingBodyInRedirect ok 1 - GET request that redirects on unwrapped app has no content ok 2 - GET request that redirects on wrapped app has content 1..2 ok 2 - FixMissingBodyInRedirect 1..2 ok t/plugin2/app_dsl_cb/app_dsl_cb.t ...................... 1..4 ok 1 - Correct argument to plugin ok 2 - Plugin returned OK ok 3 - Did not crash ok 4 - Ran successfully ok t/plugin2/basic-2.t .................................... 1..8 # poc2 root ok 1 ok 2 ok 3 # pos2 goodbye ok 4 ok 5 ok 6 # pos2 hooked ok 7 ok 8 ok t/plugin2/basic.t ...................................... 1..6 # poc root ok 1 ok 2 ok 3 - config parameters are read ok 4 - Plugin Bar has been loaded ok 5 - Foo has a copy of Bar # poc truncate ok 6 ok t/plugin2/define-keywords.t ............................ 1..2 # Subtest: keywords are registered ok 1 - foo ok 2 - bar ok 3 - baz ok 4 - bazz ok 5 - biz ok 6 - quux ok 7 - qiix ok 8 - qox ok 9 - qooox 1..9 ok 1 - keywords are registered # Subtest: keywords are recognized ok 1 - foo ok 2 - bar ok 3 - quux 1..3 ok 2 - keywords are recognized ok t/plugin2/find_plugin.t ................................ 1..3 # Subtest: Baseline ok 1 - Successful response ok 2 - Foo plugin works correctly 1..2 ok 1 - Baseline # Subtest: When parent plugin not available ok 1 - An object of class 'Dancer2::Plugin::Bar' isa 'Dancer2::Plugin::Bar' ok 2 - Response failed ok 3 - An object of class 'Dancer2::Logger::Capture' isa 'Dancer2::Logger::Capture' ok 4 - 'Found logs' isa 'ARRAY' ok 5 - One log message ok 6 ok 7 - Correct error 1..7 ok 2 - When parent plugin not available # Subtest: When both parent and child plugins available ok 1 - An object of class 'Dancer2::Plugin::Bar' isa 'Dancer2::Plugin::Bar' ok 2 - An object of class 'Dancer2::Plugin::Foo' isa 'Dancer2::Plugin::Foo' ok 3 - Dancer2::Plugin::Foo->can('foo_message') ok 4 - Successful response ok 5 - Bar plugin found Foo and worked 1..5 ok 3 - When both parent and child plugins available ok t/plugin2/from-config.t ................................ 1..8 ok 1 - from config ok 2 - from config, nested ok 3 - nothing in config, default value ok 4 - from_config a coderef ok 5 - from_config a coderef, no override ok 6 - from_config, defined two fields at once \#1 ok 7 - from_config, defined two fields at once \#2 ok 8 - defining two fields simultaneously with multiple plugin_keyword values is disallowed ok t/plugin2/hooks.t ...................................... 1..3 # Subtest: initial state ok 1 ok 2 ok 3 ok 4 1..4 ok 1 - initial state # Subtest: trigger hook ok 1 ok 2 ok 3 ok 4 1..4 ok 2 - trigger hook # Subtest: execute hook counting ok 1 ok 2 ok 3 ok 4 1..4 ok 3 - execute hook counting ok t/plugin2/inside-plugin.t .............................. ok 1 - Test number of plugins. ok 2 - An object of class 'Dancer2::Plugin::TestPlugin' isa 'Dancer2::Plugin::TestPlugin' ok 3 - An object of class 'Dancer2::Plugin::InsidePlugin' isa 'Dancer2::Plugin::InsidePlugin' ok 4 - Test config of TestPlugin. ok 5 - Test config of InsidePlugin. 1..5 ok t/plugin2/keywords-hooks-namespace.t ................... # Subtest: Plugin1 ok 1 - keywords ok 2 - hooks 1..2 ok 1 - Plugin1 # Subtest: Plugin2 ok 1 - keywords ok 2 - hooks 1..2 ok 2 - Plugin2 # Subtest: app_side ok 1 - from plugin1 ok 2 - from plugin2 ok 3 1..3 ok 3 - app_side 1..3 ok t/plugin2/memory_cycles.t .............................. ok 1 - runner has no memory cycles ok 2 - App has no memory cycles 1..2 ok t/plugin2/no-app-munging.t ............................. 1..1 ok 1 - we survived! ok t/plugin2/no-clobbering.t .............................. ok 1 - alpha from config ok 2 - alpha from plugin_setting ok 3 - alpha from indirect ok 4 - beta from config ok 5 - beta from plugin_setting ok 6 - beta from indirect 1..6 ok t/plugin2/no-config.t .................................. 1..1 ok 1 - we survived bar() and baz() ok t/plugin2/with-plugins.t ............................... 1..8 ok 1 - An object of class 'Dancer2::Plugin::Foo' isa 'Dancer2::Plugin' ok 2 - app has one plugin ok 3 - app has plugin Foo ok 4 - plugin is not redefined ok 5 - app still has one plugin ok 6 - app has plugin Foo # Subtest: adding plugin Bar ok 1 - An object of class 'Dancer2::Plugin::Bar' isa 'Dancer2::Plugin' ok 2 - app has two plugins ok 3 - app has plugin Foo ok 4 - app has plugin Bar 1..4 ok 7 - adding plugin Bar # Subtest: adding as an object ok 1 - it's the same ok 2 - app has three plugins ok 3 - app has plugin Foo ok 4 - app has plugin Bar ok 5 - app has plugin Baz 1..5 ok 8 - adding as an object ok t/plugin_import.t ...................................... ok 1 - Got app ok 2 - the plugin exported its keyword ok 3 - the original import method of the plugin is still there # Subtest: import flags ok 1 - with :no_dsl, the Dancer's dsl is not imported. ok 2 - without any import flag, the DSL is imported 1..2 ok 4 - import flags 1..4 ok t/plugin_multiple_apps.t ............................... ok 1 - Got app ok 2 - /subapp1 ok 3 - /subapp2 1..3 ok t/plugin_register.t .................................... # Subtest: reserved keywords ok 1 - Can't use Dancer2's reserved keywords ok 2 - Can't use invalid names for keywords 1..2 ok 1 - reserved keywords # Subtest: plugin reserved keywords ok 1 - can register a new keyword ok 2 - can't register a keyword already registered by another plugin 1..2 ok 2 - plugin reserved keywords 1..2 ok 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 ok 4 - plugin_setting returned the expected config ok 5 - app name is correct 1..5 ok 1 - global and route keywords # Subtest: plugin old syntax ok 1 - Got app ok 2 - foo plugin 1..2 ok 2 - plugin old syntax # Subtest: caller_dsl ok 1 - Got app ok 2 - Correct content 1..2 ok 3 - caller_dsl # Subtest: hooks in plugins ok 1 - Got app ok 2 - the hook has not been executed ok 3 - ... route is rendered ok 4 - ... and the hook has been executed exactly once ok 5 - ... hook does not influence rendered content by return value ok 6 - Vars preserved from hooks ok 7 - hooks added by on_plugin_import don't stop hooks being added later 1..7 ok 4 - hooks in plugins 1..4 ok t/prepare_app.t ........................................ 1..2 # Subtest: Foo ok 1 - App 1 had prepare_app called ok 2 - Correct content 1..2 ok 1 - Foo # Subtest: Bar ok 1 - App 2 had prepare_app called ok 2 - Correct content 1..2 ok 2 - Bar ok 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 ok 11 - [GET /redirect_uriescaped] Correct code ok 12 - Correct Location header 1..12 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 1..2 ok # If you want extra speed, install CGI::Deurl::XS t/request.t ............................................ # Run test with XS_URL_DECODE # 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 and uri_base ok 45 - path corrent when empty PATH_INFO ok 46 - uri_base correct when empty PATH_INFO ok 47 - path corrent when empty SCRIPT_NAME ok 48 - uri_base handles empty SCRIPT_NAME ok 49 - path corrent when both PATH_INFO and SCRIPT_NAME set ok 50 - uri_base correct when both PATH_INFO and SCRIPT_NAME set ok 51 - path corrent when calculated from REQUEST_URI ok 52 - uri_base correct when calculated from REQUEST_URI # testing forward ok 53 - path is / ok 54 - method is get ok 55 - params are parsed ok 56 - path is changed ok 57 - method is unchanged ok 58 - params are not touched ok 59 - path is changed ok 60 - method is changed ok 61 - params are not touched # testing unicode params ok 62 - multi byte unicode chars work in param keys and values # testing private _decode not to mangle hash ok 63 - hash not mangled ok 64 - no warnings were issued # Run test without XS_URL_DECODE # tests for accessors ok 65 ok 66 ok 67 ok 68 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 # tests params ok 90 # tests cookies ok 91 - multiple cookies extracted ok 92 ok 93 # tests for uri_for ok 94 ok 95 ok 96 ok 97 - uri_for returns a URI (with $dont_escape) ok 98 ok 99 ok 100 ok 101 ok 102 # testing behind proxy ok 103 ok 104 ok 105 # testing behind proxy when optional headers are not set ok 106 ok 107 ok 108 # testing path and uri_base ok 109 - path corrent when empty PATH_INFO ok 110 - uri_base correct when empty PATH_INFO ok 111 - path corrent when empty SCRIPT_NAME ok 112 - uri_base handles empty SCRIPT_NAME ok 113 - path corrent when both PATH_INFO and SCRIPT_NAME set ok 114 - uri_base correct when both PATH_INFO and SCRIPT_NAME set ok 115 - path corrent when calculated from REQUEST_URI ok 116 - uri_base correct when calculated from REQUEST_URI # testing forward ok 117 - path is / ok 118 - method is get ok 119 - params are parsed ok 120 - path is changed ok 121 - method is unchanged ok 122 - params are not touched ok 123 - path is changed ok 124 - method is changed ok 125 - params are not touched # testing unicode params ok 126 - multi byte unicode chars work in param keys and values # testing private _decode not to mangle hash ok 127 - hash not mangled ok 128 - no warnings were issued 1..128 ok t/request_make_forward_to.t ............................ 1..1 ok 1 - Access denied to unauthorized merge ok t/request_multipart_formdata.t ......................... 1..2 ok 1 - Got app ok 2 - [POST /] successful ok # If you want extra speed, install CGI::Deurl::XS t/request_upload.t ..................................... # Run test with XS_URL_DECODE 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 and decoded filename ok 6 ok 7 # type ok 8 ok 9 - content for upload \#3 as a scalar is good, via req->upload ok 10 - content for upload \#6 is good ok 11 ok 12 - An object of class 'Dancer2::Core::Request::Upload' isa 'Dancer2::Core::Request::Upload' ok 13 - filename is ok ok 14 - file handle is defined ok 15 - filename is accessible via params ok 16 - file '/tmp/55ktCYKtWB/yappo6.txt' has been copied ok 17 - hardlink '/tmp/55ktCYKtWB/hardlink' has been created ok 18 - temp file exists while request object lives ok 19 - temp file is removed when request object dies # testing failing open for tempfile ok 20 # Run test without XS_URL_DECODE ok 21 - non-existent upload as array is empty ok 22 - ... and non-existent upload as scalar is undef ok 23 - content for first upload is ok, via 'upload' ok 24 - ... content for second as well ok 25 - ... content for other also good # headers and decoded filename ok 26 ok 27 # type ok 28 ok 29 - content for upload \#3 as a scalar is good, via req->upload ok 30 - content for upload \#6 is good ok 31 ok 32 - An object of class 'Dancer2::Core::Request::Upload' isa 'Dancer2::Core::Request::Upload' ok 33 - filename is ok ok 34 - file handle is defined ok 35 - filename is accessible via params ok 36 - file '/tmp/ANT5jXIeEB/yappo6.txt' has been copied ok 37 - hardlink '/tmp/ANT5jXIeEB/hardlink' has been created ok 38 - temp file exists while request object lives ok 39 - temp file is removed when request object dies # testing failing open for tempfile ok 40 1..40 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 t/scope_problems/dispatcher_internal_request.t ......... # [Test::App:1993951] error @2026-09-30 00:03:13> Exception caught in 'core.app.before_request' filter: Hook error: Nope, Nope, Nope at t/scope_problems/dispatcher_internal_request.t line 18. # at /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm line 35. in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 784 # [Test::App:1993951] error @2026-09-30 00:03:13> 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 /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm line 35. # at /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/Role/Hookable.pm line 120. in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 1732 ok 1 - Runner internal request cleaned up 1..1 ok t/scope_problems/keywords_before_template_hook.t ....... # [Test::App:1993952] error @2026-09-30 00:03:14> Route exception: Yes yes YES! at t/scope_problems/keywords_before_template_hook.t line 30. in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 1732 ok 1 - Got 500 response ok 2 - with the template content 1..2 ok t/scope_problems/session_is_cleared.t .................. ok 1 - /normal_route does not error # [MyTestApp:1993954] error @2026-09-30 00:03:14> Route exception: Hook error: arxRwitcb3riTp1xLgDqxSEX69K7NT7X at t/scope_problems/session_is_cleared.t line 17. # at /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/Role/Hookable.pm line 120. in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 1732 # [MyTestApp:1993954] warning @2026-09-30 00:03:14> Hook error: arxRwitcb3riTp1xLgDqxSEX69K7NT7X at t/scope_problems/session_is_cleared.t line 17. # at /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/Role/Hookable.pm line 120. in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 1858 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 t/scope_problems/with_return_dies.t .................... ok 1 - /normal_route does not error # [MyTestApp:1993955] error @2026-09-30 00:03:15> Route exception: Hook error: 94478743003672 at t/scope_problems/with_return_dies.t line 19. # at /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/Role/Hookable.pm line 120. in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 1732 # [MyTestApp:1993955] warning @2026-09-30 00:03:15> Hook error: 94478743212064 at t/scope_problems/with_return_dies.t line 19. # at /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/Role/Hookable.pm line 120. in /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/blib/lib/Dancer2/Core/App.pm l. 1858 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..4 ok 1 - Got app ok 2 - [/json] Correct status ok 3 - [/json] Correct content ok 4 - [/json] Correct content-type headers ok t/serializer_helpers.t ................................. # Subtest: from_json reports a parse failure instead of hiding it ok 1 - malformed JSON deserializes to undef ok 2 - and the failure is reported on STDERR ok 3 - not as an accessor error from inside the error handler 1..3 ok 1 - from_json reports a parse failure instead of hiding it # Subtest: from_yaml reports a parse failure instead of hiding it ok 1 - malformed YAML deserializes to undef ok 2 - and the failure is reported on STDERR ok 3 - not as an accessor error from inside the error handler 1..3 ok 2 - from_yaml reports a parse failure instead of hiding it # Subtest: to_json still warns about invalid UTF-8 ok 1 - serializing bytes that are not UTF-8 still produces JSON ok 2 - and says so on STDERR 1..2 ok 3 - to_json still warns about invalid UTF-8 # Subtest: the helpers stay quiet when nothing is wrong ok 1 - JSON round trips ok 2 - and warns about nothing ok 3 - YAML round trips ok 4 - and warns about nothing either 1..4 ok 4 - the helpers stay quiet when nothing is wrong # Subtest: a bare class-method call fails quietly rather than dying ok 1 - a class-method deserialize of malformed JSON does not die ok 2 - it returns undef ok 3 - and raises no accessor error 1..3 ok 5 - a bare class-method call fails quietly rather than dying 1..5 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..4 # Subtest: serializer returns to default state ok 1 - Default content-type header ok 2 - Dumper content type falls back to default as it is not enabled ok 3 - Correct content-type header ok 4 - Correct default content-type header after a request that used another 1..4 ok 1 - serializer returns to default state # Subtest: Format: yaml ok 1 - [/yaml] Correct status ok 2 - [/yaml] Correct content ok 3 - [/yaml] Correct content-type headers ok 4 - [/yaml] Correct status ok 5 - [/yaml] Correct content ok 6 - [/yaml] Correct content-type headers ok 7 - [/yaml] Deserialize: correct status ok 8 - [/yaml] Deserialize: correct content ok 9 - [/yaml] Correct status ok 10 - [/yaml] Correct content ok 11 - [/yaml] Correct content-type headers ok 12 - [/yaml] Correct status ok 13 - [/yaml] Correct content ok 14 - [/yaml] Correct content-type headers ok 15 - [/yaml] Deserialize: correct status ok 16 - [/yaml] Deserialize: correct content 1..16 ok 2 - Format: yaml # Subtest: Format: json ok 1 - [/json] Correct status ok 2 - [/json] Correct content ok 3 - [/json] Correct content-type headers ok 4 - [/json] Correct status ok 5 - [/json] Correct content ok 6 - [/json] Correct content-type headers ok 7 - [/json] Deserialize: correct status ok 8 - [/json] Deserialize: correct content ok 9 - [/json] Correct status ok 10 - [/json] Correct content ok 11 - [/json] Correct content-type headers ok 12 - [/json] Correct status ok 13 - [/json] Correct content ok 14 - [/json] Correct content-type headers ok 15 - [/json] Deserialize: correct status ok 16 - [/json] Deserialize: correct content 1..16 ok 3 - Format: json # Subtest: Format: default ok 1 - [/default] Correct status ok 2 - [/default] Correct content ok 3 - [/default] Correct content-type headers ok 4 - [/default] Correct status ok 5 - [/default] Correct content ok 6 - [/default] Correct content-type headers ok 7 - [/default] Deserialize: correct status ok 8 - [/default] Deserialize: correct content ok 9 - [/default] Correct status ok 10 - [/default] Correct content ok 11 - [/default] Correct content-type headers ok 12 - [/default] Correct status ok 13 - [/default] Correct content ok 14 - [/default] Correct content-type headers ok 15 - [/default] Deserialize: correct status ok 16 - [/default] Deserialize: correct content 1..16 ok 4 - Format: default ok t/serializer_mutable_custom.t .......................... 1..6 ok 1 - Got app # Subtest: Format: yaml # Subtest: text/x-yaml ok 1 - status ok 2 - content ok 3 - content-type headers ok 4 - status ok 5 - content ok 6 - content-type headers ok 7 - status ok 8 - content 1..8 ok 1 - text/x-yaml 1..1 ok 2 - Format: yaml # Subtest: Format: json # Subtest: text/x-json ok 1 - status ok 2 - content ok 3 - content-type headers ok 4 - status ok 5 - content ok 6 - content-type headers ok 7 - status ok 8 - content 1..8 ok 1 - text/x-json # Subtest: application/json ok 1 - status ok 2 - content ok 3 - content-type headers ok 4 - status ok 5 - content ok 6 - content-type headers ok 7 - status ok 8 - content 1..8 ok 2 - application/json 1..2 ok 3 - Format: json # Subtest: Format: other # Subtest: text/other ok 1 - status ok 2 - content ok 3 - content-type headers ok 4 - status ok 5 - content ok 6 - content-type headers ok 7 - status ok 8 - content 1..8 ok 1 - text/other 1..1 ok 4 - Format: other ok 5 - Mapping Dumper without enable_dumper croaks ok 6 # skip Dancer2::Serializer::Dumper is not installed ok t/session_bad_client_cookie.t .......................... # Subtest: [YAML] set_session and extract cookie ok 1 - set_session ok 2 - Cookie set 1..2 ok 1 - [YAML] set_session and extract cookie # Subtest: [YAML] set_session with bad cookie value ok 1 - Set bad cookie value ok 2 - /read_session ok 3 - Jar cleared ok 4 - session cookie set again ok 5 - Session ID has been reset 1..5 ok 2 - [YAML] set_session with bad cookie value # Subtest: [Simple] set_session and extract cookie ok 1 - set_session ok 2 - Cookie set 1..2 ok 3 - [Simple] set_session and extract cookie # Subtest: [Simple] set_session with bad cookie value ok 1 - Set bad cookie value ok 2 - /read_session ok 3 - Jar cleared ok 4 - session cookie set again ok 5 - Session ID has been reset 1..5 ok 4 - [Simple] set_session with bad cookie value # Subtest: [SimpleHexId] set_session and extract cookie ok 1 - set_session ok 2 - Cookie set 1..2 ok 5 - [SimpleHexId] set_session and extract cookie # Subtest: [SimpleHexId] set_session with bad cookie value ok 1 - Set bad cookie value ok 2 - /read_session ok 3 - Jar cleared ok 4 - session cookie set again ok 5 - Session ID has been reset 1..5 ok 6 - [SimpleHexId] set_session with bad cookie value # Subtest: [SimpleHexId] valid session id count ok 1 - No valid session keys passed during test 1..1 ok 7 - [SimpleHexId] valid session id count 1..7 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 ok 7 - cookie has same site set to strict 1..7 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_change_id not called ok 6 - session.after_change_id not called ok 7 - session.before_retrieve not called ok 8 - session.after_retrieve not called ok 9 - session.before_destroy not called ok 10 - session.after_destroy not called 1..10 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_change_id not called ok 8 - session.after_change_id not called ok 9 - session.before_destroy not called ok 10 - session.after_destroy not called 1..10 ok 6 - verify hooks for session retrieve # Subtest: change_session_id ok 1 - An object of class 'Dancer2::Core::Session' isa 'Dancer2::Core::Session' ok 2 - get_session ran ok 1..2 ok 7 - change_session_id # Subtest: verify hooks for change session id 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_change_id called ok 8 - session.after_change_id called ok 9 - session.before_destroy not called ok 10 - session.after_destroy not called 1..10 ok 8 - verify hooks for change session id # 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 9 - 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 10 - verify session destroy hooks 1..10 ok t/session_hooks_no_change_id.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_change_id not called ok 6 - session.after_change_id not called ok 7 - session.before_retrieve not called ok 8 - session.after_retrieve not called ok 9 - session.before_destroy not called ok 10 - session.after_destroy not called 1..10 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_change_id not called ok 8 - session.after_change_id not called ok 9 - session.before_destroy not called ok 10 - session.after_destroy not called 1..10 ok 6 - verify hooks for session retrieve # Subtest: change_session_id 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 - An object of class 'Dancer2::Core::Session' isa 'Dancer2::Core::Session' ok 4 - get_session ran ok 1..4 ok 7 - change_session_id # Subtest: verify hooks for change session id 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_change_id not called ok 8 - session.after_change_id not called ok 9 - session.before_destroy not called ok 10 - session.after_destroy not called 1..10 ok 8 - verify hooks for change session id # 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 9 - 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 10 - verify session destroy hooks 1..10 ok t/session_in_template.t ................................ ok 1 - Got app ok 2 - Successful request ok 3 ok 4 - Successful request ok 5 ok 6 - Successful request ok 7 ok 8 - Successful request ok 9 ok 10 - Successful request ok 11 1..11 ok t/session_lifecycle.t .................................. # Subtest: [YAML] No cookie set if session not referenced ok 1 - /no_session_data ok 2 - No cookie set 1..2 ok 1 - [YAML] No cookie set if session not referenced # Subtest: [YAML] No empty session created if session read attempted ok 1 - /read_session ok 2 - No cookie set 1..2 ok 2 - [YAML] No empty session created if session read attempted # Subtest: [YAML] Set value into session ok 1 - /set_session/larry ok 2 - Cookie set ok 3 - Got SID from cookie 1..3 ok 3 - [YAML] Set value into session # Subtest: [YAML] 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 - [YAML] Read value back # Subtest: [YAML] 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 - [YAML] Session cookie persists even if we do not touch sessions # Subtest: [YAML] Change session ID ok 1 - /change_session_id ok 2 - Jar cleared ok 3 - session cookie set again ok 4 - New session has different ID ok 5 - new session ID returned 1..5 ok 6 - [YAML] Change session ID # Subtest: [YAML] Read value back after change_session_id ok 1 - /read_session ok 2 - Jar cleared ok 3 - session cookie set again ok 4 - session value looks good 1..4 ok 7 - [YAML] Read value back after change_session_id # Subtest: [YAML] 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 8 - [YAML] Destroy session and check that cookies expiration is set # Subtest: [YAML] 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 9 - [YAML] Session cookie not sent after session destruction # Subtest: [YAML] 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 10 - [YAML] Set value into session again # Subtest: [YAML] 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 11 - [YAML] Destroy and create a session in one request # Subtest: [YAML] Read value back ok 1 - /read_session ok 2 - session cookie set ok 3 - session value looks good 1..3 ok 12 - [YAML] Read value back # Subtest: [Simple] No cookie set if session not referenced ok 1 - /no_session_data ok 2 - No cookie set 1..2 ok 13 - [Simple] No cookie set if session not referenced # Subtest: [Simple] No empty session created if session read attempted ok 1 - /read_session ok 2 - No cookie set 1..2 ok 14 - [Simple] No empty session created if session read attempted # Subtest: [Simple] Set value into session ok 1 - /set_session/larry ok 2 - Cookie set ok 3 - Got SID from cookie 1..3 ok 15 - [Simple] Set value into session # Subtest: [Simple] 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 16 - [Simple] Read value back # Subtest: [Simple] 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 17 - [Simple] Session cookie persists even if we do not touch sessions # Subtest: [Simple] Change session ID ok 1 - /change_session_id ok 2 - Jar cleared ok 3 - session cookie set again ok 4 - New session has different ID ok 5 - new session ID returned 1..5 ok 18 - [Simple] Change session ID # Subtest: [Simple] Read value back after change_session_id ok 1 - /read_session ok 2 - Jar cleared ok 3 - session cookie set again ok 4 - session value looks good 1..4 ok 19 - [Simple] Read value back after change_session_id # Subtest: [Simple] 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 20 - [Simple] Destroy session and check that cookies expiration is set # Subtest: [Simple] 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 21 - [Simple] Session cookie not sent after session destruction # Subtest: [Simple] 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 22 - [Simple] Set value into session again # Subtest: [Simple] 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 23 - [Simple] Destroy and create a session in one request # Subtest: [Simple] Read value back ok 1 - /read_session ok 2 - session cookie set ok 3 - session value looks good 1..3 ok 24 - [Simple] Read value back # Subtest: [SimpleNoChangeId] No cookie set if session not referenced ok 1 - /no_session_data ok 2 - No cookie set 1..2 ok 25 - [SimpleNoChangeId] No cookie set if session not referenced # Subtest: [SimpleNoChangeId] No empty session created if session read attempted ok 1 - /read_session ok 2 - No cookie set 1..2 ok 26 - [SimpleNoChangeId] No empty session created if session read attempted # Subtest: [SimpleNoChangeId] Set value into session ok 1 - /set_session/larry ok 2 - Cookie set ok 3 - Got SID from cookie 1..3 ok 27 - [SimpleNoChangeId] Set value into session # Subtest: [SimpleNoChangeId] 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 28 - [SimpleNoChangeId] Read value back # Subtest: [SimpleNoChangeId] 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 29 - [SimpleNoChangeId] Session cookie persists even if we do not touch sessions # Subtest: [SimpleNoChangeId] Change session ID ok 1 - /change_session_id ok 2 - Jar cleared ok 3 - session cookie set again ok 4 - New session has different ID ok 5 - new session ID returned 1..5 ok 30 - [SimpleNoChangeId] Change session ID # Subtest: [SimpleNoChangeId] Read value back after change_session_id ok 1 - /read_session ok 2 - Jar cleared ok 3 - session cookie set again ok 4 - session value looks good 1..4 ok 31 - [SimpleNoChangeId] Read value back after change_session_id # Subtest: [SimpleNoChangeId] 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 32 - [SimpleNoChangeId] Destroy session and check that cookies expiration is set # Subtest: [SimpleNoChangeId] 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 33 - [SimpleNoChangeId] Session cookie not sent after session destruction # Subtest: [SimpleNoChangeId] 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 34 - [SimpleNoChangeId] Set value into session again # Subtest: [SimpleNoChangeId] 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 35 - [SimpleNoChangeId] Destroy and create a session in one request # Subtest: [SimpleNoChangeId] Read value back ok 1 - /read_session ok 2 - session cookie set ok 3 - session value looks good 1..3 ok 36 - [SimpleNoChangeId] Read value back 1..36 ok t/session_object.t ..................................... # Cryptographically-strong session ID generation # 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 # Subtest: validate_id ok 1 - generated ID validates ok 2 - trailing newline rejected ok 3 - embedded newline rejected ok 4 - maximum-length ID validates ok 5 - overly long ID rejected ok 6 - undef rejected 1..6 ok 3 - validate_id 1..3 ok t/session_yaml_object.t ................................ ok 1 - 'Create a session' isa 'Dancer2::Core::Session' ok 2 - Store a session value ok 3 - Store a session object ok 4 - Flush the session store ok 5 - 'Retrieve the session' isa 'Dancer2::Core::Session' ok 6 - The session has stored the value ok 7 - 'The session has stored the object' isa 'File::Temp::Dir' 1..7 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 t/static_content.t ..................................... # Subtest: public content ok 1 - 200 response ok 2 - 304 response 1..2 ok 1 - public content 1..1 ok t/strict_config.t ...................................... # Subtest: warns on unknown keys ok 1 - warns for unknown top-level key ok 2 - warns for unknown engine key ok 3 - does not warn for template_toolkit keys ok 4 - does not warn for JSON serializer keys 1..4 ok 1 - warns on unknown keys # Subtest: can disable warnings ok 1 - warnings silenced 1..1 ok 2 - can disable warnings # Subtest: can allow specific top-level keys ok 1 - does not warn for allowlisted keys ok 2 - does not warn for allowlisted keys ok 3 - still warns for other top-level keys ok 4 - still warns for unknown engine keys 1..4 ok 3 - can allow specific top-level keys 1..3 ok t/template.t ........................................... ok 1 - use Dancer2::Template::TemplateToolkit; ok 2 - use Dancer2::Template::TemplateToolkitFoo; ok 3 - An object of class 'Dancer2::Template::TemplateToolkit' isa 'Dancer2::Template::TemplateToolkit' ok 4 # Subtest: template hooks ok 1 - [GET /] Correct content with template hooks ok 2 - [GET /global] Correct content with template hooks 1..2 ok 5 - template hooks ok 6 - An object of class 'Dancer2::Template::TemplateToolkitFoo' isa 'Dancer2::Template::TemplateToolkit' ok 7 - An object of class 'Dancer2::Template::TemplateToolkitFoo' isa 'Dancer2::Template::TemplateToolkitFoo' # Subtest: custom template render ok 1 - Custom Render Template 1..1 ok 8 - custom template render # Subtest: modify views - absolute paths ok 1 - [GET /default_views] Correct content ok 2 - [GET /get_views_via_settings] Correct content 1..2 ok 9 - modify views - absolute paths # Subtest: modify layout_dir ok 1 - [GET /default_layout_dir] Correct layout dir ok 2 - [GET /get_layout_dir_via_settings] Correct content 1..2 ok 10 - modify layout_dir # Subtest: modify views propagates to TT2 via dynamic INCLUDE_PATH ok 1 - got template from views ok 2 - got template from other view 1..2 ok 11 - modify views propagates to TT2 via dynamic INCLUDE_PATH 1..11 ok 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/time.t ............................................... # Subtest: Expression: "1h" ok 1 - "1h" is 3600 seconds ok 2 - ... its epoch is 1355679844 ok 3 - ... and its GMT string is Sun, 16-Dec-2012 17:44:04 GMT 1..3 ok 1 - Expression: "1h" # Subtest: Expression: "1 hour" ok 1 - "1 hour" is 3600 seconds ok 2 - ... its epoch is 1355679844 ok 3 - ... and its GMT string is Sun, 16-Dec-2012 17:44:04 GMT 1..3 ok 2 - Expression: "1 hour" # Subtest: Expression: "+1 hour" ok 1 - "+1 hour" is 3600 seconds ok 2 - ... its epoch is 1355679844 ok 3 - ... and its GMT string is Sun, 16-Dec-2012 17:44:04 GMT 1..3 ok 3 - Expression: "+1 hour" # Subtest: Expression: "-1h" ok 1 - "-1h" is -3600 seconds ok 2 - ... its epoch is 1355672644 ok 3 - ... and its GMT string is Sun, 16-Dec-2012 15:44:04 GMT 1..3 ok 4 - Expression: "-1h" # Subtest: Expression: "1 hours" ok 1 - "1 hours" is 3600 seconds ok 2 - ... its epoch is 1355679844 ok 3 - ... and its GMT string is Sun, 16-Dec-2012 17:44:04 GMT 1..3 ok 5 - Expression: "1 hours" # Subtest: Expression: "1d" ok 1 - "1d" is 86400 seconds ok 2 - ... its epoch is 1355762644 ok 3 - ... and its GMT string is Mon, 17-Dec-2012 16:44:04 GMT 1..3 ok 6 - Expression: "1d" # Subtest: Expression: "1 day" ok 1 - "1 day" is 86400 seconds ok 2 - ... its epoch is 1355762644 ok 3 - ... and its GMT string is Mon, 17-Dec-2012 16:44:04 GMT 1..3 ok 7 - Expression: "1 day" # Subtest: Forcing another epoch in the object should work ok 1 - ...1h is still 3600 seconds ok 2 - ... epoch is 1 ok 3 - ... and is expressed as Thu, 01-Jan-1970 00:00:01 GMT 1..3 ok 8 - Forcing another epoch in the object should work # Subtest: unparsable strings should be kept ok 1 - "something silly" is something silly seconds ok 2 - ... its epoch is something silly ok 3 - ... and its GMT string is something silly ok 4 - "+2 something" is +2 something seconds ok 5 - ... its epoch is +2 something ok 6 - ... and its GMT string is +2 something 1..6 ok 9 - unparsable strings should be kept 1..9 ok t/types.t .............................................. 1..51 ok 1 - Str does not accept undef value ok 2 - Str ok 3 - Str ok 4 - Num ok 5 - Num does not accept undef value ok 6 - Num fail ok 7 - Bool true value ok 8 - Bool false value ok 9 - Bool does accepts undef value ok 10 - Bool fail ok 11 - Regexp ok 12 - Regexp fail ok 13 - Regexp does not accept undef value ok 14 - HashRef ok 15 - HashRef fail ok 16 - HashRef does not accept undef value ok 17 - ArrayRef ok 18 - ArrayRef fail ok 19 - ArrayRef does not accept undef value ok 20 - CodeRef ok 21 - CodeRef fail ok 22 - CodeRef does not accept undef value ok 23 - InstanceOf ok 24 - InstanceOf fail ok 25 - InstanceOf does not accept undef value ok 26 - Dancer2Prefix ok 27 - Dancer2Prefix fail ok 28 - Dancer2Prefix does not accept undef value ok 29 - Dancer2AppName ok 30 - Dancer2AppName ok 31 - Dancer2AppName ok 32 - Dancer2AppName fails with single colons ok 33 - Dancer2AppName fails with tripe colons ok 34 - Dancer2AppName fails with beginning number ok 35 - Dancer2AppName fails with beginning number ok 36 - Dancer2AppName fails with special character ok 37 - Dancer2AppName fails with special character ok 38 - Dancer2AppName fails with special character ok 39 - Dancer2AppName does not accept undef value ok 40 - Dancer2AppName fails an empty string value ok 41 - Dancer2Method ok 42 - Dancer2Method fail ok 43 - Dancer2Method does not accept undef value ok 44 - Dancer2HTTPMethod ok 45 - Dancer2HTTPMethod fail ok 46 - Dancer2Method does not accept undef value ok 47 - Hook does not accept undef value ok 48 - Hook does not Core::Error as value ok 49 - Hook ok 50 - ReadableFilePath ok 51 - ReadableFilePath ok t/unit/configreader/merging.t .......................... # Subtest: each file layer overrides the one before it ok 1 - the environment file beats config_local and config ok 2 - a base-only key survives ok 3 - and so does another ok 4 - a config_local-only key survives ok 5 - an environment-only key survives 1..5 ok 1 - each file layer overrides the one before it # Subtest: a different environment picks up a different file ok 1 - the development environment file is used instead ok 2 - config_local applies regardless of environment ok 3 - and so does the base config ok 4 - the production environment file is not read 1..4 ok 2 - a different environment picks up a different file # Subtest: an environment file merges into a nested block, not over it ok 1 - the environment file overrides the key it sets ok 2 - while a sibling key from the base config survives ok 3 - including one whose value is false ok 4 - the block has every key from both files and nothing else ok 5 - an engine block the environment file does not mention is unchanged 1..5 ok 3 - an environment file merges into a nested block, not over it # Subtest: a missing config directory is not an error ok 1 - the default config comes through when there are no files ok 2 - and nothing is invented ok 3 - exactly one warning is emitted ok 4 - and it is the strict-key check reaching a default_config key 1..4 ok 4 - a missing config directory is not an error 1..4 ok t/unit/configreader/readers.t .......................... # Subtest: a reader named in additional_config_readers is also read ok 1 - the reader that was asked for contributed its setting ok 2 - and so did the reader it pulled in ok 3 - additional_config_readers is removed once it has been acted on 1..3 ok 1 - a reader named in additional_config_readers is also read # Subtest: the recursion guard stops a reader that adds itself forever ok 1 - reading does not hang - it dies ok 2 - naming the limit that was hit ok 3 - and how many configs were read, from the default limit ok 4 - the message explains the likely cause ok 5 - and points at the way to see which readers ran ok 6 - and at the way to raise the limit deliberately 1..6 ok 2 - the recursion guard stops a reader that adds itself forever # Subtest: the guard honours the limit it is given ok 1 - it still dies with a lower limit ok 2 - and reports the lowered limit, not the default ok 3 - so the default is genuinely not in play ok 4 - exactly MAX_CONFIGS configs are read, not one more 1..4 ok 3 - the guard honours the limit it is given # Subtest: the guard leaves a chain just under the limit alone ok 1 - a short chain is read without complaint ok 2 - and its settings arrive ok 3 - from every reader in it 1..3 ok 4 - the guard leaves a chain just under the limit alone # Subtest: an ambiguous additional_config_readers entry is refused ok 1 - an entry with two keys is fatal ok 2 - and says what the requirement is 1..2 ok 5 - an ambiguous additional_config_readers entry is refused # Subtest: an unloadable reader fails loudly ok 1 - naming a reader that does not exist is fatal ok 2 - and the error names what could not be loaded 1..2 ok 6 - an unloadable reader fails loudly 1..6 ok t/unit/configreader/strict.t ........................... # Subtest: unknown top-level keys are warned about ok 1 - reading the config warns ok 2 - the first bogus key is named ok 3 - and so is the second ok 4 - and the message says how to turn it off ok 5 - a recognised key is not warned about 1..5 ok 1 - unknown top-level keys are warned about # Subtest: unknown keys inside a known engine are warned about ok 1 - the engine key is named, with the engine it belongs to ok 2 - a real engine key is not warned about 1..2 ok 2 - unknown keys inside a known engine are warned about # Subtest: strict_config_allow suppresses only the keys it lists ok 1 - the allowed key produces no warning ok 2 - while a key not on the list still does ok 3 - the allow list itself is not flagged 1..3 ok 3 - strict_config_allow suppresses only the keys it lists # Subtest: strict_config => 0 silences everything ok 1 - neither the top-level nor the engine key is warned about 1..1 ok 4 - strict_config => 0 silences everything # Subtest: a clean config warns about nothing ok 1 - a config with no unknown keys is silent 1..1 ok 5 - a clean config warns about nothing # Subtest: an unrecognised engine name is accepted in silence ok 1 - neither an unknown engine name nor an unknown engine type warns 1..1 ok 6 - an unrecognised engine name is accepted in silence # Subtest: strict_config_allow does not cover engine keys ok 1 - the engine key is still warned about despite being on the allow list 1..1 ok 7 - strict_config_allow does not cover engine keys 1..7 ok t/unit/core/cookie.t ................................... # Subtest: a bare number is an absolute epoch ok 1 - the epoch is the number itself ok 2 - and formats to the string the documentation promises ok 3 - a 2010 epoch stays in the past rather than being added to now ok 4 - expires => 3600 means one hour after the epoch, not one hour from now 1..4 ok 1 - a bare number is an absolute epoch # Subtest: a human-readable expression is an offset from now ok 1 - '01:30' is 5400 seconds ok 2 - '01:30' resolves to a time at least that far ahead ok 3 - '01:30' resolves to a time not much further ahead ok 4 - '01:30:00' is 5400 seconds ok 5 - '01:30:00' resolves to a time at least that far ahead ok 6 - '01:30:00' resolves to a time not much further ahead ok 7 - '1.5h' is 5400 seconds ok 8 - '1.5h' resolves to a time at least that far ahead ok 9 - '1.5h' resolves to a time not much further ahead ok 10 - '1d' is 86400 seconds ok 11 - '1d' resolves to a time at least that far ahead ok 12 - '1d' resolves to a time not much further ahead ok 13 - '1h' is 3600 seconds ok 14 - '1h' resolves to a time at least that far ahead ok 15 - '1h' resolves to a time not much further ahead ok 16 - '1h30m' is 5400 seconds ok 17 - '1h30m' resolves to a time at least that far ahead ok 18 - '1h30m' resolves to a time not much further ahead ok 19 - '1m' is 60 seconds ok 20 - '1m' resolves to a time at least that far ahead ok 21 - '1m' resolves to a time not much further ahead ok 22 - '1s' is 1 seconds ok 23 - '1s' resolves to a time at least that far ahead ok 24 - '1s' resolves to a time not much further ahead ok 25 - '1w' is 604800 seconds ok 26 - '1w' resolves to a time at least that far ahead ok 27 - '1w' resolves to a time not much further ahead ok 28 - '1y' is 31536000 seconds ok 29 - '1y' resolves to a time at least that far ahead ok 30 - '1y' resolves to a time not much further ahead ok 31 - '2 hours' is 7200 seconds ok 32 - '2 hours' resolves to a time at least that far ahead ok 33 - '2 hours' resolves to a time not much further ahead ok 34 - a capital M is one month ok 35 - while a lower-case m is one minute ok 36 - a negative expression stays negative ok 37 - and resolves to a time in the past 1..37 ok 2 - a human-readable expression is an offset from now # Subtest: an unparseable expression is passed through unchanged ok 1 - 'not a time': seconds is verbatim ok 2 - 'not a time': epoch is verbatim ok 3 - 'not a time': gmt_string is verbatim ok 4 - '3 fortnights': seconds is verbatim ok 5 - '3 fortnights': epoch is verbatim ok 6 - '3 fortnights': gmt_string is verbatim ok 7 - '2 hours and cheese': seconds is verbatim ok 8 - '2 hours and cheese': epoch is verbatim ok 9 - '2 hours and cheese': gmt_string is verbatim ok 10 - the parseable prefix of a bad expression is not used on its own 1..10 ok 3 - an unparseable expression is passed through unchanged # Subtest: a minimal cookie gets a path and HttpOnly ok 1 - name, value, the default path, and HttpOnly 1..1 ok 4 - a minimal cookie gets a path and HttpOnly # Subtest: every attribute reaches the header ok 1 - all attributes are present, in order ok 2 - Path ok 3 - Expires ok 4 - Domain ok 5 - SameSite ok 6 - Secure ok 7 - HttpOnly 1..7 ok 5 - every attribute reaches the header # Subtest: the boolean attributes are omitted rather than negated ok 1 - secure => 0 omits Secure ok 2 - secure => 1 emits it ok 3 - http_only => 0 omits HttpOnly ok 4 - http_only => 1 emits it ok 5 - HttpOnly is emitted when nothing was said about it ok 6 - an empty path omits the Path attribute 1..6 ok 6 - the boolean attributes are omitted rather than negated # Subtest: same_site only accepts the values the standard defines ok 1 - SameSite=Strict is accepted ok 2 - SameSite=Lax is accepted ok 3 - SameSite=None is accepted ok 4 - a lower-case value is refused ok 5 - and so is a value that is not in the enum 1..5 ok 7 - same_site only accepts the values the standard defines # Subtest: a multi-value cookie keeps every value, escaped ok 1 - values are joined with an ampersand ok 2 - each value is URI-escaped on its own ok 3 - space, semicolon, comma, equals and ampersand are all escaped ok 4 - the accessor returns every value in list context ok 5 - and values() does the same ok 6 - while scalar context gives the first ok 7 - and stringification gives the first, per the documented overload 1..7 ok 8 - a multi-value cookie keeps every value, escaped # Subtest: an unparseable expires reaches the header verbatim ok 1 - the expression appears as given ok 2 - and is not converted into a date 1..2 ok 9 - an unparseable expires reaches the header verbatim # Subtest: the XS header builder agrees with the pure-Perl one ok 1 # skip HTTP::XSCookies is not installed, so xs_to_header cannot run ok 2 # skip HTTP::XSCookies is not installed, so xs_to_header cannot run ok 3 # skip HTTP::XSCookies is not installed, so xs_to_header cannot run ok 4 - to_header is aliased to the implementation this build selected 1..4 ok 10 - the XS header builder agrees with the pure-Perl one 1..10 ok t/unit/core/request.t .................................. # Subtest: route parameters outrank body, body outranks query ok 1 - a body parameter beats a query parameter of the same name ok 2 - a route parameter beats both ok 3 - the query value is still there ok 4 - the body value is still there ok 5 - and so is the route value ok 6 - a query-only name comes through ok 7 - a body-only name comes through ok 8 - an unknown source is refused rather than silently returning nothing ok 9 - the merged view keeps every value, query first and route last ok 10 - and its single-value read gives the last one, so route still wins 1..10 ok 1 - route parameters outrank body, body outranks query # Subtest: a repeated query parameter keeps every value ok 1 - params() collapses a repeated name to an arrayref of all values ok 2 - a single value stays a plain scalar, not a one-element array ok 3 - get_all on the query parameters returns all three ok 4 - and the single-value read gives the last, per Hash::MultiValue 1..4 ok 2 - a repeated query parameter keeps every value # Subtest: UTF-8 in the query string and the path is decoded to characters ok 1 - the query value is decoded, not raw bytes ok 2 - and is three characters, not five bytes ok 3 - round-tripping it reproduces the original bytes ok 4 - the path is decoded too ok 5 - and is five characters, not six bytes ok 6 - the Hash::MultiValue accessor decodes as well, not only params() ok 7 - and agrees with params() 1..7 ok 3 - UTF-8 in the query string and the path is decoded to characters # Subtest: invalid UTF-8 is passed through with a warning by default ok 1 - the value is left as bytes, undecoded ok 2 - and the bytes are unchanged ok 3 - exactly one warning is emitted ok 4 - naming what was invalid and where ok 5 - and saying what it did about it 1..5 ok 4 - invalid UTF-8 is passed through with a warning by default # Subtest: invalid UTF-8 goes to the PSGI logger when there is one ok 1 - the message goes to the PSGI logger ok 2 - at warning level ok 3 - with the same message ok 4 - and not also to STDERR ok 5 - the bytes still come through unchanged 1..5 ok 5 - invalid UTF-8 goes to the PSGI logger when there is one # Subtest: invalid UTF-8 is fatal when strict_utf8 is on ok 1 - reading the parameter throws ok 2 - naming what was invalid and where ok 3 - and not claiming to have carried on ok 4 - valid UTF-8 still decodes normally under strict_utf8 1..4 ok 6 - invalid UTF-8 is fatal when strict_utf8 is on # Subtest: the XS and pure-Perl query parsers agree 1..0 # SKIP CGI::Deurl::XS is not installed ok 7 # skip CGI::Deurl::XS is not installed # Subtest: splat and captures stay out of route_parameters ok 1 - splat() returns the captures ok 2 - captures() returns the named ones ok 3 - route_parameters holds only the real named parameter ok 4 - and neither does the merged view ok 5 - the named route parameter is still readable 1..5 ok 8 - splat and captures stay out of route_parameters # Subtest: a forwarded request keeps its decoded body parameters ok 1 - the original body parameter is decoded ok 2 - the clone still has it decoded ok 3 - with the same value, not double-decoded ok 4 - and every body parameter came across ok 5 - params('body') on the clone still lists every body parameter ok 6 - and their values ok 7 - still decoded, matching the original request ok 8 - body parameters are in the clone params ok 9 - so are query parameters ok 10 - and the parameters added at forward time ok 11 - the added parameters also reach query_parameters ok 12 - the clone has the new path ok 13 - and the original request is not modified by the clone 1..13 ok 9 - a forwarded request keeps its decoded body parameters 1..9 ok t/unit/core/response.t ................................. # Subtest: a missing charset is reported once per process ok 1 - the app is told, once ok 2 - at warning level ok 3 - saying no charset was configured ok 4 - and what it assumed instead ok 5 - and nothing goes to STDERR when the app provides a log callback ok 6 - the body is UTF-8 encoded ok 7 - and the assumption is declared in the Content-Type ok 8 - a later response does not report it again ok 9 - nor warn about it ok 10 - and it still encodes as UTF-8 despite saying nothing 1..10 ok 1 - a missing charset is reported once per process # Subtest: a missing charset is fatal under strict_utf8 ok 1 - attempt 1 throws ok 2 - attempt 1 says why ok 3 - attempt 2 throws ok 4 - attempt 2 says why ok 5 - ASCII content is fine under strict_utf8 ok 6 - and passes through unchanged 1..6 ok 2 - a missing charset is fatal under strict_utf8 # Subtest: text content is encoded once, and Content-Length counts bytes ok 1 - the stored content is bytes, not characters ok 2 - encoded as UTF-8 ok 3 - and marked as encoded ok 4 - the PSGI body is those bytes ok 5 - Content-Length is the byte count ok 6 - which matches the body actually sent ok 7 - and is not the character count ok 8 - the charset is declared once, appended to the default type ok 9 - a second conversion does not append the charset again ok 10 - nor a second Content-Length ok 11 - and does not double-encode the body 1..11 ok 3 - text content is encoded once, and Content-Length counts bytes # Subtest: an explicit charset in the content type is respected ok 1 - the content type is left exactly as given, with one charset ok 2 - and the content is encoded to match 1..2 ok 4 - an explicit charset in the content type is respected # Subtest: no charset is appended to a non-text content type ok 1 - the content type gains no charset parameter ok 2 - not even an empty one ok 3 - and the content is not encoded ok 4 - so a character string stays characters ok 5 - with Content-Length counting those characters 1..5 ok 5 - no charset is appended to a non-text content type # Subtest: replacing the content after the first set is encoded on its own merits (fixed) ok 1 - the first assignment marks the response encoded ok 2 - the stored content is bytes, not characters ok 3 - and the replacement is marked as encoded too ok 4 - the replacement content was UTF-8 encoded ok 5 - Content-Length is the 5 bytes UTF-8 needs, not the 3-character count ok 6 - and the Content-Type still declares UTF-8, now truthfully ok 7 - a second to_psgi does not double-encode the body ok 8 - nor change the Content-Length 1..8 ok 6 - replacing the content after the first set is encoded on its own merits (fixed) # Subtest: statuses that forbid a body get no body and no Content-Length ok 1 - 100: the status is preserved ok 2 - 100: the body is dropped entirely ok 3 - 100: and no Content-Length is sent ok 4 - 100: other headers are still sent ok 5 - 101: the status is preserved ok 6 - 101: the body is dropped entirely ok 7 - 101: and no Content-Length is sent ok 8 - 101: other headers are still sent ok 9 - 204: the status is preserved ok 10 - 204: the body is dropped entirely ok 11 - 204: and no Content-Length is sent ok 12 - 204: other headers are still sent ok 13 - 304: the status is preserved ok 14 - 304: the body is dropped entirely ok 15 - 304: and no Content-Length is sent ok 16 - 304: other headers are still sent ok 17 - 200: keeps its body ok 18 - 200: and reports its length ok 19 - 205: keeps its body ok 20 - 205: and reports its length ok 21 - 404: keeps its body ok 22 - 404: and reports its length 1..22 ok 7 - statuses that forbid a body get no body and no Content-Length # Subtest: the default content type is applied when none was set ok 1 - text/html is the default ok 2 - a configured default is used instead of text/html ok 3 - an untouched response is a 200 ok 4 - with the default content type ok 5 - a zero Content-Length ok 6 - and an empty body 1..6 ok 8 - the default content type is applied when none was set # Subtest: CR and LF are stripped from header values ok 1 - the CRLF is removed, leaving one header value ok 2 - no carriage return or line feed remains ok 3 - linear whitespace folding collapses to a single space ok 4 - no element of the PSGI header array contains CR or LF 1..4 ok 9 - CR and LF are stripped from header values # Subtest: CR and LF are stripped from a header name (fixed) ok 1 - no element of the PSGI header array contains CR or LF ok 2 - the sanitised header name is still present 1..2 ok 10 - CR and LF are stripped from a header name (fixed) 1..10 ok t/unit/core/route.t .................................... # Subtest: a static path matches itself and nothing else ok 1 - /about matches, captures nothing ok 2 - /about does not match /about/us ok 3 - /about does not match /aboutus 1..3 ok 1 - a static path matches itself and nothing else # Subtest: a leading slash is added when the pattern omits one ok 1 - 'noslash' is treated as '/noslash' 1..1 ok 2 - a leading slash is added when the pattern omits one # Subtest: a :token captures one path segment and stops at the slash ok 1 - the segment is captured under the token name ok 2 - a token does not capture across a slash ok 3 - a token requires at least one character ok 4 - the segment is not optional 1..4 ok 3 - a :token captures one path segment and stops at the slash # Subtest: a trailing ? makes a token optional ok 1 - the token still captures when present ok 2 - the token is undef when absent, and the route still matches 1..2 ok 4 - a trailing ? makes a token optional # Subtest: a dot in the pattern is a literal dot, not a regex wildcard ok 1 - the literal path matches ok 2 - the dot does not match an arbitrary character 1..2 ok 5 - a dot in the pattern is a literal dot, not a regex wildcard # Subtest: a * captures one segment into splat ok 1 - each wildcard contributes one value, in order ok 2 - a single wildcard does not span a slash 1..2 ok 6 - a * captures one segment into splat # Subtest: a ** captures the rest of the path, split on slashes ok 1 - the remaining path is split into segments ok 2 - a single segment still arrives as a one-element list 1..2 ok 7 - a ** captures the rest of the path, split on slashes # Subtest: a typed token rejects a value of the wrong type ok 1 - an integer is captured ok 2 - a non-integer does not match at all 1..2 ok 8 - a typed token rejects a value of the wrong type # Subtest: a prefix is prepended to the pattern ok 1 - spec_route records the prefixed path ok 2 - the prefixed path matches ok 3 - the unprefixed path does not 1..3 ok 9 - a prefix is prepended to the pattern # Subtest: a regexp route returns named captures under captures ok 1 - named captures are grouped under the captures key ok 2 - a non-matching path returns undef 1..2 ok 10 - a regexp route returns named captures under captures # Subtest: the deprecated placeholder names are refused at build time ok 1 - :splat dies rather than being silently accepted ok 2 - :captures dies rather than being silently accepted 1..2 ok 11 - the deprecated placeholder names are refused at build time # Subtest: an unrecognised matching option is refused at build time ok 1 - a typo in an option name dies instead of being ignored ok 2 - a supported option name is accepted 1..2 ok 12 - an unrecognised matching option is refused at build time # Subtest: route options gate the match on request properties ok 1 - the option matches anywhere within the header value ok 2 - a non-matching agent blocks the route ok 3 - a missing agent header blocks the route ok 4 - a matching content type is allowed through ok 5 - a non-matching content type blocks the route 1..5 ok 13 - route options gate the match on request properties 1..13 ok t/unit/logger/format.t ................................. # Subtest: the message, level and app name substitute ok 1 - %m is the message ok 2 - %L is the level ok 3 - %a is the app name ok 4 - %P is the process id ok 5 - codes substitute in place, literals are kept ok 6 - the app name defaults to "-" 1..6 ok 1 - the message, level and app name substitute # Subtest: the request-derived codes substitute ok 1 - %h is the host that made the request ok 2 - %i is the request id ok 3 - %h is "-" when there is no request ok 4 - %i is "-" when there is no request 1..4 ok 2 - the request-derived codes substitute # Subtest: the date codes substitute in their documented formats ok 1 - %t is dd/Mon/yyyy hh:mm:ss ok 2 - %T is yyyy-mm-dd hh:mm:ss ok 3 - %u is dd/Mon/yyyy hh:mm:ss, in UTC ok 4 - %U is yyyy-mm-dd hh:mm:ss, in UTC 1..4 ok 3 - the date codes substitute in their documented formats # Subtest: the caller codes substitute from the stack ok 1 - the codes are "-" when the configured frame is off the top of the stack ok 2 - %p is the calling package ok 3 - %f is the calling file ok 4 - %l is a line number 1..4 ok 4 - the caller codes substitute from the stack # Subtest: a %{...}h block reads the named request header ok 1 - a custom header is read by name ok 2 - and so is a standard one ok 3 - an absent header renders as "-" ok 4 - and so does any header when there is no request 1..4 ok 5 - a %{...}h block reads the named request header # Subtest: a %{...}t block is a strftime format ok 1 - the block is passed to strftime ok 2 - a multi-part format works too 1..2 ok 6 - a %{...}t block is a strftime format # Subtest: an unrecognised code warns and renders "-" ok 1 - the unknown code renders as "-" ok 2 - and warns once ok 3 - naming the code that was not recognised ok 4 - the surrounding codes still substitute ok 5 - with one warning for the bad code 1..5 ok 7 - an unrecognised code warns and renders "-" # Subtest: an unrecognised block type warns and renders "-" ok 1 - the unknown block renders as "-" ok 2 - and warns once ok 3 - naming the block and its type 1..3 ok 8 - an unrecognised block type warns and renders "-" # Subtest: an unsupported format character behaves the same whether or not it was ever documented ok 1 - %D renders as "-" ok 2 - %D warns once per logged message ok 3 - the warning names %D ok 4 - %Z renders as "-" ok 5 - %Z warns once per logged message ok 6 - the warning names %Z ok 7 - %D behaves exactly like %Z 1..7 ok 9 - an unsupported format character behaves the same whether or not it was ever documented # Subtest: every documented format character renders without warning ok 1 - %a does not warn ok 2 - %h does not warn ok 3 - %t does not warn ok 4 - %T does not warn ok 5 - %u does not warn ok 6 - %U does not warn ok 7 - %P does not warn ok 8 - %L does not warn ok 9 - %m does not warn ok 10 - %p does not warn ok 11 - %f does not warn ok 12 - %l does not warn ok 13 - %i does not warn ok 14 - %{X-Custom}h does not warn ok 15 - %{%Y}t does not warn 1..15 ok 10 - every documented format character renders without warning # Subtest: the default log_format renders every one of its parts ok 1 - the default format renders as documented, with no unsubstituted codes ok 2 - no format code is left unsubstituted ok 3 - and no field fell back to "-" 1..3 ok 11 - the default log_format renders every one of its parts 1..11 ok t/unit/logger/levels.t ................................. # Subtest: a level lets through itself and everything above it ok 1 - log_level 'core' emits exactly core debug info warning error ok 2 - log_level 'debug' emits exactly debug info warning error ok 3 - log_level 'info' emits exactly info warning error ok 4 - log_level 'warning' emits exactly warning error ok 5 - log_level 'error' emits exactly error 1..5 ok 1 - a level lets through itself and everything above it # Subtest: core messages are hidden from every user-facing level ok 1 - log_level 'debug' does not emit core messages ok 2 - log_level 'info' does not emit core messages ok 3 - log_level 'warning' does not emit core messages ok 4 - log_level 'error' does not emit core messages ok 5 - log_level 'core' does emit them 1..5 ok 2 - core messages are hidden from every user-facing level # Subtest: warn is accepted as a synonym for warning ok 1 - log_level 'warn' filters exactly as 'warning' does 1..1 ok 3 - warn is accepted as a synonym for warning # Subtest: an unknown level is refused at construction ok 1 - log_level 'verbose' is refused ok 2 - and the value is named in the error ok 3 - log_level 'core' is accepted ok 4 - log_level 'debug' is accepted ok 5 - log_level 'info' is accepted ok 6 - log_level 'warning' is accepted ok 7 - log_level 'error' is accepted ok 8 - log_level 'warn' is accepted 1..8 ok 4 - an unknown level is refused at construction # Subtest: message arguments are serialised for logging ok 1 - a trailing newline is removed from the message ok 2 - a hashref is dumped on one line with sorted keys ok 3 - multiple arguments concatenate and undef becomes "undef" 1..3 ok 5 - message arguments are serialised for logging # Subtest: a formatted line always ends with a newline ok 1 - the line ends with a newline ok 2 - the line ends with a newline ok 3 - the line ends with a newline ok 4 - the line ends with a newline ok 5 - a message with no newline gets exactly one ok 6 - a message with one trailing newline still gets exactly one ok 7 - a message ending in two newlines leaves a blank line behind ok 8 - a newline inside the message is left alone 1..8 ok 6 - a formatted line always ends with a newline 1..6 ok t/utf8_strict.t ........................................ # Subtest: request path decoding (lenient) ok 1 - decoded UTF-8 path ok 2 - decoded path is characters 1..2 ok 1 - request path decoding (lenient) # Subtest: request path decoding (invalid utf8, lenient) ok 1 - invalid UTF-8 left as bytes ok 2 - warned on invalid UTF-8 1..2 ok 2 - request path decoding (invalid utf8, lenient) # Subtest: request path decoding (invalid utf8, strict) ok 1 - strict mode rejects invalid UTF-8 1..1 ok 3 - request path decoding (invalid utf8, strict) # Subtest: json serialization (lenient + strict) ok 1 - serialize succeeded in lenient mode ok 2 - warned on invalid UTF-8 ok 3 - strict mode rejects invalid UTF-8 1..3 ok 4 - json serialization (lenient + strict) 1..4 ok t/utf8_url.t ........................................... ok 1 - route succeeded ok 2 - Correct content 1..2 ok t/vars.t ............................................... 1..3 ok 1 - Got app ok 2 - foo ok 3 - ugh ok All tests successful. Files=214, Tests=1837, 82 wallclock secs ( 0.66 usr 0.25 sys + 71.93 cusr 9.49 csys = 82.33 CPU) Result: PASS make[1]: Leaving directory '/build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2' create-stamp debian/debhelper-build-stamp dh_prep debian/rules override_dh_auto_install make[1]: Entering directory '/build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2' dh_auto_install make -j2 install DESTDIR=/build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr make[2]: Entering directory '/build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2' Skip blib/lib/auto/share/dist/Dancer2/skel/default/lib/AppFile.pm (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/css/style.css (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/+dispatch.fcgi (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/bin/+app.psgi (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/404.html (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/favicon.ico (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/cpanfile (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/views/layouts/main.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/views/index.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/500.html (unchanged) Skip blib/lib/auto/share/dist/Dancer2/gitignore (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/t/001_base.t (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/environments/development.yml (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/images/perldancer.jpg (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/config.yml (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/+dispatch.cgi (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/images/perldancer-bg.jpg (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/Makefile.PL (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/public/css/error.css (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/environments/production.yml (unchanged) Skip blib/lib/auto/share/dist/Dancer2/docker/Dockerfile (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/MANIFEST.SKIP (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/t/002_index_route.t (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/default/.dancer (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/db/test.db (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/001_base.t (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/css/style.css (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema/Result/User.pm (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/dispatch.fcgi (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/500.html (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/004_blog.t (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema/Result/Entry.pm (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/db/blog.db (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/cpanfile (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/002_index_route.t (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/bin/+app.psgi (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/create_update.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/config.yml (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/db/users.sql (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/404.html (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/db/entries.sql (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema.pm (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile.pm (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/favicon.ico (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/css/error.css (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/public/dispatch.cgi (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/t/003_login.t (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/layouts/main.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/delete.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/login.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/index.tt (unchanged) Skip blib/lib/auto/share/dist/Dancer2/skel/tutorial/views/entry.tt (unchanged) Manifying 1 pod document Manifying 32 pod documents Manifying 32 pod documents Manifying 8 pod documents Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/gitignore Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/config.yml Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/cpanfile Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/t/004_blog.t Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/t/002_index_route.t Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/t/003_login.t Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/t/001_base.t Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/t/db/test.db Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/500.html Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/dispatch.fcgi Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/favicon.ico Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/404.html Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/dispatch.cgi Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/css/style.css Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/css/error.css Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema/Result/Entry.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema/Result/User.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/entry.tt Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/login.tt Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/create_update.tt Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/delete.tt Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/index.tt Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/layouts/main.tt Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/db/blog.db Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/db/users.sql Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/db/entries.sql Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/bin/+app.psgi Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/Makefile.PL Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/MANIFEST.SKIP Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/config.yml Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/cpanfile Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/.dancer Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/t/002_index_route.t Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/t/001_base.t Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/500.html Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/favicon.ico Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/404.html Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/+dispatch.fcgi Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/+dispatch.cgi Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/css/style.css Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/css/error.css Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/images/perldancer-bg.jpg Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/images/perldancer.jpg Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/lib/AppFile.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/environments/development.yml Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/environments/production.yml Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/views/index.tt Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/views/layouts/main.tt Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/skel/default/bin/+app.psgi Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/auto/share/dist/Dancer2/docker/Dockerfile Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/ConfigUtils.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Plugin.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/DeprecationPolicy.pod Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Manual.pod Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Test.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/CLI.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/ConfigReader.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Policy.pod Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/FileUtils.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Session/YAML.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Session/Simple.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Manual/Cookbook.pod Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Manual/Plugins.pod Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Manual/Keywords.pod Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Manual/Tutorial.pod Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Manual/Migration.pod Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Manual/Testing.pod Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Manual/Config.pod Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Manual/Extending.pod Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Manual/Deployment.pod Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Manual/QuickStart.pod Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/MIME.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Dispatcher.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Time.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Cookie.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Route.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Factory.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Request.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/DSL.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/HTTP.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Runner.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Response.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Types.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Error.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Session.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Hook.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/App.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Response/Delayed.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/HasConfig.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/Template.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/Handler.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/HasEnvironment.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/Serializer.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/DSL.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/ConfigReader.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/StandardResponses.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/HasLocation.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/SessionFactory.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/Logger.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/Engine.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/Hookable.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Role/SessionFactory/File.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Core/Request/Upload.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/ConfigReader/Config/Any.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Template/TemplateToolkit.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Template/Tiny.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/CLI/Gen.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/CLI/Version.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Logger/Null.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Logger/Capture.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Logger/Console.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Logger/Note.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Logger/Diag.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Logger/File.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Logger/Capture/Trap.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Serializer/YAML.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Serializer/JSON.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Serializer/Mutable.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Handler/AutoPage.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/perl5/Dancer2/Handler/File.pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man1/dancer2.1p Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::HTTP.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Cookie.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Manual::Keywords.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::DeprecationPolicy.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Template::Tiny.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Response::Delayed.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Serializer::YAML.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Dispatcher.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Time.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Manual::QuickStart.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Response.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Handler::AutoPage.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::Engine.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::Hookable.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Manual::Cookbook.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::SessionFactory.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Request.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Error.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::Handler.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::ConfigReader.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Serializer::JSON.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::DSL.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Manual::Tutorial.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::CLI.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Handler::File.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Logger::Note.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::Template.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Manual::Migration.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::MIME.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::Serializer.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Request::Upload.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Session.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Policy.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Serializer::Mutable.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Manual::Config.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Session::YAML.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::ConfigReader::Config::Any.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Session::Simple.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Route.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Logger::Capture::Trap.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::HasEnvironment.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Logger::Diag.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::SessionFactory::File.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Manual::Extending.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::HasLocation.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Factory.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Manual::Testing.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::DSL.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::StandardResponses.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::FileUtils.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::CLI::Version.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Manual::Deployment.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Logger::Capture.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Manual.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Logger::Null.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::App.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Runner.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Template::TemplateToolkit.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Plugin.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::HasConfig.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::ConfigReader.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::ConfigUtils.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Types.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Logger::Console.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Logger::File.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Hook.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Core::Role::Logger.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::CLI::Gen.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Manual::Plugins.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/share/man/man3/Dancer2::Test.3pm Installing /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl/usr/bin/dancer2 make[2]: Leaving directory '/build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2' find /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2/debian/libdancer2-perl -type f -print0 | \ xargs -r0 sed -i -e '1s|^#!/usr/bin/env perl|#!/usr/bin/perl|' make[1]: Leaving directory '/build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2' dh_installdocs dh_installchangelogs dh_installexamples dh_installman dh_lintian dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'libdancer2-perl' in '../libdancer2-perl_2.2.2-1_all.deb'. dpkg-genbuildinfo -O../libdancer2-perl_2.2.2-1_amd64.buildinfo dpkg-genchanges -O../libdancer2-perl_2.2.2-1_amd64.changes dpkg-genchanges: info: including full source code in upload dpkg-source -Zxz --after-build . dpkg-buildpackage: info: full upload (original source is included) -------------------------------------------------------------------------------- Build finished at 2026-09-30T00:03:29Z Finished -------- I: Built successfully +------------------------------------------------------------------------------+ | Changes Wed, 30 Sep 2026 00:03:29 +0000 | +------------------------------------------------------------------------------+ libdancer2-perl_2.2.2-1_amd64.changes: -------------------------------------- Format: 1.8 Date: Tue, 29 Sep 2026 17:21:21 +0200 Source: libdancer2-perl Binary: libdancer2-perl Architecture: source all Version: 2.2.2-1 Distribution: perl-5.44-throwaway Urgency: medium Maintainer: Debian Perl Group Changed-By: gregor herrmann Description: libdancer2-perl - lightweight yet powerful web application framework Closes: 1142718 1148732 Changes: libdancer2-perl (2.2.2-1) unstable; urgency=medium . * Import upstream version 2.2.1. Includes fixes for CVE-2026-13577 CVE-2026-93709 CVE-2026-93710 CVE-2026-93711 CVE-2026-93712. Closes: #1142718, #1148732 * Update Build-Depends-Indep, Depends, and Recommends. * Refresh no-phone-home.patch (offset). . * Import upstream version 2.2.2. - Fix cpantesters, Debian build issues in gen.t * Drop deprecated or no longer needed lintian overrides. * debian/watch: use uscan version 5. Checksums-Sha1: 54a02b139893902ca8a316cadacc6291b0692d34 2768 libdancer2-perl_2.2.2-1.dsc 5cc5bae2780e87936af8f9c42066bd27f74affdc 487609 libdancer2-perl_2.2.2.orig.tar.gz b8a66f19aaf92a3bc4e67b6b164c268bff6a9acb 10828 libdancer2-perl_2.2.2-1.debian.tar.xz 8b94374efebb8f645c4dbd14ae9e2cad71c472b3 463036 libdancer2-perl_2.2.2-1_all.deb 8c05e0e637e21ad813ea8b2f416e63fb51e7e7ad 8441 libdancer2-perl_2.2.2-1_amd64.buildinfo Checksums-Sha256: 21c7ce8456fbaa814fe7b055aef3d9f8aca01541195973a4436a73d21c6b10b6 2768 libdancer2-perl_2.2.2-1.dsc f167f2f786b9353676456e0c0a4f3255c2a40f7a048f94ada5aaac1d793d2ba1 487609 libdancer2-perl_2.2.2.orig.tar.gz 0fae2e919579af1a59058f5fa5fc0bc81f968b86d643fb1a364bf21fce84dbb3 10828 libdancer2-perl_2.2.2-1.debian.tar.xz 6a15b05805bf89aaa987929381001ce4cc9db9eeb7fddd02eca756111bd9af3e 463036 libdancer2-perl_2.2.2-1_all.deb 26d4e00369c8753e569760d824e12128635a796fa037d19079b6ae7054764d0f 8441 libdancer2-perl_2.2.2-1_amd64.buildinfo Files: c23c3d864b468ef2606914382872264a 2768 perl optional libdancer2-perl_2.2.2-1.dsc 65c19995c43c85117935bc44a9556de5 487609 perl optional libdancer2-perl_2.2.2.orig.tar.gz 93e08e4ee72f1220a69b73e39e0338c2 10828 perl optional libdancer2-perl_2.2.2-1.debian.tar.xz ec9349e436949e913c1d63594cfde009 463036 perl optional libdancer2-perl_2.2.2-1_all.deb 335ef59f560b09e4b36f43ea683d360b 8441 perl optional libdancer2-perl_2.2.2-1_amd64.buildinfo +------------------------------------------------------------------------------+ | Buildinfo Wed, 30 Sep 2026 00:03:29 +0000 | +------------------------------------------------------------------------------+ Format: 1.0 Source: libdancer2-perl Binary: libdancer2-perl Architecture: all source Version: 2.2.2-1 Checksums-Md5: c23c3d864b468ef2606914382872264a 2768 libdancer2-perl_2.2.2-1.dsc ec9349e436949e913c1d63594cfde009 463036 libdancer2-perl_2.2.2-1_all.deb Checksums-Sha1: 54a02b139893902ca8a316cadacc6291b0692d34 2768 libdancer2-perl_2.2.2-1.dsc 8b94374efebb8f645c4dbd14ae9e2cad71c472b3 463036 libdancer2-perl_2.2.2-1_all.deb Checksums-Sha256: 21c7ce8456fbaa814fe7b055aef3d9f8aca01541195973a4436a73d21c6b10b6 2768 libdancer2-perl_2.2.2-1.dsc 6a15b05805bf89aaa987929381001ce4cc9db9eeb7fddd02eca756111bd9af3e 463036 libdancer2-perl_2.2.2-1_all.deb Build-Origin: Debian Build-Architecture: amd64 Build-Date: Wed, 30 Sep 2026 00:03:29 +0000 Build-Path: /build/libdancer2-perl-Gil75Z/libdancer2-perl-2.2.2 Build-Tainted-By: usr-local-has-programs Installed-Build-Depends: autoconf (= 2.73-2), automake (= 1:1.19-2), autopoint (= 1.0-5), autotools-dev (= 20240727.1+nmu1), base-files (= 14.2), base-passwd (= 3.6.8), bash (= 5.3-4), binutils (= 2.47-6), binutils-common (= 2.47-6), binutils-x86-64-linux-gnu (= 2.47-6), bsdextrautils (= 2.42.4-1), build-essential (= 12.12), bzip2 (= 1.0.8-6+b2), ca-certificates (= 20260816), coreutils (= 9.10-1), cpp (= 4:16.1.0-3), cpp-15 (= 15.3.0-4), cpp-15-x86-64-linux-gnu (= 15.3.0-4), cpp-16 (= 16.2.0-3), cpp-16-x86-64-linux-gnu (= 16.2.0-3), cpp-x86-64-linux-gnu (= 4:16.1.0-3), dash (= 0.5.12-12), debconf (= 1.5.92), debhelper (= 14.5), debianutils (= 5.24), dh-autoreconf (= 23), dh-strip-nondeterminism (= 1.15.1-1), diffutils (= 1:3.12-1), dpkg (= 1.23.11), dpkg-dev (= 1.23.11), dwz (= 0.17-1), file (= 1:5.47-4), findutils (= 4.11.0-2), g++ (= 4:16.1.0-3), g++-16 (= 16.2.0-3), g++-16-x86-64-linux-gnu (= 16.2.0-3), g++-x86-64-linux-gnu (= 4:16.1.0-3), gcc (= 4:16.1.0-3), gcc-15 (= 15.3.0-4), gcc-15-base (= 15.3.0-4), gcc-15-x86-64-linux-gnu (= 15.3.0-4), gcc-16 (= 16.2.0-3), gcc-16-base (= 16.2.0-3), gcc-16-x86-64-linux-gnu (= 16.2.0-3), gcc-x86-64-linux-gnu (= 4:16.1.0-3), gettext (= 1.0-5), gettext-base (= 1.0-5), grep (= 3.12-1), groff-base (= 1.24.2-2), gzip (= 1.14-1), hostname (= 3.25), init-system-helpers (= 1.69+nmu3), intltool-debian (= 0.35.0+20060710.6), libacl1 (= 2.4.0-1), libanyevent-perl (= 7.170-2+b9), libapache-logformat-compiler-perl (= 0.36-3), libappconfig-perl (= 1.71-2.3), libarchive-zip-perl (= 1.68-1), libasan8 (= 16.2.0-3), libatomic1 (= 16.2.0-3), libattr1 (= 1:2.6.0-1), libaudit-common (= 1:4.2.1-1), libaudit1 (= 1:4.2.1-1), libb-hooks-op-check-perl (= 0.22-3+b6), libbinutils (= 2.47-6), libblkid1 (= 2.42.4-1), libbz2-1.0 (= 1.0.8-6+b2), libc-bin (= 2.43-6), libc-dev-bin (= 2.43-6), libc-gconv-modules-extra (= 2.43-6), libc6 (= 2.43-6), libc6-dev (= 2.43-6), libcap-ng0 (= 0.9.6-1), libcapture-tiny-perl (= 0.50-1), libcc1-0 (= 16.2.0-3), libclass-inspector-perl (= 1.36-3), libclass-method-modifiers-perl (= 2.15-1), libclass-xsaccessor-perl (= 1.19-4+b8), libcli-osprey-perl (= 0.09-1), libclone-perl (= 0.50-1+b3), libconfig-any-perl (= 0.33-1), libcookie-baker-perl (= 0.12-1), libcpanel-json-xs-perl (= 4.51-1+b1), libcrypt-urandom-perl (= 0.55-1+b2), libcrypt1 (= 1:4.5.2+20251210-1), libctf-nobfd0 (= 2.47-6), libctf0 (= 2.47-6), libdata-censor-perl (= 0.04-1), libdata-optlist-perl (= 0.115-1), libdb5.3t64 (= 5.3.28+dfsg2-11+b1), libdebconfclient0 (= 0.283), libdebhelper-perl (= 14.5), libdevel-callchecker-perl (= 0.009-3+b2), libdevel-cycle-perl (= 1.12-2), libdevel-stacktrace-ashtml-perl (= 0.15-2), libdevel-stacktrace-perl (= 2.0500-1), libdpkg-perl (= 1.23.11), libdynaloader-functions-perl (= 0.004-2), libelf1t64 (= 0.196-1), libencode-locale-perl (= 1.05-3), libexporter-tiny-perl (= 1.006003-1), libfile-listing-perl (= 6.16-1), libfile-share-perl (= 0.27-2), libfile-sharedir-install-perl (= 0.14-2), libfile-sharedir-perl (= 1.118-3), libfile-stripnondeterminism-perl (= 1.15.1-1), libfile-which-perl (= 1.27-2), libfilesys-notify-simple-perl (= 0.14-3), libgcc-15-dev (= 15.3.0-4), libgcc-16-dev (= 16.2.0-3), libgcc-s1 (= 16.2.0-3), libgdbm-compat4t64 (= 1.26-1+b2), libgdbm6t64 (= 1.26-1+b2), libgetopt-long-descriptive-perl (= 0.117-1), libgmp10 (= 2:6.3.0+dfsg-5+b2), libgomp1 (= 16.2.0-3), libgprofng0 (= 2.47-6), libhash-merge-simple-perl (= 0.052-1), libhash-multivalue-perl (= 0.16-3), libhtml-parser-perl (= 3.83-2+b3), libhtml-tagset-perl (= 3.24-1), libhtml-tree-perl (= 5.07-3), libhttp-cookies-perl (= 6.12-2), libhttp-date-perl (= 6.08-1), libhttp-entity-parser-perl (= 0.25-2), libhttp-headers-fast-perl (= 0.22-3), libhttp-message-perl (= 7.04-1), libhttp-multipartparser-perl (= 0.02-3), libhttp-negotiate-perl (= 6.01-2), libhwasan0 (= 16.2.0-3), libimport-into-perl (= 1.002005-2), libio-html-perl (= 1.004-3), libio-socket-ssl-perl (= 2.099-1), libio-stringy-perl (= 2.113-2), libisl23 (= 0.28-1), libitm1 (= 16.2.0-3), libjansson4 (= 2.15.1-1), libjson-maybexs-perl (= 1.004008-1), liblsan0 (= 16.2.0-3), liblwp-mediatypes-perl (= 6.04-2), liblwp-protocol-https-perl (= 6.15-1), liblzma5 (= 5.8.4-1), libmagic-mgc (= 1:5.47-4), libmagic1t64 (= 1:5.47-4), libmd0 (= 1.2.0-2), libmime-types-perl (= 2.30-1), libmodule-implementation-perl (= 0.09-2), libmodule-pluggable-perl (= 6.4-1), libmodule-runtime-perl (= 0.018-1), libmoo-perl (= 2.005005-1), libmount1 (= 2.42.4-1), libmpc3 (= 1.3.1-3), libmpfr6 (= 4.2.2-3), libnet-http-perl (= 6.24-1), libnet-ssleay-perl (= 1.96-2+b1), libpadwalker-perl (= 2.5-1+b8), libpam-modules (= 1.7.0-8), libpam-modules-bin (= 1.7.0-8), libpam-runtime (= 1.7.0-8), libpam0g (= 1.7.0-8), libparams-classify-perl (= 0.015-2+b8), libparams-someutil-perl (= 1.11-1+b1), libparams-util-perl (= 1.102-3+b3), libparams-validate-perl (= 1.31-2+b6), libpath-tiny-perl (= 0.150-1), libpcre2-8-0 (= 10.48-3.1), libperl5.44 (= 5.44.0-1), libpipeline1 (= 1.5.8-3), libplack-middleware-fixmissingbodyinredirect-perl (= 0.12-1), libplack-middleware-removeredundantbody-perl (= 0.09-3), libplack-perl (= 1.0054-1), libposix-strftime-compiler-perl (= 0.46-1), libquadmath0 (= 16.2.0-3), libref-util-perl (= 0.204-2), librole-tiny-perl (= 2.002005-1), libsafe-isa-perl (= 1.000010-1), libseccomp2 (= 2.6.1-1+b1), libselinux1 (= 3.11-2.1), libsframe3 (= 2.47-6), libsmartcols1 (= 2.42.4-1), libssl3t64 (= 3.6.4-1), libstdc++-16-dev (= 16.2.0-3), libstdc++6 (= 16.2.0-3), libstream-buffered-perl (= 0.03-3), libsub-exporter-perl (= 0.990-1.1), libsub-install-perl (= 0.929-1), libsub-quote-perl (= 2.006009-1), libsub-uplevel-perl (= 0.2800-3), libsystemd0 (= 262-1), libtemplate-perl (= 3.106-1+b2), libtemplate-tiny-perl (= 1.16-1), libtest-exception-perl (= 0.43-3), libtest-fatal-perl (= 0.018-1), libtest-memory-cycle-perl (= 1.06-2), libtest-mocktime-perl (= 0.17-2), libtest-sharedfork-perl (= 0.35-3), libtest-tcp-perl (= 2.22-2), libtimedate-perl (= 2.3500-1), libtinfo6 (= 6.6+20260608-2), libtool (= 2.6.2-3), libtry-tiny-perl (= 0.32-1), libtsan2 (= 16.2.0-3), libtype-tiny-perl (= 2.010001-1), libtype-tiny-xs-perl (= 0.025-2+b5), libubsan1 (= 16.2.0-3), libuchardet0 (= 0.0.8-2+b2), libudev1 (= 262-1), libunicode-utf8-perl (= 0.75-1+b2), libunistring5 (= 1.4.2-1), liburi-perl (= 5.37-1), liburl-encode-xs-perl (= 0.03-2+b8), libuuid1 (= 2.42.4-1), libwww-form-urlencoded-perl (= 0.26-2), libwww-perl (= 6.83-1), libwww-robotrules-perl (= 6.03-1), libxml2-16 (= 2.15.4+dfsg-1), libyaml-perl (= 1.321-1), libzstd1 (= 1.5.7+dfsg-4), linux-libc-dev (= 7.2.8-1), m4 (= 1.4.21-1), make (= 4.4.1-3), man-db (= 2.13.1-1), mawk (= 1.3.4.20260302-2), ncurses-base (= 6.6+20260608-2), ncurses-bin (= 6.6+20260608-2), netbase (= 6.6), openssl (= 3.6.4-1), openssl-provider-legacy (= 3.6.4-1), patch (= 2.8-2), perl (= 5.44.0-1), perl-base (= 5.44.0-1), perl-modules-5.44 (= 5.44.0-1), perl-openssl-defaults (= 7+b2), po-debconf (= 1.0.22), sed (= 4.9-3), sensible-utils (= 0.0.26), sysvinit-utils (= 3.18-1), tar (= 1.35+dfsg-6), util-linux (= 2.42.4-1), xz-utils (= 5.8.4-1), zlib1g (= 1:1.3.dfsg+really1.3.2-3) Environment: DEB_BUILD_OPTIONS="parallel=2" LANG="C.UTF-8" LANGUAGE="en_GB:en" LC_COLLATE="C.UTF-8" LC_CTYPE="C.UTF-8" LD_LIBRARY_PATH="/usr/lib/libeatmydata" LD_PRELOAD="libeatmydata.so" SOURCE_DATE_EPOCH="1790695281" +------------------------------------------------------------------------------+ | Package contents Wed, 30 Sep 2026 00:03:29 +0000 | +------------------------------------------------------------------------------+ libdancer2-perl_2.2.2-1_all.deb ------------------------------- new Debian package, version 2.0. size 463036 bytes: control archive=6332 bytes. 1650 bytes, 17 lines control 17987 bytes, 208 lines md5sums Package: libdancer2-perl Version: 2.2.2-1 Architecture: all Maintainer: Debian Perl Group Installed-Size: 1260 Depends: perl:any, libcli-osprey-perl (>= 0.09), libclone-perl, libconfig-any-perl, libcrypt-urandom-perl, libdata-censor-perl, libexporter-tiny-perl, libfile-share-perl, libfile-which-perl, libhash-merge-simple-perl, libhash-multivalue-perl, libhttp-date-perl, libhttp-headers-fast-perl, libhttp-message-perl, libimport-into-perl, libjson-maybexs-perl, libmime-types-perl, libmodule-pluggable-perl, libmodule-runtime-perl, libmoo-perl, libpath-tiny-perl, libplack-middleware-fixmissingbodyinredirect-perl, libplack-perl, libref-util-perl, librole-tiny-perl, libsafe-isa-perl, libscalar-list-utils-perl, libsub-quote-perl, libtemplate-perl, libtemplate-tiny-perl (>= 1.16), libtype-tiny-perl, liburi-perl, libwww-perl, libyaml-perl Recommends: libclass-xsaccessor-perl, libcpanel-json-xs-perl, libmoox-typetiny-perl, libpod-simple-perl, libtype-tiny-xs-perl, libunicode-utf8-perl, liburl-encode-xs-perl, libyaml-libyaml-perl Section: perl Priority: optional Homepage: https://metacpan.org/release/Dancer2 Description: lightweight yet powerful web application framework Dancer2 is the new generation lightweight web-framework for Perl. It's a complete rewrite of Dancer based on Moo. It's designed to be powerful and flexible, but also easy to use - getting up and running with your web app is trivial, and an ecosystem of adaptors for common template engines, session storage, logging methods and plugins to make common tasks easy mean you can do what you want to do, your way, easily. drwxr-xr-x root/root 0 2026-09-29 15:21 ./ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/bin/ -rwxr-xr-x root/root 2973 2026-09-29 15:21 ./usr/bin/dancer2 drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/doc/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/doc/libdancer2-perl/ -rw-r--r-- root/root 3434 2026-09-28 23:45 ./usr/share/doc/libdancer2-perl/CODE_OF_CONDUCT.md -rw-r--r-- root/root 4540 2026-09-28 23:45 ./usr/share/doc/libdancer2-perl/CONTRIBUTING.md.gz -rw-r--r-- root/root 388 2026-09-29 15:21 ./usr/share/doc/libdancer2-perl/NEWS.Developer.gz -rw-r--r-- root/root 288 2026-09-28 23:45 ./usr/share/doc/libdancer2-perl/SECURITY.md -rw-r--r-- root/root 988 2026-09-29 15:21 ./usr/share/doc/libdancer2-perl/changelog.Debian.gz -rw-r--r-- root/root 27351 2026-09-28 23:45 ./usr/share/doc/libdancer2-perl/changelog.gz -rw-r--r-- root/root 10930 2026-09-29 15:21 ./usr/share/doc/libdancer2-perl/copyright drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/doc/libdancer2-perl/examples/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/doc/libdancer2-perl/examples/single/ -rw-r--r-- root/root 84 2026-09-28 23:45 ./usr/share/doc/libdancer2-perl/examples/single/hello_world.psgi -rw-r--r-- root/root 772 2026-09-28 23:45 ./usr/share/doc/libdancer2-perl/examples/single/simple_calculator.psgi drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/lintian/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/lintian/overrides/ -rw-r--r-- root/root 1248 2026-09-29 15:21 ./usr/share/lintian/overrides/libdancer2-perl drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/man/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/man/man1/ -rw-r--r-- root/root 2006 2026-09-29 15:21 ./usr/share/man/man1/dancer2.1p.gz drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/man/man3/ -rw-r--r-- root/root 4484 2026-09-29 15:21 ./usr/share/man/man3/Dancer2.3pm.gz -rw-r--r-- root/root 1070 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::CLI.3pm.gz -rw-r--r-- root/root 1081 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::CLI::Gen.3pm.gz -rw-r--r-- root/root 1076 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::CLI::Version.3pm.gz -rw-r--r-- root/root 2480 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::ConfigReader.3pm.gz -rw-r--r-- root/root 2147 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::ConfigReader::Config::Any.3pm.gz -rw-r--r-- root/root 1077 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::ConfigUtils.3pm.gz -rw-r--r-- root/root 1128 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core.3pm.gz -rw-r--r-- root/root 3620 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::App.3pm.gz -rw-r--r-- root/root 2220 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Cookie.3pm.gz -rw-r--r-- root/root 1301 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::DSL.3pm.gz -rw-r--r-- root/root 1769 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Dispatcher.3pm.gz -rw-r--r-- root/root 2873 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Error.3pm.gz -rw-r--r-- root/root 1089 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Factory.3pm.gz -rw-r--r-- root/root 1594 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::HTTP.3pm.gz -rw-r--r-- root/root 1454 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Hook.3pm.gz -rw-r--r-- root/root 1735 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::MIME.3pm.gz -rw-r--r-- root/root 6224 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Request.3pm.gz -rw-r--r-- root/root 1875 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Request::Upload.3pm.gz -rw-r--r-- root/root 2473 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Response.3pm.gz -rw-r--r-- root/root 2021 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Response::Delayed.3pm.gz -rw-r--r-- root/root 1906 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::ConfigReader.3pm.gz -rw-r--r-- root/root 1075 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::DSL.3pm.gz -rw-r--r-- root/root 1223 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::Engine.3pm.gz -rw-r--r-- root/root 1189 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::Handler.3pm.gz -rw-r--r-- root/root 1483 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::HasConfig.3pm.gz -rw-r--r-- root/root 1092 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::HasEnvironment.3pm.gz -rw-r--r-- root/root 1092 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::HasLocation.3pm.gz -rw-r--r-- root/root 1083 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::Hookable.3pm.gz -rw-r--r-- root/root 2171 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::Logger.3pm.gz -rw-r--r-- root/root 1814 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::Serializer.3pm.gz -rw-r--r-- root/root 3508 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::SessionFactory.3pm.gz -rw-r--r-- root/root 1540 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::SessionFactory::File.3pm.gz -rw-r--r-- root/root 1343 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::StandardResponses.3pm.gz -rw-r--r-- root/root 2081 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Role::Template.3pm.gz -rw-r--r-- root/root 1482 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Route.3pm.gz -rw-r--r-- root/root 1089 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Runner.3pm.gz -rw-r--r-- root/root 1876 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Session.3pm.gz -rw-r--r-- root/root 1747 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Time.3pm.gz -rw-r--r-- root/root 1482 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Core::Types.3pm.gz -rw-r--r-- root/root 2536 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::DeprecationPolicy.3pm.gz -rw-r--r-- root/root 2539 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::FileUtils.3pm.gz -rw-r--r-- root/root 1508 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Handler::AutoPage.3pm.gz -rw-r--r-- root/root 1088 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Handler::File.3pm.gz -rw-r--r-- root/root 1841 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Logger::Capture.3pm.gz -rw-r--r-- root/root 1423 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Logger::Capture::Trap.3pm.gz -rw-r--r-- root/root 1312 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Logger::Console.3pm.gz -rw-r--r-- root/root 1235 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Logger::Diag.3pm.gz -rw-r--r-- root/root 1570 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Logger::File.3pm.gz -rw-r--r-- root/root 1325 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Logger::Note.3pm.gz -rw-r--r-- root/root 1217 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Logger::Null.3pm.gz -rw-r--r-- root/root 27876 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Manual.3pm.gz -rw-r--r-- root/root 9529 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Manual::Config.3pm.gz -rw-r--r-- root/root 12505 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Manual::Cookbook.3pm.gz -rw-r--r-- root/root 4266 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Manual::Deployment.3pm.gz -rw-r--r-- root/root 5143 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Manual::Extending.3pm.gz -rw-r--r-- root/root 6575 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Manual::Keywords.3pm.gz -rw-r--r-- root/root 7171 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Manual::Migration.3pm.gz -rw-r--r-- root/root 2385 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Manual::Plugins.3pm.gz -rw-r--r-- root/root 2285 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Manual::QuickStart.3pm.gz -rw-r--r-- root/root 3207 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Manual::Testing.3pm.gz -rw-r--r-- root/root 25944 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Manual::Tutorial.3pm.gz -rw-r--r-- root/root 5054 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Plugin.3pm.gz -rw-r--r-- root/root 2706 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Policy.3pm.gz -rw-r--r-- root/root 2019 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Serializer::JSON.3pm.gz -rw-r--r-- root/root 3037 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Serializer::Mutable.3pm.gz -rw-r--r-- root/root 1384 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Serializer::YAML.3pm.gz -rw-r--r-- root/root 1434 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Session::Simple.3pm.gz -rw-r--r-- root/root 1675 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Session::YAML.3pm.gz -rw-r--r-- root/root 3029 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Template::TemplateToolkit.3pm.gz -rw-r--r-- root/root 1643 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Template::Tiny.3pm.gz -rw-r--r-- root/root 4310 2026-09-29 15:21 ./usr/share/man/man3/Dancer2::Test.3pm.gz drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/ -rw-r--r-- root/root 10698 2026-09-29 15:21 ./usr/share/perl5/Dancer2.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/ -rw-r--r-- root/root 1575 2026-09-29 15:21 ./usr/share/perl5/Dancer2/CLI.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/CLI/ -rw-r--r-- root/root 14022 2026-09-29 15:21 ./usr/share/perl5/Dancer2/CLI/Gen.pm -rw-r--r-- root/root 678 2026-09-29 15:21 ./usr/share/perl5/Dancer2/CLI/Version.pm -rw-r--r-- root/root 13788 2026-09-29 15:21 ./usr/share/perl5/Dancer2/ConfigReader.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/ConfigReader/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/ConfigReader/Config/ -rw-r--r-- root/root 6979 2026-09-29 15:21 ./usr/share/perl5/Dancer2/ConfigReader/Config/Any.pm -rw-r--r-- root/root 1438 2026-09-29 15:21 ./usr/share/perl5/Dancer2/ConfigUtils.pm -rw-r--r-- root/root 772 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/ -rw-r--r-- root/root 68740 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/App.pm -rw-r--r-- root/root 6083 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Cookie.pm -rw-r--r-- root/root 16144 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/DSL.pm -rw-r--r-- root/root 3661 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Dispatcher.pm -rw-r--r-- root/root 17742 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Error.pm -rw-r--r-- root/root 1104 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Factory.pm -rw-r--r-- root/root 5591 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/HTTP.pm -rw-r--r-- root/root 2146 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Hook.pm -rw-r--r-- root/root 4052 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/MIME.pm -rw-r--r-- root/root 33371 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Request.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Request/ -rw-r--r-- root/root 3380 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Request/Upload.pm -rw-r--r-- root/root 11805 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Response.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Response/ -rw-r--r-- root/root 4000 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Response/Delayed.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/ -rw-r--r-- root/root 4604 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/ConfigReader.pm -rw-r--r-- root/root 2969 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/DSL.pm -rw-r--r-- root/root 1360 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/Engine.pm -rw-r--r-- root/root 842 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/Handler.pm -rw-r--r-- root/root 3689 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/HasConfig.pm -rw-r--r-- root/root 910 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/HasEnvironment.pm -rw-r--r-- root/root 5264 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/HasLocation.pm -rw-r--r-- root/root 3624 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/Hookable.pm -rw-r--r-- root/root 7197 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/Logger.pm -rw-r--r-- root/root 3957 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/Serializer.pm -rw-r--r-- root/root 12584 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/SessionFactory.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/SessionFactory/ -rw-r--r-- root/root 5136 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/SessionFactory/File.pm -rw-r--r-- root/root 1480 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/StandardResponses.pm -rw-r--r-- root/root 8693 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Role/Template.pm -rw-r--r-- root/root 9469 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Route.pm -rw-r--r-- root/root 6813 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Runner.pm -rw-r--r-- root/root 3175 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Session.pm -rw-r--r-- root/root 4809 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Time.pm -rw-r--r-- root/root 3008 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Core/Types.pm -rw-r--r-- root/root 3890 2026-09-29 15:21 ./usr/share/perl5/Dancer2/DeprecationPolicy.pod -rw-r--r-- root/root 5649 2026-09-29 15:21 ./usr/share/perl5/Dancer2/FileUtils.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Handler/ -rw-r--r-- root/root 7308 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Handler/AutoPage.pm -rw-r--r-- root/root 4756 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Handler/File.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Logger/ -rw-r--r-- root/root 2816 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Logger/Capture.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Logger/Capture/ -rw-r--r-- root/root 1682 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Logger/Capture/Trap.pm -rw-r--r-- root/root 1087 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Logger/Console.pm -rw-r--r-- root/root 1016 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Logger/Diag.pm -rw-r--r-- root/root 3908 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Logger/File.pm -rw-r--r-- root/root 1172 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Logger/Note.pm -rw-r--r-- root/root 818 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Logger/Null.pm -rw-r--r-- root/root 76919 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Manual.pod drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Manual/ -rw-r--r-- root/root 22452 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Manual/Config.pod -rw-r--r-- root/root 31466 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Manual/Cookbook.pod -rw-r--r-- root/root 8257 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Manual/Deployment.pod -rw-r--r-- root/root 12417 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Manual/Extending.pod -rw-r--r-- root/root 21191 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Manual/Keywords.pod -rw-r--r-- root/root 16353 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Manual/Migration.pod -rw-r--r-- root/root 3378 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Manual/Plugins.pod -rw-r--r-- root/root 3358 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Manual/QuickStart.pod -rw-r--r-- root/root 7086 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Manual/Testing.pod -rw-r--r-- root/root 86294 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Manual/Tutorial.pod -rw-r--r-- root/root 31985 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Plugin.pm -rw-r--r-- root/root 4000 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Policy.pod drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Serializer/ -rw-r--r-- root/root 6542 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Serializer/JSON.pm -rw-r--r-- root/root 10529 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Serializer/Mutable.pm -rw-r--r-- root/root 3974 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Serializer/YAML.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Session/ -rw-r--r-- root/root 1961 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Session/Simple.pm -rw-r--r-- root/root 2203 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Session/YAML.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Template/ -rw-r--r-- root/root 8098 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Template/TemplateToolkit.pm -rw-r--r-- root/root 2624 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Template/Tiny.pm -rw-r--r-- root/root 28125 2026-09-29 15:21 ./usr/share/perl5/Dancer2/Test.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/docker/ -rw-r--r-- root/root 163 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/docker/Dockerfile -rw-r--r-- root/root 40 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/gitignore drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/ -rw-r--r-- root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/.dancer -rw-r--r-- root/root 155 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/MANIFEST.SKIP -rw-r--r-- root/root 834 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/Makefile.PL drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/bin/ -rw-r--r-- root/root 785 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/bin/+app.psgi -rw-r--r-- root/root 2075 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/config.yml -rw-r--r-- root/root 1255 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/cpanfile drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/environments/ -rw-r--r-- root/root 663 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/environments/development.yml -rw-r--r-- root/root 258 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/environments/production.yml drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/lib/ -rw-r--r-- root/root 151 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/lib/AppFile.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/ -rwxr-xr-x root/root 459 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/+dispatch.cgi -rw-r--r-- root/root 532 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/+dispatch.fcgi -rw-r--r-- root/root 445 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/404.html -rw-r--r-- root/root 456 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/500.html drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/css/ -rw-r--r-- root/root 1428 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/css/error.css -rw-r--r-- root/root 2868 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/css/style.css -rw-r--r-- root/root 1406 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/favicon.ico drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/images/ -rw-r--r-- root/root 7125 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/images/perldancer-bg.jpg -rw-r--r-- root/root 2240 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/public/images/perldancer.jpg drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/t/ -rw-r--r-- root/root 82 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/t/001_base.t -rw-r--r-- root/root 348 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/t/002_index_route.t drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/views/ -rw-r--r-- root/root 5285 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/views/index.tt drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/views/layouts/ -rw-r--r-- root/root 578 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/default/views/layouts/main.tt drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/bin/ -rw-r--r-- root/root 785 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/bin/+app.psgi -rw-r--r-- root/root 1906 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/config.yml -rw-r--r-- root/root 1623 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/cpanfile drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/db/ -rw-r--r-- root/root 20480 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/db/blog.db -rw-r--r-- root/root 199 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/db/entries.sql -rw-r--r-- root/root 308 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/db/users.sql drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/lib/ -rw-r--r-- root/root 4478 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/ -rw-r--r-- root/root 470 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema/ drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema/Result/ -rw-r--r-- root/root 1591 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema/Result/Entry.pm -rw-r--r-- root/root 1438 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/lib/AppFile/Schema/Result/User.pm drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/ -rw-r--r-- root/root 445 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/404.html -rw-r--r-- root/root 456 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/500.html drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/css/ -rw-r--r-- root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/css/error.css -rw-r--r-- root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/css/style.css -rw-r--r-- root/root 448 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/dispatch.cgi -rw-r--r-- root/root 521 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/dispatch.fcgi -rw-r--r-- root/root 1406 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/public/favicon.ico drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/t/ -rw-r--r-- root/root 82 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/t/001_base.t -rw-r--r-- root/root 348 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/t/002_index_route.t -rw-r--r-- root/root 889 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/t/003_login.t -rw-r--r-- root/root 1995 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/t/004_blog.t drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/t/db/ -rw-r--r-- root/root 20480 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/t/db/test.db drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/ -rw-r--r-- root/root 892 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/create_update.tt -rw-r--r-- root/root 804 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/delete.tt -rw-r--r-- root/root 523 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/entry.tt -rw-r--r-- root/root 692 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/index.tt drwxr-xr-x root/root 0 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/layouts/ -rw-r--r-- root/root 2166 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/layouts/main.tt -rw-r--r-- root/root 873 2026-09-29 15:21 ./usr/share/perl5/auto/share/dist/Dancer2/skel/tutorial/views/login.tt +------------------------------------------------------------------------------+ | Post Build Wed, 30 Sep 2026 00:03:30 +0000 | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Cleanup Wed, 30 Sep 2026 00:03:30 +0000 | +------------------------------------------------------------------------------+ Purging /build/libdancer2-perl-Gil75Z Not cleaning session: cloned chroot in use +------------------------------------------------------------------------------+ | Summary Wed, 30 Sep 2026 00:03:30 +0000 | +------------------------------------------------------------------------------+ Build Architecture: amd64 Build Type: full Build-Space: 8904 Build-Time: 88 Distribution: perl-5.44-throwaway Host Architecture: amd64 Install-Time: 9 Job: /srv/debomatic/incoming/libdancer2-perl_2.2.2-1.dsc Machine Architecture: amd64 Package: libdancer2-perl Package-Time: 102 Source-Version: 2.2.2-1 Space: 8904 Status: successful Version: 2.2.2-1 -------------------------------------------------------------------------------- Finished at 2026-09-30T00:03:29Z Build needed 00:01:42, 8904k disk space