0s autopkgtest [15:16:18]: starting date and time: 2025-05-02 15:16:18+0000 0s autopkgtest [15:16:18]: git checkout: 9986aa8c Merge branch 'skia/fix_network_interface' into 'ubuntu/production' 0s autopkgtest [15:16:18]: host juju-7f2275-prod-proposed-migration-environment-9; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.9jtq282b/out --timeout-copy=6000 --setup-commands 'ln -s /dev/null /etc/systemd/system/bluetooth.service; printf "http_proxy=http://squid.internal:3128\nhttps_proxy=http://squid.internal:3128\nno_proxy=127.0.0.1,127.0.1.1,localhost,localdomain,internal,login.ubuntu.com,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com,radosgw.ps5.canonical.com\n" >> /etc/environment' --apt-pocket=proposed=src:postgresql-common --apt-upgrade sqitch --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=postgresql-common/277 -- lxd -r lxd-armhf-10.145.243.28 lxd-armhf-10.145.243.28:autopkgtest/ubuntu/questing/armhf 20s autopkgtest [15:16:38]: testbed dpkg architecture: armhf 22s autopkgtest [15:16:40]: testbed apt version: 3.0.0 26s autopkgtest [15:16:44]: @@@@@@@@@@@@@@@@@@@@ test bed setup 28s autopkgtest [15:16:46]: testbed release detected to be: None 35s autopkgtest [15:16:53]: updating testbed package index (apt update) 37s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 38s Get:2 http://ftpmaster.internal/ubuntu questing InRelease [110 kB] 38s Get:3 http://ftpmaster.internal/ubuntu questing-updates InRelease [110 kB] 38s Get:4 http://ftpmaster.internal/ubuntu questing-security InRelease [110 kB] 38s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [44.2 kB] 38s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [164 kB] 38s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [2024 kB] 38s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main armhf Packages [184 kB] 38s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe armhf Packages [1383 kB] 38s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse armhf Packages [13.1 kB] 38s Get:11 http://ftpmaster.internal/ubuntu questing/multiverse Sources [299 kB] 38s Get:12 http://ftpmaster.internal/ubuntu questing/universe Sources [21.1 MB] 39s Get:13 http://ftpmaster.internal/ubuntu questing/main Sources [1394 kB] 39s Get:14 http://ftpmaster.internal/ubuntu questing/main armhf Packages [1358 kB] 39s Get:15 http://ftpmaster.internal/ubuntu questing/universe armhf Packages [15.4 MB] 39s Get:16 http://ftpmaster.internal/ubuntu questing/multiverse armhf Packages [173 kB] 43s Fetched 44.0 MB in 5s (8054 kB/s) 44s Reading package lists... 50s autopkgtest [15:17:08]: upgrading testbed (apt dist-upgrade and autopurge) 51s Reading package lists... 52s Building dependency tree... 52s Reading state information... 52s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 52s Starting 2 pkgProblemResolver with broken count: 0 52s Done 53s Entering ResolveByKeep 54s 54s Calculating upgrade... 54s The following packages will be upgraded: 54s base-files distro-info-data dpkg dpkg-dev fwupd htop libdpkg-perl libftdi1-2 54s libfwupd3 libnpth0t64 libsensors-config libsensors5 liburcu8t64 54s motd-news-config nano ubuntu-pro-client ubuntu-pro-client-l10n usb.ids 54s 18 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 54s Need to get 5303 kB of archives. 54s After this operation, 3722 kB disk space will be freed. 54s Get:1 http://ftpmaster.internal/ubuntu questing/main armhf motd-news-config all 13.7ubuntu1 [5260 B] 54s Get:2 http://ftpmaster.internal/ubuntu questing/main armhf base-files armhf 13.7ubuntu1 [75.4 kB] 55s Get:3 http://ftpmaster.internal/ubuntu questing/main armhf dpkg armhf 1.22.18ubuntu3 [1254 kB] 55s Get:4 http://ftpmaster.internal/ubuntu questing/main armhf libnpth0t64 armhf 1.8-3 [7716 B] 55s Get:5 http://ftpmaster.internal/ubuntu questing/main armhf distro-info-data all 0.64 [6664 B] 55s Get:6 http://ftpmaster.internal/ubuntu questing/main armhf ubuntu-pro-client-l10n armhf 35.1ubuntu0 [19.7 kB] 55s Get:7 http://ftpmaster.internal/ubuntu questing/main armhf ubuntu-pro-client armhf 35.1ubuntu0 [258 kB] 55s Get:8 http://ftpmaster.internal/ubuntu questing/main armhf libsensors-config all 1:3.6.2-2 [6756 B] 55s Get:9 http://ftpmaster.internal/ubuntu questing/main armhf libsensors5 armhf 1:3.6.2-2 [26.8 kB] 55s Get:10 http://ftpmaster.internal/ubuntu questing/main armhf liburcu8t64 armhf 0.15.2-2 [57.3 kB] 55s Get:11 http://ftpmaster.internal/ubuntu questing/main armhf nano armhf 8.4-1 [278 kB] 55s Get:12 http://ftpmaster.internal/ubuntu questing/main armhf usb.ids all 2025.04.01-1 [223 kB] 55s Get:13 http://ftpmaster.internal/ubuntu questing/main armhf dpkg-dev all 1.22.18ubuntu3 [1089 kB] 55s Get:14 http://ftpmaster.internal/ubuntu questing/main armhf libdpkg-perl all 1.22.18ubuntu3 [281 kB] 55s Get:15 http://ftpmaster.internal/ubuntu questing/main armhf fwupd armhf 2.0.8-3 [1414 kB] 55s Get:16 http://ftpmaster.internal/ubuntu questing/main armhf libfwupd3 armhf 2.0.8-3 [126 kB] 55s Get:17 http://ftpmaster.internal/ubuntu questing/main armhf htop armhf 3.4.1-4 [147 kB] 55s Get:18 http://ftpmaster.internal/ubuntu questing/main armhf libftdi1-2 armhf 1.5-10 [27.8 kB] 56s Fetched 5303 kB in 1s (6785 kB/s) 56s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 63953 files and directories currently installed.) 56s Preparing to unpack .../motd-news-config_13.7ubuntu1_all.deb ... 56s Unpacking motd-news-config (13.7ubuntu1) over (13.6ubuntu2) ... 56s Preparing to unpack .../base-files_13.7ubuntu1_armhf.deb ... 56s Unpacking base-files (13.7ubuntu1) over (13.6ubuntu2) ... 56s Setting up base-files (13.7ubuntu1) ... 56s Installing new version of config file /etc/issue ... 56s Installing new version of config file /etc/issue.net ... 56s Installing new version of config file /etc/lsb-release ... 57s motd-news.service is a disabled or a static unit not running, not starting it. 57s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 63953 files and directories currently installed.) 57s Preparing to unpack .../dpkg_1.22.18ubuntu3_armhf.deb ... 57s Unpacking dpkg (1.22.18ubuntu3) over (1.22.18ubuntu2) ... 57s Setting up dpkg (1.22.18ubuntu3) ... 58s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 63953 files and directories currently installed.) 58s Preparing to unpack .../libnpth0t64_1.8-3_armhf.deb ... 58s Unpacking libnpth0t64:armhf (1.8-3) over (1.8-2) ... 58s Setting up libnpth0t64:armhf (1.8-3) ... 58s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 63953 files and directories currently installed.) 58s Preparing to unpack .../00-distro-info-data_0.64_all.deb ... 58s Unpacking distro-info-data (0.64) over (0.63) ... 58s Preparing to unpack .../01-ubuntu-pro-client-l10n_35.1ubuntu0_armhf.deb ... 58s Unpacking ubuntu-pro-client-l10n (35.1ubuntu0) over (35) ... 58s Preparing to unpack .../02-ubuntu-pro-client_35.1ubuntu0_armhf.deb ... 58s Unpacking ubuntu-pro-client (35.1ubuntu0) over (35) ... 58s Preparing to unpack .../03-libsensors-config_1%3a3.6.2-2_all.deb ... 58s Unpacking libsensors-config (1:3.6.2-2) over (1:3.6.0-10) ... 58s Preparing to unpack .../04-libsensors5_1%3a3.6.2-2_armhf.deb ... 58s Unpacking libsensors5:armhf (1:3.6.2-2) over (1:3.6.0-10) ... 58s Preparing to unpack .../05-liburcu8t64_0.15.2-2_armhf.deb ... 58s Unpacking liburcu8t64:armhf (0.15.2-2) over (0.15.1-1) ... 58s Preparing to unpack .../06-nano_8.4-1_armhf.deb ... 58s Unpacking nano (8.4-1) over (8.3-1) ... 58s Preparing to unpack .../07-usb.ids_2025.04.01-1_all.deb ... 58s Unpacking usb.ids (2025.04.01-1) over (2025.01.14-1) ... 58s Preparing to unpack .../08-dpkg-dev_1.22.18ubuntu3_all.deb ... 58s Unpacking dpkg-dev (1.22.18ubuntu3) over (1.22.18ubuntu2) ... 58s Preparing to unpack .../09-libdpkg-perl_1.22.18ubuntu3_all.deb ... 58s Unpacking libdpkg-perl (1.22.18ubuntu3) over (1.22.18ubuntu2) ... 58s Preparing to unpack .../10-fwupd_2.0.8-3_armhf.deb ... 59s Unpacking fwupd (2.0.8-3) over (2.0.7-1) ... 59s dpkg: warning: unable to delete old directory '/etc/grub.d': Directory not empty 59s Preparing to unpack .../11-libfwupd3_2.0.8-3_armhf.deb ... 59s Unpacking libfwupd3:armhf (2.0.8-3) over (2.0.7-1) ... 59s Preparing to unpack .../12-htop_3.4.1-4_armhf.deb ... 59s Unpacking htop (3.4.1-4) over (3.4.0-2) ... 59s Preparing to unpack .../13-libftdi1-2_1.5-10_armhf.deb ... 59s Unpacking libftdi1-2:armhf (1.5-10) over (1.5-8build1) ... 59s Setting up motd-news-config (13.7ubuntu1) ... 59s Setting up liburcu8t64:armhf (0.15.2-2) ... 59s Setting up distro-info-data (0.64) ... 59s Setting up htop (3.4.1-4) ... 59s Setting up libsensors-config (1:3.6.2-2) ... 59s Installing new version of config file /etc/sensors3.conf ... 59s Setting up libfwupd3:armhf (2.0.8-3) ... 59s Setting up libftdi1-2:armhf (1.5-10) ... 59s Setting up usb.ids (2025.04.01-1) ... 59s Setting up libsensors5:armhf (1:3.6.2-2) ... 59s Setting up libdpkg-perl (1.22.18ubuntu3) ... 59s Setting up nano (8.4-1) ... 59s Installing new version of config file /etc/nanorc ... 59s Setting up ubuntu-pro-client (35.1ubuntu0) ... 59s apparmor_parser: Unable to replace "ubuntu_pro_apt_news". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 59s 60s apparmor_parser: Unable to replace "apt_methods". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 60s 60s apparmor_parser: Unable to replace "ubuntu_pro_esm_cache". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 60s 62s Setting up fwupd (2.0.8-3) ... 62s fwupd-refresh.service is a disabled or a static unit not running, not starting it. 62s fwupd.service is a disabled or a static unit not running, not starting it. 62s Setting up ubuntu-pro-client-l10n (35.1ubuntu0) ... 62s Setting up dpkg-dev (1.22.18ubuntu3) ... 62s Processing triggers for dbus (1.16.2-2ubuntu1) ... 62s Processing triggers for install-info (7.1.1-1) ... 63s Processing triggers for libc-bin (2.41-6ubuntu1) ... 63s Processing triggers for man-db (2.13.0-1) ... 65s Processing triggers for plymouth-theme-ubuntu-text (24.004.60-2ubuntu7) ... 65s Processing triggers for initramfs-tools (0.147ubuntu1) ... 67s Reading package lists... 68s Building dependency tree... 68s Reading state information... 69s Starting pkgProblemResolver with broken count: 0 69s Starting 2 pkgProblemResolver with broken count: 0 69s Done 70s Solving dependencies... 71s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 73s autopkgtest [15:17:31]: rebooting testbed after setup commands that affected boot 113s autopkgtest [15:18:11]: testbed running kernel: Linux 6.8.0-58-generic #60~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 28 14:48:37 UTC 2 138s autopkgtest [15:18:36]: @@@@@@@@@@@@@@@@@@@@ apt-source sqitch 148s Get:1 http://ftpmaster.internal/ubuntu questing/universe sqitch 1.5.0-1 (dsc) [3728 B] 148s Get:2 http://ftpmaster.internal/ubuntu questing/universe sqitch 1.5.0-1 (tar) [646 kB] 148s Get:3 http://ftpmaster.internal/ubuntu questing/universe sqitch 1.5.0-1 (diff) [6200 B] 148s gpgv: Signature made Sat Feb 8 00:18:53 2025 UTC 148s gpgv: using RSA key D1E1316E93A760A8104D85FABB3A68018649AA06 148s gpgv: Can't check signature: No public key 148s dpkg-source: warning: cannot verify inline signature for ./sqitch_1.5.0-1.dsc: no acceptable signature found 149s autopkgtest [15:18:47]: testing package sqitch version 1.5.0-1 151s autopkgtest [15:18:49]: build not needed 153s autopkgtest [15:18:51]: test autodep8-perl-build-deps: preparing testbed 155s Reading package lists... 155s Building dependency tree... 155s Reading state information... 155s Starting pkgProblemResolver with broken count: 0 156s Starting 2 pkgProblemResolver with broken count: 0 156s Done 156s The following NEW packages will be installed: 156s autoconf autodep8 automake autopoint autotools-dev build-essential cpp 156s cpp-14 cpp-14-arm-linux-gnueabihf cpp-arm-linux-gnueabihf dctrl-tools 156s debhelper debugedit dh-autoreconf dh-strip-nondeterminism dwz g++ g++-14 156s g++-14-arm-linux-gnueabihf g++-arm-linux-gnueabihf gcc gcc-14 156s gcc-14-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gettext intltool-debian 156s libalgorithm-backoff-perl libalgorithm-c3-perl libalgorithm-diff-perl 156s libappconfig-perl libarchive-zip-perl libasan8 libb-hooks-endofscope-perl 156s libb-hooks-op-check-perl libc-dev-bin libc6-dev libcapture-tiny-perl 156s libcc1-0 libclass-c3-perl libclass-data-inheritable-perl 156s libclass-inspector-perl libclass-method-modifiers-perl 156s libclass-singleton-perl libclass-xsaccessor-perl libclone-choose-perl 156s libclone-perl libconfig-gitlike-perl libcrypt-dev libdata-optlist-perl 156s libdatetime-locale-perl libdatetime-perl libdatetime-timezone-perl 156s libdbd-pg-perl libdbd-sqlite3-perl libdbi-perl libdebhelper-perl 156s libdevel-callchecker-perl libdevel-stacktrace-perl libdw1t64 156s libdynaloader-functions-perl libencode-locale-perl libeval-closure-perl 156s libexception-class-perl libexporter-tiny-perl libfile-sharedir-perl 156s libfile-stripnondeterminism-perl libfile-which-perl libgcc-14-dev libgomp1 156s libhash-merge-perl libimport-into-perl libintl-perl libio-pager-perl 156s libipc-run3-perl libipc-system-simple-perl libisl23 liblist-moreutils-perl 156s liblist-moreutils-xs-perl libmodule-build-perl libmodule-implementation-perl 156s libmodule-runtime-perl libmoo-perl libmoox-types-mooselike-perl libmpc3 156s libmro-compat-perl libnamespace-autoclean-perl libnamespace-clean-perl 156s libpackage-stash-perl libparams-classify-perl libparams-util-perl 156s libparams-validationcompiler-perl libpath-class-perl 156s libperlio-utf8-strict-perl libpod-parser-perl libpq5 156s libreturn-multilevel-perl librole-tiny-perl libspecio-perl libstdc++-14-dev 156s libstring-formatter-perl libstring-shellquote-perl libsub-exporter-perl 156s libsub-exporter-progressive-perl libsub-identify-perl libsub-install-perl 156s libsub-name-perl libsub-quote-perl libsub-uplevel-perl libsuper-perl 156s libtemplate-perl libtemplate-tiny-perl libterm-readkey-perl 156s libtest-deep-perl libtest-dir-perl libtest-exception-perl libtest-exit-perl 156s libtest-file-contents-perl libtest-file-perl libtest-mockmodule-perl 156s libtest-mockobject-perl libtest-nowarnings-perl libtest-warn-perl 156s libtext-diff-perl libthrowable-perl libtool libtry-tiny-perl 156s libtype-tiny-perl libtype-tiny-xs-perl libubsan1 libuniversal-can-perl 156s libuniversal-isa-perl liburi-db-perl liburi-nested-perl liburi-perl 156s libvariable-magic-perl libxstring-perl linux-libc-dev m4 156s pkg-perl-autopkgtest po-debconf postgresql-client postgresql-client-17 156s postgresql-client-common rpcsvc-proto sqitch sqlite3 157s 0 upgraded, 146 newly installed, 0 to remove and 0 not upgraded. 157s Need to get 65.4 MB of archives. 157s After this operation, 216 MB of additional disk space will be used. 157s Get:1 http://ftpmaster.internal/ubuntu questing/main armhf m4 armhf 1.4.19-7 [238 kB] 157s Get:2 http://ftpmaster.internal/ubuntu questing/main armhf autoconf all 2.72-3ubuntu1 [383 kB] 157s Get:3 http://ftpmaster.internal/ubuntu questing/main armhf dctrl-tools armhf 2.24-3build3 [94.7 kB] 157s Get:4 http://ftpmaster.internal/ubuntu questing/main armhf autodep8 all 0.28+nmu1ubuntu1 [13.7 kB] 157s Get:5 http://ftpmaster.internal/ubuntu questing/main armhf autotools-dev all 20220109.1 [44.9 kB] 157s Get:6 http://ftpmaster.internal/ubuntu questing/main armhf automake all 1:1.17-3ubuntu1 [572 kB] 157s Get:7 http://ftpmaster.internal/ubuntu questing/main armhf autopoint all 0.23.1-1 [619 kB] 157s Get:8 http://ftpmaster.internal/ubuntu questing/main armhf libc-dev-bin armhf 2.41-6ubuntu1 [21.7 kB] 157s Get:9 http://ftpmaster.internal/ubuntu questing/main armhf linux-libc-dev armhf 6.14.0-15.15 [1687 kB] 157s Get:10 http://ftpmaster.internal/ubuntu questing/main armhf libcrypt-dev armhf 1:4.4.38-1 [120 kB] 157s Get:11 http://ftpmaster.internal/ubuntu questing/main armhf rpcsvc-proto armhf 1.4.2-0ubuntu7 [62.2 kB] 157s Get:12 http://ftpmaster.internal/ubuntu questing/main armhf libc6-dev armhf 2.41-6ubuntu1 [1396 kB] 157s Get:13 http://ftpmaster.internal/ubuntu questing/main armhf libisl23 armhf 0.27-1 [546 kB] 157s Get:14 http://ftpmaster.internal/ubuntu questing/main armhf libmpc3 armhf 1.3.1-1build2 [47.1 kB] 157s Get:15 http://ftpmaster.internal/ubuntu questing/main armhf cpp-14-arm-linux-gnueabihf armhf 14.2.0-19ubuntu2 [9221 kB] 158s Get:16 http://ftpmaster.internal/ubuntu questing/main armhf cpp-14 armhf 14.2.0-19ubuntu2 [1032 B] 158s Get:17 http://ftpmaster.internal/ubuntu questing/main armhf cpp-arm-linux-gnueabihf armhf 4:14.2.0-1ubuntu1 [5578 B] 158s Get:18 http://ftpmaster.internal/ubuntu questing/main armhf cpp armhf 4:14.2.0-1ubuntu1 [22.4 kB] 158s Get:19 http://ftpmaster.internal/ubuntu questing/main armhf libcc1-0 armhf 15-20250404-0ubuntu1 [43.3 kB] 158s Get:20 http://ftpmaster.internal/ubuntu questing/main armhf libgomp1 armhf 15-20250404-0ubuntu1 [128 kB] 158s Get:21 http://ftpmaster.internal/ubuntu questing/main armhf libasan8 armhf 15-20250404-0ubuntu1 [2951 kB] 158s Get:22 http://ftpmaster.internal/ubuntu questing/main armhf libubsan1 armhf 15-20250404-0ubuntu1 [1188 kB] 158s Get:23 http://ftpmaster.internal/ubuntu questing/main armhf libgcc-14-dev armhf 14.2.0-19ubuntu2 [897 kB] 158s Get:24 http://ftpmaster.internal/ubuntu questing/main armhf gcc-14-arm-linux-gnueabihf armhf 14.2.0-19ubuntu2 [18.0 MB] 158s Get:25 http://ftpmaster.internal/ubuntu questing/main armhf gcc-14 armhf 14.2.0-19ubuntu2 [510 kB] 158s Get:26 http://ftpmaster.internal/ubuntu questing/main armhf gcc-arm-linux-gnueabihf armhf 4:14.2.0-1ubuntu1 [1218 B] 158s Get:27 http://ftpmaster.internal/ubuntu questing/main armhf gcc armhf 4:14.2.0-1ubuntu1 [5004 B] 158s Get:28 http://ftpmaster.internal/ubuntu questing/main armhf libstdc++-14-dev armhf 14.2.0-19ubuntu2 [2576 kB] 158s Get:29 http://ftpmaster.internal/ubuntu questing/main armhf g++-14-arm-linux-gnueabihf armhf 14.2.0-19ubuntu2 [10.5 MB] 159s Get:30 http://ftpmaster.internal/ubuntu questing/main armhf g++-14 armhf 14.2.0-19ubuntu2 [23.0 kB] 159s Get:31 http://ftpmaster.internal/ubuntu questing/main armhf g++-arm-linux-gnueabihf armhf 4:14.2.0-1ubuntu1 [966 B] 159s Get:32 http://ftpmaster.internal/ubuntu questing/main armhf g++ armhf 4:14.2.0-1ubuntu1 [1084 B] 159s Get:33 http://ftpmaster.internal/ubuntu questing/main armhf build-essential armhf 12.12ubuntu1 [5088 B] 159s Get:34 http://ftpmaster.internal/ubuntu questing/main armhf libdebhelper-perl all 13.24.1ubuntu2 [95.4 kB] 159s Get:35 http://ftpmaster.internal/ubuntu questing/main armhf libtool all 2.5.4-4 [168 kB] 159s Get:36 http://ftpmaster.internal/ubuntu questing/main armhf dh-autoreconf all 20 [16.1 kB] 159s Get:37 http://ftpmaster.internal/ubuntu questing/main armhf libarchive-zip-perl all 1.68-1 [90.2 kB] 159s Get:38 http://ftpmaster.internal/ubuntu questing/main armhf libfile-stripnondeterminism-perl all 1.14.1-2 [20.3 kB] 159s Get:39 http://ftpmaster.internal/ubuntu questing/main armhf dh-strip-nondeterminism all 1.14.1-2 [5064 B] 159s Get:40 http://ftpmaster.internal/ubuntu questing/main armhf libdw1t64 armhf 0.192-4ubuntu1 [244 kB] 159s Get:41 http://ftpmaster.internal/ubuntu questing/main armhf debugedit armhf 1:5.1-2 [46.7 kB] 159s Get:42 http://ftpmaster.internal/ubuntu questing/main armhf dwz armhf 0.15-1build6 [116 kB] 159s Get:43 http://ftpmaster.internal/ubuntu questing/main armhf gettext armhf 0.23.1-1 [1053 kB] 159s Get:44 http://ftpmaster.internal/ubuntu questing/main armhf intltool-debian all 0.35.0+20060710.6 [23.2 kB] 159s Get:45 http://ftpmaster.internal/ubuntu questing/main armhf po-debconf all 1.0.21+nmu1 [233 kB] 159s Get:46 http://ftpmaster.internal/ubuntu questing/main armhf debhelper all 13.24.1ubuntu2 [895 kB] 159s Get:47 http://ftpmaster.internal/ubuntu questing/universe armhf libalgorithm-backoff-perl all 0.010-1 [37.3 kB] 159s Get:48 http://ftpmaster.internal/ubuntu questing/universe armhf libalgorithm-c3-perl all 0.11-2 [10.2 kB] 159s Get:49 http://ftpmaster.internal/ubuntu questing/main armhf libalgorithm-diff-perl all 1.201-1 [41.8 kB] 159s Get:50 http://ftpmaster.internal/ubuntu questing/main armhf libappconfig-perl all 1.71-2.3 [64.8 kB] 159s Get:51 http://ftpmaster.internal/ubuntu questing/main armhf libb-hooks-op-check-perl armhf 0.22-3build2 [9174 B] 159s Get:52 http://ftpmaster.internal/ubuntu questing/main armhf libdynaloader-functions-perl all 0.004-1 [11.4 kB] 159s Get:53 http://ftpmaster.internal/ubuntu questing/main armhf libdevel-callchecker-perl armhf 0.009-1build1 [14.0 kB] 159s Get:54 http://ftpmaster.internal/ubuntu questing/main armhf libparams-classify-perl armhf 0.015-2build6 [18.8 kB] 159s Get:55 http://ftpmaster.internal/ubuntu questing/main armhf libmodule-runtime-perl all 0.016-2 [16.4 kB] 159s Get:56 http://ftpmaster.internal/ubuntu questing/main armhf libtry-tiny-perl all 0.32-1 [21.2 kB] 159s Get:57 http://ftpmaster.internal/ubuntu questing/main armhf libmodule-implementation-perl all 0.09-2 [12.0 kB] 159s Get:58 http://ftpmaster.internal/ubuntu questing/main armhf libsub-exporter-progressive-perl all 0.001013-3 [6718 B] 159s Get:59 http://ftpmaster.internal/ubuntu questing/main armhf libvariable-magic-perl armhf 0.64-1build1 [33.4 kB] 159s Get:60 http://ftpmaster.internal/ubuntu questing/main armhf libb-hooks-endofscope-perl all 0.28-1 [15.8 kB] 159s Get:61 http://ftpmaster.internal/ubuntu questing/main armhf libcapture-tiny-perl all 0.50-1 [20.7 kB] 159s Get:62 http://ftpmaster.internal/ubuntu questing/universe armhf libclass-c3-perl all 0.35-2 [18.4 kB] 159s Get:63 http://ftpmaster.internal/ubuntu questing/main armhf libclass-data-inheritable-perl all 0.10-1 [8038 B] 159s Get:64 http://ftpmaster.internal/ubuntu questing/main armhf libclass-inspector-perl all 1.36-3 [15.4 kB] 159s Get:65 http://ftpmaster.internal/ubuntu questing/main armhf libclass-method-modifiers-perl all 2.15-1 [16.1 kB] 159s Get:66 http://ftpmaster.internal/ubuntu questing/universe armhf libclass-singleton-perl all 1.6-2 [11.5 kB] 159s Get:67 http://ftpmaster.internal/ubuntu questing/main armhf libclass-xsaccessor-perl armhf 1.19-4build6 [32.4 kB] 159s Get:68 http://ftpmaster.internal/ubuntu questing/universe armhf libclone-choose-perl all 0.010-2 [7738 B] 159s Get:69 http://ftpmaster.internal/ubuntu questing/main armhf libclone-perl armhf 0.47-1 [10.0 kB] 159s Get:70 http://ftpmaster.internal/ubuntu questing/main armhf libimport-into-perl all 1.002005-2 [10.7 kB] 159s Get:71 http://ftpmaster.internal/ubuntu questing/main armhf librole-tiny-perl all 2.002004-1 [16.3 kB] 159s Get:72 http://ftpmaster.internal/ubuntu questing/main armhf libsub-quote-perl all 2.006008-1ubuntu1 [20.7 kB] 159s Get:73 http://ftpmaster.internal/ubuntu questing/main armhf libmoo-perl all 2.005005-1 [47.4 kB] 159s Get:74 http://ftpmaster.internal/ubuntu questing/universe armhf libmoox-types-mooselike-perl all 0.29-2 [16.7 kB] 159s Get:75 http://ftpmaster.internal/ubuntu questing/universe armhf libconfig-gitlike-perl all 1.18-2 [33.8 kB] 159s Get:76 http://ftpmaster.internal/ubuntu questing/main armhf libparams-util-perl armhf 1.102-3build1 [20.5 kB] 159s Get:77 http://ftpmaster.internal/ubuntu questing/main armhf libsub-install-perl all 0.929-1 [9764 B] 159s Get:78 http://ftpmaster.internal/ubuntu questing/main armhf libdata-optlist-perl all 0.114-1 [9708 B] 159s Get:79 http://ftpmaster.internal/ubuntu questing/main armhf libdbi-perl armhf 1.647-1 [823 kB] 159s Get:80 http://ftpmaster.internal/ubuntu questing/main armhf libpq5 armhf 17.4-1 [125 kB] 159s Get:81 http://ftpmaster.internal/ubuntu questing/universe armhf libdbd-pg-perl armhf 3.18.0-1build4 [189 kB] 159s Get:82 http://ftpmaster.internal/ubuntu questing/universe armhf libdbd-sqlite3-perl armhf 1.76-1 [155 kB] 159s Get:83 http://ftpmaster.internal/ubuntu questing/main armhf libdevel-stacktrace-perl all 2.0500-1 [22.1 kB] 159s Get:84 http://ftpmaster.internal/ubuntu questing/main armhf libencode-locale-perl all 1.05-3 [11.6 kB] 159s Get:85 http://ftpmaster.internal/ubuntu questing/main armhf libsub-exporter-perl all 0.990-1 [49.0 kB] 159s Get:86 http://ftpmaster.internal/ubuntu questing/universe armhf libeval-closure-perl all 0.14-3 [10.1 kB] 159s Get:87 http://ftpmaster.internal/ubuntu questing/main armhf libexception-class-perl all 1.45-1 [28.6 kB] 159s Get:88 http://ftpmaster.internal/ubuntu questing/main armhf libexporter-tiny-perl all 1.006002-1 [36.8 kB] 159s Get:89 http://ftpmaster.internal/ubuntu questing/main armhf libfile-sharedir-perl all 1.118-3 [14.0 kB] 159s Get:90 http://ftpmaster.internal/ubuntu questing/main armhf libfile-which-perl all 1.27-2 [12.5 kB] 159s Get:91 http://ftpmaster.internal/ubuntu questing/universe armhf libhash-merge-perl all 0.302-1 [13.0 kB] 159s Get:92 http://ftpmaster.internal/ubuntu questing/main armhf libintl-perl all 1.35-1 [701 kB] 159s Get:93 http://ftpmaster.internal/ubuntu questing/main armhf libterm-readkey-perl armhf 2.38-2build5 [22.6 kB] 159s Get:94 http://ftpmaster.internal/ubuntu questing/universe armhf libio-pager-perl all 2.10-1 [50.5 kB] 159s Get:95 http://ftpmaster.internal/ubuntu questing/main armhf libipc-system-simple-perl all 1.30-2 [22.3 kB] 159s Get:96 http://ftpmaster.internal/ubuntu questing/universe armhf liblist-moreutils-xs-perl armhf 0.430-4build1 [37.9 kB] 159s Get:97 http://ftpmaster.internal/ubuntu questing/universe armhf liblist-moreutils-perl all 0.430-2 [38.2 kB] 160s Get:98 http://ftpmaster.internal/ubuntu questing/universe armhf libmodule-build-perl all 0.423400-2 [200 kB] 160s Get:99 http://ftpmaster.internal/ubuntu questing/universe armhf libmro-compat-perl all 0.15-2 [10.1 kB] 160s Get:100 http://ftpmaster.internal/ubuntu questing/main armhf libpackage-stash-perl all 0.40-1 [19.5 kB] 160s Get:101 http://ftpmaster.internal/ubuntu questing/main armhf libsub-identify-perl armhf 0.14-3build4 [9396 B] 160s Get:102 http://ftpmaster.internal/ubuntu questing/main armhf libsub-name-perl armhf 0.28-1 [10.0 kB] 160s Get:103 http://ftpmaster.internal/ubuntu questing/main armhf libnamespace-clean-perl all 0.27-2 [14.0 kB] 160s Get:104 http://ftpmaster.internal/ubuntu questing/universe armhf libnamespace-autoclean-perl all 0.31-1 [11.9 kB] 160s Get:105 http://ftpmaster.internal/ubuntu questing/universe armhf libparams-validationcompiler-perl all 0.31-1 [28.3 kB] 160s Get:106 http://ftpmaster.internal/ubuntu questing/universe armhf libpath-class-perl all 0.37-4 [36.8 kB] 160s Get:107 http://ftpmaster.internal/ubuntu questing/main armhf libperlio-utf8-strict-perl armhf 0.010-1build4 [10.5 kB] 160s Get:108 http://ftpmaster.internal/ubuntu questing/main armhf libpod-parser-perl all 1.67-1 [80.6 kB] 160s Get:109 http://ftpmaster.internal/ubuntu questing/universe armhf libreturn-multilevel-perl all 0.08-1 [7784 B] 160s Get:110 http://ftpmaster.internal/ubuntu questing/universe armhf libxstring-perl armhf 0.005-2build4 [7650 B] 160s Get:111 http://ftpmaster.internal/ubuntu questing/universe armhf libspecio-perl all 0.50-1 [127 kB] 160s Get:112 http://ftpmaster.internal/ubuntu questing/universe armhf libstring-formatter-perl all 1.235-1 [21.3 kB] 160s Get:113 http://ftpmaster.internal/ubuntu questing/main armhf libstring-shellquote-perl all 1.04-3 [11.3 kB] 160s Get:114 http://ftpmaster.internal/ubuntu questing/universe armhf libsub-uplevel-perl all 0.2800-3 [11.6 kB] 160s Get:115 http://ftpmaster.internal/ubuntu questing/universe armhf libsuper-perl all 1.20190531-1 [10.4 kB] 160s Get:116 http://ftpmaster.internal/ubuntu questing/main armhf libtemplate-perl armhf 2.27-1build11 [496 kB] 160s Get:117 http://ftpmaster.internal/ubuntu questing/universe armhf libtemplate-tiny-perl all 1.14-2 [11.0 kB] 160s Get:118 http://ftpmaster.internal/ubuntu questing/universe armhf libtest-deep-perl all 1.204-1 [47.1 kB] 160s Get:119 http://ftpmaster.internal/ubuntu questing/universe armhf libtest-dir-perl all 1.16-3 [10.4 kB] 160s Get:120 http://ftpmaster.internal/ubuntu questing/universe armhf libtest-exception-perl all 0.43-3 [13.4 kB] 160s Get:121 http://ftpmaster.internal/ubuntu questing/universe armhf libtest-exit-perl all 0.11-2 [6444 B] 160s Get:122 http://ftpmaster.internal/ubuntu questing/universe armhf libtext-diff-perl all 1.45-2 [25.6 kB] 160s Get:123 http://ftpmaster.internal/ubuntu questing/universe armhf libtest-file-contents-perl all 0.242-1 [9360 B] 160s Get:124 http://ftpmaster.internal/ubuntu questing/universe armhf libtest-file-perl all 1.994-1 [20.9 kB] 160s Get:125 http://ftpmaster.internal/ubuntu questing/universe armhf libuniversal-can-perl all 1.20140328-3 [10.7 kB] 160s Get:126 http://ftpmaster.internal/ubuntu questing/universe armhf libuniversal-isa-perl all 1.20171012-3 [7866 B] 160s Get:127 http://ftpmaster.internal/ubuntu questing/universe armhf libtest-mockobject-perl all 1.20200122-4 [23.4 kB] 160s Get:128 http://ftpmaster.internal/ubuntu questing/universe armhf libtest-nowarnings-perl all 1.06-2 [10.1 kB] 160s Get:129 http://ftpmaster.internal/ubuntu questing/universe armhf libtest-warn-perl all 0.37-2 [12.6 kB] 160s Get:130 http://ftpmaster.internal/ubuntu questing/universe armhf libthrowable-perl all 1.001-2 [14.2 kB] 160s Get:131 http://ftpmaster.internal/ubuntu questing/universe armhf libtype-tiny-perl all 2.004000-1 [354 kB] 160s Get:132 http://ftpmaster.internal/ubuntu questing/universe armhf libtype-tiny-xs-perl armhf 0.025-2build1 [23.5 kB] 160s Get:133 http://ftpmaster.internal/ubuntu questing/main armhf liburi-perl all 5.30-1 [94.4 kB] 161s Get:134 http://ftpmaster.internal/ubuntu questing/universe armhf liburi-nested-perl all 0.10-4 [7926 B] 161s Get:135 http://ftpmaster.internal/ubuntu questing/universe armhf liburi-db-perl all 0.23-1 [20.3 kB] 161s Get:136 http://ftpmaster.internal/ubuntu questing-proposed/main armhf postgresql-client-common all 277 [48.0 kB] 161s Get:137 http://ftpmaster.internal/ubuntu questing/main armhf postgresql-client-17 armhf 17.4-1 [1285 kB] 161s Get:138 http://ftpmaster.internal/ubuntu questing-proposed/main armhf postgresql-client all 17+277 [13.7 kB] 161s Get:139 http://ftpmaster.internal/ubuntu questing/universe armhf libdatetime-locale-perl all 1:1.41-1 [3193 kB] 162s Get:140 http://ftpmaster.internal/ubuntu questing/universe armhf libdatetime-timezone-perl all 1:2.64-1+2025a [259 kB] 162s Get:141 http://ftpmaster.internal/ubuntu questing/universe armhf libdatetime-perl armhf 2:1.65-1build3 [98.3 kB] 162s Get:142 http://ftpmaster.internal/ubuntu questing/main armhf libipc-run3-perl all 0.049-1 [28.8 kB] 162s Get:143 http://ftpmaster.internal/ubuntu questing/main armhf sqlite3 armhf 3.46.1-3 [140 kB] 162s Get:144 http://ftpmaster.internal/ubuntu questing/universe armhf sqitch all 1.5.0-1 [611 kB] 162s Get:145 http://ftpmaster.internal/ubuntu questing/universe armhf libtest-mockmodule-perl all 0.178.0-1 [12.9 kB] 162s Get:146 http://ftpmaster.internal/ubuntu questing/universe armhf pkg-perl-autopkgtest all 0.82 [18.8 kB] 162s Fetched 65.4 MB in 5s (12.1 MB/s) 162s Selecting previously unselected package m4. 163s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 63951 files and directories currently installed.) 163s Preparing to unpack .../000-m4_1.4.19-7_armhf.deb ... 163s Unpacking m4 (1.4.19-7) ... 163s Selecting previously unselected package autoconf. 163s Preparing to unpack .../001-autoconf_2.72-3ubuntu1_all.deb ... 163s Unpacking autoconf (2.72-3ubuntu1) ... 163s Selecting previously unselected package dctrl-tools. 163s Preparing to unpack .../002-dctrl-tools_2.24-3build3_armhf.deb ... 163s Unpacking dctrl-tools (2.24-3build3) ... 163s Selecting previously unselected package autodep8. 163s Preparing to unpack .../003-autodep8_0.28+nmu1ubuntu1_all.deb ... 163s Unpacking autodep8 (0.28+nmu1ubuntu1) ... 163s Selecting previously unselected package autotools-dev. 163s Preparing to unpack .../004-autotools-dev_20220109.1_all.deb ... 163s Unpacking autotools-dev (20220109.1) ... 163s Selecting previously unselected package automake. 163s Preparing to unpack .../005-automake_1%3a1.17-3ubuntu1_all.deb ... 163s Unpacking automake (1:1.17-3ubuntu1) ... 163s Selecting previously unselected package autopoint. 163s Preparing to unpack .../006-autopoint_0.23.1-1_all.deb ... 163s Unpacking autopoint (0.23.1-1) ... 163s Selecting previously unselected package libc-dev-bin. 163s Preparing to unpack .../007-libc-dev-bin_2.41-6ubuntu1_armhf.deb ... 163s Unpacking libc-dev-bin (2.41-6ubuntu1) ... 163s Selecting previously unselected package linux-libc-dev:armhf. 163s Preparing to unpack .../008-linux-libc-dev_6.14.0-15.15_armhf.deb ... 163s Unpacking linux-libc-dev:armhf (6.14.0-15.15) ... 163s Selecting previously unselected package libcrypt-dev:armhf. 163s Preparing to unpack .../009-libcrypt-dev_1%3a4.4.38-1_armhf.deb ... 163s Unpacking libcrypt-dev:armhf (1:4.4.38-1) ... 163s Selecting previously unselected package rpcsvc-proto. 163s Preparing to unpack .../010-rpcsvc-proto_1.4.2-0ubuntu7_armhf.deb ... 163s Unpacking rpcsvc-proto (1.4.2-0ubuntu7) ... 163s Selecting previously unselected package libc6-dev:armhf. 163s Preparing to unpack .../011-libc6-dev_2.41-6ubuntu1_armhf.deb ... 163s Unpacking libc6-dev:armhf (2.41-6ubuntu1) ... 163s Selecting previously unselected package libisl23:armhf. 163s Preparing to unpack .../012-libisl23_0.27-1_armhf.deb ... 163s Unpacking libisl23:armhf (0.27-1) ... 163s Selecting previously unselected package libmpc3:armhf. 163s Preparing to unpack .../013-libmpc3_1.3.1-1build2_armhf.deb ... 163s Unpacking libmpc3:armhf (1.3.1-1build2) ... 163s Selecting previously unselected package cpp-14-arm-linux-gnueabihf. 163s Preparing to unpack .../014-cpp-14-arm-linux-gnueabihf_14.2.0-19ubuntu2_armhf.deb ... 163s Unpacking cpp-14-arm-linux-gnueabihf (14.2.0-19ubuntu2) ... 164s Selecting previously unselected package cpp-14. 164s Preparing to unpack .../015-cpp-14_14.2.0-19ubuntu2_armhf.deb ... 164s Unpacking cpp-14 (14.2.0-19ubuntu2) ... 164s Selecting previously unselected package cpp-arm-linux-gnueabihf. 164s Preparing to unpack .../016-cpp-arm-linux-gnueabihf_4%3a14.2.0-1ubuntu1_armhf.deb ... 164s Unpacking cpp-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 164s Selecting previously unselected package cpp. 164s Preparing to unpack .../017-cpp_4%3a14.2.0-1ubuntu1_armhf.deb ... 164s Unpacking cpp (4:14.2.0-1ubuntu1) ... 164s Selecting previously unselected package libcc1-0:armhf. 164s Preparing to unpack .../018-libcc1-0_15-20250404-0ubuntu1_armhf.deb ... 164s Unpacking libcc1-0:armhf (15-20250404-0ubuntu1) ... 164s Selecting previously unselected package libgomp1:armhf. 164s Preparing to unpack .../019-libgomp1_15-20250404-0ubuntu1_armhf.deb ... 164s Unpacking libgomp1:armhf (15-20250404-0ubuntu1) ... 164s Selecting previously unselected package libasan8:armhf. 164s Preparing to unpack .../020-libasan8_15-20250404-0ubuntu1_armhf.deb ... 164s Unpacking libasan8:armhf (15-20250404-0ubuntu1) ... 164s Selecting previously unselected package libubsan1:armhf. 164s Preparing to unpack .../021-libubsan1_15-20250404-0ubuntu1_armhf.deb ... 164s Unpacking libubsan1:armhf (15-20250404-0ubuntu1) ... 164s Selecting previously unselected package libgcc-14-dev:armhf. 164s Preparing to unpack .../022-libgcc-14-dev_14.2.0-19ubuntu2_armhf.deb ... 164s Unpacking libgcc-14-dev:armhf (14.2.0-19ubuntu2) ... 164s Selecting previously unselected package gcc-14-arm-linux-gnueabihf. 164s Preparing to unpack .../023-gcc-14-arm-linux-gnueabihf_14.2.0-19ubuntu2_armhf.deb ... 164s Unpacking gcc-14-arm-linux-gnueabihf (14.2.0-19ubuntu2) ... 165s Selecting previously unselected package gcc-14. 165s Preparing to unpack .../024-gcc-14_14.2.0-19ubuntu2_armhf.deb ... 165s Unpacking gcc-14 (14.2.0-19ubuntu2) ... 165s Selecting previously unselected package gcc-arm-linux-gnueabihf. 165s Preparing to unpack .../025-gcc-arm-linux-gnueabihf_4%3a14.2.0-1ubuntu1_armhf.deb ... 165s Unpacking gcc-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 165s Selecting previously unselected package gcc. 165s Preparing to unpack .../026-gcc_4%3a14.2.0-1ubuntu1_armhf.deb ... 165s Unpacking gcc (4:14.2.0-1ubuntu1) ... 165s Selecting previously unselected package libstdc++-14-dev:armhf. 165s Preparing to unpack .../027-libstdc++-14-dev_14.2.0-19ubuntu2_armhf.deb ... 165s Unpacking libstdc++-14-dev:armhf (14.2.0-19ubuntu2) ... 165s Selecting previously unselected package g++-14-arm-linux-gnueabihf. 165s Preparing to unpack .../028-g++-14-arm-linux-gnueabihf_14.2.0-19ubuntu2_armhf.deb ... 165s Unpacking g++-14-arm-linux-gnueabihf (14.2.0-19ubuntu2) ... 165s Selecting previously unselected package g++-14. 165s Preparing to unpack .../029-g++-14_14.2.0-19ubuntu2_armhf.deb ... 165s Unpacking g++-14 (14.2.0-19ubuntu2) ... 165s Selecting previously unselected package g++-arm-linux-gnueabihf. 165s Preparing to unpack .../030-g++-arm-linux-gnueabihf_4%3a14.2.0-1ubuntu1_armhf.deb ... 165s Unpacking g++-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 165s Selecting previously unselected package g++. 165s Preparing to unpack .../031-g++_4%3a14.2.0-1ubuntu1_armhf.deb ... 165s Unpacking g++ (4:14.2.0-1ubuntu1) ... 165s Selecting previously unselected package build-essential. 165s Preparing to unpack .../032-build-essential_12.12ubuntu1_armhf.deb ... 165s Unpacking build-essential (12.12ubuntu1) ... 165s Selecting previously unselected package libdebhelper-perl. 165s Preparing to unpack .../033-libdebhelper-perl_13.24.1ubuntu2_all.deb ... 165s Unpacking libdebhelper-perl (13.24.1ubuntu2) ... 165s Selecting previously unselected package libtool. 165s Preparing to unpack .../034-libtool_2.5.4-4_all.deb ... 165s Unpacking libtool (2.5.4-4) ... 165s Selecting previously unselected package dh-autoreconf. 165s Preparing to unpack .../035-dh-autoreconf_20_all.deb ... 165s Unpacking dh-autoreconf (20) ... 165s Selecting previously unselected package libarchive-zip-perl. 165s Preparing to unpack .../036-libarchive-zip-perl_1.68-1_all.deb ... 165s Unpacking libarchive-zip-perl (1.68-1) ... 166s Selecting previously unselected package libfile-stripnondeterminism-perl. 166s Preparing to unpack .../037-libfile-stripnondeterminism-perl_1.14.1-2_all.deb ... 166s Unpacking libfile-stripnondeterminism-perl (1.14.1-2) ... 166s Selecting previously unselected package dh-strip-nondeterminism. 166s Preparing to unpack .../038-dh-strip-nondeterminism_1.14.1-2_all.deb ... 166s Unpacking dh-strip-nondeterminism (1.14.1-2) ... 166s Selecting previously unselected package libdw1t64:armhf. 166s Preparing to unpack .../039-libdw1t64_0.192-4ubuntu1_armhf.deb ... 166s Unpacking libdw1t64:armhf (0.192-4ubuntu1) ... 166s Selecting previously unselected package debugedit. 166s Preparing to unpack .../040-debugedit_1%3a5.1-2_armhf.deb ... 166s Unpacking debugedit (1:5.1-2) ... 166s Selecting previously unselected package dwz. 166s Preparing to unpack .../041-dwz_0.15-1build6_armhf.deb ... 166s Unpacking dwz (0.15-1build6) ... 166s Selecting previously unselected package gettext. 166s Preparing to unpack .../042-gettext_0.23.1-1_armhf.deb ... 166s Unpacking gettext (0.23.1-1) ... 166s Selecting previously unselected package intltool-debian. 166s Preparing to unpack .../043-intltool-debian_0.35.0+20060710.6_all.deb ... 166s Unpacking intltool-debian (0.35.0+20060710.6) ... 166s Selecting previously unselected package po-debconf. 166s Preparing to unpack .../044-po-debconf_1.0.21+nmu1_all.deb ... 166s Unpacking po-debconf (1.0.21+nmu1) ... 166s Selecting previously unselected package debhelper. 166s Preparing to unpack .../045-debhelper_13.24.1ubuntu2_all.deb ... 166s Unpacking debhelper (13.24.1ubuntu2) ... 166s Selecting previously unselected package libalgorithm-backoff-perl. 166s Preparing to unpack .../046-libalgorithm-backoff-perl_0.010-1_all.deb ... 166s Unpacking libalgorithm-backoff-perl (0.010-1) ... 166s Selecting previously unselected package libalgorithm-c3-perl. 166s Preparing to unpack .../047-libalgorithm-c3-perl_0.11-2_all.deb ... 166s Unpacking libalgorithm-c3-perl (0.11-2) ... 166s Selecting previously unselected package libalgorithm-diff-perl. 166s Preparing to unpack .../048-libalgorithm-diff-perl_1.201-1_all.deb ... 166s Unpacking libalgorithm-diff-perl (1.201-1) ... 166s Selecting previously unselected package libappconfig-perl. 166s Preparing to unpack .../049-libappconfig-perl_1.71-2.3_all.deb ... 166s Unpacking libappconfig-perl (1.71-2.3) ... 166s Selecting previously unselected package libb-hooks-op-check-perl:armhf. 166s Preparing to unpack .../050-libb-hooks-op-check-perl_0.22-3build2_armhf.deb ... 166s Unpacking libb-hooks-op-check-perl:armhf (0.22-3build2) ... 166s Selecting previously unselected package libdynaloader-functions-perl. 166s Preparing to unpack .../051-libdynaloader-functions-perl_0.004-1_all.deb ... 166s Unpacking libdynaloader-functions-perl (0.004-1) ... 166s Selecting previously unselected package libdevel-callchecker-perl:armhf. 166s Preparing to unpack .../052-libdevel-callchecker-perl_0.009-1build1_armhf.deb ... 166s Unpacking libdevel-callchecker-perl:armhf (0.009-1build1) ... 166s Selecting previously unselected package libparams-classify-perl:armhf. 166s Preparing to unpack .../053-libparams-classify-perl_0.015-2build6_armhf.deb ... 166s Unpacking libparams-classify-perl:armhf (0.015-2build6) ... 166s Selecting previously unselected package libmodule-runtime-perl. 166s Preparing to unpack .../054-libmodule-runtime-perl_0.016-2_all.deb ... 166s Unpacking libmodule-runtime-perl (0.016-2) ... 166s Selecting previously unselected package libtry-tiny-perl. 166s Preparing to unpack .../055-libtry-tiny-perl_0.32-1_all.deb ... 166s Unpacking libtry-tiny-perl (0.32-1) ... 166s Selecting previously unselected package libmodule-implementation-perl. 166s Preparing to unpack .../056-libmodule-implementation-perl_0.09-2_all.deb ... 166s Unpacking libmodule-implementation-perl (0.09-2) ... 166s Selecting previously unselected package libsub-exporter-progressive-perl. 166s Preparing to unpack .../057-libsub-exporter-progressive-perl_0.001013-3_all.deb ... 166s Unpacking libsub-exporter-progressive-perl (0.001013-3) ... 166s Selecting previously unselected package libvariable-magic-perl. 166s Preparing to unpack .../058-libvariable-magic-perl_0.64-1build1_armhf.deb ... 166s Unpacking libvariable-magic-perl (0.64-1build1) ... 166s Selecting previously unselected package libb-hooks-endofscope-perl. 166s Preparing to unpack .../059-libb-hooks-endofscope-perl_0.28-1_all.deb ... 166s Unpacking libb-hooks-endofscope-perl (0.28-1) ... 166s Selecting previously unselected package libcapture-tiny-perl. 166s Preparing to unpack .../060-libcapture-tiny-perl_0.50-1_all.deb ... 166s Unpacking libcapture-tiny-perl (0.50-1) ... 167s Selecting previously unselected package libclass-c3-perl. 167s Preparing to unpack .../061-libclass-c3-perl_0.35-2_all.deb ... 167s Unpacking libclass-c3-perl (0.35-2) ... 167s Selecting previously unselected package libclass-data-inheritable-perl. 167s Preparing to unpack .../062-libclass-data-inheritable-perl_0.10-1_all.deb ... 167s Unpacking libclass-data-inheritable-perl (0.10-1) ... 167s Selecting previously unselected package libclass-inspector-perl. 167s Preparing to unpack .../063-libclass-inspector-perl_1.36-3_all.deb ... 167s Unpacking libclass-inspector-perl (1.36-3) ... 167s Selecting previously unselected package libclass-method-modifiers-perl. 167s Preparing to unpack .../064-libclass-method-modifiers-perl_2.15-1_all.deb ... 167s Unpacking libclass-method-modifiers-perl (2.15-1) ... 167s Selecting previously unselected package libclass-singleton-perl. 167s Preparing to unpack .../065-libclass-singleton-perl_1.6-2_all.deb ... 167s Unpacking libclass-singleton-perl (1.6-2) ... 167s Selecting previously unselected package libclass-xsaccessor-perl. 167s Preparing to unpack .../066-libclass-xsaccessor-perl_1.19-4build6_armhf.deb ... 167s Unpacking libclass-xsaccessor-perl (1.19-4build6) ... 167s Selecting previously unselected package libclone-choose-perl. 167s Preparing to unpack .../067-libclone-choose-perl_0.010-2_all.deb ... 167s Unpacking libclone-choose-perl (0.010-2) ... 167s Selecting previously unselected package libclone-perl:armhf. 167s Preparing to unpack .../068-libclone-perl_0.47-1_armhf.deb ... 167s Unpacking libclone-perl:armhf (0.47-1) ... 167s Selecting previously unselected package libimport-into-perl. 167s Preparing to unpack .../069-libimport-into-perl_1.002005-2_all.deb ... 167s Unpacking libimport-into-perl (1.002005-2) ... 167s Selecting previously unselected package librole-tiny-perl. 167s Preparing to unpack .../070-librole-tiny-perl_2.002004-1_all.deb ... 167s Unpacking librole-tiny-perl (2.002004-1) ... 167s Selecting previously unselected package libsub-quote-perl. 167s Preparing to unpack .../071-libsub-quote-perl_2.006008-1ubuntu1_all.deb ... 167s Unpacking libsub-quote-perl (2.006008-1ubuntu1) ... 167s Selecting previously unselected package libmoo-perl. 167s Preparing to unpack .../072-libmoo-perl_2.005005-1_all.deb ... 167s Unpacking libmoo-perl (2.005005-1) ... 167s Selecting previously unselected package libmoox-types-mooselike-perl. 167s Preparing to unpack .../073-libmoox-types-mooselike-perl_0.29-2_all.deb ... 167s Unpacking libmoox-types-mooselike-perl (0.29-2) ... 167s Selecting previously unselected package libconfig-gitlike-perl. 167s Preparing to unpack .../074-libconfig-gitlike-perl_1.18-2_all.deb ... 167s Unpacking libconfig-gitlike-perl (1.18-2) ... 167s Selecting previously unselected package libparams-util-perl. 167s Preparing to unpack .../075-libparams-util-perl_1.102-3build1_armhf.deb ... 167s Unpacking libparams-util-perl (1.102-3build1) ... 167s Selecting previously unselected package libsub-install-perl. 167s Preparing to unpack .../076-libsub-install-perl_0.929-1_all.deb ... 167s Unpacking libsub-install-perl (0.929-1) ... 167s Selecting previously unselected package libdata-optlist-perl. 167s Preparing to unpack .../077-libdata-optlist-perl_0.114-1_all.deb ... 167s Unpacking libdata-optlist-perl (0.114-1) ... 167s Selecting previously unselected package libdbi-perl:armhf. 167s Preparing to unpack .../078-libdbi-perl_1.647-1_armhf.deb ... 167s Unpacking libdbi-perl:armhf (1.647-1) ... 167s Selecting previously unselected package libpq5:armhf. 167s Preparing to unpack .../079-libpq5_17.4-1_armhf.deb ... 167s Unpacking libpq5:armhf (17.4-1) ... 167s Selecting previously unselected package libdbd-pg-perl. 167s Preparing to unpack .../080-libdbd-pg-perl_3.18.0-1build4_armhf.deb ... 167s Unpacking libdbd-pg-perl (3.18.0-1build4) ... 167s Selecting previously unselected package libdbd-sqlite3-perl:armhf. 167s Preparing to unpack .../081-libdbd-sqlite3-perl_1.76-1_armhf.deb ... 167s Unpacking libdbd-sqlite3-perl:armhf (1.76-1) ... 167s Selecting previously unselected package libdevel-stacktrace-perl. 167s Preparing to unpack .../082-libdevel-stacktrace-perl_2.0500-1_all.deb ... 167s Unpacking libdevel-stacktrace-perl (2.0500-1) ... 167s Selecting previously unselected package libencode-locale-perl. 167s Preparing to unpack .../083-libencode-locale-perl_1.05-3_all.deb ... 167s Unpacking libencode-locale-perl (1.05-3) ... 167s Selecting previously unselected package libsub-exporter-perl. 167s Preparing to unpack .../084-libsub-exporter-perl_0.990-1_all.deb ... 167s Unpacking libsub-exporter-perl (0.990-1) ... 167s Selecting previously unselected package libeval-closure-perl. 167s Preparing to unpack .../085-libeval-closure-perl_0.14-3_all.deb ... 167s Unpacking libeval-closure-perl (0.14-3) ... 167s Selecting previously unselected package libexception-class-perl. 167s Preparing to unpack .../086-libexception-class-perl_1.45-1_all.deb ... 167s Unpacking libexception-class-perl (1.45-1) ... 168s Selecting previously unselected package libexporter-tiny-perl. 168s Preparing to unpack .../087-libexporter-tiny-perl_1.006002-1_all.deb ... 168s Unpacking libexporter-tiny-perl (1.006002-1) ... 168s Selecting previously unselected package libfile-sharedir-perl. 168s Preparing to unpack .../088-libfile-sharedir-perl_1.118-3_all.deb ... 168s Unpacking libfile-sharedir-perl (1.118-3) ... 168s Selecting previously unselected package libfile-which-perl. 168s Preparing to unpack .../089-libfile-which-perl_1.27-2_all.deb ... 168s Unpacking libfile-which-perl (1.27-2) ... 168s Selecting previously unselected package libhash-merge-perl. 168s Preparing to unpack .../090-libhash-merge-perl_0.302-1_all.deb ... 168s Unpacking libhash-merge-perl (0.302-1) ... 168s Selecting previously unselected package libintl-perl. 168s Preparing to unpack .../091-libintl-perl_1.35-1_all.deb ... 168s Unpacking libintl-perl (1.35-1) ... 168s Selecting previously unselected package libterm-readkey-perl. 168s Preparing to unpack .../092-libterm-readkey-perl_2.38-2build5_armhf.deb ... 168s Unpacking libterm-readkey-perl (2.38-2build5) ... 168s Selecting previously unselected package libio-pager-perl. 168s Preparing to unpack .../093-libio-pager-perl_2.10-1_all.deb ... 168s Unpacking libio-pager-perl (2.10-1) ... 168s Selecting previously unselected package libipc-system-simple-perl. 168s Preparing to unpack .../094-libipc-system-simple-perl_1.30-2_all.deb ... 168s Unpacking libipc-system-simple-perl (1.30-2) ... 168s Selecting previously unselected package liblist-moreutils-xs-perl. 168s Preparing to unpack .../095-liblist-moreutils-xs-perl_0.430-4build1_armhf.deb ... 168s Unpacking liblist-moreutils-xs-perl (0.430-4build1) ... 168s Selecting previously unselected package liblist-moreutils-perl. 168s Preparing to unpack .../096-liblist-moreutils-perl_0.430-2_all.deb ... 168s Unpacking liblist-moreutils-perl (0.430-2) ... 168s Selecting previously unselected package libmodule-build-perl. 168s Preparing to unpack .../097-libmodule-build-perl_0.423400-2_all.deb ... 168s Adding 'diversion of /usr/bin/config_data to /usr/bin/config_data.diverted by libmodule-build-perl' 168s Adding 'diversion of /usr/share/man/man1/config_data.1.gz to /usr/share/man/man1/config_data.diverted.1.gz by libmodule-build-perl' 168s Unpacking libmodule-build-perl (0.423400-2) ... 168s Selecting previously unselected package libmro-compat-perl. 168s Preparing to unpack .../098-libmro-compat-perl_0.15-2_all.deb ... 168s Unpacking libmro-compat-perl (0.15-2) ... 168s Selecting previously unselected package libpackage-stash-perl. 168s Preparing to unpack .../099-libpackage-stash-perl_0.40-1_all.deb ... 168s Unpacking libpackage-stash-perl (0.40-1) ... 168s Selecting previously unselected package libsub-identify-perl. 168s Preparing to unpack .../100-libsub-identify-perl_0.14-3build4_armhf.deb ... 168s Unpacking libsub-identify-perl (0.14-3build4) ... 168s Selecting previously unselected package libsub-name-perl:armhf. 168s Preparing to unpack .../101-libsub-name-perl_0.28-1_armhf.deb ... 168s Unpacking libsub-name-perl:armhf (0.28-1) ... 168s Selecting previously unselected package libnamespace-clean-perl. 168s Preparing to unpack .../102-libnamespace-clean-perl_0.27-2_all.deb ... 168s Unpacking libnamespace-clean-perl (0.27-2) ... 168s Selecting previously unselected package libnamespace-autoclean-perl. 168s Preparing to unpack .../103-libnamespace-autoclean-perl_0.31-1_all.deb ... 168s Unpacking libnamespace-autoclean-perl (0.31-1) ... 168s Selecting previously unselected package libparams-validationcompiler-perl. 168s Preparing to unpack .../104-libparams-validationcompiler-perl_0.31-1_all.deb ... 168s Unpacking libparams-validationcompiler-perl (0.31-1) ... 168s Selecting previously unselected package libpath-class-perl. 168s Preparing to unpack .../105-libpath-class-perl_0.37-4_all.deb ... 168s Unpacking libpath-class-perl (0.37-4) ... 168s Selecting previously unselected package libperlio-utf8-strict-perl. 168s Preparing to unpack .../106-libperlio-utf8-strict-perl_0.010-1build4_armhf.deb ... 168s Unpacking libperlio-utf8-strict-perl (0.010-1build4) ... 169s Selecting previously unselected package libpod-parser-perl. 169s Preparing to unpack .../107-libpod-parser-perl_1.67-1_all.deb ... 169s Adding 'diversion of /usr/bin/podselect to /usr/bin/podselect.bundled by libpod-parser-perl' 169s Adding 'diversion of /usr/share/man/man1/podselect.1.gz to /usr/share/man/man1/podselect.bundled.1.gz by libpod-parser-perl' 169s Unpacking libpod-parser-perl (1.67-1) ... 169s Selecting previously unselected package libreturn-multilevel-perl. 169s Preparing to unpack .../108-libreturn-multilevel-perl_0.08-1_all.deb ... 169s Unpacking libreturn-multilevel-perl (0.08-1) ... 169s Selecting previously unselected package libxstring-perl:armhf. 169s Preparing to unpack .../109-libxstring-perl_0.005-2build4_armhf.deb ... 169s Unpacking libxstring-perl:armhf (0.005-2build4) ... 169s Selecting previously unselected package libspecio-perl. 169s Preparing to unpack .../110-libspecio-perl_0.50-1_all.deb ... 169s Unpacking libspecio-perl (0.50-1) ... 169s Selecting previously unselected package libstring-formatter-perl. 169s Preparing to unpack .../111-libstring-formatter-perl_1.235-1_all.deb ... 169s Unpacking libstring-formatter-perl (1.235-1) ... 169s Selecting previously unselected package libstring-shellquote-perl. 169s Preparing to unpack .../112-libstring-shellquote-perl_1.04-3_all.deb ... 169s Unpacking libstring-shellquote-perl (1.04-3) ... 169s Selecting previously unselected package libsub-uplevel-perl. 169s Preparing to unpack .../113-libsub-uplevel-perl_0.2800-3_all.deb ... 169s Unpacking libsub-uplevel-perl (0.2800-3) ... 169s Selecting previously unselected package libsuper-perl. 169s Preparing to unpack .../114-libsuper-perl_1.20190531-1_all.deb ... 169s Unpacking libsuper-perl (1.20190531-1) ... 169s Selecting previously unselected package libtemplate-perl. 169s Preparing to unpack .../115-libtemplate-perl_2.27-1build11_armhf.deb ... 169s Unpacking libtemplate-perl (2.27-1build11) ... 169s Selecting previously unselected package libtemplate-tiny-perl. 169s Preparing to unpack .../116-libtemplate-tiny-perl_1.14-2_all.deb ... 169s Unpacking libtemplate-tiny-perl (1.14-2) ... 169s Selecting previously unselected package libtest-deep-perl. 169s Preparing to unpack .../117-libtest-deep-perl_1.204-1_all.deb ... 169s Unpacking libtest-deep-perl (1.204-1) ... 169s Selecting previously unselected package libtest-dir-perl. 169s Preparing to unpack .../118-libtest-dir-perl_1.16-3_all.deb ... 169s Unpacking libtest-dir-perl (1.16-3) ... 169s Selecting previously unselected package libtest-exception-perl. 169s Preparing to unpack .../119-libtest-exception-perl_0.43-3_all.deb ... 169s Unpacking libtest-exception-perl (0.43-3) ... 169s Selecting previously unselected package libtest-exit-perl. 169s Preparing to unpack .../120-libtest-exit-perl_0.11-2_all.deb ... 169s Unpacking libtest-exit-perl (0.11-2) ... 169s Selecting previously unselected package libtext-diff-perl. 169s Preparing to unpack .../121-libtext-diff-perl_1.45-2_all.deb ... 169s Unpacking libtext-diff-perl (1.45-2) ... 169s Selecting previously unselected package libtest-file-contents-perl. 169s Preparing to unpack .../122-libtest-file-contents-perl_0.242-1_all.deb ... 169s Unpacking libtest-file-contents-perl (0.242-1) ... 169s Selecting previously unselected package libtest-file-perl. 169s Preparing to unpack .../123-libtest-file-perl_1.994-1_all.deb ... 169s Unpacking libtest-file-perl (1.994-1) ... 169s Selecting previously unselected package libuniversal-can-perl. 169s Preparing to unpack .../124-libuniversal-can-perl_1.20140328-3_all.deb ... 169s Unpacking libuniversal-can-perl (1.20140328-3) ... 169s Selecting previously unselected package libuniversal-isa-perl. 169s Preparing to unpack .../125-libuniversal-isa-perl_1.20171012-3_all.deb ... 169s Unpacking libuniversal-isa-perl (1.20171012-3) ... 169s Selecting previously unselected package libtest-mockobject-perl. 169s Preparing to unpack .../126-libtest-mockobject-perl_1.20200122-4_all.deb ... 169s Unpacking libtest-mockobject-perl (1.20200122-4) ... 169s Selecting previously unselected package libtest-nowarnings-perl. 169s Preparing to unpack .../127-libtest-nowarnings-perl_1.06-2_all.deb ... 169s Unpacking libtest-nowarnings-perl (1.06-2) ... 169s Selecting previously unselected package libtest-warn-perl. 169s Preparing to unpack .../128-libtest-warn-perl_0.37-2_all.deb ... 169s Unpacking libtest-warn-perl (0.37-2) ... 169s Selecting previously unselected package libthrowable-perl. 169s Preparing to unpack .../129-libthrowable-perl_1.001-2_all.deb ... 169s Unpacking libthrowable-perl (1.001-2) ... 169s Selecting previously unselected package libtype-tiny-perl. 169s Preparing to unpack .../130-libtype-tiny-perl_2.004000-1_all.deb ... 169s Unpacking libtype-tiny-perl (2.004000-1) ... 170s Selecting previously unselected package libtype-tiny-xs-perl:armhf. 170s Preparing to unpack .../131-libtype-tiny-xs-perl_0.025-2build1_armhf.deb ... 170s Unpacking libtype-tiny-xs-perl:armhf (0.025-2build1) ... 170s Selecting previously unselected package liburi-perl. 170s Preparing to unpack .../132-liburi-perl_5.30-1_all.deb ... 170s Unpacking liburi-perl (5.30-1) ... 170s Selecting previously unselected package liburi-nested-perl. 170s Preparing to unpack .../133-liburi-nested-perl_0.10-4_all.deb ... 170s Unpacking liburi-nested-perl (0.10-4) ... 170s Selecting previously unselected package liburi-db-perl. 170s Preparing to unpack .../134-liburi-db-perl_0.23-1_all.deb ... 170s Unpacking liburi-db-perl (0.23-1) ... 170s Selecting previously unselected package postgresql-client-common. 170s Preparing to unpack .../135-postgresql-client-common_277_all.deb ... 170s Unpacking postgresql-client-common (277) ... 170s Selecting previously unselected package postgresql-client-17. 170s Preparing to unpack .../136-postgresql-client-17_17.4-1_armhf.deb ... 170s Unpacking postgresql-client-17 (17.4-1) ... 170s Selecting previously unselected package postgresql-client. 170s Preparing to unpack .../137-postgresql-client_17+277_all.deb ... 170s Unpacking postgresql-client (17+277) ... 170s Selecting previously unselected package libdatetime-locale-perl. 170s Preparing to unpack .../138-libdatetime-locale-perl_1%3a1.41-1_all.deb ... 170s Unpacking libdatetime-locale-perl (1:1.41-1) ... 170s Selecting previously unselected package libdatetime-timezone-perl. 171s Preparing to unpack .../139-libdatetime-timezone-perl_1%3a2.64-1+2025a_all.deb ... 171s Unpacking libdatetime-timezone-perl (1:2.64-1+2025a) ... 171s Selecting previously unselected package libdatetime-perl. 171s Preparing to unpack .../140-libdatetime-perl_2%3a1.65-1build3_armhf.deb ... 171s Unpacking libdatetime-perl (2:1.65-1build3) ... 171s Selecting previously unselected package libipc-run3-perl. 171s Preparing to unpack .../141-libipc-run3-perl_0.049-1_all.deb ... 171s Unpacking libipc-run3-perl (0.049-1) ... 171s Selecting previously unselected package sqlite3. 171s Preparing to unpack .../142-sqlite3_3.46.1-3_armhf.deb ... 171s Unpacking sqlite3 (3.46.1-3) ... 171s Selecting previously unselected package sqitch. 171s Preparing to unpack .../143-sqitch_1.5.0-1_all.deb ... 171s Unpacking sqitch (1.5.0-1) ... 171s Selecting previously unselected package libtest-mockmodule-perl. 171s Preparing to unpack .../144-libtest-mockmodule-perl_0.178.0-1_all.deb ... 171s Unpacking libtest-mockmodule-perl (0.178.0-1) ... 171s Selecting previously unselected package pkg-perl-autopkgtest. 171s Preparing to unpack .../145-pkg-perl-autopkgtest_0.82_all.deb ... 171s Unpacking pkg-perl-autopkgtest (0.82) ... 171s Setting up postgresql-client-common (277) ... 171s Setting up libfile-which-perl (1.27-2) ... 171s Setting up libclass-inspector-perl (1.36-3) ... 171s Setting up libdynaloader-functions-perl (0.004-1) ... 171s Setting up libtest-deep-perl (1.204-1) ... 171s Setting up libclass-method-modifiers-perl (2.15-1) ... 171s Setting up libpath-class-perl (0.37-4) ... 171s Setting up libclone-perl:armhf (0.47-1) ... 171s Setting up libalgorithm-diff-perl (1.201-1) ... 171s Setting up libarchive-zip-perl (1.68-1) ... 171s Setting up libsub-identify-perl (0.14-3build4) ... 171s Setting up libtest-file-perl (1.994-1) ... 171s Setting up libdebhelper-perl (13.24.1ubuntu2) ... 171s Setting up libalgorithm-backoff-perl (0.010-1) ... 171s Setting up libtry-tiny-perl (0.32-1) ... 171s Setting up libpq5:armhf (17.4-1) ... 171s Setting up linux-libc-dev:armhf (6.14.0-15.15) ... 171s Setting up m4 (1.4.19-7) ... 171s Setting up libclone-choose-perl (0.010-2) ... 171s Setting up libclass-singleton-perl (1.6-2) ... 171s Setting up libencode-locale-perl (1.05-3) ... 171s Setting up libxstring-perl:armhf (0.005-2build4) ... 171s Setting up libgomp1:armhf (15-20250404-0ubuntu1) ... 171s Setting up libtest-nowarnings-perl (1.06-2) ... 171s Setting up libstring-shellquote-perl (1.04-3) ... 171s Setting up libsub-install-perl (0.929-1) ... 171s Setting up libmodule-build-perl (0.423400-2) ... 171s Setting up libdw1t64:armhf (0.192-4ubuntu1) ... 171s Setting up libuniversal-isa-perl (1.20171012-3) ... 171s Setting up autotools-dev (20220109.1) ... 171s Setting up libclass-data-inheritable-perl (0.10-1) ... 171s Setting up libalgorithm-c3-perl (0.11-2) ... 171s Setting up rpcsvc-proto (1.4.2-0ubuntu7) ... 171s Setting up libtext-diff-perl (1.45-2) ... 171s Setting up libipc-system-simple-perl (1.30-2) ... 171s Setting up libperlio-utf8-strict-perl (0.010-1build4) ... 171s Setting up libmpc3:armhf (1.3.1-1build2) ... 171s Setting up libvariable-magic-perl (0.64-1build1) ... 171s Setting up libpod-parser-perl (1.67-1) ... 171s Setting up autopoint (0.23.1-1) ... 171s Setting up libb-hooks-op-check-perl:armhf (0.22-3build2) ... 171s Setting up liblist-moreutils-xs-perl (0.430-4build1) ... 171s Setting up libparams-util-perl (1.102-3build1) ... 171s Setting up autoconf (2.72-3ubuntu1) ... 171s Setting up libsub-exporter-progressive-perl (0.001013-3) ... 171s Setting up libcapture-tiny-perl (0.50-1) ... 171s Setting up libreturn-multilevel-perl (0.08-1) ... 171s Setting up libubsan1:armhf (15-20250404-0ubuntu1) ... 171s Setting up libsub-name-perl:armhf (0.28-1) ... 171s Setting up libtype-tiny-xs-perl:armhf (0.025-2build1) ... 171s Setting up dwz (0.15-1build6) ... 171s Setting up libcrypt-dev:armhf (1:4.4.38-1) ... 171s Setting up libasan8:armhf (15-20250404-0ubuntu1) ... 171s Setting up librole-tiny-perl (2.002004-1) ... 171s Setting up libintl-perl (1.35-1) ... 171s Setting up debugedit (1:5.1-2) ... 171s Setting up libipc-run3-perl (0.049-1) ... 171s Setting up libfile-sharedir-perl (1.118-3) ... 171s Setting up libsub-uplevel-perl (0.2800-3) ... 171s Setting up libsub-quote-perl (2.006008-1ubuntu1) ... 171s Setting up libdevel-stacktrace-perl (2.0500-1) ... 171s Setting up libclass-xsaccessor-perl (1.19-4build6) ... 171s Setting up libtemplate-tiny-perl (1.14-2) ... 171s Setting up libexporter-tiny-perl (1.006002-1) ... 171s Setting up libuniversal-can-perl (1.20140328-3) ... 171s Setting up libgcc-14-dev:armhf (14.2.0-19ubuntu2) ... 171s Setting up libterm-readkey-perl (2.38-2build5) ... 171s Setting up libisl23:armhf (0.27-1) ... 171s Setting up libtest-dir-perl (1.16-3) ... 171s Setting up libc-dev-bin (2.41-6ubuntu1) ... 171s Setting up libcc1-0:armhf (15-20250404-0ubuntu1) ... 171s Setting up liburi-perl (5.30-1) ... 171s Setting up sqlite3 (3.46.1-3) ... 171s Setting up libappconfig-perl (1.71-2.3) ... 171s Setting up libdbi-perl:armhf (1.647-1) ... 171s Setting up dctrl-tools (2.24-3build3) ... 171s Setting up autodep8 (0.28+nmu1ubuntu1) ... 171s Setting up cpp-14-arm-linux-gnueabihf (14.2.0-19ubuntu2) ... 171s Setting up automake (1:1.17-3ubuntu1) ... 171s update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode 171s Setting up libfile-stripnondeterminism-perl (1.14.1-2) ... 171s Setting up libtest-mockobject-perl (1.20200122-4) ... 171s Setting up libio-pager-perl (2.10-1) ... 171s Setting up libsuper-perl (1.20190531-1) ... 171s Setting up gettext (0.23.1-1) ... 171s Setting up libtest-mockmodule-perl (0.178.0-1) ... 171s Setting up libtest-exit-perl (0.11-2) ... 171s Setting up postgresql-client-17 (17.4-1) ... 172s update-alternatives: using /usr/share/postgresql/17/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 172s Setting up liblist-moreutils-perl (0.430-2) ... 172s Setting up libtest-warn-perl (0.37-2) ... 172s Setting up libhash-merge-perl (0.302-1) ... 172s Setting up libtype-tiny-perl (2.004000-1) ... 172s Setting up libtest-file-contents-perl (0.242-1) ... 172s Setting up liburi-nested-perl (0.10-4) ... 172s Setting up gcc-14-arm-linux-gnueabihf (14.2.0-19ubuntu2) ... 172s Setting up libdbd-pg-perl (3.18.0-1build4) ... 172s Setting up libexception-class-perl (1.45-1) ... 172s Setting up libclass-c3-perl (0.35-2) ... 172s Setting up libdevel-callchecker-perl:armhf (0.009-1build1) ... 172s Setting up intltool-debian (0.35.0+20060710.6) ... 172s Setting up libtest-exception-perl (0.43-3) ... 172s Setting up liburi-db-perl (0.23-1) ... 172s Setting up libdata-optlist-perl (0.114-1) ... 172s Setting up pkg-perl-autopkgtest (0.82) ... 172s Setting up libtemplate-perl (2.27-1build11) ... 172s Setting up cpp-14 (14.2.0-19ubuntu2) ... 172s Setting up dh-strip-nondeterminism (1.14.1-2) ... 172s Setting up libc6-dev:armhf (2.41-6ubuntu1) ... 172s Setting up libdbd-sqlite3-perl:armhf (1.76-1) ... 172s Setting up libmro-compat-perl (0.15-2) ... 172s Setting up libstdc++-14-dev:armhf (14.2.0-19ubuntu2) ... 172s Setting up cpp-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 172s Setting up libsub-exporter-perl (0.990-1) ... 172s Setting up libeval-closure-perl (0.14-3) ... 172s Setting up gcc-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 172s Setting up g++-14-arm-linux-gnueabihf (14.2.0-19ubuntu2) ... 172s Setting up libparams-validationcompiler-perl (0.31-1) ... 172s Setting up postgresql-client (17+277) ... 172s Setting up po-debconf (1.0.21+nmu1) ... 172s Setting up libparams-classify-perl:armhf (0.015-2build6) ... 172s Setting up gcc-14 (14.2.0-19ubuntu2) ... 172s Setting up libmodule-runtime-perl (0.016-2) ... 172s Setting up libstring-formatter-perl (1.235-1) ... 172s Setting up cpp (4:14.2.0-1ubuntu1) ... 172s Setting up g++-14 (14.2.0-19ubuntu2) ... 172s Setting up g++-arm-linux-gnueabihf (4:14.2.0-1ubuntu1) ... 172s Setting up libtool (2.5.4-4) ... 172s Setting up libmodule-implementation-perl (0.09-2) ... 172s Setting up libpackage-stash-perl (0.40-1) ... 172s Setting up libimport-into-perl (1.002005-2) ... 172s Setting up libmoo-perl (2.005005-1) ... 172s Setting up gcc (4:14.2.0-1ubuntu1) ... 172s Setting up dh-autoreconf (20) ... 172s Setting up libspecio-perl (0.50-1) ... 172s Setting up g++ (4:14.2.0-1ubuntu1) ... 172s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 172s Setting up build-essential (12.12ubuntu1) ... 172s Setting up libmoox-types-mooselike-perl (0.29-2) ... 172s Setting up libb-hooks-endofscope-perl (0.28-1) ... 172s Setting up libconfig-gitlike-perl (1.18-2) ... 172s Setting up libthrowable-perl (1.001-2) ... 172s Setting up debhelper (13.24.1ubuntu2) ... 172s Setting up libnamespace-clean-perl (0.27-2) ... 172s Setting up libnamespace-autoclean-perl (0.31-1) ... 172s Setting up libdatetime-locale-perl (1:1.41-1) ... 172s Setting up libdatetime-timezone-perl (1:2.64-1+2025a) ... 172s Setting up libdatetime-perl (2:1.65-1build3) ... 172s Setting up sqitch (1.5.0-1) ... 172s Processing triggers for libc-bin (2.41-6ubuntu1) ... 172s Processing triggers for man-db (2.13.0-1) ... 174s Processing triggers for install-info (7.1.1-1) ... 182s autopkgtest [15:19:20]: test autodep8-perl-build-deps: /usr/share/pkg-perl-autopkgtest/runner build-deps 182s autopkgtest [15:19:20]: test autodep8-perl-build-deps: [----------------------- 185s t/add.t ............. 185s 1..243 185s ok 1 - Load a sqitch sqitch object 185s ok 2 - 'add command' isa 'App::Sqitch::Command::add' 185s ok 3 - App::Sqitch::Command::add->can(...) 185s ok 4 - App::Sqitch::Command::add does ContextCommand 185s ok 5 - Options should be set up 185s ok 6 - Should parse options 185s ok 7 - Options should not conflict with core options 185s ok 8 - Should have default configuration with no config or opts 185s ok 9 - Should have get requires and conflicts options 185s ok 10 - Should set up template directory option 185s ok 11 - Should set up change name option 185s ok 12 - Should die if --template-directory does not exist 185s ok 13 - Missing directory ident should be "add" 185s ok 14 - Missing directory error message should be correct 185s ok 15 - Should die if --template-directory does is not a dir 185s ok 16 - In alid directory ident should be "add" 185s ok 17 - Invalid directory error message should be correct 185s ok 18 - Should set up template name option 185s ok 19 - Should have get template options 185s ok 20 - Variables should by default not be loaded from config 185s ok 21 - --set should be merged with config variables 185s ok 22 - --set should be override config variables 185s ok 23 - Requires should be an arrayref 185s ok 24 - Conflicts should be an arrayref 185s ok 25 - Notes should be an arrayref 185s ok 26 - Varibles should be a hashref 185s ok 27 - Default dir should be undef 185s ok 28 - Default temlate_name should be undef 185s ok 29 - Default with_scripts should be all true 185s ok 30 - Default templates should be empty 185s ok 31 - '_check_script' isa 'CODE' 185s ok 32 - _check_script should be okay with script 185s ok 33 - _check_script should die on nonexistent file 185s ok 34 - Nonexistent file ident should be "add" 185s ok 35 - Nonexistent file error message should be correct 185s ok 36 - _check_script should die on directory 185s ok 37 - Directory error ident should be "add" 185s ok 38 - Directory error message should be correct 185s ok 39 - Load another sqitch sqitch object 185s ok 40 - Create add with template config 185s ok 41 - Should load the config templates 185s ok 42 - Add object with template directory 185s ok 43 - Template name should be undef 185s ok 44 - Should find all pg templates in directory 185s ok 45 - Should find all sqlite templates in directory 185s ok 46 - Add object with template name 185s ok 47 - Should find all templates in user directory 185s ok 48 - Add object with another template name 185s ok 49 - Should find all templates in systsem directory 185s ok 50 - Add object with temporary template directory 185s ok 51 - Template dir files should override others 185s ok 52 - Add object with configured templates 185s ok 53 - Template dir files should override others 185s ok 54 - Add object requiring deploy template 185s ok 55 - Should get error for missing deploy template 185s ok 56 - Missing deploy template ident should be "add" 185s ok 57 - Missing deploy template message should be correct 185s ok 58 - Add object requiring revert template 185s ok 59 - Should get error for missing revert template 185s ok 60 - Missing revert template ident should be "add" 185s ok 61 - Missing revert template message should be correct 185s ok 62 - Add object requiring verify template 185s ok 63 - Should get error for missing verify template 185s ok 64 - Missing verify template ident should be "add" 185s ok 65 - Missing verify template message should be correct 185s ok 66 - _slurp() should load a reference to file contents 185s ok 67 - test-add/sqitch_change_test.sql does not exist 185s ok 68 - Create add command 185s ok 69 - Write out a script 185s ok 70 - test-add/sqitch_change_test.sql exists 185s ok 71 - The template should have been evaluated 185s ok 72 - Info should show $out created 185s ok 73 - Create add cmd with requires and conflicts 185s ok 74 - Write out a script with requires and conflicts 185s ok 75 - Info should show $out created 185s ok 76 - The template should have been evaluated with requires and conflicts 185s ok 77 - Info should show $out created 185s ok 78 - Should have warned about double extension 185s ok 79 - test-add/sqitch_change_test.sql does not exist 185s ok 80 - Create add command 185s ok 81 - Write out a script 185s ok 82 - test-add/sqitch_change_test.sql exists 185s ok 83 - The template should have been evaluated 185s ok 84 - Info should show $out created 185s ok 85 - Create add cmd with requires and conflicts 185s ok 86 - Write out a script with requires and conflicts 185s ok 87 - Info should show $out created 185s ok 88 - The template should have been evaluated with requires and conflicts 185s ok 89 - Info should show $out created 185s ok 90 - Should have warned about double extension 185s ok 91 - Create add command 185s ok 92 - Should get an exception on TT syntax error 185s ok 93 - TT exception ident should be "add" 185s ok 94 - TT exception message should include the original error message 185s ok 95 - Create another add with template_directory 185s ok 96 - Should not have "widgets_table" in plan 185s ok 97 - dir test-add/deploy does not exist 185s ok 98 - dir test-add/revert does not exist 185s ok 99 - dir test-add/verify does not exist 185s ok 100 - Add change "widgets_table" 185s ok 101 - 'Added change' isa 'App::Sqitch::Plan::Change' 185s ok 102 - Change name should be set 185s ok 103 - It should have no requires 185s ok 104 - It should have no conflicts 185s ok 105 - It should have prompted for a note 185s ok 106 - test-add/deploy/widgets_table.sql exists 185s ok 107 - test-add/revert/widgets_table.sql exists 185s ok 108 - test-add/verify/widgets_table.sql exists 185s ok 109 - Deploy script should look right 185s ok 110 - Revert script should look right 185s ok 111 - Verify script should look right 185s ok 112 - Info should have reported file creation 185s ok 113 - Create another add with template_directory and no verify script 185s ok 114 - test-add/deploy/foo_table.sql exists 185s ok 115 - test-add/revert/foo_table.sql does not exist 185s ok 116 - test-add/ferify/foo_table.sql does not exist 185s ok 117 - Should not have "foo_table" in plan 185s ok 118 - Add change "foo_table" 185s ok 119 - test-add/deploy/foo_table.sql exists 185s ok 120 - test-add/revert/foo_table.sql exists 185s ok 121 - test-add/ferify/foo_table.sql does not exist 185s ok 122 - '"foo_table" change' isa 'App::Sqitch::Plan::Change' 185s ok 123 - It should have prompted for a note 185s ok 124 - Change name should be set to "foo_table" 185s ok 125 - It should have requires 185s ok 126 - It should have conflicts 185s ok 127 - It should have a comment 185s ok 128 - Info should report skipping file and include dependencies 185s ok 129 - Should get an error on unkonwn argument 185s ok 130 - Unkown argument error ident should be "add" 185s ok 131 - Unknown argument error message should be correct 185s ok 132 - Should get an error for conflict with target name 185s ok 133 - Conflicting target error ident should be "add" 185s ok 134 - Conflicting target error message should be correct 185s ok 135 - No name arg or option should yield usage 185s ok 136 - No args should be passed to usage 185s ok 137 - No name arg or option should yield usage 185s ok 138 - No args should be passed to usage 185s ok 139 - No name arg or option should yield usage 185s ok 140 - No args should be passed to usage 185s ok 141 - Create another add with open_editor 185s ok 142 - Should not have "open_editor" in plan 185s ok 143 - Add change "open_editor" 185s ok 144 - 'Added change' isa 'App::Sqitch::Plan::Change' 185s ok 145 - Change name should be set 185s ok 146 - It should have prompted to edit sql files 185s ok 147 - test-add/deploy/open_editor.sql exists 185s ok 148 - test-add/revert/open_editor.sql exists 185s ok 149 - test-add/verify/open_editor.sql exists 185s ok 150 - Deploy script should look right 185s ok 151 - Revert script should look right 185s ok 152 - Verify script should look right 185s ok 153 - Info should have reported file creation 185s ok 154 - Create another add with custom script and no verify 185s ok 155 - Add change "custom_script" 185s ok 156 - 'Added change' isa 'App::Sqitch::Plan::Change' 185s ok 157 - Change name should be set 185s ok 158 - It should have no requires 185s ok 159 - It should have no conflicts 185s ok 160 - It should have prompted for a note 185s ok 161 - test-add/deploy/custom_script.sql exists 185s ok 162 - test-add/revert/custom_script.sql exists 185s ok 163 - test-add/whatev/custom_script.sql exists 185s ok 164 - test-add/verify/custom_script.sql does not exist 185s ok 165 - Deploy script should look right 185s ok 166 - Revert script should look right 185s ok 167 - Whatev script should look right 185s ok 168 - Whatev script should be based on the MySQL verify script 185s ok 169 - Info should have reported file creation 185s ok 170 - 'Added change in reloaded plan' isa 'App::Sqitch::Plan::Change' 185s ok 171 - Create another add with custom multiplan config 185s ok 172 - Should have three targets 185s ok 173 - Add change "widgets" to all plans 185s ok 174 - Should have "widgets" in pg plan 185s ok 175 - Should have "widgets" in sqlite plan 185s ok 176 - Should have "widgets" in mysql plan 185s ok 177 - pg/deploy/widgets.sql exists 185s ok 178 - pg/revert/widgets.sql exists 185s ok 179 - pg/verify/widgets.sql exists 185s ok 180 - sqlite/deploy/widgets.sql exists 185s ok 181 - sqlite/revert/widgets.sql exists 185s ok 182 - sqlite/verify/widgets.sql exists 185s ok 183 - mysql/deploy/widgets.sql exists 185s ok 184 - mysql/revert/widgets.sql exists 185s ok 185 - mysql/verify/widgets.sql exists 185s ok 186 - Info should have reported all script creations and plan updates 185s ok 187 - Should get an error for --all and a target arg 185s ok 188 - Mixed arguments error ident should be "add" 185s ok 189 - Mixed arguments error message should be correct 185s ok 190 - Create yet another add with custom multiplan config 185s ok 191 - Add change "choc" to the sqlite plan 185s ok 192 - Should still have three targets 185s ok 193 - Should not have "choc" in the pg plan 185s ok 194 - Should not have "choc" in the mysql plan 185s ok 195 - Should have "choc" in the sqlite plan 185s ok 196 - sqlite/deploy/choc.sql exists 185s ok 197 - sqlite/revert/choc.sql exists 185s ok 198 - sqlite/verify/choc.sql exists 185s ok 199 - pg/deploy/choc.sql does not exist 185s ok 200 - pg/revert/choc.sql does not exist 185s ok 201 - pg/verify/choc.sql does not exist 185s ok 202 - mysql/deploy/choc.sql does not exist 185s ok 203 - mysql/revert/choc.sql does not exist 185s ok 204 - mysql/verify/choc.sql does not exist 185s ok 205 - Info should have reported sqlite choc script creations and plan updates 185s ok 206 - Create another add with single plan, multi-target config 185s ok 207 - Should have two targets 185s ok 208 - Targets should use the same plan file 185s ok 209 - Add change "widgets" to all plans 185s ok 210 - Should have "widgets" in the plan 185s ok 211 - pg/deploy/widgets.sql exists 185s ok 212 - pg/revert/widgets.sql exists 185s ok 213 - pg/verify/widgets.sql exists 185s ok 214 - sqlite/deploy/widgets.sql exists 185s ok 215 - sqlite/revert/widgets.sql exists 185s ok 216 - sqlite/verify/widgets.sql exists 185s ok 217 - Should have the proper files listed in the note promt 185s ok 218 - Info should have reported all script creations and one plan update 185s ok 219 - Create another add with two targets, one top dir 185s ok 220 - Should have two targets 185s ok 221 - First target plan should be in pg.plan 185s ok 222 - Second target plan should be in sqlite.plan 185s ok 223 - Add change "widgets" to all plans 185s ok 224 - Should have "widgets" in pg plan 185s ok 225 - Should have "widgets" in sqlite plan 185s ok 226 - deploy/widgets.sql exists 185s ok 227 - revert/widgets.sql exists 185s ok 228 - verify/widgets.sql exists 185s ok 229 - Should have the proper files listed in the note promt 185s ok 230 - Info should have script creations and skips 185s ok 231 - App::Sqitch::Command::add->can(...) 185s ok 232 - Create a App::Sqitch::Command::add object again 185s ok 233 - Base _parse_opts should return the script config 185s ok 234 - _parse_opts() hould use options spec 185s ok 235 - _parse_opts() should parse options spec 185s ok 236 - Args array should be cleared of options 185s ok 237 - _parse_opts() should parse --set options 185s ok 238 - Args array should be cleared of options 185s ok 239 - _parse_opts() should parse --set options with repeting key 185s ok 240 - Args array should be cleared of options 185s ok 241 - _parse_opts() should parse --with, --without, and --user 185s ok 242 - Args array should be cleared of options 185s ok 243 - no warnings 185s ok 185s t/base.t ............ 185s 1..224 185s ok 1 - use App::Sqitch; 185s ok 2 - App::Sqitch->can(...) 185s ok 3 - 'A configured object' isa 'App::Sqitch' 185s ok 4 - Configured verbosity should override default 185s ok 5 - 'A configured object' isa 'App::Sqitch' 185s ok 6 - Verbosity option should override configuration 185s ok 7 - 'A new object' isa 'App::Sqitch' 185s ok 8 - Default verbosity should be 1 185s ok 9 - Should have default sysuser from system 185s ok 10 - Default user_name should be set from system 185s ok 11 - Default user_email should be set from system 185s ok 12 - 'Another new object' isa 'App::Sqitch' 185s ok 13 - SQITCH_ORIG_SYSUER should override system username 185s ok 14 - SQITCH_ORIG_FULLNAME should override system user full name 185s ok 15 - SQITCH_ORIG_EMAIL should override system-derived email 185s ok 16 - 'Another new object' isa 'App::Sqitch' 185s ok 17 - SQITCH_FULLNAME should override originating host user full name 185s ok 18 - SQITCH_EMAIL should override originating host email 185s ok 19 - Should get 0 from go() 185s ok 20 - 'Command' isa 'App::Sqitch::Command::help' 185s ok 21 - Extra args should be passed to execute 185s ok 22 - An object of class 'App::Sqitch' isa 'App::Sqitch' 185s ok 23 - Get the Sqitch config 185s ok 24 - Should have local config overriding user 185s ok 25 - Should fall back on user config 185s ok 26 - Should have read user name from configuration 185s ok 27 - Should have read user email from configuration 185s ok 28 - Should have no options 185s ok 29 - Should get 0 from go() again 185s ok 30 - An object of class 'App::Sqitch' isa 'App::Sqitch' 185s ok 31 - Should have read user name from environment 185s ok 32 - Should have read user email from environment 185s ok 33 - Go should return 2 on Sqitch exception 185s ok 34 - The error should have been vented 185s ok 35 - Should have no info output 185s ok 36 - Should have no emitted output 185s ok 37 - The stack trace should have been sent to trace 185s ok 38 - Go should return 2 on next Sqitch exception 185s ok 39 - The next error should have been vented 185s ok 40 - Should have no info output 185s ok 41 - Should have no emitted output 185s ok 42 - The previous exceptin and stack trace should have been sent to trace 185s ok 43 - Go should return exitval on another exception 185s ok 44 - Both the message and the trace should have been vented 185s ok 45 - Should still have no info output 185s ok 46 - Should still have no emitted output 185s ok 47 - Nothing should have been traced 185s ok 48 - Go should return exitval on wrapped exception 185s ok 49 - Should have vented the message, previous exception, and trace 185s ok 50 - Should still have no info output 185s ok 51 - Should still have no emitted output 185s ok 52 - Nothing should have been traced 185s ok 53 - Go should return exitval on non-fatal exception 185s ok 54 - Should not have vented 185s ok 55 - Should have sent the message to message 185s ok 56 - Should still have no emitted output 185s ok 57 - Nothing should have been traced 185s ok 58 - Go should return 2 on a third Sqitch exception 185s ok 59 - Should have one thing vented 185s ok 60 - And it should include our message 185s ok 61 - Should again have no info output 185s ok 62 - Should still have no emitted output 185s ok 63 - Nothing should have been traced 185s ok 64 - editor should use $EDITOR 185s ok 65 - editor should prefer $VISUAL over $EDITOR 185s ok 66 - editor should prefer core.editor over $VISUAL 185s ok 67 - editor should prefer $SQITCH_EDITOR over $VISUAL 185s ok 68 - editor should use use parameter regardless of environment 185s ok 69 - editor fall back on vi when not Windows 185s ok 70 - pager program should be picked up from PAGER when SQITCH_PAGER and core.pager are not set 185s ok 71 - 'morez pager' isa 'IO::Handle' 185s ok 72 - Should be able to page 185s ok 73 - Should have paged with say() 185s ok 74 - Should be able to page literal 185s ok 75 - Should have paged with print() 185s ok 76 - SQITCH_PAGER should take precedence over PAGER 185s ok 77 - 'less -myway' isa 'IO::Handle' 185s ok 78 - `core.pager' setting should take precedence over PAGER when SQITCH_PAGER is not set. 185s ok 79 - 'morezz pager' isa 'IO::Handle' 185s ok 80 - SQITCH_PAGER should take precedence over both PAGER and the `core.pager' setting. 185s ok 81 - 'less -rules' isa 'IO::Handle' 185s ok 82 - trace should work 185s ok 83 - Should get no trace output for verbosity 2 185s ok 84 - trace_literal should work 185s ok 85 - Should get no trace_literal output for verbosity 2 185s ok 86 - debug should work 185s ok 87 - Should get no debug output for verbosity 1 185s ok 88 - debug_literal should work 185s ok 89 - Should get no debug_literal output for verbosity 1 185s ok 90 - info should work 185s ok 91 - Should get no info output for verbosity 0 185s ok 92 - info_literal should work 185s ok 93 - Should get no info_literal output for verbosity 0 185s ok 94 - comment should work 185s ok 95 - comment should work with verbosity 0 185s ok 96 - comment_literal should work 185s ok 97 - comment_literal should work with verbosity 0 185s ok 98 - emit should work 185s ok 99 - emit should work even with verbosity 0 185s ok 100 - emit_literal should work 185s ok 101 - emit_literal should work even with verbosity 0 185s ok 102 - warn should work 185s ok 103 - warn_literal should work 185s ok 104 - vent should work 185s ok 105 - vent_literal should work 185s ok 106 - App::Sqitch->can('run') 185s ok 107 - Should get success back from run echo 185s ok 108 - The echo script should have run 185s ok 109 - Nothing should have gone to STDERR 185s ok 110 - run die should, well, die 185s ok 111 - Error ident should be "ipc" 185s ok 112 - The error message should be from the exit error 185s ok 113 - The die script should have its STDOUT ummolested 185s ok 114 - The die script should have its STDERR unmolested 185s ok 115 - App::Sqitch->can('shell') 185s ok 116 - Should get success back from shell echo 185s ok 117 - The echo script should have shell 185s ok 118 - Nothing should have gone to STDERR 185s ok 119 - shell die should, well, die 185s ok 120 - Error ident should be "ipc" 185s ok 121 - The error message should be from the exit error 185s ok 122 - The die script should have its STDOUT ummolested 185s ok 123 - The die script should have its STDERR unmolested 185s ok 124 - quote_shell should work 185s ok 125 - App::Sqitch->can('capture') 185s ok 126 - The echo script output should have been returned 185s ok 127 - Should get an error if the command errors out 185s ok 128 - Error ident should be "ipc" 185s ok 129 - The error message should be from the exit error 185s ok 130 - The die script STDERR should have passed through 185s ok 131 - App::Sqitch->can('probe') 185s ok 132 - Should have just chomped first line of output 185s ok 133 - App::Sqitch->can('spool') 185s ok 134 - Spool to read.pl 185s ok 135 - Data should have been sent to STDOUT by read.pl 185s ok 136 - Spool to read.pl 185s ok 137 - All data should have been sent to STDOUT by read.pl 185s ok 138 - Should get error when die.pl dies 185s ok 139 - Error ident should be "io" 185s ok 140 - The error message should be one of the I/O messages 185s ok 141 - The die script STDERR should have passed through 185s ok 142 - Should get an error for a bad command 185s ok 143 - Error ident should be "io" 185s ok 144 - Error message should be about inability to exec 185s ok 145 - Should get error for no prompt message 185s ok 146 - No prompt ident should be "DEV" 185s ok 147 - No prompt error message should be correct 185s ok 148 - Prompt should return input 185s ok 149 - Prompt should prompt 185s ok 150 - Prompt with default should return input 185s ok 151 - Prompt should prompt with default 185s ok 152 - Prompt with undef default should return input 185s ok 153 - Prompt should prompt with bracket for undef default 185s ok 154 - Prompt should return default for undef input 185s ok 155 - Prompt should show default when undef input 185s ok 156 - Prompt should return input for empty input 185s ok 157 - Prompt should show default when empty input 185s ok 158 - Should get error when uattended and no default 185s ok 159 - Unattended error ident should be "io" 185s ok 160 - Unattended error message should be correct 185s ok 161 - Prompt should return input 185s ok 162 - Prompt should show default as selected when unattended 185s ok 163 - Should get error for no ask_yes_no message 185s ok 164 - No ask_yes_no ident should be "DEV" 185s ok 165 - No ask_yes_no error message should be correct 185s ok 166 - ask_yes_no() should return true for "Yes" input 185s ok 167 - ask_yes_no() should prompt for "Yes" 185s ok 168 - ask_yes_no() should return true for "yes" input 185s ok 169 - ask_yes_no() should prompt for "yes" 185s ok 170 - ask_yes_no() should return true for "YES" input 185s ok 171 - ask_yes_no() should prompt for "YES" 185s ok 172 - ask_yes_no() should return true for "y" input 185s ok 173 - ask_yes_no() should prompt for "y" 185s ok 174 - ask_yes_no() should return true for "Ye" input 185s ok 175 - ask_yes_no() should prompt for "Ye" 185s ok 176 - ask_yes_no() should return false for "No" input 185s ok 177 - ask_yes_no() should prompt for "No" 185s ok 178 - ask_yes_no() should return false for "no" input 185s ok 179 - ask_yes_no() should prompt for "no" 185s ok 180 - ask_yes_no() should return false for "NO" input 185s ok 181 - ask_yes_no() should prompt for "NO" 185s ok 182 - ask_yes_no() should return false for "n" input 185s ok 183 - ask_yes_no() should prompt for "n" 185s ok 184 - ask_yes_no() should return false for "No" input 185s ok 185 - ask_yes_no() should prompt for "No" 185s ok 186 - ask_yes_no() should return true for true default 185s ok 187 - ask_yes_no() should prompt and show default "Yes" 185s ok 188 - ask_yes_no() should return false for false default 185s ok 189 - ask_yes_no() should prompt and show default "No" 185s ok 190 - Should get error for bad answers 185s ok 191 - Bad answers ident should be "IO" 185s ok 192 - Bad answers message should be correct 185s ok 193 - Should get error for no ask_y_n message 185s ok 194 - No ask_y_n ident should be "DEV" 185s ok 195 - No ask_y_n error message should be correct 185s ok 196 - Should get a deprecation warning from ask_y_n 185s ok 197 - Should get error for invalid ask_y_n default 185s ok 198 - Invalid ask_y_n default ident should be "DEV" 185s ok 199 - Invalid ask_y_n default error message should be correct 185s ok 200 - ask_y_n should return true for "y" input 185s ok 201 - ask_y_n() should prompt 185s ok 202 - ask_y_n should return false for "n" input 185s ok 203 - ask_y_n() should prompt for no 185s ok 204 - ask_y_n should return false for "N" input 185s ok 205 - ask_y_n() should prompt for no 185s ok 206 - ask_y_n should return true for "YE" input 185s ok 207 - ask_y_n() should prompt for yes 185s ok 208 - ask_y_n should return true default "Yes" 185s ok 209 - ask_y_n() should prompt and show default "Yes" 185s ok 210 - ask_y_n should return false default "No" 185s ok 211 - ask_y_n() should prompt and show default "No" 185s ok 212 - Should get error for bad answers 185s ok 213 - Bad answers ident should be "IO" 185s ok 214 - Bad answers message should be correct 185s ok 215 - _readline should work 185s ok 216 - _readline should return undef when unattended 185s ok 217 - Localied string should be valid UTF-8 185s ok 218 - Localied string should be decoded 185s ok 219 - Localied string should be valid UTF-8 185s ok 220 - Localied string should be decoded 185s ok 221 - _is_interactive should not die 185s ok 222 - _is_unattended should not die 185s ok 223 - _bn should work 185s ok 224 - no warnings 185s ok 186s t/blank.t ........... 186s 1..34 186s ok 1 - require App::Sqitch::Plan::Blank; 186s ok 2 - App::Sqitch::Plan::Blank->can(...) 186s ok 3 - An object of class 'App::Sqitch::Plan::Blank' isa 'App::Sqitch::Plan::Blank' 186s ok 4 - An object of class 'App::Sqitch::Plan::Blank' isa 'App::Sqitch::Plan::Line' 186s ok 5 - Name should format as "" 186s ok 6 - should stringify to "" 186s ok 7 - Create tag with more stuff 186s ok 8 - It should stringify correctly 186s ok 9 - Create a blank with newlines and backslashes in the note 186s ok 10 - The newlines and backslashe should not be escaped 186s ok 11 - The newlines and backslahs should be escaped by format_note 186s ok 12 - Create a blank with escapes 186s ok 13 - Note shoud be unescaped 186s ok 14 - Should trim Leading newlines from note 186s ok 15 - Should trim Leading line feeds from note 186s ok 16 - Should trim Trailing newlines from note 186s ok 17 - Should trim trailing line feeds from note 186s ok 18 - Should trim Leading and trailing vertical space from note 186s ok 19 - Should trim Leading and trailing newlines and spaces from note 186s ok 20 - Should have localized not prompt 186s ok 21 - Shell command should start with editor 186s ok 22 - Temp file should exist 186s ok 23 - Temp file contents should include prompt 186s ok 24 - Should get exception for no note text 186s ok 25 - No note error ident should be "plan" 186s ok 26 - No note error message should be correct 186s ok 27 - Exit val should be 1 186s ok 28 - Shell command should start with editor 186s ok 29 - Temp file should exist 186s ok 30 - Temp file contents should include prompt 186s ok 31 - Request note 186s ok 32 - Should have the edited note 186s ok 33 - The request should not prompt again 186s ok 34 - no warnings 186s ok 187s t/bundle.t .......... 187s 1..301 187s ok 1 - Load a sqitch object 187s ok 2 - 'bundle command' isa 'App::Sqitch::Command::bundle' 187s ok 3 - App::Sqitch::Command::bundle->can(...) 187s ok 4 - App::Sqitch::Command::bundle does ContextCommand 187s ok 5 - Should have dest_dir option 187s ok 6 - Should parse options 187s ok 7 - Options should not conflict with core options 187s ok 8 - Default dest_dir should be bundle/ 187s ok 9 - Should have dest top dir 187s ok 10 - Default config should be empty 187s ok 11 - --dest_dir should be converted to a path object by configure() 187s ok 12 - --from and --to should be passed through configure 187s ok 13 - Load a sqitch object with top_dir 187s ok 14 - bundle.dest_dir config should be converted to a path object by configure() 187s ok 15 - 'another bundle command' isa 'App::Sqitch::Command::bundle' 187s ok 16 - dest_dir should be "_build/sql" 187s ok 17 - Dest top dir should be _build/sql/sql/ 187s ok 18 - Dest deploy dir should be _build/sql/sql/deploy 187s ok 19 - Dest revert dir should be _build/sql/sql/revert 187s ok 20 - Dest verify dir should be _build/sql/sql/verify 187s ok 21 - Load a sqitch object with engine top_dir 187s ok 22 - 'engine bundle command' isa 'App::Sqitch::Command::bundle' 187s ok 23 - dest_dir should again be "_build/sql" 187s ok 24 - Dest deploy dir should be _build/sql/engine/deploy 187s ok 25 - Dest revert dir should be _build/sql/engine/revert 187s ok 26 - Dest verify dir should be _build/sql/engine/verify 187s ok 27 - File delete.me/deploy/roles.sql should not exist 187s ok 28 - Copy sql/deploy/roles.sql to delete.me/deploy/roles.sql 187s ok 29 - File delete.me/deploy/roles.sql should now exist 187s ok 30 - delete.me/deploy/roles.sql and sql/deploy/roles.sql contents are the same 187s ok 31 - The mkdir and copy info should have been output 187s ok 32 - Copy sql/deploy/roles.sql to delete.me/deploy/roles.sql again 187s ok 33 - File delete.me/deploy/roles.sql should still exist 187s ok 34 - delete.me/deploy/roles.sql and sql/deploy/roles.sql contents are the same 187s ok 35 - Should have no debugging output 187s ok 36 - Copy sql/deploy/roles.sql to old delete.me/deploy/roles.sql 187s ok 37 - File delete.me/deploy/roles.sql should still be there 187s ok 38 - delete.me/deploy/roles.sql and sql/deploy/roles.sql contents are the same 187s ok 39 - Only copy message should again have been emitted 187s ok 40 - Copy sql/deploy/users.sql to delete.me/deploy/roles.sql 187s ok 41 - File delete.me/deploy/roles.sql should now exist 187s ok 42 - delete.me/deploy/roles.sql and sql/deploy/users.sql contents are the same 187s ok 43 - Again only Copy message should have been emitted 187s ok 44 - Should get exception when source file does not exist 187s ok 45 - Nonexistent file error ident should be "bundle" 187s ok 46 - Nonexistent file error message should be correct 187s ok 47 - Should get exception when copy returns false 187s ok 48 - Copy fail ident should be "bundle" 187s ok 49 - Copy fail error message should be correct 187s ok 50 - _build/sql/sqitch.conf does not exist 187s ok 51 - Bundle the config file 187s ok 52 - _build/sql/sqitch.conf exists 187s ok 53 - _build/sql/sqitch.conf and sqitch.conf contents are the same 187s ok 54 - Should have config notice 187s ok 55 - _build/sql/engine/sqitch.plan does not exist 187s ok 56 - Bundle the default target plan file 187s ok 57 - _build/sql/engine/sqitch.plan exists 187s ok 58 - _build/sql/engine/sqitch.plan and engine/sqitch.plan contents are the same 187s ok 59 - Should have plan notice 187s ok 60 - '--from bundle command' isa 'App::Sqitch::Command::bundle' 187s ok 61 - From should be "widgets" 187s ok 62 - Bundle the default target plan file with from arg 187s ok 63 - Statement of the bits written should have been emitted 187s ok 64 - Plan should contain only changes from "widgets" on 187s ok 65 - '--to bundle command' isa 'App::Sqitch::Command::bundle' 187s ok 66 - To should be "users" 187s ok 67 - Bundle the default target plan file with to arg 187s ok 68 - Statement of the bits written should have been emitted 187s ok 69 - Plan should have written only "users" and its tags 187s ok 70 - _build/sql/engine/reworked/deploy/users@alpha.sql does not exist 187s ok 71 - _build/sql/engine/reworked/revert/users@alpha.sql does not exist 187s ok 72 - _build/sql/engine/deploy/widgets.sql does not exist 187s ok 73 - _build/sql/engine/revert/widgets.sql does not exist 187s ok 74 - _build/sql/engine/deploy/func/add_user.sql does not exist 187s ok 75 - _build/sql/engine/revert/func/add_user.sql does not exist 187s ok 76 - _build/sql/engine/deploy/users.sql does not exist 187s ok 77 - _build/sql/engine/revert/users.sql does not exist 187s ok 78 - 'another bundle command' isa 'App::Sqitch::Command::bundle' 187s ok 79 - Bundle default target scripts 187s ok 80 - _build/sql/engine/reworked/deploy/users@alpha.sql exists 187s ok 81 - _build/sql/engine/reworked/revert/users@alpha.sql exists 187s ok 82 - _build/sql/engine/deploy/widgets.sql exists 187s ok 83 - _build/sql/engine/revert/widgets.sql exists 187s ok 84 - _build/sql/engine/deploy/func/add_user.sql exists 187s ok 85 - _build/sql/engine/revert/func/add_user.sql exists 187s ok 86 - _build/sql/engine/deploy/users.sql exists 187s ok 87 - _build/sql/engine/revert/users.sql exists 187s ok 88 - Should have change notices 187s ok 89 - 'bundle from "widgets"' isa 'App::Sqitch::Command::bundle' 187s ok 90 - Bundle scripts 187s ok 91 - _build/sql/engine/reworked/deploy/users@alpha.sql does not exist 187s ok 92 - _build/sql/engine/reworked/revert/users@alpha.sql does not exist 187s ok 93 - _build/sql/engine/deploy/widgets.sql exists 187s ok 94 - _build/sql/engine/revert/widgets.sql exists 187s ok 95 - Should have changes only from "widets" onward in notices 187s ok 96 - 'bundle to "users"' isa 'App::Sqitch::Command::bundle' 187s ok 97 - Bundle scripts 187s ok 98 - _build/sql/engine/reworked/deploy/users@alpha.sql exists 187s ok 99 - _build/sql/engine/reworked/revert/users@alpha.sql exists 187s ok 100 - _build/sql/engine/deploy/widgets.sql does not exist 187s ok 101 - _build/sql/engine/revert/widgets.sql does not exist 187s ok 102 - Should have only "users" in change notices 187s ok 103 - Should die on nonexistent from change 187s ok 104 - Nonexistent from change ident should be "bundle" 187s ok 105 - Nonexistent from message change should be correct 187s ok 106 - Should die on nonexistent to change 187s ok 107 - Nonexistent to change ident should be "bundle" 187s ok 108 - Nonexistent to message change should be correct 187s ok 109 - _build/sql/sqitch.conf does not exist 187s ok 110 - _build/sql/engine/sqitch.plan does not exist 187s ok 111 - _build/sql/engine/reworked/deploy/users@alpha.sql does not exist 187s ok 112 - _build/sql/engine/reworked/revert/users@alpha.sql does not exist 187s ok 113 - _build/sql/engine/deploy/widgets.sql does not exist 187s ok 114 - _build/sql/engine/revert/widgets.sql does not exist 187s ok 115 - _build/sql/engine/deploy/func/add_user.sql does not exist 187s ok 116 - _build/sql/engine/revert/func/add_user.sql does not exist 187s ok 117 - _build/sql/engine/deploy/users.sql does not exist 187s ok 118 - _build/sql/engine/revert/users.sql does not exist 187s ok 119 - 'another bundle command' isa 'App::Sqitch::Command::bundle' 187s ok 120 - Execute! 187s ok 121 - _build/sql/sqitch.conf exists 187s ok 122 - _build/sql/engine/sqitch.plan exists 187s ok 123 - _build/sql/engine/reworked/deploy/users@alpha.sql exists 187s ok 124 - _build/sql/engine/reworked/revert/users@alpha.sql exists 187s ok 125 - _build/sql/engine/deploy/widgets.sql exists 187s ok 126 - _build/sql/engine/revert/widgets.sql exists 187s ok 127 - _build/sql/engine/deploy/func/add_user.sql exists 187s ok 128 - _build/sql/engine/revert/func/add_user.sql exists 187s ok 129 - _build/sql/engine/deploy/users.sql exists 187s ok 130 - _build/sql/engine/revert/users.sql exists 187s ok 131 - Should have all notices 187s ok 132 - _build/multiplan.conf does not exist 187s ok 133 - _build/sql/sqitch.plan does not exist 187s ok 134 - _build/sql/deploy/roles.sql does not exist 187s ok 135 - _build/sql/deploy/users.sql does not exist 187s ok 136 - _build/sql/verify/users.sql does not exist 187s ok 137 - _build/sql/deploy/widgets.sql does not exist 187s ok 138 - _build/engine/sqitch.plan does not exist 187s ok 139 - _build/engine/reworked/deploy/users@alpha.sql does not exist 187s ok 140 - _build/engine/reworked/revert/users@alpha.sql does not exist 187s ok 141 - _build/engine/deploy/widgets.sql does not exist 187s ok 142 - _build/engine/revert/widgets.sql does not exist 187s ok 143 - _build/engine/deploy/func/add_user.sql does not exist 187s ok 144 - _build/engine/revert/func/add_user.sql does not exist 187s ok 145 - _build/engine/deploy/users.sql does not exist 187s ok 146 - _build/engine/revert/users.sql does not exist 187s ok 147 - 'all multiplan bundle command' isa 'App::Sqitch::Command::bundle' 187s ok 148 - Execute multi-target bundle! 187s ok 149 - _build/multiplan.conf exists 187s ok 150 - _build/sql/sqitch.plan exists 187s ok 151 - _build/sql/deploy/roles.sql exists 187s ok 152 - _build/sql/deploy/users.sql exists 187s ok 153 - _build/sql/verify/users.sql exists 187s ok 154 - _build/sql/deploy/widgets.sql exists 187s ok 155 - _build/engine/sqitch.plan exists 187s ok 156 - _build/engine/reworked/deploy/users@alpha.sql exists 187s ok 157 - _build/engine/reworked/revert/users@alpha.sql exists 187s ok 158 - _build/engine/deploy/widgets.sql exists 187s ok 159 - _build/engine/revert/widgets.sql exists 187s ok 160 - _build/engine/deploy/func/add_user.sql exists 187s ok 161 - _build/engine/revert/func/add_user.sql exists 187s ok 162 - _build/engine/deploy/users.sql exists 187s ok 163 - _build/engine/revert/users.sql exists 187s ok 164 - Should have a warning about --from and -too 187s ok 165 - Should get an error for --all and a target arg 187s ok 166 - Mixed arguments error ident should be "bundle" 187s ok 167 - Mixed arguments error message should be correct 187s ok 168 - 'multiplan bundle command' isa 'App::Sqitch::Command::bundle' 187s ok 169 - Execute with no arg 187s ok 170 - _build/multiplan.conf exists 187s ok 171 - _build/engine/sqitch.plan exists 187s ok 172 - _build/engine/reworked/deploy/users@alpha.sql exists 187s ok 173 - _build/engine/reworked/revert/users@alpha.sql exists 187s ok 174 - _build/engine/deploy/widgets.sql exists 187s ok 175 - _build/engine/revert/widgets.sql exists 187s ok 176 - _build/engine/deploy/func/add_user.sql exists 187s ok 177 - _build/engine/revert/func/add_user.sql exists 187s ok 178 - _build/engine/deploy/users.sql exists 187s ok 179 - _build/engine/revert/users.sql exists 187s ok 180 - _build/sql/sqitch.plan does not exist 187s ok 181 - _build/sql/deploy/roles.sql does not exist 187s ok 182 - _build/sql/deploy/users.sql does not exist 187s ok 183 - _build/sql/verify/users.sql does not exist 187s ok 184 - _build/sql/deploy/widgets.sql does not exist 187s ok 185 - Execute with bundle.all config 187s ok 186 - _build/multiplan.conf exists 187s ok 187 - _build/engine/sqitch.plan exists 187s ok 188 - _build/engine/reworked/deploy/users@alpha.sql exists 187s ok 189 - _build/engine/reworked/revert/users@alpha.sql exists 187s ok 190 - _build/engine/deploy/widgets.sql exists 187s ok 191 - _build/engine/revert/widgets.sql exists 187s ok 192 - _build/engine/deploy/func/add_user.sql exists 187s ok 193 - _build/engine/revert/func/add_user.sql exists 187s ok 194 - _build/engine/deploy/users.sql exists 187s ok 195 - _build/engine/revert/users.sql exists 187s ok 196 - _build/sql/sqitch.plan exists 187s ok 197 - _build/sql/deploy/roles.sql exists 187s ok 198 - _build/sql/deploy/users.sql exists 187s ok 199 - _build/sql/verify/users.sql exists 187s ok 200 - _build/sql/deploy/widgets.sql exists 187s ok 201 - Execute with target arg "pg" 187s ok 202 - _build/multiplan.conf exists 187s ok 203 - _build/engine/sqitch.plan exists 187s ok 204 - _build/engine/reworked/deploy/users@alpha.sql exists 187s ok 205 - _build/engine/reworked/revert/users@alpha.sql exists 187s ok 206 - _build/engine/deploy/widgets.sql exists 187s ok 207 - _build/engine/revert/widgets.sql exists 187s ok 208 - _build/engine/deploy/func/add_user.sql exists 187s ok 209 - _build/engine/revert/func/add_user.sql exists 187s ok 210 - _build/engine/deploy/users.sql exists 187s ok 211 - _build/engine/revert/users.sql exists 187s ok 212 - _build/sql/sqitch.plan does not exist 187s ok 213 - _build/sql/deploy/roles.sql does not exist 187s ok 214 - _build/sql/deploy/users.sql does not exist 187s ok 215 - _build/sql/verify/users.sql does not exist 187s ok 216 - _build/sql/deploy/widgets.sql does not exist 187s ok 217 - Execute with plan file arg "engine/sqitch.plan" 187s ok 218 - _build/multiplan.conf exists 187s ok 219 - _build/engine/sqitch.plan exists 187s ok 220 - _build/engine/reworked/deploy/users@alpha.sql exists 187s ok 221 - _build/engine/reworked/revert/users@alpha.sql exists 187s ok 222 - _build/engine/deploy/widgets.sql exists 187s ok 223 - _build/engine/revert/widgets.sql exists 187s ok 224 - _build/engine/deploy/func/add_user.sql exists 187s ok 225 - _build/engine/revert/func/add_user.sql exists 187s ok 226 - _build/engine/deploy/users.sql exists 187s ok 227 - _build/engine/revert/users.sql exists 187s ok 228 - _build/sql/sqitch.plan does not exist 187s ok 229 - _build/sql/deploy/roles.sql does not exist 187s ok 230 - _build/sql/deploy/users.sql does not exist 187s ok 231 - _build/sql/verify/users.sql does not exist 187s ok 232 - _build/sql/deploy/widgets.sql does not exist 187s ok 233 - Execute with target arg "mysql" 187s ok 234 - _build/multiplan.conf exists 187s ok 235 - _build/sql/sqitch.plan exists 187s ok 236 - _build/sql/deploy/roles.sql exists 187s ok 237 - _build/sql/deploy/users.sql exists 187s ok 238 - _build/sql/verify/users.sql exists 187s ok 239 - _build/sql/deploy/widgets.sql exists 187s ok 240 - _build/engine/sqitch.plan does not exist 187s ok 241 - _build/engine/reworked/deploy/users@alpha.sql does not exist 187s ok 242 - _build/engine/reworked/revert/users@alpha.sql does not exist 187s ok 243 - _build/engine/deploy/widgets.sql does not exist 187s ok 244 - _build/engine/revert/widgets.sql does not exist 187s ok 245 - _build/engine/deploy/func/add_user.sql does not exist 187s ok 246 - _build/engine/revert/func/add_user.sql does not exist 187s ok 247 - _build/engine/deploy/users.sql does not exist 187s ok 248 - _build/engine/revert/users.sql does not exist 187s ok 249 - Execute with plan file arg "sql/sqitch.plan" 187s ok 250 - _build/multiplan.conf exists 187s ok 251 - _build/sql/sqitch.plan exists 187s ok 252 - _build/sql/deploy/roles.sql exists 187s ok 253 - _build/sql/deploy/users.sql exists 187s ok 254 - _build/sql/verify/users.sql exists 187s ok 255 - _build/sql/deploy/widgets.sql exists 187s ok 256 - _build/engine/sqitch.plan does not exist 187s ok 257 - _build/engine/reworked/deploy/users@alpha.sql does not exist 187s ok 258 - _build/engine/reworked/revert/users@alpha.sql does not exist 187s ok 259 - _build/engine/deploy/widgets.sql does not exist 187s ok 260 - _build/engine/revert/widgets.sql does not exist 187s ok 261 - _build/engine/deploy/func/add_user.sql does not exist 187s ok 262 - _build/engine/revert/func/add_user.sql does not exist 187s ok 263 - _build/engine/deploy/users.sql does not exist 187s ok 264 - _build/engine/revert/users.sql does not exist 187s ok 265 - 'to/from bundle command' isa 'App::Sqitch::Command::bundle' 187s ok 266 - Execute to/from bundle! 187s ok 267 - _build/multiplan.conf exists 187s ok 268 - _build/engine/sqitch.plan exists 187s ok 269 - _build/engine/deploy/widgets.sql exists 187s ok 270 - _build/engine/revert/widgets.sql exists 187s ok 271 - _build/engine/reworked/deploy/users@alpha.sql does not exist 187s ok 272 - _build/engine/reworked/revert/users@alpha.sql does not exist 187s ok 273 - _build/engine/deploy/func/add_user.sql does not exist 187s ok 274 - _build/engine/revert/func/add_user.sql does not exist 187s ok 275 - _build/engine/deploy/users.sql does not exist 187s ok 276 - _build/engine/revert/users.sql does not exist 187s ok 277 - Plan should have written only "widgets" 187s ok 278 - 'another bundle command' isa 'App::Sqitch::Command::bundle' 187s ok 279 - Execute bundle with to/from args! 187s ok 280 - _build/multiplan.conf exists 187s ok 281 - _build/engine/sqitch.plan exists 187s ok 282 - _build/engine/deploy/widgets.sql exists 187s ok 283 - _build/engine/revert/widgets.sql exists 187s ok 284 - _build/engine/deploy/func/add_user.sql exists 187s ok 285 - _build/engine/revert/func/add_user.sql exists 187s ok 286 - _build/engine/deploy/users.sql exists 187s ok 287 - _build/engine/revert/users.sql exists 187s ok 288 - _build/engine/reworked/deploy/users@alpha.sql does not exist 187s ok 289 - _build/engine/reworked/revert/users@alpha.sql does not exist 187s ok 290 - Plan should have written "widgets" and "func/add_user" 187s ok 291 - Should get an exception for unknown argument 187s ok 292 - Unknown argument error ident shoud be "bundle" 187s ok 293 - Unknown argument error message should be correct 187s ok 294 - Should get an exception for unknown arguments 187s ok 295 - Unknown arguments error ident shoud be "bundle" 187s ok 296 - Unknown arguments error message should be correct 187s ok 297 - 'all multiplan bundle command' isa 'App::Sqitch::Command::bundle' 187s ok 298 - Should get an exception a change name and --from 187s ok 299 - Conflicting arguments error ident shoud be "bundle" 187s ok 300 - Conflicting arguments error message should be correct 187s ok 301 - no warnings 187s ok 187s t/change.t .......... 187s 1..92 187s ok 1 - require App::Sqitch::Plan::Change; 187s ok 2 - App::Sqitch::Plan::Change->can(...) 187s ok 3 - An object of class 'App::Sqitch::Plan::Change' isa 'App::Sqitch::Plan::Change' 187s ok 4 - An object of class 'App::Sqitch::Plan::Change' isa 'App::Sqitch::Plan::Line' 187s ok 5 - It should be a deploy change 187s ok 6 - It should not be a revert change 187s ok 7 - And it should say so 187s ok 8 - 'Timestamp' isa 'App::Sqitch::DateTime' 187s ok 9 - path_segments should have the file name 187s ok 10 - The deploy dir should be correct 187s ok 11 - The deploy file should be correct 187s ok 12 - The revert dir should be correct 187s ok 13 - The revert file should be correct 187s ok 14 - The verify dir should be correct 187s ok 15 - The verify file should be correct 187s ok 16 - The change should not be reworked 187s ok 17 - path_segments should not include suffix 187s ok 18 - Nonexistent deploy script hash should be undef 187s ok 19 - Deploy script hash should be correct 187s ok 20 - Tag-qualified name should be tagged with @HEAD 187s ok 21 - Add a rework tag 187s ok 22 - Reworked tag should be stored 187s ok 23 - The change should be reworked 187s ok 24 - path_segments should now include suffix 187s ok 25 - The change should not be reworked 187s ok 26 - Add two rework tags 187s ok 27 - The change should again be reworked 187s ok 28 - path_segments should now include the correct suffixc 187s ok 29 - Name should format as "foo" 187s ok 30 - Name should format with tags as "foo" 187s ok 31 - Tag-qualified Name should format as "foo@beta" 187s ok 32 - Dependencies should format as "" 187s ok 33 - Name should format with dependencies as "foo" 187s ok 34 - Name should format op without dependencies as "foo" 187s ok 35 - Change content should format correctly without dependencies 187s ok 36 - Planner name shoudld default to user name 187s ok 37 - Planner email shoudld default to user email 187s ok 38 - Planner name and email should format properly 187s ok 39 - should stringify to "foo" + planner 187s ok 40 - Since tag should be undef 187s ok 41 - Parent should be undef 187s ok 42 - Change info should be correct 187s ok 43 - Change ID should be correct 187s ok 44 - Create change with more stuff 187s ok 45 - It should stringify correctly 187s ok 46 - It should not be a deploy change 187s ok 47 - It should be a revert change 187s ok 48 - It should say so 187s ok 49 - It should have a since tag 187s ok 50 - It should have a parent 187s ok 51 - Info should include parent and dependencies 187s ok 52 - Should have no tags 187s ok 53 - Add a tag 187s ok 54 - Should have the tag 187s ok 55 - Should format name with tags 187s ok 56 - Should format tag-qualiified name 187s ok 57 - Add another tag 187s ok 58 - Should have both tags 187s ok 59 - Should format name with both tags 187s ok 60 - Should format tag-qualified name with first tag 187s ok 61 - Planner name and email should format properly 187s ok 62 - Dependencies should format as "[foo bar @baz !dr_evil]" 187s ok 63 - Name should format with dependencies as "yo/howdy [foo bar @baz !dr_evil]" 187s ok 64 - Name should format op with dependencies as "yo/howdy [foo bar @baz !dr_evil]" 187s ok 65 - Change content should format correctly with dependencies 187s ok 66 - path_segments should include directories 187s ok 67 - Deploy dir should be in rworked dir 187s ok 68 - Deploy file should be in rworked dir and include suffix 187s ok 69 - Revert dir should be in rworked dir 187s ok 70 - Revert file should be in rworked dir and include suffix 187s ok 71 - Verify dir should be in rworked dir 187s ok 72 - Verify file should be in rworked dir and include suffix 187s ok 73 - Create change "baz" 187s ok 74 - Create change "bar" 187s ok 75 - Get deploy handle 187s ok 76 - It should be the deploy file 187s ok 77 - Get revert handle 187s ok 78 - It should be the revert file 187s ok 79 - Get verify handle 187s ok 80 - It should be the verify file 187s ok 81 - Create a change with explicit requires and conflicts 187s ok 82 - requires should be set 187s ok 83 - conflicts should be set 187s ok 84 - Dependencies should include requires and conflicts 187s ok 85 - Should find changes for requires 187s ok 86 - Should find changes for conflicts 187s ok 87 - Create change with UTF-8 name 187s ok 88 - The name should be decoded text in info 187s ok 89 - Change ID should be hashed from encoded UTF-8 187s ok 90 - note_prompt() should work 187s ok 91 - note_prompt() should work 187s ok 92 - no warnings 187s ok 188s t/changelist.t ...... 188s 1..248 188s ok 1 - require App::Sqitch::Plan::ChangeList; 188s ok 2 - Count should be six 188s ok 3 - Changes should be in order 188s ok 4 - Items should be the same as changes 188s ok 5 - Tags should return the one tag 188s ok 6 - Should have foo at 0 188s ok 7 - Should have bar at 1 188s ok 8 - Should have yo1 at 2 188s ok 9 - Should have baz at 4 188s ok 10 - Should have yo2 at 5 188s ok 11 - Should not find "non" 188s ok 12 - Should not find "@non" 188s ok 13 - Should find foo at 0 188s ok 14 - Should find foo by ID at 0 188s ok 15 - Should find bar at 1 188s ok 16 - Should find bar^ at 0 188s ok 17 - Should find bar~ at 2 188s ok 18 - Should find bar~~ at 3 188s ok 19 - Should not find bar~~~ 188s ok 20 - Should find bar~2 at 3 188s ok 21 - Should find bar~3 at 4 188s ok 22 - Should find bar by ID at 1 188s ok 23 - Should find @alpha at 2 188s ok 24 - Should find @alpha^ at 1 188s ok 25 - Should find @alpha^^ at 1 188s ok 26 - Should not find @alpha^^^ 188s ok 27 - Should find @alpha by ID at 2 188s ok 28 - Should find baz at 3 188s ok 29 - Should find baz by ID at 3 188s ok 30 - Should not find baz^^^ 188s ok 31 - Should not find baz^3 at 0 188s ok 32 - Should not find baz^4 188s ok 33 - Should find baz by ID^ at 2 188s ok 34 - Should get multiple indexes error looking for index of "yo" 188s ok 35 - Multiple indexes error ident should be "plan" 188s ok 36 - Multiple indexes message should be correct 188s ok 37 - Should have output listing tag-qualified changes 188s ok 38 - Should unknown tag error for invalid tag 188s ok 39 - Unknown tag error ident should be "plan" 188s ok 40 - Unknown taf message should be correct 188s ok 41 - Should get 2 for yo@alpha 188s ok 42 - Should get 1 for yo@alpha^ 188s ok 43 - Should get 4 for yo@HEAD 188s ok 44 - Should get 3 for yo@HEAD^ 188s ok 45 - Should get undef for yo@HEAD~ 188s ok 46 - Should get undef for yo@HEAD~~ 188s ok 47 - Should get 0 for foo@alpha 188s ok 48 - Should get 0 for foo@HEAD 188s ok 49 - Should get 0 for foo@ROOT 188s ok 50 - Should get undef for baz@alpha 188s ok 51 - Should get 3 for baz@HEAD 188s ok 52 - Should get 4 for @HEAD 188s ok 53 - Should get 0 for @ROOT 188s ok 54 - Should get 3 for @HEAD^ 188s ok 55 - Should get undef for @HEAD~ 188s ok 56 - Should get 1 for @ROOT~ 188s ok 57 - Should get undef for @ROOT^ 188s ok 58 - Should get 4 for HEAD 188s ok 59 - Should get 0 for ROOT 188s ok 60 - Should get 3 for HEAD^ 188s ok 61 - Should get undef for HEAD~ 188s ok 62 - Should get 1 for ROOT~ 188s ok 63 - Should get undef for ROOT^ 188s ok 64 - Should get foo for "foo" 188s ok 65 - Should get bar for "foo~" 188s ok 66 - Should get foo by ID 188s ok 67 - Should get bar for "bar" 188s ok 68 - Should get foo for "bar^" 188s ok 69 - Should get yo1 for "bar~" 188s ok 70 - Should get baz for "bar~~" 188s ok 71 - Should get yo2 for "bar~3" 188s ok 72 - Should get bar by ID 188s ok 73 - Should get "yo" by the @alpha tag ID 188s ok 74 - Should get baz for "baz" 188s ok 75 - Should get baz by ID 188s ok 76 - Should get baz for "@HEAD^" 188s ok 77 - Should get yo1 for "@HEAD^^" 188s ok 78 - Should get bar for "@HEAD^3" 188s ok 79 - Should get foo for "@ROOT" 188s ok 80 - Should get baz for "HEAD^" 188s ok 81 - Should get yo1 for "HEAD^^" 188s ok 82 - Should get bar for "HEAD^3" 188s ok 83 - Should get foo for "ROOT" 188s ok 84 - Should get yo1 for yo@alpha 188s ok 85 - Should get yo2 for yo@HEAD 188s ok 86 - Should get foo for foo@alpha 188s ok 87 - Should get foo for foo@HEAD 188s ok 88 - Should get undef for baz@alpha 188s ok 89 - Should get baz for baz@HEAD 188s ok 90 - Should get yo2 for "yo@HEAD" 188s ok 91 - Should get foo for "foo@ROOT" 188s ok 92 - Should find yo1 with "yo" 188s ok 93 - Should find yo1 with "yo@alpha" 188s ok 94 - Should find yo2 with yo@HEAD 188s ok 95 - Should find foo for "foo" 188s ok 96 - Should find foo for "foo@alpha" 188s ok 97 - Should find foo for "foo@HEAD" 188s ok 98 - Should find bar with "yo^" 188s ok 99 - Should find foo with "yo^^" 188s ok 100 - Should find foo with "yo^2" 188s ok 101 - Should find baz with "yo~" 188s ok 102 - Should find yo2 with "yo~~" 188s ok 103 - Should find yo2 with "yo~2" 188s ok 104 - Should find bar with "yo@alpha^" 188s ok 105 - Should find baz with "yo@alpha^" 188s ok 106 - Should find baz with yo@HEAD^ 188s ok 107 - Should find baz with @HEAD^ 188s ok 108 - Should find bar with @ROOT~^ 188s ok 109 - Should find baz with HEAD^ 188s ok 110 - Should find bar with ROOT~^ 188s ok 111 - Should contain yo1 with "yo" 188s ok 112 - Should contain yo1 with "yo@alpha" 188s ok 113 - Should contain yo2 with yo@HEAD 188s ok 114 - Should contain foo for "foo" 188s ok 115 - Should contain foo for "foo@alpha" 188s ok 116 - Should contain foo for "foo@HEAD" 188s ok 117 - Should contain bar with "yo^" 188s ok 118 - Should contain foo with "yo^^" 188s ok 119 - Should contain foo with "yo^2" 188s ok 120 - Should contain baz with "yo~" 188s ok 121 - Should contain yo2 with "yo~~" 188s ok 122 - Should contain yo2 with "yo~2" 188s ok 123 - Should contain bar with "yo@alpha^" 188s ok 124 - Should contain baz with "yo@alpha^" 188s ok 125 - Should contain baz with yo@HEAD^ 188s ok 126 - Should contain baz with @HEAD^ 188s ok 127 - Should contain bar with @ROOT~^ 188s ok 128 - Should contain baz with HEAD^ 188s ok 129 - Should contain bar with ROOT~^ 188s ok 130 - Should get multiple indexes error looking for index of "yo" 188s ok 131 - Multiple indexes error ident should be "plan" 188s ok 132 - Multiple indexes message should be correct 188s ok 133 - Should have output listing tag-qualified changes 188s ok 134 - Should unknown tag error for invalid tag 188s ok 135 - Unknown tag error ident should be "plan" 188s ok 136 - Unknown taf message should be correct 188s ok 137 - Push hi 188s ok 138 - Count should now be six 188s ok 139 - Changes should be in order with $hi at the end 188s ok 140 - Should find "hi" at index 5 188s ok 141 - Should find "hi" by ID at index 5 188s ok 142 - Index of @ROOT should still be 0 188s ok 143 - Index of @HEAD should now be 5 188s ok 144 - Index of ROOT should still be 0 188s ok 145 - Index of HEAD should now be 5 188s ok 146 - First index of "non" should be undef 188s ok 147 - First index of "foo" should be 0 188s ok 148 - First index of "foo~" should be 1 188s ok 149 - First index of "foo~~" should be 2 188s ok 150 - First index of "foo~3" should be 3 188s ok 151 - Should not find first index of "foo~~~" 188s ok 152 - First index of "foo" since @ROOT should be undef 188s ok 153 - First index of "bar" should be 1 188s ok 154 - First index of "yo" should be 2 188s ok 155 - First index of "yo" since @ROOT should be 2 188s ok 156 - First index of "baz" should be 3 188s ok 157 - First index of "baz^" should be 2 188s ok 158 - First index of "baz^^" should be 1 188s ok 159 - First index of "baz^3" should be 0 188s ok 160 - Should not find first index of "baz^^^" 188s ok 161 - First index of "yo" since "@alpha" should be 4 188s ok 162 - First index of "yo" since "baz" should be 4 188s ok 163 - First index of "yo^" since "baz" should be 4 188s ok 164 - First index of "yo~" since "baz" should be 5 188s ok 165 - Should get an exception for an unknown change passed to first_index_of() 188s ok 166 - Unknown change error ident should be "plan" 188s ok 167 - Unknown change message should be correct 188s ok 168 - Push so and fu 188s ok 169 - Count should now be eight 188s ok 170 - Index of @ROOT should remain 0 188s ok 171 - Index of @HEAD should now be 7 188s ok 172 - Index of ROOT should remain 0 188s ok 173 - Index of HEAD should now be 7 188s ok 174 - Changes should be in order with $so and $fu at the end 188s ok 175 - Index beta 188s ok 176 - Should find @beta at index 4 188s ok 177 - Should find yo2 via @beta 188s ok 178 - Should find yo2 via @beta ID 188s ok 179 - Tags should return both tags 188s ok 180 - Should get 2 for last tagged index 188s ok 181 - Should find "yo" as last tagged 188s ok 182 - Should get 8 for count 188s ok 183 - Should find fu as last change 188s ok 184 - Should find last tagged index at 0 188s ok 185 - Should find last tagged at 0 188s ok 186 - Should get count 1 188s ok 187 - Should find last change at 0 188s ok 188 - Should find last tagged index at 1 188s ok 189 - Should find last tagged at 1 188s ok 190 - Should get count 2 188s ok 191 - Should find last change at 1 188s ok 192 - Should find last tagged index at 3 188s ok 193 - Should find last tagged at 3 188s ok 194 - Should get count 4 188s ok 195 - Should find last change at 3 188s ok 196 - Should find last tagged index at 4 188s ok 197 - Should find last tagged at 4 188s ok 198 - Should get count 5 188s ok 199 - Should find last change at 4 188s ok 200 - Should not find tag index in 0 changes 188s ok 201 - Should not find tag in 0 changes 188s ok 202 - Should find no change in empty plan 188s ok 203 - Should not find tag index in 2 changes 188s ok 204 - Should not find tag in 2 changes 188s ok 205 - Should not find tag index in 4 changes 188s ok 206 - Should not find tag in 4 changes 188s ok 207 - An object of class 'App::Sqitch::Plan::ChangeList' isa 'App::Sqitch::Plan::ChangeList' 188s ok 208 - Should not find index of "foo" in empty list 188s ok 209 - Should not find first index of "foo" in empty list 188s ok 210 - Should get undef for "foo" in empty list 188s ok 211 - Should not contain "foo" in empty list 188s ok 212 - Should find undef for "foo" in empty list 188s ok 213 - Should not find index of "bar" in empty list 188s ok 214 - Should not find first index of "bar" in empty list 188s ok 215 - Should get undef for "bar" in empty list 188s ok 216 - Should not contain "bar" in empty list 188s ok 217 - Should find undef for "bar" in empty list 188s ok 218 - Should not find index of "HEAD" in empty list 188s ok 219 - Should not find first index of "HEAD" in empty list 188s ok 220 - Should get undef for "HEAD" in empty list 188s ok 221 - Should not contain "HEAD" in empty list 188s ok 222 - Should find undef for "HEAD" in empty list 188s ok 223 - Should not find index of "@HEAD" in empty list 188s ok 224 - Should not find first index of "@HEAD" in empty list 188s ok 225 - Should get undef for "@HEAD" in empty list 188s ok 226 - Should not contain "@HEAD" in empty list 188s ok 227 - Should find undef for "@HEAD" in empty list 188s ok 228 - Should not find index of "ROOT" in empty list 188s ok 229 - Should not find first index of "ROOT" in empty list 188s ok 230 - Should get undef for "ROOT" in empty list 188s ok 231 - Should not contain "ROOT" in empty list 188s ok 232 - Should find undef for "ROOT" in empty list 188s ok 233 - Should not find index of "@ROOT" in empty list 188s ok 234 - Should not find first index of "@ROOT" in empty list 188s ok 235 - Should get undef for "@ROOT" in empty list 188s ok 236 - Should not contain "@ROOT" in empty list 188s ok 237 - Should find undef for "@ROOT" in empty list 188s ok 238 - Should not find index of "alpha" in empty list 188s ok 239 - Should not find first index of "alpha" in empty list 188s ok 240 - Should get undef for "alpha" in empty list 188s ok 241 - Should not contain "alpha" in empty list 188s ok 242 - Should find undef for "alpha" in empty list 188s ok 243 - Should not find index of "@alpha" in empty list 188s ok 244 - Should not find first index of "@alpha" in empty list 188s ok 245 - Should get undef for "@alpha" in empty list 188s ok 246 - Should not contain "@alpha" in empty list 188s ok 247 - Should find undef for "@alpha" in empty list 188s ok 248 - no warnings 188s ok 189s t/check.t ........... 189s ok 1 - require App::Sqitch::Command::check; 189s ok 2 - The class (or class-like) 'App::Sqitch::Command::check' isa 'App::Sqitch::Command' 189s ok 3 - App::Sqitch::Command::check->can(...) 189s ok 4 - App::Sqitch::Command::check does ContextCommand 189s ok 5 - App::Sqitch::Command::check does ConnectingCommand 189s ok 6 - Options should be correct 189s ok 7 - Should parse options 189s ok 8 - Options should not conflict with core options 189s ok 9 - Should have default configuration with no config or opts 189s ok 10 - Should have changes and variables from options 189s ok 11 - Should have no config if no options 189s ok 12 - 'new status with target' isa 'App::Sqitch::Command::check' 189s ok 13 - Should have target "foo" 189s ok 14 - An object of class 'App::Sqitch::Command::check' isa 'App::Sqitch::Command::check' 189s ok 15 - Default target should be undef 189s ok 16 - from_change should be undef 189s ok 17 - to_change should be undef 189s ok 18 - Should collect no variables 189s ok 19 - Should collect core vars 189s ok 20 - Should override core vars with deploy vars 189s ok 21 - Should override deploy vars with check vars 189s ok 22 - Should override check vars with engine vars 189s ok 23 - Should override engine vars with target vars 189s ok 24 - Should override target vars with --set variables 189s ok 25 - Execute with nothing. 189s ok 26 - Two undefs should be passed to the engine 189s ok 27 - Should have no warnings 189s ok 28 - Execute from "@alpha" 189s ok 29 - "@alpha" and undef should be passed to the engine 189s ok 30 - Should again have no warnings 189s ok 31 - Execute from "@alpha" to "@beta" 189s ok 32 - "@alpha" and "@beat" should be passed to the engine 189s ok 33 - Should still have no warnings 189s ok 34 - 'Object with from, to, and variables' isa 'App::Sqitch::Command::check' 189s ok 35 - Execute again 189s ok 36 - "foo" and "bar" should be passed to the engine 189s ok 37 - Vars should have been passed through to the engine 189s ok 38 - Still should have no warnings 189s ok 39 - Execute with command-line args 189s ok 40 - "foo" and "bar" should be passed to the engine 189s ok 41 - Vars should have been passed through to the engine 189s ok 42 - Should have warning about which roles are used 189s ok 43 - Execute with target arg 189s ok 44 - The target should have been passed to the engine 189s ok 45 - "foo" and "bar" should be passed to the engine 189s ok 46 - Vars should have been passed through to the engine 189s ok 47 - Should once again have no warnings 189s ok 48 - 'Object with target' isa 'App::Sqitch::Command::check' 189s ok 49 - Execute with no args 189s ok 50 - The target option should have been passed to the engine 189s ok 51 - Undefs should be passed to the engine 189s ok 52 - No vars should have been passed through to the engine 189s ok 53 - Should once again have no warnings 189s ok 54 - Execute with two targegs and two changes 189s ok 55 - The target option should have been passed to the engine 189s ok 56 - The two changes should be passed to the engine 189s ok 57 - No vars should have been passed through to the engine 189s ok 58 - Should have warning about too many targets 189s ok 59 - Should get an exception for unknown arg 189s ok 60 - Unknown arg ident should be "check" 189s ok 61 - Should get an exeption for two unknown arg 189s ok 62 - Should get an exception for unknown args 189s ok 63 - Unknown args ident should be "check" 189s ok 64 - Should get an exeption for two unknown args 189s 1..64 189s ok 189s t/checkout.t ........ 189s ok 1 - require App::Sqitch::Command::checkout; 189s ok 2 - The class (or class-like) 'App::Sqitch::Command::checkout' isa 'App::Sqitch::Command' 189s ok 3 - App::Sqitch::Command::checkout->can(...) 189s ok 4 - App::Sqitch::Command::checkout does RevertDeployCommand 189s ok 5 - App::Sqitch::Command::checkout does ConnectingCommand 189s ok 6 - App::Sqitch::Command::checkout does ContextCommand 189s ok 7 - Options should be correct 189s ok 8 - Should parse options 189s ok 9 - Options should not conflict with core options 189s ok 10 - Load a sqitch object 189s ok 11 - Check default configuration 189s ok 12 - Should have set option 189s ok 13 - Should have mode, deploy_variables, verify, no_prompt, log_only, & lock_timeout 189s ok 14 - Should have set_revert option and no_prompt false 189s ok 15 - set_deploy and set_revert should overrid set 189s ok 16 - set_deploy and set_revert should merge with set 189s ok 17 - set_revert should merge with set_deploy 189s ok 18 - Should have deploy configuration 189s ok 19 - Should have merged variables 189s ok 20 - Should have no_prompt and prompt_accept from revert config 189s ok 21 - Should have false log_only, verify, true prompt_accept from checkout config 189s ok 22 - Should have log_only, prompt_accept true from checkout and verify from deploy 189s ok 23 - Should have log_only false and mode all again 189s ok 24 - Should have log_only false for false config 189s ok 25 - Should have no_prompt true with -y 189s ok 26 - revert.strict should die 189s ok 27 - Strict err ident should be "checkout" 189s ok 28 - Should have corect strict error message 189s ok 29 - checkout.strict should die 189s ok 30 - Strict err ident should be "checkout" 189s ok 31 - Should have corect strict error message 189s ok 32 - App::Sqitch::X 189s ok 33 - Should collect no variables for deploy 189s ok 34 - Should collect no variables for revert 189s ok 35 - Should collect core deploy vars for deploy 189s ok 36 - Should collect core revert vars for revert 189s ok 37 - Should override core vars with deploy vars for deploy 189s ok 38 - Should override core vars with deploy vars for revert 189s ok 39 - Deploy vars should be unaffected by revert vars 189s ok 40 - Should override deploy vars with revert vars for revert 189s ok 41 - Should override deploy vars with engine vars for deploy 189s ok 42 - Should override checkout vars with engine vars for revert 189s ok 43 - Should override engine vars with deploy vars for deploy 189s ok 44 - Should override engine vars with target vars for revert 189s ok 45 - Should override target vars with --set vars for deploy 189s ok 46 - Should override target vars with --set variables for revert 189s ok 47 - Should override --set vars with --set-deploy variables for deploy 189s ok 48 - Should not override --set vars with --set-deploy variables for revert 189s ok 49 - Should not override --set vars with --set-revert variables for deploy 189s ok 50 - Should override --set vars with --set-revert variables for revert 189s ok 51 - 'checkout command' isa 'App::Sqitch::Command::checkout' 189s ok 52 - Should get an error current branch 189s ok 53 - Current branch error ident should be "checkout" 189s ok 54 - Should get proper error for current branch error 189s ok 55 - The proper args should have been passed to rev-parse 189s ok 56 - Should get an error for plans without a common change 189s ok 57 - The no common change error ident should be "checkout" 189s ok 58 - The no common change error message should be correct 189s ok 59 - No branch arg should yield usage 189s ok 60 - No args should be passed to usage 189s ok 61 - Empty branch arg should yield usage 189s ok 62 - No args should be passed to usage 189s ok 63 - 'Object with to and variables' isa 'App::Sqitch::Command::checkout' 189s ok 64 - Checkout main 189s ok 65 - The proper args should again have been passed to rev-parse 189s ok 66 - Should have requested the plan file contents as of main 189s ok 67 - Should have checked out other branch 189s ok 68 - Should have no warnings 189s ok 69 - Should have emitted info identifying the last common change 189s ok 70 - "users" ID and 1 should be passed to the engine revert 189s ok 71 - Should have had the current changes for revision 189s ok 72 - undef, "tag", and 1 should be passed to the engine deploy 189s ok 73 - Should have had the other branch changes (decoded) for deploy 189s ok 74 - Engine should verify 189s ok 75 - The engine should be set to log_only 189s ok 76 - The lock timeout should be set to 30 189s ok 77 - Variables should have been passed to the engine twice 189s ok 78 - The revert vars should have been passed first 189s ok 79 - The deploy vars should have been next 189s ok 80 - Checkout main with target 189s ok 81 - Target should be passed to engine 189s ok 82 - Should have no warnings 189s ok 83 - 'Object with to and variables' isa 'App::Sqitch::Command::checkout' 189s ok 84 - Checkout main again 189s ok 85 - Target should be passed to engine 189s ok 86 - Should have no warnings 189s ok 87 - The engine should not be set to log_only 189s ok 88 - The lock timeout should be set to the default 189s ok 89 - The engine should not be set with_verfy 189s ok 90 - undef, "tag", and 1 should be passed to the engine deploy again 189s ok 91 - Should have had the other branch changes (decoded) for deploy again 189s ok 92 - Variables should again have been passed to the engine twice 189s ok 93 - The revert vars should again have been passed first 189s ok 94 - The deploy vars should again have been next 189s ok 95 - Checkout main again with target 189s ok 96 - Target should be passed to engine 189s ok 97 - Should have warning about two targets 189s ok 98 - Should get an exception for unknown arg 189s ok 99 - Unknown arg ident should be "checkout" 189s ok 100 - Should get an exception for two unknown arg 189s ok 101 - Should get an exception for unknown args 189s ok 102 - Unknown args ident should be "checkout" 189s ok 103 - Should get an exception for two unknown args 189s ok 104 - Should rethrow confirm exception 189s ok 105 - Should rethrow fatal exception 189s ok 106 - Should rethrow unknown exception 189s 1..106 189s ok 190s t/cockroach.t ....... 190s ok 1 - require App::Sqitch::Engine::cockroach; 190s ok 2 - An object of class 'App::Sqitch::Engine::cockroach' isa 'App::Sqitch::Engine::cockroach' 190s ok 3 - Key should be "cockroach" 190s ok 4 - Name should be "CockroachDB" 190s ok 5 - Driver should be "DBD::Pg 2.0" 190s ok 6 - wait_lock should return 1 190s ok 7 - App::Sqitch::Engine::cockroach->can('_ts2char_format') 190s ok 8 - _ts2char_format should work 190s ok 9 - App::Sqitch::Engine::cockroach->can('_dt') 190s ok 10 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' 190s ok 11 - DateTime year should be set 190s ok 12 - DateTime month should be set 190s ok 13 - DateTime day should be set 190s ok 14 - DateTime hour should be set 190s ok 15 - DateTime minute should be set 190s ok 16 - DateTime second should be set 190s ok 17 - DateTime TZ should be set 190s ok 18 - Should have no table error 190s ok 19 - Should have no column error 190s ok 20 - Should again have no table error 190s ok 21 - Should now have no column error 190s ok 22 - Should now have table error 190s ok 23 - Still should have no column error 190s ok 24 - Run the registry file 190s ok 25 - Shoud have deployed the original SQL file 190s ok 26 - The registry should have been added to the search path 190s ok 27 - App::Sqitch::Engine::cockroach->can(...) 190s # Subtest: live database 190s 1..0 # SKIP Unable to live-test CockroachDB engine: connection to server at "localhost" (127.0.0.1), port 26257 failed: Connection refused 190s Is the server running on that host and accepting TCP/IP connections? 190s ok 28 # skip Unable to live-test CockroachDB engine: connection to server at "localhost" (127.0.0.1), port 26257 failed: Connection refused 190s # Is the server running on that host and accepting TCP/IP connections? 190s 1..28 190s ok 191s t/command.t ......... 191s 1..199 191s ok 1 - use App::Sqitch::Command; 191s ok 2 - App::Sqitch::Command->can(...) 191s ok 3 - Load a sqitch object 191s ok 4 - Should get an exception for missing sqitch param 191s ok 5 - Should get an exception for array sqitch param 191s ok 6 - Should get an exception for string sqitch param 191s ok 7 - An object of class 'App::Sqitch::Command' isa 'App::Sqitch::Command' 191s ok 8 - Should get empty hash for no config or options 191s ok 9 - Should get config with no options 191s ok 10 - Options should override config 191s ok 11 - Options keys should have dashes changed to underscores 191s ok 12 - Should find class for "whu" 191s ok 13 - Should find class for "wah-hoo" 191s ok 14 - Should find class for "help" 191s ok 15 - Should find no class for "_nonesush" 191s ok 16 - Should have sent error to debug 191s ok 17 - ENGINES should include all engines 191s ok 18 - Load a sqitch object 191s ok 19 - Load a "whu" command 191s ok 20 - An object of class 'App::Sqitch::Command::whu' isa 'App::Sqitch::Command::whu' 191s ok 21 - The sqitch attribute should be set 191s ok 22 - The command method should return "whu" 191s ok 23 - Load a "whu" command with "foo" config 191s ok 24 - The "foo" attribute should be set 191s ok 25 - Should exit 191s ok 26 - Nonexistent command error ident should be "config" 191s ok 27 - Should get proper mesage for nonexistent command 191s ok 28 - Nonexistent command should yield exitval of 1 191s ok 29 - Should die on bad command 191s ok 30 - Bad command error ident should be "config" 191s ok 31 - Should get proper mesage for bad command 191s ok 32 - Bad command should yield exitval of 1 191s ok 33 - No command should yield usage 191s ok 34 - No args should be passed to usage 191s ok 35 - Should die on broken command module 191s ok 36 - Broken command error ident should be "config" 191s ok 37 - Should get proper mesage for broken command 191s ok 38 - Broken command should yield exitval of 1 191s ok 39 - Load a "whu" command with "--feathers" option 191s ok 40 - The "feathers" attribute should be set 191s ok 41 - Load a "wah-hoo" command 191s ok 42 - 'It' isa 'App::Sqitch::Command::wah_hoo' 191s ok 43 - command() should return hyphenated name 191s ok 44 - Create a "whu" command 191s ok 45 - An object of class 'App::Sqitch::Command::whu' isa 'App::Sqitch::Command::whu' 191s ok 46 - The sqitch attribute should be set 191s ok 47 - The command method should return "whu" 191s ok 48 - Create a "whu" command with "foo" config 191s ok 49 - The "foo" attribute should be set 191s ok 50 - Create a "whu" command with "--feathers" option 191s ok 51 - The "feathers" attribute should be set 191s ok 52 - Create an App::Sqitch::Command object 191s ok 53 - 'default target' isa 'App::Sqitch::Target' 191s ok 54 - Default target name should be "db:" 191s ok 55 - Default target URI should be "db:" 191s ok 56 - Create an App::Sqitch::Command object 191s ok 57 - 'default target' isa 'App::Sqitch::Target' 191s ok 58 - Default target name should be "db:sqlite:" 191s ok 59 - Default target URI should be "db:sqlite:" 191s ok 60 - Should have fetched config stuff 191s ok 61 - Create an App::Sqitch::Command object 191s ok 62 - 'default target' isa 'App::Sqitch::Target' 191s ok 63 - Default target name should be "db:pg:foo" 191s ok 64 - Default target URI should be "db:pg:foo" 191s ok 65 - Should have fetched config stuff again 191s ok 66 - App::Sqitch::Command->can('execute') 191s ok 67 - Create an App::Sqitch::Command object 191s ok 68 - Base class command should be "" 191s ok 69 - Base object command should be "" 191s ok 70 - Should get an error calling execute on command base class 191s ok 71 - Execute exception ident should be "DEV" 191s ok 72 - The execute() error message should be correct 191s ok 73 - Create a subclass command object 191s ok 74 - Subclass oject command should be "whu" 191s ok 75 - Subclass class command should be "whu" 191s ok 76 - Should get an error for un-overridden execute() method 191s ok 77 - Un-overidden execute() exception ident should be "DEV" 191s ok 78 - The unoverridden execute() error message should be correct 191s ok 79 - App::Sqitch::Command->can(...) 191s ok 80 - Create an App::Sqitch::Command object again 191s ok 81 - Base _parse_opts should return an empty hash 191s ok 82 - Create a subclass command object again 191s ok 83 - Subclass should return an empty hash for no args 191s ok 84 - Subclass should use options spec 191s ok 85 - Subclass should parse options spec 191s ok 86 - Args array should be cleared of options 191s ok 87 - Should get warning for unknown option 191s ok 88 - Should call _pod2usage on options parse failure 191s ok 89 - 'Good command object' isa 'App::Sqitch::Command::good' 191s ok 90 - Should get warning for unknown option when there are no options 191s ok 91 - Should call _pod2usage on no options parse failure 191s ok 92 - Should get sqitch param from target_params 191s ok 93 - Load Sqitch with config and plan 191s ok 94 - Load cmd with config and plan 191s ok 95 - Parsing no args should return default target 191s ok 96 - Single unknown arg raise an error 191s ok 97 - Unknown error ident should be "whu" 191s ok 98 - Unknown error message should be correct 191s ok 99 - Single invavlid fiile arg raise an error 191s ok 100 - Unknown error ident should be "whu" 191s ok 101 - Unknown file error message should be correct 191s ok 102 - Single change should be recognized as change 191s ok 103 - Single target should be recognized as target 191s ok 104 - URI target should be recognized as target, too 191s ok 105 - Target and change should be recognized 191s ok 106 - Change and target should be recognized 191s ok 107 - Alternate Target and change should be recognized 191s ok 108 - Change and alternate target should be recognized 191s ok 109 - Change, target, and unknown name should be recognized 191s ok 110 - Multiple changes, target, and unknown name should be recognized 191s ok 111 - Multiple names should be recognized 191s ok 112 - Should get an error with name and unknown 191s ok 113 - Unknown error ident should be "whu" 191s ok 114 - Unknown error message should be correct 191s ok 115 - Should get an error with name and two unknowns 191s ok 116 - Two unknowns error ident should be "whu" 191s ok 117 - Two unknowns error message should be correct 191s ok 118 - Load Sqitch with config 191s ok 119 - Load cmd with config 191s ok 120 - Change following target should be recognized from target plan 191s ok 121 - Passed target should always be returned 191s ok 122 - Passed and specified targets should always be returned 191s ok 123 - Change unknown to passed target should error 191s ok 124 - Change unknown error ident should be "whu" 191s ok 125 - Change unknown error message should be correct 191s ok 126 - Should get known changes from default target (t/sql/sqitch.plan) 191s ok 127 - Change seen after target should error if not in that target 191s ok 128 - Change after target error ident should be "whu" 191s ok 129 - Change after target error message should be correct 191s ok 130 - Should resolve plan file to a target 191s ok 131 - SHould resolve default plan file to target 191s ok 132 - Should resolve engine "pg" file to its target 191s ok 133 - Should resolve engine "sqlite" file to its target 191s ok 134 - Bad target should trigger error 191s ok 135 - Bad target error ident should be "target" 191s ok 136 - Should have bad target error message 191s ok 137 - Should recognize target when default target has no plan file 191s ok 138 - Load Sqitch without engine 191s ok 139 - Load cmd without engine 191s ok 140 - Should have error for no engine or target 191s ok 141 - Should have target ident 191s ok 142 - Should have message about no config 191s ok 143 - Engine arg should override core target error 191s ok 144 - Target arg should override core target error 191s ok 145 - Call _pod2usage on base object 191s ok 146 - Default params should be passed to Pod::Usage 191s ok 147 - Call _pod2usage on "whu" command object 191s ok 148 - Default params should be passed to Pod::Usage 191s ok 149 - 'Config command object' isa 'App::Sqitch::Command::config' 191s ok 150 - Call _pod2usage on "config" command object 191s ok 151 - Should find sqitch-config docs to pass to Pod::Usage 191s ok 152 - 'Good command object' isa 'App::Sqitch::Command::good' 191s ok 153 - Call _pod2usage on "good" command object 191s ok 154 - Should find App::Sqitch::Command::good docs to pass to Pod::Usage 191s ok 155 - App::Sqitch::Command::good->can('usage') 191s ok 156 - Should find App::Sqitch::Command::good docs to pass to Pod::Usage 191s ok 157 - App::Sqitch::Command->can('verbosity') 191s ok 158 - Verbosity should be from sqitch 191s ok 159 - Verbosity should change with sqitch 191s ok 160 - trace should work 191s ok 161 - Should get no trace output for verbosity 2 191s ok 162 - trace_literal should work 191s ok 163 - Should get no trace_literal output for verbosity 2 191s ok 164 - debug should work 191s ok 165 - Should get no debug output for verbosity 1 191s ok 166 - debug_literal should work 191s ok 167 - Should get no debug_literal output for verbosity 1 191s ok 168 - info should work 191s ok 169 - Should get no info output for verbosity 0 191s ok 170 - info_literal should work 191s ok 171 - Should get no info_literal output for verbosity 0 191s ok 172 - comment should work 191s ok 173 - comment should work with verbosity 0 191s ok 174 - comment_literal should work 191s ok 175 - comment_literal should work with verbosity 0 191s ok 176 - emit should work 191s ok 177 - emit should work even with verbosity 0 191s ok 178 - emit_literal should work 191s ok 179 - emit_literal should work even with verbosity 0 191s ok 180 - warn should work 191s ok 181 - warn_literal should work 191s ok 182 - threw Regexp ((?^:EXITED: 2)) 191s ok 183 - usage should work 191s ok 184 - threw Regexp ((?^:EXITED: 2)) 191s ok 185 - usage should prefer sqitch-$command-usage 191s ok 186 - Path delete.me should not exist 191s ok 187 - Create delete.me 191s ok 188 - Path delete.me should now exist 191s ok 189 - The mkdir info should have been output 191s ok 190 - Create delete.me again 191s ok 191 - Path delete.me should still exist 191s ok 192 - Nothing should have been emitted 191s ok 193 - Should fail on permission issue 191s ok 194 - Permission error should have ident "good" 191s ok 195 - The permission error should be formatted properly 191s ok 196 - Should fail on nonexistent file 191s ok 197 - Nonexistant path error should have ident "good" 191s ok 198 - Nonexistant path error should be the message 191s ok 199 - no warnings 191s ok 192s t/config.t .......... 192s 1..360 192s ok 1 - use App::Sqitch::Command::config; 192s ok 2 - Load a sqitch object 192s ok 3 - 'Config command' isa 'App::Sqitch::Command::config' 192s ok 4 - 'Config command' isa 'App::Sqitch::Command' 192s ok 5 - App::Sqitch::Command::config->can(...) 192s ok 6 - Options should be configured 192s ok 7 - Should parse options 192s ok 8 - Options should not conflict with core options 192s ok 9 - Construct with user and system 192s ok 10 - Should get error for multiple config files 192s ok 11 - Construct with user and local 192s ok 12 - Should get error for multiple config files 192s ok 13 - Construct with file and system 192s ok 14 - Should get another error for multiple config files 192s ok 15 - Construct with file and user 192s ok 16 - Should get a third error for multiple config files 192s ok 17 - Construct with file, system, and user 192s ok 18 - Should get one last error for multiple config files 192s ok 19 - Construct with bool and num 192s ok 20 - Should get error for multiple types 192s ok 21 - Construct with int and num 192s ok 22 - Should get another error for multiple types 192s ok 23 - Construct with int and bool 192s ok 24 - Should get a third error for multiple types 192s ok 25 - Construct with int, num, and bool 192s ok 26 - Should get one last error for multiple types 192s ok 27 - Construct with get & unset 192s ok 28 - Should get error for multiple actions 192s ok 29 - Construct with get & unset & edit 192s ok 30 - Should get error for multiple actions 192s ok 31 - Construct with get & unset & edit & list 192s ok 32 - Should get error for multiple actions 192s ok 33 - Construct with unset & edit 192s ok 34 - Should get error for multiple actions 192s ok 35 - Construct with unset & edit & list 192s ok 36 - Should get error for multiple actions 192s ok 37 - Construct with edit & list 192s ok 38 - Should get error for multiple actions 192s ok 39 - Construct with edit & add & list 192s ok 40 - Should get error for multiple actions 192s ok 41 - Construct with edit & add & list & get_all 192s ok 42 - Should get error for multiple actions 192s ok 43 - Construct with edit & add & list & get_regex 192s ok 44 - Should get error for multiple actions 192s ok 45 - Construct with edit & add & list & unset_all 192s ok 46 - Should get error for multiple actions 192s ok 47 - Construct with edit & add & list & get_all & unset_all 192s ok 48 - Should get error for multiple actions 192s ok 49 - Construct with edit & list & remove_section 192s ok 50 - Should get error for multiple actions 192s ok 51 - Construct with edit & list & remove_section & rename_section 192s ok 52 - Should get error for multiple actions 192s ok 53 - Default context should be local context 192s ok 54 - Default action should be undef 192s ok 55 - Default context should be undef 192s ok 56 - Local context should be local 192s ok 57 - User context should be user 192s ok 58 - System context should be system 192s ok 59 - Create config set command 192s ok 60 - Execute the set command 192s ok 61 - The set method should have been called 192s ok 62 - Execute the get command 192s ok 63 - The get method should have been called 192s ok 64 - Create config get_all command 192s ok 65 - An action with a dash should have triggered a method with an underscore 192s ok 66 - Create config get command 192s ok 67 - Get core.engine 192s ok 68 - Should have emitted the merged core.engine 192s ok 69 - Get engine.pg.registry 192s ok 70 - Should have emitted the merged engine.pg.registry 192s ok 71 - Get engine.pg.client 192s ok 72 - Should have emitted the merged engine.pg.client 192s ok 73 - Should get usage for missing get key 192s ok 74 - And the missing get key should trigger a usage message 192s ok 75 - Should get usage for invalid get key 192s ok 76 - And the invalid get key should trigger a usage message 192s ok 77 - Create config get int command 192s ok 78 - Get revert.count as int 192s ok 79 - Should have emitted the revert count 192s ok 80 - Get revert.revision as int 192s ok 81 - Should have emitted the revert revision as an int 192s ok 82 - Get bundle.tags_only as an int should fail 192s ok 83 - Int cast exception ident should be "config" 192s ok 84 - Create config get num command 192s ok 85 - Get revert.count as num 192s ok 86 - Should have emitted the revert count 192s ok 87 - Get revert.revision as num 192s ok 88 - Should have emitted the revert revision as an num 192s ok 89 - Get bundle.tags_only as an num should fail 192s ok 90 - Num cast exception ident should be "config" 192s ok 91 - Create config get bool command 192s ok 92 - Should get failure for invalid bool int 192s ok 93 - Bool int cast exception ident should be "config" 192s ok 94 - Should get failure for invalid bool num 192s ok 95 - Bool num cast exception ident should be "config" 192s ok 96 - Get bundle.tags_only as bool 192s ok 97 - Should have emitted bundle.tags_only as a bool 192s ok 98 - Create config get bool-or-int command 192s ok 99 - Get revert.count as bool-or-int 192s ok 100 - Should have emitted the revert count as an int 192s ok 101 - Get revert.revision as bool-or-int 192s ok 102 - Should have emitted the revert revision as an int 192s ok 103 - Get bundle.tags_only as bool-or-int 192s ok 104 - Should have emitted bundle.tags_only as a bool 192s ok 105 - Create system config get command 192s ok 106 - Get system core.engine 192s ok 107 - Should have emitted the system core.engine 192s ok 108 - Get system engine.pg.client 192s ok 109 - Should have emitted the system engine.pg.client 192s ok 110 - Attempt to get engine.pg.host should fail 192s ok 111 - Error ident should be "config" 192s ok 112 - Error Message should be empty 192s ok 113 - Error exitval should be 1 192s ok 114 - Nothing should have been emitted 192s ok 115 - Create user config get command 192s ok 116 - Get user engine.pg.registry 192s ok 117 - Should have emitted the user engine.pg.registry 192s ok 118 - Get user engine.pg.client 192s ok 119 - Should have emitted the user engine.pg.client 192s ok 120 - Create local config get command 192s ok 121 - Get local engine.pg.target 192s ok 122 - Should have emitted the local engine.pg.target 192s ok 123 - Get local core.engine 192s ok 124 - Should have emitted the local core.engine 192s ok 125 - Create another system config get command 192s ok 126 - There should be no system config file 192s ok 127 - Should fail when no system config file 192s ok 128 - Error ident should be "config" 192s ok 129 - Error Message should be empty 192s ok 130 - Error exitval should be 1 192s ok 131 - Create another user config get command 192s ok 132 - There should be no user config file 192s ok 133 - Should fail when no user config file 192s ok 134 - Error ident should be "config" 192s ok 135 - Error Message should be empty 192s ok 136 - Error exitval should be 1 192s ok 137 - Create another local config get command 192s ok 138 - There should be no local config file 192s ok 139 - Should fail when no local config file 192s ok 140 - Error ident should be "config" 192s ok 141 - Error Message should be empty 192s ok 142 - Error exitval should be 1 192s ok 143 - Create config list command 192s ok 144 - Execute the list action 192s ok 145 - Should have emitted the merged config 192s ok 146 - Create system config list command 192s ok 147 - List the system config 192s ok 148 - Should have emitted the system config list 192s ok 149 - Create user config list command 192s ok 150 - List the user config 192s ok 151 - Should only have emitted the user config list 192s ok 152 - Create local config list command 192s ok 153 - List the local config 192s ok 154 - Should only have emitted the local config list 192s ok 155 - Create system config list command with no file 192s ok 156 - List the system config 192s ok 157 - Nothing should have been emitted 192s ok 158 - Create user config list command with no file 192s ok 159 - List the user config 192s ok 160 - Nothing should have been emitted 192s ok 161 - Create system config set command 192s ok 162 - Write core.foo 192s ok 163 - The property should have been written 192s ok 164 - Write core.engine 192s ok 165 - Both settings should be saved 192s ok 166 - Write engine.pg.user 192s ok 167 - Both sections should be saved 192s ok 168 - Should set usage for missing set key 192s ok 169 - And the missing set key should trigger a usage message 192s ok 170 - Should set usage for invalid set key 192s ok 171 - And the invalid set key should trigger a usage message 192s ok 172 - Should set usage for missing set value 192s ok 173 - And the missing set value should trigger a usage message 192s ok 174 - Create system config add command 192s ok 175 - Add to core.foo 192s ok 176 - The value should have been added to the property 192s ok 177 - Should add usage for missing add key 192s ok 178 - And the missing add key should trigger a usage message 192s ok 179 - Should add usage for invalid add key 192s ok 180 - And the invalid add key should trigger a usage message 192s ok 181 - Should add usage for missing add value 192s ok 182 - And the missing add value should trigger a usage message 192s ok 183 - Create system config add command 192s ok 184 - Get core.engine with regex 192s ok 185 - Should have emitted value 192s ok 186 - Get core.foo with regex 192s ok 187 - Should have emitted value 192s ok 188 - Attempt to get core.foo with non-matching regex should fail 192s ok 189 - Error ident should be "config" 192s ok 190 - Error Message should be empty 192s ok 191 - Error exitval should be 1 192s ok 192 - Nothing should have been emitted 192s ok 193 - Create system config get_all command 192s ok 194 - Call get_all on core.engine 192s ok 195 - The engine should have been emitted 192s ok 196 - Get all core.engine with regex 192s ok 197 - Should have emitted value 192s ok 198 - Call get_all on core.foo 192s ok 199 - Both foos should have been emitted 192s ok 200 - Call get_all on core.foo with regex 192s ok 201 - Both foos should have been emitted 192s ok 202 - Call get_all on core.foo with limiting regex 192s ok 203 - Only the one foo should have been emitted 192s ok 204 - Attempt to get_all core.foo with non-matching regex should fail 192s ok 205 - Error ident should be "config" 192s ok 206 - Error Message should be empty 192s ok 207 - Error exitval should be 1 192s ok 208 - Nothing should have been emitted 192s ok 209 - Should get_all usage for missing get_all key 192s ok 210 - And the missing get_all key should trigger a usage message 192s ok 211 - Should get_all usage for invalid get_all key 192s ok 212 - And the invalid get_all key should trigger a usage message 192s ok 213 - Create config get_all int command 192s ok 214 - Get revert.count as int 192s ok 215 - Should have emitted the revert count 192s ok 216 - Get revert.revision as int 192s ok 217 - Should have emitted the revert revision as an int 192s ok 218 - Get bundle.tags_only as an int should fail 192s ok 219 - Int cast exception ident should be "config" 192s ok 220 - Create config get_all num command 192s ok 221 - Get revert.count as num 192s ok 222 - Should have emitted the revert count 192s ok 223 - Get revert.revision as num 192s ok 224 - Should have emitted the revert revision as an num 192s ok 225 - Get bundle.tags_only as an num should fail 192s ok 226 - Num cast exception ident should be "config" 192s ok 227 - Create config get_all bool command 192s ok 228 - Should get failure for invalid bool int 192s ok 229 - Bool int cast exception ident should be "config" 192s ok 230 - Should get failure for invalid bool num 192s ok 231 - Num int cast exception ident should be "config" 192s ok 232 - Get bundle.tags_only as bool 192s ok 233 - Should have emitted bundle.tags_only as a bool 192s ok 234 - Create config get_all bool-or-int command 192s ok 235 - Get revert.count as bool-or-int 192s ok 236 - Should have emitted the revert count as an int 192s ok 237 - Get revert.revision as bool-or-int 192s ok 238 - Should have emitted the revert revision as an int 192s ok 239 - Get bundle.tags_only as bool-or-int 192s ok 240 - Should have emitted bundle.tags_only as a bool 192s ok 241 - Create system config get_regex command 192s ok 242 - Call get_regex on core\..+ 192s ok 243 - Should match all core options 192s ok 244 - Call get_regex on engine\.pg\..+ 192s ok 245 - Should match all engine.pg options 192s ok 246 - Call get_regex on engine\.pg\..+ and value regex 192s ok 247 - Should match all engine.pg options that match 192s ok 248 - Call get_regex on foo\Bar\..+ and always-matching regex 192s ok 249 - Should include key with no value 192s ok 250 - Attempt to get_regex engine\.pg with non-matching regex should fail 192s ok 251 - Error ident should be "config" 192s ok 252 - Error Message should be empty 192s ok 253 - Error exitval should be 1 192s ok 254 - Nothing should have been emitted 192s ok 255 - Should get_regex usage for missing get_regex key 192s ok 256 - And the missing get_regex key should trigger a usage message 192s ok 257 - Should get_regex usage for invalid get_regex key 192s ok 258 - And the invalid get_regex key should trigger a usage message 192s ok 259 - Create config get_regex int command 192s ok 260 - Get revert.count as int 192s ok 261 - Should have emitted the revert count 192s ok 262 - Get revert.revision as int 192s ok 263 - Should have emitted the revert revision as an int 192s ok 264 - Get bundle.tags_only as an int should fail 192s ok 265 - Int cast exception ident should be "config" 192s ok 266 - Create config get_regexp num command 192s ok 267 - Get revert.count as num 192s ok 268 - Should have emitted the revert count 192s ok 269 - Get revert.revision as num 192s ok 270 - Should have emitted the revert revision as an num 192s ok 271 - Get bundle.tags_only as an num should fail 192s ok 272 - Num cast exception ident should be "config" 192s ok 273 - Create config get_regex bool command 192s ok 274 - Should get failure for invalid bool int 192s ok 275 - Bool int cast exception ident should be "config" 192s ok 276 - Should get failure for invalid bool num 192s ok 277 - Num int cast exception ident should be "config" 192s ok 278 - Get bundle.tags_only as bool 192s ok 279 - Should have emitted bundle.tags_only as a bool 192s ok 280 - Create config get_regex bool-or-int command 192s ok 281 - Get revert.count as bool-or-int 192s ok 282 - Should have emitted the revert count as an int 192s ok 283 - Get revert.revision as bool-or-int 192s ok 284 - Should have emitted the revert revision as an int 192s ok 285 - Get bundle.tags_only as bool-or-int 192s ok 286 - Should have emitted bundle.tags_only as a bool 192s ok 287 - Create system config unset command 192s ok 288 - Unset engine.pg.user 192s ok 289 - engine.pg.user should be gone 192s ok 290 - Unset core.engine 192s ok 291 - core.engine should have been removed 192s ok 292 - Should get failure trying to delete multivalue key 192s ok 293 - Multiple value exception ident should be "config" 192s ok 294 - And it should have the proper error message 192s ok 295 - Unset core.foo with a regex 192s ok 296 - The core.foo "baz" value should have been removed 192s ok 297 - Should unset usage for missing unset key 192s ok 298 - And the missing unset key should trigger a usage message 192s ok 299 - Should unset usage for invalid unset key 192s ok 300 - And the invalid unset key should trigger a usage message 192s ok 301 - Create system config unset_all command 192s ok 302 - unset_all core.foo 192s ok 303 - core.foo should have been removed 192s ok 304 - unset_all core.foo with regex 192s ok 305 - core.foo should have one value left 192s ok 306 - Should unset_all usage for missing unset_all key 192s ok 307 - And the missing unset_all key should trigger a usage message 192s ok 308 - Should unset_all usage for invalid unset_all key 192s ok 309 - And the invalid unset_all key should trigger a usage message 192s ok 310 - Create system config replace_all command 192s ok 311 - Replace all core.bar 192s ok 312 - core.bar should have all its values with one value 192s ok 313 - Replace all core.bar matching /^ba/ 192s ok 314 - core.foo should have had the matching values replaced 192s ok 315 - Create system config rename_section command 192s ok 316 - Rename "core" to "funk" 192s ok 317 - core.foo should have become funk.foo 192s ok 318 - Should fail with no new name 192s ok 319 - Message should be in the usage call 192s ok 320 - Should fail with bad old name 192s ok 321 - Message should be in the usage call 192s ok 322 - Should fail with bad new name 192s ok 323 - Message should be in the usage call 192s ok 324 - Should fail with invalid section 192s ok 325 - Invalid section exception ident should be "config" 192s ok 326 - Invalid section exception message should be set 192s ok 327 - Create system config remove_section command 192s ok 328 - Remove "func" section 192s ok 329 - The "funk" section should be gone 192s ok 330 - Should fail with no name 192s ok 331 - Message should be in the usage call 192s ok 332 - Should fail with invalid name 192s ok 333 - Invalid key name exception ident should be "config" 192s ok 334 - And the invalid key message should be set 192s ok 335 - Should fail fetching multi-value key 192s ok 336 - Multi-value key exception ident should be "config" 192s ok 337 - The multiple value error should be thrown 192s ok 338 - Should fail setting multi-value key 192s ok 339 - Multi-value key exception ident should be "config" 192s ok 340 - The multi-value key error should be thrown 192s ok 341 - Set should fail on App::Sqitch::Cofig error 192s ok 342 - Set exception ident should be "config" 192s ok 343 - Config set exception message should propagate 192s ok 344 - Unset should fail on App::Sqitch::Cofig error 192s ok 345 - Unset exception ident should be "config" 192s ok 346 - Config set exception message should propagate 192s ok 347 - Rename should fail on App::Sqitch::Cofig error 192s ok 348 - Rename exception ident should be "config" 192s ok 349 - Config rename exception message should propagate 192s ok 350 - Remove should fail on App::Sqitch::Cofig error 192s ok 351 - Remove exception ident should be "config" 192s ok 352 - Config remove exception message should propagate 192s ok 353 - Create system config edit command 192s ok 354 - Execute the edit comand 192s ok 355 - The editor should have been run 192s ok 356 - Load a new sqitch object 192s ok 357 - Create system config set command with subdirectory config file path 192s ok 358 - Set "my.foo" in subdirectory config file 192s ok 359 - The file should have been written 192s ok 360 - no warnings 192s ok 192s t/conn_cmd_role.t ... 192s ok 1 - use App::Sqitch::Role::ConnectingCommand; 192s ok 2 - App::Sqitch::Command::click->can('does') 192s ok 3 - App::Sqitch::Command::click does App::Sqitch::Role::ConnectingCommand 192s ok 4 - Options should include connection options 192s ok 5 - Should get no params for no options 192s ok 6 - Should get dbname for --db-name 192s ok 7 - Should collect existing but false params 192s ok 8 - Should collect params 192s ok 9 - An object of class 'App::Sqitch::Command::click' isa 'App::Sqitch::Command::click' 192s ok 10 - Should get connection params from target_params 192s 1..10 192s ok 192s t/cx_cmd_role.t ..... 192s ok 1 - use App::Sqitch::Role::ContextCommand; 192s ok 2 - App::Sqitch::Command::click->can('does') 192s ok 3 - App::Sqitch::Command::click does App::Sqitch::Role::ContextCommand 192s ok 4 - Options should include context options 192s ok 5 - Should get no params for no options 192s ok 6 - Should get no params for empty options 192s ok 7 - Should have no warning 192s ok 8 - Should get top_dir 192s ok 9 - Should have --top-dir deprecation warning 192s ok 10 - Should collect params 192s ok 11 - Should have --top-dir deprecation warning again 192s ok 12 - An object of class 'App::Sqitch::Command::click' isa 'App::Sqitch::Command::click' 192s ok 13 - Should get context params from target_params 192s 1..13 192s ok 193s t/datetime.t ........ 193s 1..33 193s ok 1 - require App::Sqitch::DateTime; 193s ok 2 - Construct a datetime object 193s ok 3 - as_string_formats should be correct 193s ok 4 - Date format "full" should yield "Friday, May 2, 2025, 8:19:31 AM America/Vancouver" 193s ok 5 - Format "full" should be valid 193s ok 6 - Date format "long" should yield "May 2, 2025, 8:19:31 AM PDT" 193s ok 7 - Format "long" should be valid 193s ok 8 - Date format "medium" should yield "May 2, 2025, 8:19:31 AM" 193s ok 9 - Format "medium" should be valid 193s ok 10 - Date format "short" should yield "5/2/25, 8:19 AM" 193s ok 11 - Format "short" should be valid 193s ok 12 - Date format "raw" should yield "2025-05-02T15:19:31Z" 193s ok 13 - Format "raw" should be valid 193s ok 14 - Date format "" should yield "2025-05-02T15:19:31Z" 193s ok 15 - Date format "iso" should yield "2025-05-02 08:19:31 -0700" 193s ok 16 - Format "iso" should be valid 193s ok 17 - Date format "iso8601" should yield "2025-05-02 08:19:31 -0700" 193s ok 18 - Format "iso8601" should be valid 193s ok 19 - Date format "rfc" should yield "Fri, 02 May 2025 08:19:31 -0700" 193s ok 20 - Format "rfc" should be valid 193s ok 21 - Date format "rfc2822" should yield "Fri, 02 May 2025 08:19:31 -0700" 193s ok 22 - Format "rfc2822" should be valid 193s ok 23 - Date format "cldr:HH'h' mm'm'" should yield "08h 19m" 193s ok 24 - Format "cldr:HH'h' mm'm'" should be valid 193s ok 25 - Date format "strftime:%a at %H:%M:%S" should yield "Fri at 08:19:31" 193s ok 26 - Format "strftime:%a at %H:%M:%S" should be valid 193s ok 27 - Should get error for invalid date format 193s ok 28 - Invalid date format error ident should be "datetime" 193s ok 29 - Invalid date format error message should be correct 193s ok 30 - Should get error for invalid as_string format param 193s ok 31 - Invalid date format error ident should be "datetime" 193s ok 32 - Invalid date format error message should be correct 193s ok 33 - no warnings 193s ok 193s t/dbiengine_role.t .. 193s 1..14 193s ok 1 - require App::Sqitch::Role::DBIEngine; 193s ok 2 - App::Sqitch::Role::DBIEngine->can(...) 193s ok 3 - _ts_default should return DEFAULT 193s ok 4 - registry_version should propagate non-table error 193s ok 5 - registry_version should return false on no-table error 193s ok 6 - _cid should propagate non-table error 193s ok 7 - _cid should return false on no-table error and unititialized 193s ok 8 - curent_state should propagate _select_state error 193s ok 9 - Should have passed 1 to _select_state 193s ok 10 - curent_state should return false on no-table error 193s ok 11 - Should again have passed 1 to _select_state 193s ok 12 - curent_state should propagate second error on no-column error 193s ok 13 - Should again have passed 0 to _select_state 193s ok 14 - Should get undef from change_id_for when no useful params 193s ok 193s t/depend.t .......... 193s 1..326 193s ok 1 - require App::Sqitch::Plan::Depend; 193s ok 2 - Load a sqitch sqitch object 193s ok 3 - App::Sqitch::Plan::Depend->can(...) 193s ok 4 - Construct "foo" 193s ok 5 - Constructed should stringify as "foo" 193s ok 6 - Constructed should have key name "foo" 193s ok 7 - Constructed should plan stringify as "foo" 193s ok 8 - Parse "foo" 193s ok 9 - Parsed should plan stringify as "foo" 193s ok 10 - "foo" should be required 193s ok 11 - "foo" should not be conflicting 193s ok 12 - "foo" type should be "require" 193s ok 13 - Should not have got project from "foo" 193s ok 14 - Should have project "depend" for "foo" 193s ok 15 - "foo" should not be external 193s ok 16 - "foo" should be internal 193s ok 17 - Should not have got ID from "foo" 193s ok 18 - Construct "bar" 193s ok 19 - Constructed should stringify as "bar" 193s ok 20 - Constructed should have key name "bar" 193s ok 21 - Constructed should plan stringify as "bar" 193s ok 22 - Parse "bar" 193s ok 23 - Parsed should plan stringify as "bar" 193s ok 24 - "bar" should be required 193s ok 25 - "bar" should not be conflicting 193s ok 26 - "bar" type should be "require" 193s ok 27 - Should not have got project from "bar" 193s ok 28 - Should have project "depend" for "bar" 193s ok 29 - "bar" should not be external 193s ok 30 - "bar" should be internal 193s ok 31 - Should not have got ID from "bar" 193s ok 32 - Construct "@bar" 193s ok 33 - Constructed should stringify as "@bar" 193s ok 34 - Constructed should have key name "@bar" 193s ok 35 - Constructed should plan stringify as "@bar" 193s ok 36 - Parse "@bar" 193s ok 37 - Parsed should plan stringify as "@bar" 193s ok 38 - "@bar" should be required 193s ok 39 - "@bar" should not be conflicting 193s ok 40 - "@bar" type should be "require" 193s ok 41 - Should not have got project from "@bar" 193s ok 42 - Should have project "depend" for "@bar" 193s ok 43 - "@bar" should not be external 193s ok 44 - "@bar" should be internal 193s ok 45 - Should not have got ID from "@bar" 193s ok 46 - Construct "!foo" 193s ok 47 - Constructed should stringify as "foo" 193s ok 48 - Constructed should have key name "foo" 193s ok 49 - Constructed should plan stringify as "!foo" 193s ok 50 - Parse "!foo" 193s ok 51 - Parsed should plan stringify as "!foo" 193s ok 52 - "!foo" should be conflicting 193s ok 53 - "!foo" should not be required 193s ok 54 - "!foo" type should be "conflict" 193s ok 55 - Should not have got project from "!foo" 193s ok 56 - Should have project "depend" for "!foo" 193s ok 57 - "!foo" should not be external 193s ok 58 - "!foo" should be internal 193s ok 59 - Should not have got ID from "!foo" 193s ok 60 - Construct "!@bar" 193s ok 61 - Constructed should stringify as "@bar" 193s ok 62 - Constructed should have key name "@bar" 193s ok 63 - Constructed should plan stringify as "!@bar" 193s ok 64 - Parse "!@bar" 193s ok 65 - Parsed should plan stringify as "!@bar" 193s ok 66 - "!@bar" should be conflicting 193s ok 67 - "!@bar" should not be required 193s ok 68 - "!@bar" type should be "conflict" 193s ok 69 - Should not have got project from "!@bar" 193s ok 70 - Should have project "depend" for "!@bar" 193s ok 71 - "!@bar" should not be external 193s ok 72 - "!@bar" should be internal 193s ok 73 - Should not have got ID from "!@bar" 193s ok 74 - Construct "foo@bar" 193s ok 75 - Constructed should stringify as "foo@bar" 193s ok 76 - Constructed should have key name "foo@bar" 193s ok 77 - Constructed should plan stringify as "foo@bar" 193s ok 78 - Parse "foo@bar" 193s ok 79 - Parsed should plan stringify as "foo@bar" 193s ok 80 - "foo@bar" should be required 193s ok 81 - "foo@bar" should not be conflicting 193s ok 82 - "foo@bar" type should be "require" 193s ok 83 - Should not have got project from "foo@bar" 193s ok 84 - Should have project "depend" for "foo@bar" 193s ok 85 - "foo@bar" should not be external 193s ok 86 - "foo@bar" should be internal 193s ok 87 - Should not have got ID from "foo@bar" 193s ok 88 - Construct "!foo@bar" 193s ok 89 - Constructed should stringify as "foo@bar" 193s ok 90 - Constructed should have key name "foo@bar" 193s ok 91 - Constructed should plan stringify as "!foo@bar" 193s ok 92 - Parse "!foo@bar" 193s ok 93 - Parsed should plan stringify as "!foo@bar" 193s ok 94 - "!foo@bar" should be conflicting 193s ok 95 - "!foo@bar" should not be required 193s ok 96 - "!foo@bar" type should be "conflict" 193s ok 97 - Should not have got project from "!foo@bar" 193s ok 98 - Should have project "depend" for "!foo@bar" 194s ok 99 - "!foo@bar" should not be external 194s ok 100 - "!foo@bar" should be internal 194s ok 101 - Should not have got ID from "!foo@bar" 194s ok 102 - Construct "proj:foo" 194s ok 103 - Constructed should stringify as "proj:foo" 194s ok 104 - Constructed should have key name "foo" 194s ok 105 - Constructed should plan stringify as "proj:foo" 194s ok 106 - Parse "proj:foo" 194s ok 107 - Parsed should plan stringify as "proj:foo" 194s ok 108 - "proj:foo" should be required 194s ok 109 - "proj:foo" should not be conflicting 194s ok 110 - "proj:foo" type should be "require" 194s ok 111 - Should have got project from "proj:foo" 194s ok 112 - Should have project "proj" for "proj:foo" 194s ok 113 - "proj:foo" should be external 194s ok 114 - "proj:foo" should not be internal 194s ok 115 - Should not have got ID from "proj:foo" 194s ok 116 - Construct "!proj:foo" 194s ok 117 - Constructed should stringify as "proj:foo" 194s ok 118 - Constructed should have key name "foo" 194s ok 119 - Constructed should plan stringify as "!proj:foo" 194s ok 120 - Parse "!proj:foo" 194s ok 121 - Parsed should plan stringify as "!proj:foo" 194s ok 122 - "!proj:foo" should be conflicting 194s ok 123 - "!proj:foo" should not be required 194s ok 124 - "!proj:foo" type should be "conflict" 194s ok 125 - Should have got project from "!proj:foo" 194s ok 126 - Should have project "proj" for "!proj:foo" 194s ok 127 - "!proj:foo" should be external 194s ok 128 - "!proj:foo" should not be internal 194s ok 129 - Should not have got ID from "!proj:foo" 194s ok 130 - Construct "proj:@foo" 194s ok 131 - Constructed should stringify as "proj:@foo" 194s ok 132 - Constructed should have key name "@foo" 194s ok 133 - Constructed should plan stringify as "proj:@foo" 194s ok 134 - Parse "proj:@foo" 194s ok 135 - Parsed should plan stringify as "proj:@foo" 194s ok 136 - "proj:@foo" should be required 194s ok 137 - "proj:@foo" should not be conflicting 194s ok 138 - "proj:@foo" type should be "require" 194s ok 139 - Should have got project from "proj:@foo" 194s ok 140 - Should have project "proj" for "proj:@foo" 194s ok 141 - "proj:@foo" should be external 194s ok 142 - "proj:@foo" should not be internal 194s ok 143 - Should not have got ID from "proj:@foo" 194s ok 144 - Construct "!proj:@foo" 194s ok 145 - Constructed should stringify as "proj:@foo" 194s ok 146 - Constructed should have key name "@foo" 194s ok 147 - Constructed should plan stringify as "!proj:@foo" 194s ok 148 - Parse "!proj:@foo" 194s ok 149 - Parsed should plan stringify as "!proj:@foo" 194s ok 150 - "!proj:@foo" should be conflicting 194s ok 151 - "!proj:@foo" should not be required 194s ok 152 - "!proj:@foo" type should be "conflict" 194s ok 153 - Should have got project from "!proj:@foo" 194s ok 154 - Should have project "proj" for "!proj:@foo" 194s ok 155 - "!proj:@foo" should be external 194s ok 156 - "!proj:@foo" should not be internal 194s ok 157 - Should not have got ID from "!proj:@foo" 194s ok 158 - Construct "proj:foo@bar" 194s ok 159 - Constructed should stringify as "proj:foo@bar" 194s ok 160 - Constructed should have key name "foo@bar" 194s ok 161 - Constructed should plan stringify as "proj:foo@bar" 194s ok 162 - Parse "proj:foo@bar" 194s ok 163 - Parsed should plan stringify as "proj:foo@bar" 194s ok 164 - "proj:foo@bar" should be required 194s ok 165 - "proj:foo@bar" should not be conflicting 194s ok 166 - "proj:foo@bar" type should be "require" 194s ok 167 - Should have got project from "proj:foo@bar" 194s ok 168 - Should have project "proj" for "proj:foo@bar" 194s ok 169 - "proj:foo@bar" should be external 194s ok 170 - "proj:foo@bar" should not be internal 194s ok 171 - Should not have got ID from "proj:foo@bar" 194s ok 172 - Construct "!proj:foo@bar" 194s ok 173 - Constructed should stringify as "proj:foo@bar" 194s ok 174 - Constructed should have key name "foo@bar" 194s ok 175 - Constructed should plan stringify as "!proj:foo@bar" 194s ok 176 - Parse "!proj:foo@bar" 194s ok 177 - Parsed should plan stringify as "!proj:foo@bar" 194s ok 178 - "!proj:foo@bar" should be conflicting 194s ok 179 - "!proj:foo@bar" should not be required 194s ok 180 - "!proj:foo@bar" type should be "conflict" 194s ok 181 - Should have got project from "!proj:foo@bar" 194s ok 182 - Should have project "proj" for "!proj:foo@bar" 194s ok 183 - "!proj:foo@bar" should be external 194s ok 184 - "!proj:foo@bar" should not be internal 194s ok 185 - Should not have got ID from "!proj:foo@bar" 194s ok 186 - Construct "9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 187 - Constructed should stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 188 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 189 - Constructed should plan stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 190 - Parse "9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 191 - Parsed should plan stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 192 - "9ed961ad7902a67fe0804c8e49e8993719fd5065" should be required 194s ok 193 - "9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be conflicting 194s ok 194 - "9ed961ad7902a67fe0804c8e49e8993719fd5065" type should be "require" 194s ok 195 - Should not have got project from "9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 196 - Should have undef project for "9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 197 - "9ed961ad7902a67fe0804c8e49e8993719fd5065" should be external 194s ok 198 - "9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be internal 194s ok 199 - Should have got ID from "9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 200 - Construct "!9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 201 - Constructed should stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 202 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 203 - Constructed should plan stringify as "!9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 204 - Parse "!9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 205 - Parsed should plan stringify as "!9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 206 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065" should be conflicting 194s ok 207 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be required 194s ok 208 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065" type should be "conflict" 194s ok 209 - Should not have got project from "!9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 210 - Should have undef project for "!9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 211 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065" should be external 194s ok 212 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be internal 194s ok 213 - Should have got ID from "!9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 214 - Construct "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 215 - Constructed should stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 216 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 217 - Constructed should plan stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 218 - Parse "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 219 - Parsed should plan stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 220 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should be required 194s ok 221 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be conflicting 194s ok 222 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" type should be "require" 194s ok 223 - Should have got project from "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 224 - Should have project "foo" for "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 225 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should be external 194s ok 226 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be internal 194s ok 227 - Should have got ID from "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 228 - Construct "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 229 - Constructed should stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 230 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 231 - Constructed should plan stringify as "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 232 - Parse "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 233 - Parsed should plan stringify as "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 234 - "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should be conflicting 194s ok 235 - "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be required 194s ok 236 - "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" type should be "conflict" 194s ok 237 - Should have got project from "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 238 - Should have project "foo" for "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 239 - "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should be external 194s ok 240 - "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be internal 194s ok 241 - Should have got ID from "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" 194s ok 242 - Construct "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 243 - Constructed should stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 244 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 245 - Constructed should plan stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 246 - Parse "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 247 - Parsed should plan stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 248 - "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should be required 194s ok 249 - "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should not be conflicting 194s ok 250 - "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" type should be "require" 194s ok 251 - Should not have got project from "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 252 - Should have project "depend" for "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 253 - "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should not be external 194s ok 254 - "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should be internal 194s ok 255 - Should not have got ID from "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 256 - Construct "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 257 - Constructed should stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 258 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 259 - Constructed should plan stringify as "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 260 - Parse "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 261 - Parsed should plan stringify as "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 262 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should be conflicting 194s ok 263 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should not be required 194s ok 264 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" type should be "conflict" 194s ok 265 - Should not have got project from "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 266 - Should have project "depend" for "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 267 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should not be external 194s ok 268 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should be internal 194s ok 269 - Should not have got ID from "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 270 - Construct "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 271 - Constructed should stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 272 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 273 - Constructed should plan stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 274 - Parse "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 275 - Parsed should plan stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 276 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should be required 194s ok 277 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should not be conflicting 194s ok 278 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" type should be "require" 194s ok 279 - Should have got project from "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 280 - Should have project "foo" for "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 281 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should be external 194s ok 282 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should not be internal 194s ok 283 - Should not have got ID from "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" 194s ok 284 - Should fail to parse "foo bar" 194s ok 285 - Should fail to parse "foo+@bar" 194s ok 286 - Should fail to parse "foo:+bar" 194s ok 287 - Should fail to parse "foo@bar+" 194s ok 288 - Should fail to parse "proj:foo@bar+" 194s ok 289 - Should get exception for no change or tag 194s ok 290 - No change or tag error ident should be "DEV" 194s ok 291 - No change or tag error message should be correct 194s ok 292 - Should get an error for ID + change 194s ok 293 - ID + change error ident ident should be "DEV" 194s ok 294 - ID + change error message should be correct 194s ok 295 - Should get an error for ID + tag 194s ok 296 - ID + tag error ident ident should be "DEV" 194s ok 297 - ID + tag error message should be correct 194s ok 298 - Should get an error for ID + change and tag 194s ok 299 - ID + change and tag error ident ident should be "DEV" 194s ok 300 - ID + change and tag error message should be correct 194s ok 301 - Create "roles" dependency 194s ok 302 - Should find the "roles" ID in the plan 194s ok 303 - The "roles" change should not be external 194s ok 304 - The "roles" change should be internal 194s ok 305 - Create "elsewhere:roles" dependency 194s ok 306 - The "elsewhere:roles" id should be undef 194s ok 307 - The "elsewhere:roles" change should be external 194s ok 308 - The "elsewhere:roles" change should not be internal 194s ok 309 - Create depend using external ID 194s ok 310 - The external ID should be set 194s ok 311 - The external ID should register as external 194s ok 312 - The external ID should not register as internal 194s ok 313 - Create depend using "roles" ID 194s ok 314 - The "roles" ID should be set 194s ok 315 - The "roles" ID should not register as external 194s ok 316 - The "roles" ID should register as internal 194s ok 317 - Create "nonexistent" dependency 194s ok 318 - Should get error for nonexistent change 194s ok 319 - Nonexistent change error ident should be "plan" 194s ok 320 - Nonexistent change error message should be correct 194s ok 321 - Create depend without ID 194s ok 322 - Resolved ID should be undef 194s ok 323 - Set resolved ID 194s ok 324 - Resolved ID should be set 194s ok 325 - Unset resolved ID 194s ok 326 - Resolved ID should be undef again 194s ok 194s t/deploy.t .......... 194s ok 1 - require App::Sqitch::Command::deploy; 194s ok 2 - The class (or class-like) 'App::Sqitch::Command::deploy' isa 'App::Sqitch::Command' 194s ok 3 - App::Sqitch::Command::deploy->can(...) 194s ok 4 - App::Sqitch::Command::deploy does ContextCommand 194s ok 5 - App::Sqitch::Command::deploy does ConnectingCommand 194s ok 6 - Options should be correct 194s ok 7 - Should parse options 194s ok 8 - Options should not conflict with core options 194s ok 9 - Should have default configuration with no config or opts 194s ok 10 - Should have mode, verify, set, log-only, & lock-timeout options 194s ok 11 - Should have mode and verify configuration 194s ok 12 - 'new deploy with target' isa 'App::Sqitch::Command::deploy' 194s ok 13 - Should have target "foo" 194s ok 14 - An object of class 'App::Sqitch::Command::deploy' isa 'App::Sqitch::Command::deploy' 194s ok 15 - Should have undef default target 194s ok 16 - to_change should be undef 194s ok 17 - mode should be "all" 194s ok 18 - Should collect no variables 194s ok 19 - Should collect core vars 194s ok 20 - Should override core vars with deploy vars 194s ok 21 - Should override deploy vars with engine vars 194s ok 22 - Should override engine vars with target vars 194s ok 23 - Should override target vars with --set variables 194s ok 24 - Execute to "@alpha" 194s ok 25 - "@alpha" "all", and 0 should be passed to the engine 194s ok 26 - Should have a target 194s ok 27 - The engine should not be set log_only 194s ok 28 - The engine should have the default lock_timeout 194s ok 29 - Should have no warnings 194s ok 30 - Execute 194s ok 31 - undef and "all" should be passed to the engine 194s ok 32 - Should have no warnings 194s ok 33 - Execute with change 194s ok 34 - "widgets" and "all" should be passed to the engine 194s ok 35 - Should have no warnings 194s ok 36 - Execute with target 194s ok 37 - undef and "all" should be passed to the engine 194s ok 38 - The target should be as specified 194s ok 39 - Should have no warnings 194s ok 40 - Execute with change and target 194s ok 41 - "widgets" and "all" should be passed to the engine 194s ok 42 - The target should be as specified 194s ok 43 - Should have no warnings 194s ok 44 - Execute with target and change 194s ok 45 - "widgets" and "all" should be passed to the engine 194s ok 46 - The target should be as specified 194s ok 47 - Should have no warnings 194s ok 48 - 'Object with to, mode, log_only, and variables' isa 'App::Sqitch::Command::deploy' 194s ok 49 - Execute again 194s ok 50 - Engine should verify 194s ok 51 - The engine should be set log_only 194s ok 52 - The lock timeout should be set to 30 194s ok 53 - "foo", "tag", and 1 should be passed to the engine 194s ok 54 - Vars should have been passed through to the engine 194s ok 55 - The target name should be from the target option 194s ok 56 - Should have no warnings 194s ok 57 - Execute with change 194s ok 58 - Engine should verify 194s ok 59 - The engine should be set log_only 194s ok 60 - The lock timeout should be set to 30 194s ok 61 - "foo", "tag", and 1 should be passed to the engine 194s ok 62 - Vars should have been passed through to the engine 194s ok 63 - Should have too many changes warning 194s ok 64 - Execute with target again 194s ok 65 - Engine should verify 194s ok 66 - The engine should be set log_only 194s ok 67 - The lock timeout should be set to 30 194s ok 68 - "foo", "tag", and 1 should be passed to the engine 194s ok 69 - Vars should have been passed through to the engine 194s ok 70 - The target should be from the target option 194s ok 71 - Should have warning about too many targets 194s ok 72 - "all" should be a valid mode 194s ok 73 - "tag" should be a valid mode 194s ok 74 - "change" should be a valid mode 194s ok 75 - "foo" should not be a valid mode 194s ok 76 - "bad" should not be a valid mode 194s ok 77 - "gar" should not be a valid mode 194s ok 78 - Should get an exception for unknown arg 194s ok 79 - Unknown arg ident should be "deploy" 194s ok 80 - Should get an exeption for two unknown arg 194s ok 81 - Should get an exception for unknown args 194s ok 82 - Unknown args ident should be "deploy" 194s ok 83 - Should get an exeption for two unknown args 194s 1..83 194s ok 195s t/engine.t .......... 195s 1..794 195s ok 1 - use App::Sqitch::Engine; 195s ok 2 - App::Sqitch::Engine->can(...) 195s ok 3 - Load a sqitch sqitch object 195s ok 4 - Should get an exception for missing sqitch param 195s ok 5 - Should get an exception for missing sqitch param 195s ok 6 - Should get an exception for array sqitch param 195s ok 7 - Should get an exception for array target param 195s ok 8 - Should get an exception for string sqitch param 195s ok 9 - Should get an exception for string target param 195s ok 10 - 'Engine' isa 'App::Sqitch::Engine' 195s ok 11 - Load an engine 195s ok 12 - An object of class 'App::Sqitch::Engine::whu' isa 'App::Sqitch::Engine::whu' 195s ok 13 - The sqitch attribute should be set 195s ok 14 - Should die on unknown target 195s ok 15 - Should get load error message 195s ok 16 - Should have relevant previoius exception 195s ok 17 - No target should die 195s ok 18 - It should be the expected message 195s ok 19 - Should die on bad engine module 195s ok 20 - Should get another load error message 195s ok 21 - Should have relevant previoius exception from the bad module 195s ok 22 - App::Sqitch::Engine->can('name') 195s ok 23 - Create a App::Sqitch::Engine object 195s ok 24 - Should get error from base engine name 195s ok 25 - Name error ident should be "engine" 195s ok 26 - Name error message should be correct 195s ok 27 - Create a subclass name object 195s ok 28 - Subclass oject name should be "whu" 195s ok 29 - Subclass class name should be "whu" 195s ok 30 - App::Sqitch::Engine->can('config_vars') 195s ok 31 - Should have database and client in engine base class 195s ok 32 - App::Sqitch::Engine->can(...) 195s ok 33 - Should have no variables 195s ok 34 - Add a variable 195s ok 35 - Should have the variable 195s ok 36 - Set more variables 195s ok 37 - Should have all of the variables 195s ok 38 - Should again have no variables 195s ok 39 - Load engine 195s ok 40 - Target should be as passed 195s ok 41 - Load engine with URI with password 195s ok 42 - 'target attribute' isa 'App::Sqitch::Target' 195s ok 43 - Load engine 195s ok 44 - Destination should be URI string 195s ok 45 - Rgistry destination should be the same as destination 195s ok 46 - Load engine with URI with password 195s ok 47 - Destination should not include password 195s ok 48 - Registry destination should again be the same as destination 195s ok 49 - App::Sqitch::Engine::whu->can('_check_registry') 195s ok 50 - Registry should be fine at current version 195s ok 51 - Should get error for non-existent registry 195s ok 52 - Non-existent registry error ident should be "engine" 195s ok 53 - Non-existent registry error message should be correct 195s ok 54 - Should get error from revert 195s ok 55 - revert registry error ident should be "engine" 195s ok 56 - revert registry error message should be correct 195s ok 57 - Should get error from verify 195s ok 58 - verify registry error ident should be "engine" 195s ok 59 - verify registry error message should be correct 195s ok 60 - Should get error for out-of-date registry 195s ok 61 - Out-of-date registry error ident should be "engine" 195s ok 62 - Out-of-date registry error message should be correct 195s ok 63 - Should get error for future registry 195s ok 64 - Future registry error ident should be "engine" 195s ok 65 - Future registry error message should be correct 195s ok 66 - Create a App::Sqitch::Engine object again 195s ok 67 - Should get an unimplemented exception from initialized() 195s ok 68 - Should get an unimplemented exception from initialize() 195s ok 69 - Should get an unimplemented exception from register_project() 195s ok 70 - Should get an unimplemented exception from run_file() 195s ok 71 - Should get an unimplemented exception from run_handle() 195s ok 72 - Should get an unimplemented exception from log_deploy_change() 195s ok 73 - Should get an unimplemented exception from log_fail_change() 195s ok 74 - Should get an unimplemented exception from log_revert_change() 195s ok 75 - Should get an unimplemented exception from log_new_tags() 195s ok 76 - Should get an unimplemented exception from is_deployed_tag() 195s ok 77 - Should get an unimplemented exception from is_deployed_change() 195s ok 78 - Should get an unimplemented exception from are_deployed_changes() 195s ok 79 - Should get an unimplemented exception from change_id_for() 195s ok 80 - Should get an unimplemented exception from changes_requiring_change() 195s ok 81 - Should get an unimplemented exception from earliest_change_id() 195s ok 82 - Should get an unimplemented exception from latest_change_id() 195s ok 83 - Should get an unimplemented exception from deployed_changes() 195s ok 84 - Should get an unimplemented exception from deployed_changes_since() 195s ok 85 - Should get an unimplemented exception from load_change() 195s ok 86 - Should get an unimplemented exception from name_for_change_id() 195s ok 87 - Should get an unimplemented exception from current_state() 195s ok 88 - Should get an unimplemented exception from current_changes() 195s ok 89 - Should get an unimplemented exception from current_tags() 195s ok 90 - Should get an unimplemented exception from search_events() 195s ok 91 - Should get an unimplemented exception from registered_projects() 195s ok 92 - Should get an unimplemented exception from change_offset_from_id() 195s ok 93 - Should get an unimplemented exception from change_id_offset_from_id() 195s ok 94 - Should get an unimplemented exception from wait_lock() 195s ok 95 - Should get an unimplemented exception from registry_version() 195s ok 96 - Should get an unimplemented exception from _update_script_hashes() 195s ok 97 - App::Sqitch::Engine->can('_load_changes') 195s ok 98 - Should load changes with no change 195s ok 99 - Should load changes with undef 195s ok 100 - Should load changes with no tags 195s ok 101 - Should load changes with multiple hashes with no tags 195s ok 102 - Should load changes with tags 195s ok 103 - Should load changes with tags with leading @ 195s ok 104 - Should load changes with multiple hashes with tags 195s ok 105 - Should load changes with reworked change 195s ok 106 - Should load changes with reworked change & multiple tags 195s ok 107 - Should load changes with doubly reworked change 195s ok 108 - Rework change "you" 195s ok 109 - Tag @beta1 195s ok 110 - Should load changes with Unplanned change 195s ok 111 - Should load changes with reworked change without reworked version deployed 195s ok 112 - Should load changes with reworked change with reworked version deployed 195s ok 113 - Create a subclass name object again 195s ok 114 - App::Sqitch::Engine::whu->can(...) 195s ok 115 - Deploy a change 195s ok 116 - deploy_change should have called the proper methods 195s ok 117 - Output should reflect the deployment 195s ok 118 - Output should reflect success 195s ok 119 - Only log a change 195s ok 120 - log-only deploy_change should not have called run_file 195s ok 121 - Output should reflect the logging 195s ok 122 - Output should reflect deploy success 195s ok 123 - Enable verification 195s ok 124 - Deploy a change to be verified 195s ok 125 - deploy_change with verification should run the verify file 195s ok 126 - Output should reflect the logging 195s ok 127 - Output should reflect deploy success 195s ok 128 - Enable log_only 195s ok 129 - Verify and log a change 195s ok 130 - deploy_change with verification and log-only should not run deploy 195s ok 131 - Output should reflect the logging 195s ok 132 - Output should reflect deploy success 195s ok 133 - Deploy change with error 195s ok 134 - Error should be from run_file 195s ok 135 - Should have logged change failure 195s ok 136 - Output should reflect the deployment, even with failure 195s ok 137 - Output should reflect deploy failure 195s ok 138 - Deploy change with failed verification 195s ok 139 - Error should be from deploy_change 195s ok 140 - Should have logged verify failure 195s ok 141 - Output should reflect the deployment, even with verify failure 195s ok 142 - Output should reflect deploy failure 195s ok 143 - Verify error should have been vented 195s ok 144 - Enable log_only 195s ok 145 - Deploy change with log-only and failed verification 195s ok 146 - Error should be from deploy_change 195s ok 147 - Should have logged verify failure but not reverted 195s ok 148 - Output should reflect the deployment, even with verify failure 195s ok 149 - Output should reflect deploy failure 195s ok 150 - Verify error should have been vented 195s ok 151 - Deploy a change with no verify script 195s ok 152 - deploy_change with no verify file should not run it 195s ok 153 - Output should reflect the logging 195s ok 154 - Output should reflect deploy success 195s ok 155 - A warning about no verify file should have been emitted 195s ok 156 - Deploy change with log-only and failed verification 195s ok 157 - Error should be from deploy_change 195s ok 158 - Should have logged just begin and finish 195s ok 159 - Output should reflect start of deployment 195s ok 160 - Output should acknowldge failure 195s ok 161 - Vent should be empty 195s ok 162 - Revert a change 195s ok 163 - revert_change should have called the proper methods 195s ok 164 - Output should reflect reversion 195s ok 165 - Output should acknowldge revert success 195s ok 166 - Enable log_only 195s ok 167 - Revert a change with log-only 195s ok 168 - Log-only revert_change should not have run the change script 195s ok 169 - Output should reflect logged reversion 195s ok 170 - Output should acknowldge revert success 195s ok 171 - Should die on unknown revert logging error 195s ok 172 - Sould have revert ident error 195s ok 173 - Should get revert failure error message 195s ok 174 - Log failure should not have seen log_revert_change 195s ok 175 - Output should reflect reversion 195s ok 176 - Output should acknowldge failure 195s ok 177 - The logging error should have been vented 195s ok 178 - Should die on missing revert script 195s ok 179 - Sould have revert ident error 195s ok 180 - Error should be from revert_change 195s ok 181 - Log failure should not have seen log_revert_change 195s ok 182 - Output should reflect revert start 195s ok 183 - Output should acknowldge failure 195s ok 184 - Should have vented nothing 195s ok 185 - Engine with sqitch with plan file 195s ok 186 - Should get proper change from latest_change() 195s ok 187 - Latest change ID should have been called with no arg 195s ok 188 - Should again get proper change from latest_change() 195s ok 189 - Latest change ID should have been called with offset arg 195s ok 190 - Should get proper change from earliest_change() 195s ok 191 - Earliest change ID should have been called with no arg 195s ok 192 - Should again get proper change from earliest_change() 195s ok 193 - Earliest change ID should have been called with offset arg 195s ok 194 - App::Sqitch::Engine->can('_sync_plan') 195s ok 195 - Plan should start at position -1 195s ok 196 - start_at should be undef 195s ok 197 - Sync the plan 195s ok 198 - Plan should still be at position -1 195s ok 199 - start_at should still be undef 195s ok 200 - Should not have updated IDs or hashes 195s ok 201 - Sync the plan again 195s ok 202 - Plan should again be at position -1 195s ok 203 - start_at should again be undef 195s ok 204 - Still should not have updated IDs or hashes 195s ok 205 - Sync the plan to a tag 195s ok 206 - Plan should now be at position 2 195s ok 207 - start_at should now be widgets@beta 195s ok 208 - Should have updated IDs 195s ok 209 - Sync the plan with a random script hash 195s ok 210 - Plan should now be at position 1 195s ok 211 - start_at should now be widgets@beta 195s ok 212 - Should have updated IDs but not hashes 195s ok 213 - Sync the plan with a random script hash 195s ok 214 - Plan should now be at position 1 195s ok 215 - start_at should now be widgets@beta 195s ok 216 - Should have updated IDs and hashes 195s ok 217 - Sync the plan 195s ok 218 - Plan should be at position 1 195s ok 219 - start_at should be users@alpha 195s ok 220 - Should have updated hashes but not IDs 195s ok 221 - Sync the plan with no script hash 195s ok 222 - Plan should now be at position 1 195s ok 223 - start_at should still be users@alpha 195s ok 224 - Should have ugpraded the registry 195s ok 225 - The script hash should have been set to the change ID 195s ok 226 - Sync the plan with no registry 195s ok 227 - Plan should start at position -1 195s ok 228 - App::Sqitch::Engine->can('deploy') 195s ok 229 - Deploy to @alpha 195s ok 230 - Plan should be at position 1 195s ok 231 - Should have deployed through @alpha 195s ok 232 - Should have called _deploy_all() 195s ok 233 - Should have seen the output of the deploy to @alpha 195s ok 234 - Both change names should be output 195s ok 235 - Enable log_only 195s ok 236 - Log-only deploy in $mode mode to @alpha 195s ok 237 - Plan should be at position 1 195s ok 238 - Should have deployed through @alpha without running files 195s ok 239 - Should have called _deploy_by_change() 195s ok 240 - Should have seen the output of the deploy to @alpha 195s ok 241 - Both change names should be output 195s ok 242 - Enable log_only 195s ok 243 - Log-only deploy in $mode mode to @alpha 195s ok 244 - Plan should be at position 1 195s ok 245 - Should have deployed through @alpha without running files 195s ok 246 - Should have called _deploy_by_tag() 195s ok 247 - Should have seen the output of the deploy to @alpha 195s ok 248 - Both change names should be output 195s ok 249 - Enable log_only 195s ok 250 - Log-only deploy in $mode mode to @alpha 195s ok 251 - Plan should be at position 1 195s ok 252 - Should have deployed through @alpha without running files 195s ok 253 - Should have called _deploy_all() 195s ok 254 - Should have seen the output of the deploy to @alpha 195s ok 255 - Both change names should be output 195s ok 256 - Deploy to @alpha with tag mode 195s ok 257 - Plan should again be at position 1 195s ok 258 - Should have deployed through @alpha without initialization 195s ok 259 - Should have called _deploy_by_tag() 195s ok 260 - Should have seen the output of the deploy to @alpha 195s ok 261 - Both change names should be output 195s ok 262 - Should get an error for an unknown change 195s ok 263 - The exception should report the unknown change 195s ok 264 - Only latest_item() should have been called 195s ok 265 - Deploy to alpha thrice 195s ok 266 - Only latest_item() should have been called 195s ok 267 - Should notify user that already at @alpha 195s ok 268 - Should fail deploying older change 195s ok 269 - Should be a "deploy" error 195s ok 270 - It should suggest using "revert" 195s ok 271 - Should have called latest_item() and latest_tag() 195s ok 272 - Deploy to from index 1 195s ok 273 - Plan should be at position 2 195s ok 274 - Should have deployed to change 2 195s ok 275 - Should have emitted deploy announcement and successes 195s ok 276 - Deploy everything by change 195s ok 277 - Plan should be at position 3 195s ok 278 - Should have deployed everything 195s ok 279 - Should have called _deploy_by_change() 195s ok 280 - Should have emitted deploy announcement and successes 195s ok 281 - Should have seen the output of the deploy to the end 195s ok 282 - Debug output should show what will be deployed 195s ok 283 - Should return success for deploy to up-to-date DB 195s ok 284 - Should have emitted deploy announcement and successes 195s ok 285 - It should have just fetched the latest change ID 195s ok 286 - Should fail on invalid mode 195s ok 287 - Should be a "deploy" error 195s ok 288 - And the message should reflect the unknown mode 195s ok 289 - It should have check for initialization 195s ok 290 - Should have announced destination 195s ok 291 - Engine with sqitch with no file 195s ok 292 - Should die with no changes 195s ok 293 - Should have the localized message 195s ok 294 - It should have checked for the latest item 195s ok 295 - Deploy changewise to index 1 195s ok 296 - Should changewise deploy to index 2 195s ok 297 - Should have seen output of each change 195s ok 298 - Output should reflect deploy successes 195s ok 299 - Deploy changewise to index 2 195s ok 300 - Should changewise deploy to from index 2 to index 3 195s ok 301 - Should have seen output of changes 2-3 195s ok 302 - Output should reflect deploy successes 195s ok 303 - Die in _deploy_by_change 195s ok 304 - It should have died in run_file 195s ok 305 - It should have logged the failure 195s ok 306 - Should have seen output for first change 195s ok 307 - Output should reflect deploy failure 195s ok 308 - Deploy tagwise to index 1 195s ok 309 - Should tagwise deploy to index 1 195s ok 310 - Should have seen output of each change 195s ok 311 - Output should reflect deploy successes 195s ok 312 - Deploy tagwise to index 3 195s ok 313 - Should tagwise deploy from index 2 to index 3 195s ok 314 - Should have seen output of changes 3-3 195s ok 315 - Output should reflect deploy successes 195s ok 316 - Die in log_deploy_change 195s ok 317 - Should get final deploy failure message 195s ok 318 - It should have reverted back to the last deployed tag 195s ok 319 - Should have seen deploy and revert messages (excluding curry revert) 195s ok 320 - Output should reflect deploy successes and failure 195s ok 321 - The original error should have been vented 195s ok 322 - Enable log_only 195s ok 323 - Die in log_deploy_change log-only 195s ok 324 - Should get final deploy failure message 195s ok 325 - It should have run no deploy or revert scripts 195s ok 326 - Should have seen deploy and revert messages (excluding curry revert) 195s ok 327 - Output should reflect deploy successes and failure 195s ok 328 - The original error should have been vented 195s ok 329 - Die in _deploy_by_tag again 195s ok 330 - Should again get final deploy failure message 195s ok 331 - Should have logged back to the beginning 195s ok 332 - Should have seen deploy and revert messages 195s ok 333 - Output should reflect deploy successes and failure 195s ok 334 - Should have one vented message 195s ok 335 - And it should be the underlying error 195s ok 336 - And it should had notified that all changes were reverted 195s ok 337 - Die in _deploy_by_tag yet again 195s ok 338 - Should die "Deploy failed" again 195s ok 339 - Should have reverted back to last tag 195s ok 340 - Should have user change reversion messages 195s ok 341 - Output should reflect deploy successes and failure 195s ok 342 - Should see underlying error and reversion message 195s ok 343 - Die in _deploy_by_tag again 195s ok 344 - Should once again get final deploy failure message 195s ok 345 - Should have tried to revert one change 195s ok 346 - Should have seen revert message 195s ok 347 - Output should reflect deploy successes and failure 195s ok 348 - Should get reversion failure message 195s ok 349 - Deploy all to index 1 195s ok 350 - Should tagwise deploy to index 1 195s ok 351 - Should have seen output of each change 195s ok 352 - Output should reflect deploy successes 195s ok 353 - Deploy tagwise to index 2 195s ok 354 - Should tagwise deploy to from index 1 to index 2 195s ok 355 - Should have seen output of changes 3-4 195s ok 356 - Output should reflect deploy successe 195s ok 357 - Die in _deploy_all 195s ok 358 - Should get final deploy failure message 195s ok 359 - It should have logged up to the failure 195s ok 360 - Should have seen deploy and revert messages excluding revert for failed logging 195s ok 361 - Output should reflect deploy successes and failures 195s ok 362 - The original error should have been vented 195s ok 363 - Enable log_only 195s ok 364 - Die in log-only _deploy_all 195s ok 365 - Should get final deploy failure message 195s ok 366 - It should have run no deploys or reverts 195s ok 367 - Should have seen deploy and revert messages excluding revert for failed logging 195s ok 368 - Output should reflect deploy successes and failures 195s ok 369 - The original error should have been vented 195s ok 370 - Die in _deploy_all again 195s ok 371 - Should again get final deploy failure message 195s ok 372 - Should have reveted all changes and tags 195s ok 373 - Should see all changes revert 195s ok 374 - Output should reflect deploy successes and failures 195s ok 375 - Should notifiy user of error and rollback 195s ok 376 - Die in _deploy_all on the last change 195s ok 377 - Should once again get final deploy failure message 195s ok 378 - Should have deployed to dr_evil and revered down to @alpha 195s ok 379 - Should see changes revert back to @alpha 195s ok 380 - Output should reflect deploy successes and failures 195s ok 381 - Should notifiy user of error and rollback to @alpha 195s ok 382 - Die in _deploy_all on the last change 195s ok 383 - Should once again get final deploy failure message 195s ok 384 - Should have deployed to dr_evil and revered down to @alpha 195s ok 385 - Should see changes revert back to @alpha 195s ok 386 - Output should reflect deploy successes and failures 195s ok 387 - Should have two vented items 195s ok 388 - First vented should be the error 195s ok 389 - Should notifiy user of rollback to @alpha 195s ok 390 - Test is_deployed(tag) 195s ok 391 - It should have called is_deployed_tag() 195s ok 392 - Test is_deployed(change) 195s ok 393 - It should have called is_deployed_change() 195s ok 394 - App::Sqitch::Engine::whu->can('deploy_change') 195s ok 395 - Deploy a change 195s ok 396 - It should have been deployed 195s ok 397 - Should have shown change name 195s ok 398 - Output should reflect deploy success 195s ok 399 - Deploying change should die on logging failure 195s ok 400 - Should have privat ident 195s ok 401 - Should have failure message 195s ok 402 - It should have been deployed and reverted 195s ok 403 - Should have shown change name 195s ok 404 - Output should reflect deploy failure 195s ok 405 - Vent should reflect deployment error 195s ok 406 - Deploying change should die on logging failure 195s ok 407 - Should have privat ident 195s ok 408 - Should have failure message 195s ok 409 - It should have been deployed but not reverted 195s ok 410 - Should have shown change name 195s ok 411 - Output should reflect deploy failure 195s ok 412 - Vent should reflect deployment and reversion errors 195s ok 413 - Shuld die on deploy failure 195s ok 414 - Should be told the deploy failed 195s ok 415 - It should failed to have been deployed 195s ok 416 - Should have vented the original error 195s ok 417 - Should have shown change name 195s ok 418 - Output should reflect deploy failure 195s ok 419 - App::Sqitch::Engine::whu->can('revert_change') 195s ok 420 - Revert the change 195s ok 421 - It should have been reverted 195s ok 422 - Should have shown reverted change name 195s ok 423 - And the revert failure should be "ok" 195s ok 424 - App::Sqitch::Engine::whu->can('revert') 195s ok 425 - Should return success for no changes to revert 195s ok 426 - Should have notified that there is nothing to revert 195s ok 427 - It should only have called deployed_changes() 195s ok 428 - Nothing should have been output 195s ok 429 - Should get warning omitting required arguments 195s ok 430 - Should have notified that there is nothing to revert 195s ok 431 - It should only have called deployed_changes() 195s ok 432 - Nothing should have been output 195s ok 433 - Revert should die on unknown change 195s ok 434 - Should be another "revert" error 195s ok 435 - The message should mention it is an unknown change 195s ok 436 - Should have called change_id_for() with change name 195s ok 437 - Nothing should have been output 195s ok 438 - Revert should die on unknown change ID 195s ok 439 - Should be another "revert" error 195s ok 440 - The message should mention it is an unknown change 195s ok 441 - Should have called change_id_for() with change ID 195s ok 442 - Nothing should have been output 195s ok 443 - Revert should die on undeployed change 195s ok 444 - Should be another "revert" error 195s ok 445 - The message should mention that the change is not deployed 195s ok 446 - change_id_for 195s ok 447 - Nothing should have been output 195s ok 448 - Should return success for revert even with no changes 195s ok 449 - No subsequent change error message should be correct 195s ok 450 - Should have called change_id_for and deployed_changes_since 195s ok 451 - Should return success for known but undeployed change 195s ok 452 - No changes message should be correct 195s ok 453 - Should have called deployed_changes 195s ok 454 - Revert all changes 195s ok 455 - Should have reverted the changes in reverse order 195s ok 456 - Should have prompted to revert all changes 195s ok 457 - It should have said it was reverting all changes and listed them 195s ok 458 - Output should show what would be reverted 195s ok 459 - And the revert successes should be emitted 195s ok 460 - Enable log_only 195s ok 461 - Revert all changes log-only 195s ok 462 - Log-only Should have reverted the changes in reverse order 195s ok 463 - Log-only should have prompted to revert all changes 195s ok 464 - It should have said it was reverting all changes and listed them 195s ok 465 - Output should show what would be reverted 195s ok 466 - And the revert successes should be emitted 195s ok 467 - Should abort declined revert 195s ok 468 - Declined revert ident should be "revert" 195s ok 469 - Should have exited with value 1 195s ok 470 - Should have exited with proper message 195s ok 471 - Should have called deployed_changes only 195s ok 472 - Should have prompt to revert all changes 195s ok 473 - Output should show what would be reverted 195s ok 474 - Revert all changes with no prompt 195s ok 475 - Should have reverted the changes in reverse order 195s ok 476 - Should have no prompt 195s ok 477 - It should have said it was reverting all changes and listed them 195s ok 478 - And the revert successes should be emitted 195s ok 479 - Output should show what will be reverted 195s ok 480 - Revert to @alpha 195s ok 481 - Should have reverted only changes after @alpha 195s ok 482 - Should have prompt to revert to change 195s ok 483 - Output should show what it reverts to 195s ok 484 - Output should show what would be reverted 195s ok 485 - And the revert successes should be emitted 195s ok 486 - Should abort declined revert to @alpha 195s ok 487 - Declined revert ident should be "revert:confirm" 195s ok 488 - Should have exited with value 1 195s ok 489 - Should have exited with proper message 195s ok 490 - Should have called revert methods 195s ok 491 - Should have prompt to revert to @alpha 195s ok 492 - Should emit a detailed prompt. 195s ok 493 - Revert to @HEAD^ 195s ok 494 - Should have reverted one changes for @HEAD^ 195s ok 495 - Should have no prompt 195s ok 496 - Output should show what it reverts to 195s ok 497 - And the header and "ok" should be emitted 195s ok 498 - Output should show what will be reverted 195s ok 499 - App::Sqitch::Engine->can('change_id_for_depend') 195s ok 500 - Should get error from change_id_for_depend when change not in plan 195s ok 501 - Should get ident "plan" from change_id_for_depend 195s ok 502 - Should have proper message from change_id_for_depend error 195s ok 503 - Should get error from change_id_for_depend when no ID 195s ok 504 - Should get ident "engine" when no ID 195s ok 505 - Should have proper messag from change_id_for_depend error 195s ok 506 - Get a change id 195s ok 507 - Should have passed dependency params to change_id_for() 195s ok 508 - App::Sqitch::Engine->can('find_change') 195s ok 509 - find_change() should work 195s ok 510 - Its parameters should have been passed to change_id_for and change_offset_from_id 195s ok 511 - find_change() should work 195s ok 512 - Project and offset should have been passed off 195s ok 513 - App::Sqitch::Engine->can('find_change_id') 195s ok 514 - find_change_id() should work 195s ok 515 - Its parameters should have been passed to change_id_for and change_offset_from_id 195s ok 516 - find_change_id() should work 195s ok 517 - Project and offset should have been passed off 195s ok 518 - App::Sqitch::Engine->can('verify_change') 195s ok 519 - Verify a change 195s ok 520 - The change file should have been run 195s ok 521 - Should have no info output 195s ok 522 - Should throw error on verify failure 195s ok 523 - Verify error ident should be "verify" 195s ok 524 - Previous exception should be captured 195s ok 525 - Verify error message should be correct 195s ok 526 - Should have seen not method calls 195s ok 527 - Should have no info output 195s ok 528 - Verify a change with no verify script. 195s ok 529 - No abstract methods should be called 195s ok 530 - Should have no info output 195s ok 531 - A warning about no verify file should have been emitted 195s ok 532 - App::Sqitch::Engine::whu->can('check_deploy_dependencies') 195s ok 533 - All planned changes should be okay 195s ok 534 - Should have called are_deployed_changes 195s ok 535 - Should die when some changes deployed 195s ok 536 - Already deployed error ident should be "deploy" 195s ok 537 195s ok 538 - Should have called are_deployed_changes 195s ok 539 - Dependencies should check out even when within those to be deployed 195s ok 540 - Resolved ID should be populated 195s ok 541 - Conflict should throw exception 195s ok 542 - Should be a "deploy" error 195s ok 543 - Should have localized message about the local conflict 195s ok 544 - Conflict should throw exception 195s ok 545 - Should be a "deploy" error 195s ok 546 - Should have localized message about conflicts 195s ok 547 - Should have called change_id_for() twice 195s ok 548 - Conflicting dependencies should have no resolved IDs 195s ok 549 - Conflict should throw another exception 195s ok 550 - Should be a "deploy" error 195s ok 551 - Should have localized message about all three conflicts 195s ok 552 - Should have called change_id_for() twice 195s ok 553 - Conflicting dependencies should have no resolved IDs 195s ok 554 - Missing dependencies should throw exception 195s ok 555 - Should be another "deploy" error 195s ok 556 - Should have localized message missing dependencies without dupes 195s ok 557 - Should have called check_requires 195s ok 558 - Missing requirements should not have resolved 195s ok 559 - Missing dependencies should throw exception 195s ok 560 - Should be another "deploy" error 195s ok 561 - Should have localized conflicts and required error messages 195s ok 562 - Should have called check_requires 195s ok 563 - Missing requirements should not have resolved 195s ok 564 - App::Sqitch::Engine::whu->can('check_revert_dependencies') 195s ok 565 - Should get no error with no dependencies 195s ok 566 - It should have check for requiring changes 195s ok 567 - Should get error reverting change another depend on 195s ok 568 - Dependent error ident should be "revert" 195s ok 569 - Dependent error message should be correct 195s ok 570 - It should have check for requiring changes 195s ok 571 - Should get error reverting change others depend on 195s ok 572 - Dependent error ident should be "revert" 195s ok 573 - Dependent error message should be correct 195s ok 574 - It should have check for requiring changes 195s ok 575 - Should get error reverting change others depend on 195s ok 576 - Dependent error ident should be "revert" 195s ok 577 - Dependent error message should be correct 195s ok 578 - It should have checked twice for requiring changes 195s ok 579 - App::Sqitch::Engine::whu->can('_trim_to') 195s ok 580 - _trim_to should complain about a nonexistent change key 195s ok 581 - _trim_to nonexistent key error ident should be "foo" 195s ok 582 - _trim_to nonexistent key error message should be correct 195s ok 583 - It should have passed the change name and ROOT tag to change_id_for 195s ok 584 - _trim_to should complain about an undeployed change key 195s ok 585 - _trim_to undeployed change error ident should be "yep" 195s ok 586 - _trim_to undeployed change error message should be correct 195s ok 587 - It should have passed change "blah" change_id_for 195s ok 588 - _trim_to should complain about an unplanned change key 195s ok 589 - _trim_to unplanned change error ident should be "oop" 195s ok 590 - _trim_to unplanned change error message should be correct 195s ok 591 - It should have passed "whatever" to change_id_offset_from_id 195s ok 592 - _trim_to should find "roles" at index 0 195s ok 593 - Changes should be untrimmed 195s ok 594 - It should have passed change 0 ID to change_id_offset_from_id 195s ok 595 - _trim_to should find "widgets" at index 2 195s ok 596 - First two changes should be shifted off 195s ok 597 - It should have passed change 2 ID to change_id_offset_from_id 195s ok 598 - _trim_to should find "dr_evil" at last index 195s ok 599 - Changes should be untrimmed 195s ok 600 - It should have passed change -1 ID to change_id_offset_from_id 195s ok 601 - _trim_to should find "tacos" at index 4 195s ok 602 - Last two changes should be popped off 195s ok 603 - It should have passed change -3 ID to change_id_offset_from_id 195s ok 604 - _trim_to should find "lolz^" at index 4 195s ok 605 - Should pass change -3 ID and offset -1 to change_id_offset_from_id 195s ok 606 - _trim_to should find "curry~" at index 4 195s ok 607 - Should pass change -3 ID and offset 1 to change_id_offset_from_id 195s ok 608 - _trim_to should find "@HEAD" at index 2 195s ok 609 - First two changes should be shifted off 195s ok 610 - Should pass tag HEAD to change_id_for 195s ok 611 - _trim_to should find "HEAD" at index 2 195s ok 612 - First two changes should be shifted off 195s ok 613 - Should pass tag @HEAD to change_id_for 195s ok 614 - _trim_to should find "@ROOT" at index 2 195s ok 615 - All but First three changes should be popped off 195s ok 616 - Should pass tag ROOT to change_id_for 195s ok 617 - _trim_to should find "ROOT" at index 2 195s ok 618 - All but First three changes should be popped off 195s ok 619 - Should pass tag @ROOT to change_id_for 195s ok 620 - App::Sqitch::Engine::whu->can('_verify_changes') 195s ok 621 - Verify of a single change should return errcount 0 195s ok 622 - Declared output should list the change 195s ok 623 - Emitted Output should reflect the verification of the change 195s ok 624 - Should have no comments 195s ok 625 - The verify script should have been run 195s ok 626 - Verify of another single change should return errcount 0 195s ok 627 - Declared output should list the change 195s ok 628 - Emitted Output should reflect the verification of the change 195s ok 629 - Should have no comments 195s ok 630 - A warning about no verify file should have been emitted 195s ok 631 - The verify script should not have been run 195s ok 632 - Verify of two changes should return errcount 0 195s ok 633 - Declared output should list both changes 195s ok 634 - Emitted Output should reflect the verification of the changes 195s ok 635 - Should have no comments 195s ok 636 - A warning about no verify file should have been emitted 195s ok 637 - Only one verify script should have been run 195s ok 638 - Verify of two changes and show pending 195s ok 639 - Delcared output should list deployed changes 195s ok 640 - Emitted output should include list of pending changes 195s ok 641 - Should have no comments 195s ok 642 - A warning about no verify file should have been emitted 195s ok 643 - Only one verify script should have been run 195s ok 644 - Verify of a change not in the plan should return errcount 1 195s ok 645 - Declared Output should reflect the verification of the change 195s ok 646 - Emitted Output should reflect the failure of the verify 195s ok 647 - Should have a comment about the change missing from the plan 195s ok 648 - No verify script should have been run 195s ok 649 - Verify of an out-of-order change should return errcount 1 195s ok 650 - Declared output should reflect the verification of the change 195s ok 651 - Emitted Output should reflect the failure of the verify 195s ok 652 - Should have a comment about the out-of-order change 195s ok 653 - The verify script should have been run 195s ok 654 - Verify of a change with 2 issues should return 2 195s ok 655 - Declared output should reflect the verification of the change 195s ok 656 - Emitted Output should reflect the failure of the verify 195s ok 657 - Should have comment about the out-of-order change and script failure 195s ok 658 - No abstract methods should have been called 195s ok 659 - Verify of 2 changes with 2 issues each should return 4 195s ok 660 - Declraed output should reflect the verification of both changes 195s ok 661 - Emitted Output should reflect the failure of both verifies 195s ok 662 - Should have comment about the out-of-order changes and script failures 195s ok 663 - No abstract methods should have been called 195s ok 664 - _verify_changes with two undeployed changes should returne 2 195s ok 665 - Listed changes should be both deployed and undeployed 195s ok 666 - Emitted Output should reflect 1 pass 195s ok 667 - Should have comments for undeployed changes 195s ok 668 - No abstract methods should have been called 195s ok 669 - App::Sqitch::Engine::whu->can('verify') 195s ok 670 - Should return success for no deployed changes 195s ok 671 - Notification of the verify should be emitted 195s ok 672 - Should have called deployed_changes 195s ok 673 - Should return success for no changes 195s ok 674 - Notification of the verify should be emitted 195s ok 675 - Should have called deployed_changes 195s ok 676 - Should get error for no planned changes 195s ok 677 - No planned changes ident should be "verify" 195s ok 678 - No planned changes exitval should be 2 195s ok 679 - No planned changes message should be correct 195s ok 680 - Notification of the verify should be emitted 195s ok 681 - Should have called deployed_changes 195s ok 682 - Verify one change 195s ok 683 - Notification of the verify should be emitted 195s ok 684 - The one change name should be declared 195s ok 685 - Success should be emitted 195s ok 686 - Should have no comments 195s ok 687 - Should have run the verify file 195s ok 688 - Verify two changes 195s ok 689 - Notification of the verify should be emitted 195s ok 690 - The two change names should be declared 195s ok 691 - Both successes should be emitted 195s ok 692 - Should have no comments 195s ok 693 - Should have warning about missing verify script 195s ok 694 - Should have run the verify file again 195s ok 695 - Verify with a reworked change changes 195s ok 696 - Notification of the verify should be emitted 195s ok 697 - The two change names should be emitted 195s ok 698 - Both successes should be emitted 195s ok 699 - Should have no comments 195s ok 700 - Should have no warnings 195s ok 701 - Should not have run the verify file 195s ok 702 - Verify two specific changes 195s ok 703 - Notification of the verify should be emitted 195s ok 704 - The two change names should be emitted 195s ok 705 - Both successes should be emitted 195s ok 706 - Should have no comments 195s ok 707 - Should have warning about missing verify script 195s ok 708 - Should have searched offsets and run the verify file 195s ok 709 - Should get failure for failing verify scripts 195s ok 710 - Failed verify ident should be "verify" 195s ok 711 - Failed verify exitval should be 2 195s ok 712 - Faield verify message should be correct 195s ok 713 - Notification of the verify should be emitted 195s ok 714 - Both change names should be declared 195s ok 715 - Output should include the failure report 195s ok 716 - Should have the errors in comments 195s ok 717 - Nothing should have been vented 195s ok 718 - Should have searched offsets but not run the verify file 195s ok 719 - App::Sqitch::Engine::whu->can('check') 195s ok 720 - Should return success for no deployed changes 195s ok 721 - Notification of the check should be emitted 195s ok 722 - Should have called deployed_changes 195s ok 723 - Should return success for no changes 195s ok 724 - Notification of the verify should be emitted 195s ok 725 - Should have called deployed_changes 195s ok 726 - Should get error for no planned changes 195s ok 727 - Failed check ident should be "check" 195s ok 728 - No planned changes exitval should be 1 195s ok 729 - Failed check message should be correct 195s ok 730 - Notification of the check should be emitted 195s ok 731 - Divergent change info should be emitted 195s ok 732 - Should have called deployed_changes and latest_change_id 195s ok 733 - Check one change 195s ok 734 - Notification of the check should be emitted 195s ok 735 - Success should be emitted 195s ok 736 - Should have no comments 195s ok 737 - Should have called deployed_changes and latest_change_id 195s ok 738 - Should get error for one divergent script hash 195s ok 739 - Failed check ident should be "check" 195s ok 740 - No planned changes exitval should be 1 195s ok 741 - Failed check message should be correct 195s ok 742 - Notification of the check should be emitted 195s ok 743 - Divergent change info should be emitted 195s ok 744 - Should have called deployed_changes and latest_change_id 195s ok 745 - Should get error for one divergent script hash 195s ok 746 - Failed check ident should be "check" 195s ok 747 - No planned changes exitval should be 1 195s ok 748 - Failed check message should be correct 195s ok 749 - Notification of the check should be emitted 195s ok 750 - Divergent change info should be emitted 195s ok 751 - Should have called deployed_changes and latest_change_id 195s ok 752 - Check one change with to arg 195s ok 753 - Notification of the check should be emitted 195s ok 754 - Success should be emitted 195s ok 755 - Should have no comments 195s ok 756 - Should have searched offsets 195s ok 757 - Should get error for one divergent script hash with from arg 195s ok 758 - Failed check ident should be "check" 195s ok 759 - No planned changes exitval should be 1 195s ok 760 - Failed check message should be correct 195s ok 761 - Notification of the check should be emitted 195s ok 762 - Divergent change info should be emitted 195s ok 763 - Should have searched offsets and the latest change ID 195s ok 764 - App::Sqitch::Engine::whu->can('lock_destination') 195s ok 765 - Lock timeout should be 60 seconds 195s ok 766 - Lock destination 195s ok 767 - Should be locked 195s ok 768 - wait_lock should not have been called 195s ok 769 - Should have emitted no info 195s ok 770 - Lock destination 195s ok 771 - Should be locked again 195s ok 772 - wait_lock should have been called 195s ok 773 - Should have notified user of waiting for lock 195s ok 774 - Lock destination again 195s ok 775 - wait_lock should not have been called 195s ok 776 - Should again have emitted no info 195s ok 777 - Should get error for lock timeout 195s ok 778 - Lock timeout error ident should be "engine" 195s ok 779 - Lock timeout error exitval should be 2 195s ok 780 - Lock timeout error message should be correct 195s ok 781 - Should have notified user of waiting for lock 195s ok 782 - wait_lock should have been called 195s ok 783 - Should get last index when there is a latest change ID 195s ok 784 - Should die on too many IDs 195s ok 785 - Too many IDs ident should be "engine" 195s ok 786 - Too many IDs message should be correct 195s ok 787 - Too many IDs error should have been vented 195s ok 788 - Test planned_deployed_common_ancestor_id 195s ok 789 - Should have key 195s ok 790 - Driver should be the same as engine 195s ok 791 - Default try_lock should return true by default 195s ok 792 - Default begin_work should return self 195s ok 793 - Default finish_work should return self 195s ok 794 - no warnings 195s ok 196s t/engine_cmd.t ...... 196s 1..201 196s ok 1 - Load a sqitch sqitch object 196s ok 2 - 'Engine command' isa 'App::Sqitch::Command::engine' 196s ok 3 - 'Engine command' isa 'App::Sqitch::Command' 196s ok 4 - App::Sqitch::Command::engine->can(...) 196s ok 5 - App::Sqitch::Command::engine does TargetConfigCommand 196s ok 6 - Options should be correct 196s ok 7 - Should parse options 196s ok 8 - Options should not conflict with core options 196s ok 9 - Default config should contain empty properties 196s ok 10 - configure() should ignore config file 196s ok 11 - Get full config 196s ok 12 - Should have properties 196s ok 13 - 'plan_file file attribute' isa 'Path::Class::File' 196s ok 14 - 'top_dir directory attribute' isa 'Path::Class::Dir' 196s ok 15 - 'reworked_dir directory attribute' isa 'Path::Class::Dir' 196s ok 16 - 'deploy_dir directory attribute' isa 'Path::Class::Dir' 196s ok 17 - 'reworked_deploy_dir directory attribute' isa 'Path::Class::Dir' 196s ok 18 - 'revert_dir directory attribute' isa 'Path::Class::Dir' 196s ok 19 - 'reworked_revert_dir directory attribute' isa 'Path::Class::Dir' 196s ok 20 - 'verify_dir directory attribute' isa 'Path::Class::Dir' 196s ok 21 - 'reworked_verify_dir directory attribute' isa 'Path::Class::Dir' 196s ok 22 - Should fail on invalid directory name 196s ok 23 - Invalid directory ident should be "engine" 196s ok 24 - The invalid directory messsage should be correct 196s ok 25 - Should fail on invalid directory names 196s ok 26 - Invalid directories ident should be "engine" 196s ok 27 - The invalid properties messsage should be correct 196s ok 28 - Run list() 196s ok 29 - The list of engines should have been output 196s ok 30 - 'Verbose engine' isa 'App::Sqitch::Command::engine' 196s ok 31 - Run verbose list() 196s ok 32 - The list of engines and their targets should have been output 196s ok 33 - 'New engine' isa 'App::Sqitch::Command::engine' 196s ok 34 - Target should be undef 196s ok 35 - Target should fall back on passed name 196s ok 36 - Should get error for mismatched target engine 196s ok 37 - Mismatched target error ident should be "engine" 196s ok 38 - Mismatched target error message should be correct 196s ok 39 - Should get error for unknown target 196s ok 40 - Uknown target error ident should be "engine" 196s ok 41 - Unkonwn target error message should be correct 196s ok 42 - No name arg to add() should yield usage 196s ok 43 - No args should be passed to usage 196s ok 44 - Should get error for existing engine 196s ok 45 - Existing engine error ident should be "engine" 196s ok 46 - Existing engine error message should be correct 196s ok 47 - dir deploy does not exist 196s ok 48 - dir revert does not exist 196s ok 49 - dir verify does not exist 196s ok 50 - Add engine "vertica" 196s ok 51 - dir deploy exists 196s ok 52 - dir revert exists 196s ok 53 - dir verify exists 196s ok 54 - Engine "test" target should have been set 196s ok 55 - Engine "vertica" should have no client set 196s ok 56 - Engine "vertica" should have no registry set 196s ok 57 - Engine "vertica" should have no top_dir set 196s ok 58 - Engine "vertica" should have no plan_file set 196s ok 59 - Engine "vertica" should have no deploy_dir set 196s ok 60 - Engine "vertica" should have no revert_dir set 196s ok 61 - Engine "vertica" should have no verify_dir set 196s ok 62 - Engine "vertica" should have no extension set 196s ok 63 - Engine "vertica" should have no variables set 196s ok 64 - 'Engine with target property' isa 'App::Sqitch::Command::engine' 196s ok 65 - Should get error for engine/target mismatch 196s ok 66 - Target mismatch ident should be "engine" 196s ok 67 - Target mismatch message should be correct 196s ok 68 - 'Engine with all properties' isa 'App::Sqitch::Command::engine' 196s ok 69 - my.plan does not exist 196s ok 70 - dir top/deploy does not exist 196s ok 71 - dir top/revert does not exist 196s ok 72 - dir top/verify does not exist 196s ok 73 - dir r/d does not exist 196s ok 74 - dir r/revert does not exist 196s ok 75 - dir r/verify does not exist 196s ok 76 - Add engine "firebird" 196s ok 77 - dir top/deploy exists 196s ok 78 - dir top/revert exists 196s ok 79 - dir top/verify exists 196s ok 80 - dir r/d exists 196s ok 81 - dir r/revert exists 196s ok 82 - dir r/verify exists 196s ok 83 - my.plan exists 196s ok 84 - Engine "firebird" should have extension set 196s ok 85 - Engine "firebird" should have variables 196s ok 86 - Engine "firebird" should have deploy_dir set 196s ok 87 - Engine "firebird" should have registry set 196s ok 88 - Engine "firebird" should have revert_dir set 196s ok 89 - Engine "firebird" should have top_dir set 196s ok 90 - Engine "firebird" should have reworked_deploy_dir set 196s ok 91 - Engine "firebird" should have client set 196s ok 92 - Engine "firebird" should have target set 196s ok 93 - Engine "firebird" should have plan_file set 196s ok 94 - Engine "firebird" should have reworked_dir set 196s ok 95 - Engine "firebird" should have verify_dir set 196s ok 96 - 'Engine with no properties' isa 'App::Sqitch::Command::engine' 196s ok 97 - No name arg to add() should yield usage 196s ok 98 - No args should be passed to usage 196s ok 99 - Should get error from alter for nonexistent engine 196s ok 100 - Nonexistent engine error ident should be "engine" 196s ok 101 - Nonexistent engine error message should be correct 196s ok 102 - Should get error for missing engine 196s ok 103 - Missing engine error ident should be "engine" 196s ok 104 - Missing engine error message should be correct 196s ok 105 - 'Engine with more properties' isa 'App::Sqitch::Command::engine' 196s ok 106 - Alter engine "firebird" 196s ok 107 - Engine "firebird" should have registry set 196s ok 108 - Engine "firebird" should have extension set 196s ok 109 - Engine "firebird" should have deploy_dir set 196s ok 110 - Engine "firebird" should have variables 196s ok 111 - Engine "firebird" should have reworked_deploy_dir set 196s ok 112 - Engine "firebird" should have client set 196s ok 113 - Engine "firebird" should have revert_dir set 196s ok 114 - Engine "firebird" should have top_dir set 196s ok 115 - Engine "firebird" should have target set 196s ok 116 - Engine "firebird" should have plan_file set 196s ok 117 - Engine "firebird" should have verify_dir set 196s ok 118 - Engine "firebird" should have reworked_dir set 196s ok 119 - 'Engine with new top_dir property' isa 'App::Sqitch::Command::engine' 196s ok 120 - dir pg does not exist 196s ok 121 - dir pg/deploy does not exist 196s ok 122 - dir pg/revert does not exist 196s ok 123 - dir pg/verify does not exist 196s ok 124 - Alter engine "pg" 196s ok 125 - dir pg exists 196s ok 126 - dir pg/deploy exists 196s ok 127 - dir pg/revert exists 196s ok 128 - dir pg/verify exists 196s ok 129 - The pg top_dir should have been set 196s ok 130 - Should again get error for missing engine 196s ok 131 - Missing engine error ident should still be "engine" 196s ok 132 - Missing engine error message should include target property 196s ok 133 - 'Engine with target property' isa 'App::Sqitch::Command::engine' 196s ok 134 - Should get error for engine/target mismatch 196s ok 135 - Target mismatch ident should be "engine" 196s ok 136 - Target mismatch message should be correct 196s ok 137 - No name args to remove() should yield usage 196s ok 138 - No args should be passed to usage 196s ok 139 - Should get error for nonexistent engine 196s ok 140 - Nonexistent engine error ident should be "engine" 196s ok 141 - Nonexistent engine error message should be correct 196s ok 142 - Remove 196s ok 143 - Engine "mysql" should now be gone 196s ok 144 - Engine "mysql" should have no variables 196s ok 145 - 'Engein with variables' isa 'App::Sqitch::Command::engine' 196s ok 146 - Add engine "mysql" 196s ok 147 - Engine "mysql" should be back 196s ok 148 - Engine "mysql" should have variables 196s ok 149 - Remove 196s ok 150 - Engine "mysql" should be gone again 196s ok 151 - Engine "mysql" should have no variables 196s ok 152 - Run show() 196s ok 153 - Show with no names should emit the list of engines 196s ok 154 - Show sqlite 196s ok 155 - The full "sqlite" engine should have been shown 196s ok 156 - Show three engines 196s ok 157 - All three engines should have been shown 196s ok 158 - 'Simple engine' isa 'App::Sqitch::Command::engine' 196s ok 159 - Execute undef 196s ok 160 - list() should have been called 196s ok 161 - Execute undef with args 196s ok 162 - list() should have been passed args 196s ok 163 - Execute list 196s ok 164 - list() should have been called 196s ok 165 - Execute list with args 196s ok 166 - list() should have been passed args 196s ok 167 - Execute add 196s ok 168 - add() should have been called 196s ok 169 - Execute add with args 196s ok 170 - add() should have been passed args 196s ok 171 - Execute set-target 196s ok 172 - set_target() should have been called 196s ok 173 - Execute set-target with args 196s ok 174 - set_target() should have been passed args 196s ok 175 - Execute set-registry 196s ok 176 - set_registry() should have been called 196s ok 177 - Execute set-registry with args 196s ok 178 - set_registry() should have been passed args 196s ok 179 - Execute set-client 196s ok 180 - set_client() should have been called 196s ok 181 - Execute set-client with args 196s ok 182 - set_client() should have been passed args 196s ok 183 - Execute remove 196s ok 184 - remove() should have been called 196s ok 185 - Execute remove with args 196s ok 186 - remove() should have been passed args 196s ok 187 - Execute rm 196s ok 188 - remove() should have been called 196s ok 189 - Execute rm with args 196s ok 190 - remove() should have been passed args 196s ok 191 - Execute rename 196s ok 192 - rename() should have been called 196s ok 193 - Execute rename with args 196s ok 194 - rename() should have been passed args 196s ok 195 - Execute show 196s ok 196 - show() should have been called 196s ok 197 - Execute show with args 196s ok 198 - show() should have been passed args 196s ok 199 - Should get an exception for a nonexistent action 196s ok 200 - Nonexistent action message should be passed to usage 196s ok 201 - no warnings 196s ok 197s t/exasol.t .......... 197s ok 1 - require App::Sqitch::Engine::exasol; 197s ok 2 - config_vars should return three vars 197s ok 3 - An object of class 'App::Sqitch::Engine::exasol' isa 'App::Sqitch::Engine::exasol' 197s ok 4 - Key should be "exasol" 197s ok 5 - Name should be "Exasol" 197s ok 6 - client should default to exaplus 197s ok 7 - registry default should be "sqitch" 197s ok 8 - DB URI should be "db:exasol:" 197s ok 9 - Destination should default to "db:exasol:" 197s ok 10 - Registry destination should be the same as destination 197s ok 11 - exaplus command should be std opts-only 197s ok 12 - _script should work 197s ok 13 - Set some variables 197s ok 14 - _script should assemble variables 197s ok 15 - Should handle query SSLCERTIFICATE=SSL_VERIFY_NONE 197s ok 16 - Should handle query SSLCERTIFICATE=SSL_VERIFY_NONE 197s ok 17 - Should handle query SSLCERTIFICATE=xxx 197s ok 18 - Should handle query SSLCERTIFICATE=SSL_VERIFY_NONE&SSLCERTIFICATE=xyz 197s ok 19 - Should handle query AuthMethod=refreshtoken 197s ok 20 - Should handle query AUTHMETHOD=xyz 197s ok 21 - Should handle query SSLCERTIFICATE=SSL_VERIFY_NONE&AUTHMETHOD=xyz 197s ok 22 - Target name should NOT fall back on sysuser 197s ok 23 - Registry target should be the same as destination 197s ok 24 - Create another exasol 197s ok 25 - client should be as configured 197s ok 26 - uri should be as configured 197s ok 27 - registry should be as configured 197s ok 28 - exaplus command should be configured from URI config 197s ok 29 - _script should use registry from config settings 197s ok 30 - App::Sqitch::Engine::exasol->can(...) 197s ok 31 - Call _run 197s ok 32 - EXAplus command should be passed to spool() 197s ok 33 - The script should be spooled 197s ok 34 - Call _capture 197s ok 35 - Command and script should be passed to run3() 197s ok 36 - _capture should actually capture 197s ok 37 - _capture should die when exaplus dies 197s ok 38 - STDERR should be emitted by _capture 197s ok 39 - initialized() should rethrow unexpected DB error 197s ok 40 - _cid should rethrow unexpected DB error 197s ok 41 - App::Sqitch::Engine::exasol->can('_file_for_script') 197s ok 42 - File without special characters should be used directly 197s ok 43 - Double quotes should be SQL-escaped 197s ok 44 - Get temp dir 197s ok 45 - 'Temp dir' isa 'Path::Class::Dir' 197s ok 46 - File with special char should be aliased 197s ok 47 - Should get an error on failure to delete the alias 197s ok 48 - File deletion error ident should be "exasol" 197s ok 49 - File deletion error message should be correct 197s ok 50 - File with special char and quotes should be aliased 197s ok 51 - Run foo/bar.sql 197s ok 52 - File should be passed to capture() 197s ok 53 - Run foo/"bar".sql 197s ok 54 - Double quotes in file passed to capture() should be escaped 197s ok 55 - Spool a "file handle" 197s ok 56 - exaplus command should be passed to spool() 197s ok 57 - 'Array ove handles should be passed to spool' isa 'ARRAY' 197s ok 58 - First file handle should be script 197s ok 59 - Second should be the passed handle 197s ok 60 - Verify foo/bar.sql 197s ok 61 - Verify file should be passed to capture() 197s ok 62 - Verify foo/bar.sql again 197s ok 63 - Verify file should be passed to run() for high verbosity 197s ok 64 - App::Sqitch::Engine::exasol->can('_ts2char_format') 197s ok 65 - _ts2char should work 197s ok 66 - App::Sqitch::Engine::exasol->can('_dt') 197s ok 67 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' 197s ok 68 - DateTime year should be set 197s ok 69 - DateTime month should be set 197s ok 70 - DateTime day should be set 197s ok 71 - DateTime hour should be set 197s ok 72 - DateTime minute should be set 197s ok 73 - DateTime second should be set 197s ok 74 - DateTime TZ should be set 197s ok 75 - _char2ts should present timestamp at UTC w/o tz identifier 197s ok 76 - Should have _listagg_format 197s ok 77 - Should have _ts_default 197s ok 78 - Should have _regex_op 197s ok 79 - Should have _simple_from 197s ok 80 - Should have _limit_default 197s ok 81 - Should have no table error 197s ok 82 - Should have no column error 197s ok 83 - Should now have table error 197s ok 84 - Should now have no column error 197s ok 85 - Unique constraints not supported by Exasol 197s ok 86 - Should get limit and offset 197s ok 87 - Should get limit and offset when offset only 197s ok 88 - Should get only limit with 0 offset 197s ok 89 - Should get only limit with noa offset 197s ok 90 - Should get no limit or offset for 0s 197s ok 91 - Should get no limit or offset for no args 197s ok 92 - Should use regexp_like and prepend wildcard to regex 197s ok 93 - Should use regexp_like and append wildcard to regex 197s ok 94 - Should not chande regex with both anchors 197s ok 95 - Should append wildcards to both ends without anchors 197s ok 96 - App::Sqitch::Engine::exasol->can(...) 197s # Subtest: live database 197s 1..0 # SKIP Unable to live-test Exasol engine: DBD::ODBC 1.59 required to manage Exasol 197s ok 97 # skip Unable to live-test Exasol engine: DBD::ODBC 1.59 required to manage Exasol 197s 1..97 197s ok 197s t/firebird.t ........ 197s ok 1 - require App::Sqitch::Engine::firebird; 197s ok 2 - config_vars should return three vars 197s ok 3 - An object of class 'App::Sqitch::Engine::firebird' isa 'App::Sqitch::Engine::firebird' 197s ok 4 - Key should be "firebird" 197s ok 5 - Name should be "Firebird" 197s ok 6 - Should have username from environment 197s ok 7 - Should have password from environment 197s ok 8 - Should have _limit_default 197s ok 9 - Should append "ib_dialect=3;ib_charset=UTF8" to the DSN 197s ok 10 - dbname should be filled in 197s ok 11 - registry dbname should be "sqitch.fdb" 197s ok 12 - registry_destination should be the same as registry URI 197s ok 13 - An object of class 'App::Sqitch::Engine::firebird' isa 'App::Sqitch::Engine::firebird' 197s ok 14 - Set some variables 197s ok 15 - Create a firebird with environment variables set 197s ok 16 - Should have username from environment 197s ok 17 - Should have password from environment 197s ok 18 - Create another firebird 197s ok 19 - client should be as configured 197s ok 20 - URI should be as configured 197s ok 21 - destination should default to URI without password 197s ok 22 - registry_destination should be URI with configured registry and no password 197s ok 23 - firebird command should be configured 197s ok 24 - App::Sqitch::Engine::firebird->can('connection_string') 197s ok 25 - Connection for db:firebird:foo.fdb 197s ok 26 - Connection for db:firebird:foo.com/foo.fdb 197s ok 27 - Connection for db:firebird:foo.com/foo.fdb:1234 197s ok 28 - Connection for db:firebird:/blah/hi.fdb 197s ok 29 - Connection for db:firebird:foo.com//blah/hi.fdb 197s ok 30 - Connection for db:firebird:foo.com//blah/hi.fdb:1234 197s ok 31 - Connection for db:firebird:C:/blah/hi.fdb 197s ok 32 - Connection for db:firebird:foo.com/C:/blah/hi.fdb 197s ok 33 - Connection for db:firebird:foo.com/C:/blah/hi.fdb:1234 197s ok 34 - Should get an exception for no db name 197s ok 35 - No dbname exception ident should be "firebird" 197s ok 36 - No dbname exception message should be correct 197s ok 37 - App::Sqitch::Engine::firebird->can(...) 197s ok 38 - ISC_PASSWORD should be "s3cr3t" 197s ok 39 - Call _run 197s ok 40 - Command should be passed to run() 197s ok 41 - ISC_PASSWORD should be "s3cr3t" 197s ok 42 - Call _spool 197s ok 43 - Command should be passed to spool() 197s ok 44 - ISC_PASSWORD should be "s3cr3t" 197s ok 45 - Call _capture 197s ok 46 - Command should be passed to capture() 197s ok 47 - Create a firebird with sqitch with no pw 197s ok 48 - ISC_PASSWORD should not exist 197s ok 49 - Call _run again 197s ok 50 - Command should be passed to run() again 197s ok 51 - ISC_PASSWORD should not exist 197s ok 52 - Call _spool again 197s ok 53 - Command should be passed to spool() again 197s ok 54 - ISC_PASSWORD should not exist 197s ok 55 - Call _capture again 197s ok 56 - Command should be passed to capture() again 197s ok 57 - ISC_PASSWORD should not exist 197s ok 58 - Run foo/bar.sql 197s ok 59 - File should be passed to run() 197s ok 60 - ISC_PASSWORD should not exist 197s ok 61 - Spool a "file handle" 197s ok 62 - Handle should be passed to spool() 197s ok 63 - ISC_PASSWORD should not exist 197s ok 64 - Verify foo/bar.sql 197s ok 65 - Verify file should be passed to capture() 197s ok 66 - ISC_PASSWORD should not exist 197s ok 67 - Verify foo/bar.sql again 197s ok 68 - Verify file should be passed to run() for high verbosity 197s ok 69 - App::Sqitch::Engine::firebird->can('_ts2char_format') 197s ok 70 - _ts2char_format should work 197s ok 71 - App::Sqitch::Engine::firebird->can('_dt') 197s ok 72 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' 197s ok 73 - DateTime year should be set 197s ok 74 - DateTime month should be set 197s ok 75 - DateTime day should be set 197s ok 76 - DateTime hour should be set 197s ok 77 - DateTime minute should be set 197s ok 78 - DateTime second should be set 197s ok 79 - DateTime TZ should be set 197s ok 80 - Should have no table error 197s ok 81 - Should have no column error 197s ok 82 - Should now have table error 197s ok 83 - Still should have no column error 197s ok 84 - Should again have table error 197s ok 85 - Still should have no column error 197s ok 86 - Should again have no table error 197s ok 87 - Should now have no column error 197s ok 88 - Should get an error from initialize 197s ok 89 - No creattion exception ident should be "firebird" 197s ok 90 - Creation exception message should be correct 197s ok 91 - Run the upgrade 197s ok 92 - Should have disconnected 197s ok 93 - Should have cleared the database handle 197s ok 94 - Should have run a command 197s ok 95 - _cid should propagate unexpected error 197s ok 96 - _cid should just return on error code -902 197s ok 97 - current_state should return on no table error 197s ok 98 - current_state should propagate unexpected error 197s ok 99 - Should get undef from change_id_for when no useful params 197s ok 100 - Should get error when no client found 197s ok 101 - Client exception ident should be "firebird" 197s ok 102 - Client exception message should be correct 197s ok 103 - App::Sqitch::Engine::firebird->can(...) 197s # Subtest: live database 197s 1..0 # SKIP Unable to live-test Firebird engine: Unable to locate Firebird ISQL; set "engine.firebird.client" via sqitch config 197s ok 104 # skip Unable to live-test Firebird engine: Unable to locate Firebird ISQL; set "engine.firebird.client" via sqitch config 197s 1..104 197s ok 198s t/help.t ............ 198s 1..20 198s ok 1 - Load a sqitch sqitch object 198s ok 2 - 'Load help command' isa 'App::Sqitch::Command::help' 198s ok 3 - 'Help command' isa 'App::Sqitch::Command' 198s ok 4 - App::Sqitch::Command::help->can(...) 198s ok 5 - Options should be correct 198s ok 6 - Should parse options 198s ok 7 - Options should not conflict with core options 198s ok 8 - Execute help 198s ok 9 - Should show sqitch app docs 198s ok 10 - Execute "config" help 198s ok 11 - Should show "config" command docs 198s ok 12 - Execute "changes" help 198s ok 13 - Should show "changes" command docs 198s ok 14 - Execute "tutorial" help 198s ok 15 - Should show "tutorial" command docs 198s ok 16 - Should get an exception for "nonexistent" help 198s ok 17 - Exception ident should be "help" 198s ok 18 - Should get failure message for nonexistent command 198s ok 19 - Exception exit val should be 1 198s ok 20 - no warnings 198s ok 199s t/init.t ............ 199s 1..196 199s ok 1 - use App::Sqitch::Command::init; 199s ok 2 - 'App::Sqitch::Command::init' isa 'App::Sqitch::Command' 199s ok 3 - 'Init command' isa 'App::Sqitch::Command::init' 199s ok 4 - 'Init commmand' isa 'App::Sqitch::Command' 199s ok 5 - App::Sqitch::Command::init->can(...) 199s ok 6 - App::Sqitch::Command::init does TargetConfigCommand 199s ok 7 - Options should be correct 199s ok 8 - Should parse options 199s ok 9 - Options should not conflict with core options 199s ok 10 - Default config should contain empty properties 199s ok 11 - Should accept a URI in options 199s ok 12 - Get full config 199s ok 13 - 'uri propertiy' isa 'URI' 199s ok 14 - Should have properties 199s ok 15 - 'plan_file file attribute' isa 'Path::Class::File' 199s ok 16 - 'top_dir directory attribute' isa 'Path::Class::Dir' 199s ok 17 - 'reworked_dir directory attribute' isa 'Path::Class::Dir' 199s ok 18 - 'deploy_dir directory attribute' isa 'Path::Class::Dir' 199s ok 19 - 'reworked_deploy_dir directory attribute' isa 'Path::Class::Dir' 199s ok 20 - 'revert_dir directory attribute' isa 'Path::Class::Dir' 199s ok 21 - 'reworked_revert_dir directory attribute' isa 'Path::Class::Dir' 199s ok 22 - 'verify_dir directory attribute' isa 'Path::Class::Dir' 199s ok 23 - 'reworked_verify_dir directory attribute' isa 'Path::Class::Dir' 199s ok 24 - Should fail on invalid directory name 199s ok 25 - Invalid directory ident should be "init" 199s ok 26 - The invalid directory messsage should be correct 199s ok 27 - Should fail on invalid directory names 199s ok 28 - Invalid directories ident should be "init" 199s ok 29 - The invalid properties messsage should be correct 199s ok 30 - 'default target' isa 'App::Sqitch::Target' 199s ok 31 - App::Sqitch::Command::init->can('make_directories_for') 199s ok 32 - dir init.mkdir does not exist 199s ok 33 - dir init.mkdir/deploy does not exist 199s ok 34 - dir init.mkdir/revert does not exist 199s ok 35 - dir init.mkdir/verify does not exist 199s ok 36 - dir init.mkdir/reworked/deploy does not exist 199s ok 37 - dir init.mkdir/reworked/revert does not exist 199s ok 38 - dir init.mkdir/reworked/verify does not exist 199s ok 39 - Make the directories 199s ok 40 - dir init.mkdir/deploy exists 199s ok 41 - dir init.mkdir/revert exists 199s ok 42 - dir init.mkdir/verify exists 199s ok 43 - dir init.mkdir/reworked/deploy exists 199s ok 44 - dir init.mkdir/reworked/revert exists 199s ok 45 - dir init.mkdir/reworked/verify exists 199s ok 46 - Each should have been sent to info 199s ok 47 - Make the directories again 199s ok 48 - Nothing should have been sent to info 199s ok 49 - Make the directories once more 199s ok 50 - revert dir exists again 199s ok 51 - Should have noted creation of revert dir 199s ok 52 - Should fail on permission issue 199s ok 53 - Permission error should have ident "init" 199s ok 54 - The permission error should be formatted properly 199s ok 55 - App::Sqitch::Command::init->can('write_config') 199s ok 56 - Another init object 199s ok 57 - nonexistent.local does not exist 199s ok 58 - Write the config 199s ok 59 - nonexistent.local exists 199s ok 60 - The configuration file should have no variables 199s ok 61 - The creation should be sent to info 199s ok 62 - All in core section should be commented-out 199s ok 63 - Another init object 199s ok 64 - Write the config 199s ok 65 - nonexistent.local exists 199s ok 66 - The configuration should have been written with the one setting 199s ok 67 - The creation should be sent to info 199s ok 68 - Other settings should be commented-out 199s ok 69 - Write the config again 199s ok 70 - The configuration should be unchanged 199s ok 71 - Nothing should have been sent to info 199s ok 72 - Make an init object with user config 199s ok 73 - nonexistent.local does not exist 199s ok 74 - Write the config with a user conf 199s ok 75 - nonexistent.local exists 199s ok 76 - The configuration should just have core.top_dir 199s ok 77 - The creation should be sent to info again 199s ok 78 - Other settings should be commented-out 199s ok 79 - Make an init object with system config 199s ok 80 - Get target 199s ok 81 - nonexistent.local does not exist 199s ok 82 - Write the config with a system conf 199s ok 83 - nonexistent.local exists 199s ok 84 - The configuration should have local and system config 199s ok 85 - The creation should be sent to info again 199s ok 86 - Other settings should be commented-out 199s ok 87 - Create new init with sqitch non-default attributes 199s ok 88 - Write the config with core attrs 199s ok 89 - The creation should be sent to info once more 199s ok 90 - The configuration should have been written with core and engine values 199s ok 91 - Create new init with sqitch with default engine attributes 199s ok 92 - Write the config with engine attrs 199s ok 93 - The creation should be sent to info again again 199s ok 94 - The configuration should have been written with only the engine var 199s ok 95 - Engine section should be present but commented-out 199s ok 96 - Make an init with sqlite and user config 199s ok 97 - nonexistent.local does not exist 199s ok 98 - Write the config with sqlite config 199s ok 99 - The creation should be sent to info once more 199s ok 100 - New config should have been written with sqlite values 199s ok 101 - Configured client should be included in a comment 199s ok 102 - Configured target should be included in a comment 199s ok 103 - Configured registry should be included in a comment 199s ok 104 - Create new init with sqitch with more non-default engine attributes 199s ok 105 - Write the config with more engine attrs 199s ok 106 - The creation should be sent to info one more time 199s ok 107 - The configuration should have been written with client values 199s ok 108 - registry should be included in a comment 199s ok 109 - Create new init with sqitch with default engine attributes 199s ok 110 - Write the config with engine attrs 199s ok 111 - The creation should be sent to info again again again 199s ok 112 - The configuration should have been written with only the engine var 199s ok 113 - Engine section should be present but commented-out 199s ok 114 - Make an init with pg and user config 199s ok 115 - nonexistent.local does not exist 199s ok 116 - Write the config with pg config 199s ok 117 - The pg config creation should be sent to info 199s ok 118 - The configuration should have been written with pg options 199s ok 119 - Configured registry should be in a comment 199s ok 120 - Configured target should be in a comment 199s ok 121 - App::Sqitch::Command::init->can('write_plan') 199s ok 122 - Plan file should not yet exist 199s ok 123 - Write the plan file 199s ok 124 - The plan creation should be sent to info 199s ok 125 - Plan file should now exist 199s ok 126 - The contents should be correct 199s ok 127 - Write the plan file again 199s ok 128 - Plan file should still exist 199s ok 129 - The contents should be identical 199s ok 130 - Should get an error initialing a different project 199s ok 131 - Initialization error ident should be "init" 199s ok 132 - Initialzation error message should be correct 199s ok 133 - Should get an error initialzing a non-plan file 199s ok 134 - Non-plan file error ident should be "init" 199s ok 135 - Non-plan file error message should be correct 199s ok 136 - The file should not be overwritten 199s ok 137 - Create new init with sqitch with project and URI 199s ok 138 - Write the plan file again 199s ok 139 - The plan creation should be sent to info againq 199s ok 140 - Plan file should again exist 199s ok 141 - The plan should include the project and uri pragmas 199s ok 142 - App::Sqitch::Command::init->can('_validate_project') 199s ok 143 - No project should yield usage 199s ok 144 - No args should be passed to usage 199s ok 145 - Should get error for invalid project name "^foo" 199s ok 146 - Bad project "^foo" ident should be "init" 199s ok 147 - Bad project "^foo" error message should be correct 199s ok 148 - Should get error for invalid project name "foo^" 199s ok 149 - Bad project "foo^" ident should be "init" 199s ok 150 - Bad project "foo^" error message should be correct 199s ok 151 - Should get error for invalid project name "foo^6" 199s ok 152 - Bad project "foo^6" ident should be "init" 199s ok 153 - Bad project "foo^6" error message should be correct 199s ok 154 - Should get error for invalid project name "foo^666" 199s ok 155 - Bad project "foo^666" ident should be "init" 199s ok 156 - Bad project "foo^666" error message should be correct 199s ok 157 - Should get error for invalid project name "%hi" 199s ok 158 - Bad project "%hi" ident should be "init" 199s ok 159 - Bad project "%hi" error message should be correct 199s ok 160 - Should get error for invalid project name "hi!" 199s ok 161 - Bad project "hi!" ident should be "init" 199s ok 162 - Bad project "hi!" error message should be correct 199s ok 163 - Should get error for invalid project name "foo@bar" 199s ok 164 - Bad project "foo@bar" ident should be "init" 199s ok 165 - Bad project "foo@bar" error message should be correct 199s ok 166 - Should get error for invalid project name "foo:bar" 199s ok 167 - Bad project "foo:bar" ident should be "init" 199s ok 168 - Bad project "foo:bar" error message should be correct 199s ok 169 - Should get error for invalid project name "+foo" 199s ok 170 - Bad project "+foo" ident should be "init" 199s ok 171 - Bad project "+foo" error message should be correct 199s ok 172 - Should get error for invalid project name "-foo" 199s ok 173 - Bad project "-foo" ident should be "init" 199s ok 174 - Bad project "-foo" error message should be correct 199s ok 175 - Should get error for invalid project name "@foo" 199s ok 176 - Bad project "@foo" ident should be "init" 199s ok 177 - Bad project "@foo" error message should be correct 199s ok 178 - 'Custom URI target' isa 'App::Sqitch::Target' 199s ok 179 - Shoudl have the custom URI 199s ok 180 - Should have the custom name 199s ok 181 - Should fail on permission issue 199s ok 182 - Permission error should have ident "init" 199s ok 183 - The permission error should be formatted properly 199s ok 184 - Should fail on nonexistent dir name 199s ok 185 - Nonexistant path error should have ident "init" 199s ok 186 - Nonexistant path error should be the message 199s ok 187 - Execute! 199s ok 188 - dir plan.dir exists 199s ok 189 - dir plan.dir/deploy exists 199s ok 190 - dir plan.dir/revert exists 199s ok 191 - dir plan.dir/verify exists 199s ok 192 - nonexistent.local exists 199s ok 193 - plan.dir/sqitch.plan exists 199s ok 194 - Should have status messages 199s ok 195 - The plan should have the --project name 199s ok 196 - no warnings 199s ok 199s t/item_formatter.t .. 199s 1..172 199s ok 1 - require App::Sqitch::ItemFormatter; 199s ok 2 - App::Sqitch::ItemFormatter->can(...) 199s ok 3 - 'Instantiated object' isa 'App::Sqitch::ItemFormatter' 199s ok 4 - Should not be abbreviated by default 199s ok 5 - Default date format should be "iso" 199s ok 6 - Format "%e" should output "deploy" 199s ok 7 - Format "%e" should output "revert" 199s ok 8 - Format "%e" should output "fail" 199s ok 9 - Format "%L" should output "Deploy" 199s ok 10 - Format "%L" should output "Revert" 199s ok 11 - Format "%L" should output "Fail" 199s ok 12 - Format "%l" should output "deploy" 199s ok 13 - Format "%l" should output "revert" 199s ok 14 - Format "%l" should output "fail" 199s ok 15 - Format "%{event}_" should output "Event: " 199s ok 16 - Format "%{change}_" should output "Change: " 199s ok 17 - Format "%{committer}_" should output "Committer:" 199s ok 18 - Format "%{planner}_" should output "Planner: " 199s ok 19 - Format "%{by}_" should output "By: " 199s ok 20 - Format "%{date}_" should output "Date: " 199s ok 21 - Format "%{committed}_" should output "Committed:" 199s ok 22 - Format "%{planned}_" should output "Planned: " 199s ok 23 - Format "%{name}_" should output "Name: " 199s ok 24 - Format "%{email}_" should output "Email: " 199s ok 25 - Format "%{requires}_" should output "Requires: " 199s ok 26 - Format "%{conflicts}_" should output "Conflicts:" 199s ok 27 - Format "%H" should output "123456789" 199s ok 28 - Format "%h" should output "123456789" 199s ok 29 - Format "%{5}h" should output "12345" 199s ok 30 - Format "%{7}h" should output "1234567" 199s ok 31 - Format "%n" should output "foo" 199s ok 32 - Format "%n" should output "bar" 199s ok 33 - Format "%o" should output "foo" 199s ok 34 - Format "%o" should output "bar" 199s ok 35 - Format "%F" should output "deploy/change_file.sql" 199s ok 36 - Format "%F" should output "deploy/change_file_with_tag@tag.sql" 199s ok 37 - Format "%c" should output "larry " 199s ok 38 - Format "%{n}c" should output "damian" 199s ok 39 - Format "%{name}c" should output "chip" 199s ok 40 - Format "%{e}c" should output "larry@example.com" 199s ok 41 - Format "%{email}c" should output "damian@example.com" 199s ok 42 - Format "%{date}c" should output "2025-05-02 10:19:37 -0500" 199s ok 43 - Format "%{date:rfc}c" should output "Fri, 02 May 2025 10:19:37 -0500" 199s ok 44 - Format "%{d:long}c" should output "May 2, 2025, 10:19:37 AM CDT" 199s ok 45 - Format "%{d:cldr:HH'h' mm'm'}c" should output "10h 19m" 199s ok 46 - Format "%{d:strftime:%a at %H:%M:%S}c" should output "Fri at 10:19:37" 199s ok 47 - Format "%p" should output "larry " 199s ok 48 - Format "%{n}p" should output "damian" 199s ok 49 - Format "%{name}p" should output "chip" 199s ok 50 - Format "%{e}p" should output "larry@example.com" 199s ok 51 - Format "%{email}p" should output "damian@example.com" 199s ok 52 - Format "%{date}p" should output "2025-05-01 10:19:37 -0500" 199s ok 53 - Format "%{date:rfc}p" should output "Thu, 01 May 2025 10:19:37 -0500" 199s ok 54 - Format "%{d:long}p" should output "May 1, 2025, 10:19:37 AM CDT" 199s ok 55 - Format "%{d:cldr:HH'h' mm'm'}p" should output "10h 19m" 199s ok 56 - Format "%{d:strftime:%a at %H:%M:%S}p" should output "Thu at 10:19:37" 199s ok 57 - Format "%t" should output "" 199s ok 58 - Format "%t" should output " @foo" 199s ok 59 - Format "%t" should output " @foo, @bar" 199s ok 60 - Format "%{|}t" should output "" 199s ok 61 - Format "%{|}t" should output " @foo" 199s ok 62 - Format "%{|}t" should output " @foo|@bar" 199s ok 63 - Format "%{0}t" should output " @foo0@bar" 199s ok 64 - Format "%{}t" should output " @foo@bar" 199s ok 65 - Format "%T" should output "" 199s ok 66 - Format "%T" should output " (@foo)" 199s ok 67 - Format "%T" should output " (@foo, @bar)" 199s ok 68 - Format "%{|}T" should output "" 199s ok 69 - Format "%{|}T" should output " (@foo)" 199s ok 70 - Format "%{|}T" should output " (@foo|@bar)" 199s ok 71 - Format "%{0}T" should output " (@foo0@bar)" 199s ok 72 - Format "%{}T" should output " (@foo@bar)" 199s ok 73 - Format "%r" should output "" 199s ok 74 - Format "%r" should output " foo" 199s ok 75 - Format "%r" should output " foo, bar" 199s ok 76 - Format "%{|}r" should output "" 199s ok 77 - Format "%{|}r" should output " foo" 199s ok 78 - Format "%{|}r" should output " foo|bar" 199s ok 79 - Format "%{0}r" should output " foo0bar" 199s ok 80 - Format "%{}r" should output " foobar" 199s ok 81 - Format "%R" should output "" 199s ok 82 - Format "%R" should output "Requires: foo[newline]" 199s ok 83 - Format "%R" should output "Requires: foo, bar[newline]" 199s ok 84 - Format "%{|}R" should output "" 199s ok 85 - Format "%{|}R" should output "Requires: foo[newline]" 199s ok 86 - Format "%{|}R" should output "Requires: foo|bar[newline]" 199s ok 87 - Format "%{0}R" should output "Requires: foo0bar[newline]" 199s ok 88 - Format "%{}R" should output "Requires: foobar[newline]" 199s ok 89 - Format "%x" should output "" 199s ok 90 - Format "%x" should output " foo" 199s ok 91 - Format "%x" should output " foo, bax" 199s ok 92 - Format "%{|}x" should output "" 199s ok 93 - Format "%{|}x" should output " foo" 199s ok 94 - Format "%{|}x" should output " foo|bax" 199s ok 95 - Format "%{0}x" should output " foo0bax" 199s ok 96 - Format "%{}x" should output " foobax" 199s ok 97 - Format "%X" should output "" 199s ok 98 - Format "%X" should output "Conflicts: foo[newline]" 199s ok 99 - Format "%X" should output "Conflicts: foo, bar[newline]" 199s ok 100 - Format "%{|}X" should output "" 199s ok 101 - Format "%{|}X" should output "Conflicts: foo[newline]" 199s ok 102 - Format "%{|}X" should output "Conflicts: foo|bar[newline]" 199s ok 103 - Format "%{0}X" should output "Conflicts: foo0bar[newline]" 199s ok 104 - Format "%{}X" should output "Conflicts: foobar[newline]" 199s ok 105 - Format "%{yellow}C" should output "" 199s ok 106 - Format "%{:event}C" should output "" 199s ok 107 - Format "%v" should output "[newline]" 199s ok 108 - Format "%%" should output "%" 199s ok 109 - Format "%s" should output "hi there" 199s ok 110 - Format "%s" should output "hi there" 199s ok 111 - Format "%s" should output "subject line" 199s ok 112 - Format "%{ }s" should output " hi there" 199s ok 113 - Format "%{xx}s" should output "xxhi there" 199s ok 114 - Format "%b" should output "" 199s ok 115 - Format "%b" should output "yo" 199s ok 116 - Format "%b" should output "first graph[newline][newline]second graph[newline][newline]" 199s ok 117 - Format "%{ }b" should output "" 199s ok 118 - Format "%{xxx }b" should output "xxx yo" 199s ok 119 - Format "%{x}b" should output "xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" 199s ok 120 - Format "%{ }b" should output " yo" 199s ok 121 - Format "%B" should output "hi there" 199s ok 122 - Format "%B" should output "hi there[newline]yo" 199s ok 123 - Format "%B" should output "subject line[newline][newline]first graph[newline][newline]second graph[newline][newline]" 199s ok 124 - Format "%{ }B" should output " hi there" 199s ok 125 - Format "%{xxx }B" should output "xxx hi there[newline]xxx yo" 199s ok 126 - Format "%{x}B" should output "xsubject line[newline]x[newline]xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" 199s ok 127 - Format "%{ }B" should output " hi there [newline] yo" 199s ok 128 - Format "%{change}a" should output "change lolz[newline]" 199s ok 129 - Format "%{change_id}a" should output "change_id 000011112222333444[newline]" 199s ok 130 - Format "%{event}a" should output "event deploy[newline]" 199s ok 131 - Format "%{tags}a" should output "tags @beta, @gamma[newline]" 199s ok 132 - Format "%{requires}a" should output "requires foo, bar[newline]" 199s ok 133 - Format "%{conflicts}a" should output "" 199s ok 134 - Format "%{committer_name}a" should output "committer_name larry[newline]" 199s ok 135 - Format "%{committed_at}a" should output "committed_at 2025-05-02T15:19:37Z[newline]" 199s ok 136 - Should get exception for format "%_" 199s ok 137 - %_ error ident should be "format" 199s ok 138 - %_ error message should be correct 199s ok 139 - Should get exception for unknown label in format "%_" 199s ok 140 - Invalid %_ label error ident should be "format" 199s ok 141 - Invalid %_ label error message should be correct 199s ok 142 - Instantiate with abbrev => 4 199s ok 143 - %h should respect abbrev 199s ok 144 - %H should not respect abbrev 199s ok 145 - Instantiate with date_format => "rfc" 199s ok 146 - %{date}c should respect the date_format attribute 199s ok 147 - %{iso}c should override the date_format attribute 199s ok 148 - Should get exception for unknown attribute passed to %a 199s ok 149 - %a error ident should be "log" 199s ok 150 - %a error message should be correct 199s ok 151 - Construct with color "always" 199s ok 152 - Format "%{yellow}C" should output yellow 199s ok 153 - Format "%{red}C" should output red 199s ok 154 - Format "%{blue}C" should output blue 199s ok 155 - Format "%{cyan}C" should output cyan 199s ok 156 - Format "%{magenta}C" should output magenta 199s ok 157 - Format "%{:event}C" on "deploy" should output green 199s ok 158 - Format "%{:event}C" on "revert" should output blue 199s ok 159 - Format "%{:event}C" on "fail" should output red 199s ok 160 - Should get an error for an invalid color 199s ok 161 - Invalid color error ident should be "log" 199s ok 162 - Invalid color error message should be correct 199s ok 163 - Construct with color "never" 199s ok 164 - Format "%{yellow}C" should not output a color 199s ok 165 - Format "%{red}C" should not output a color 199s ok 166 - Format "%{blue}C" should not output a color 199s ok 167 - Format "%{cyan}C" should not output a color 199s ok 168 - Format "%{magenta}C" should not output a color 199s ok 169 - Should get an exception for a bad format code 199s ok 170 - bad format code format error ident should be "log" 199s ok 171 - bad format code format error message should be correct 199s ok 172 - no warnings 199s ok 200s t/linelist.t ........ 200s 1..28 200s ok 1 - require App::Sqitch::Plan::LineList; 200s ok 2 - Count should be six 200s ok 3 - Lines should be in order 200s ok 4 - Should have foo at 0 200s ok 5 - Should have bar at 1 200s ok 6 - Should have yo1 at 2 200s ok 7 - Should have @alpha at 3 200s ok 8 - Should have blank at 4 200s ok 9 - Should have baz at 5 200s ok 10 - Should have yo2 at 6 200s ok 11 - Should not find "non" 200s ok 12 - Should find foo at 0 200s ok 13 - Should find bar at 1 200s ok 14 - Should find yo1 at 2 200s ok 15 - Should find @alpha at 3 200s ok 16 - Should find blank at 4 200s ok 17 - Should find baz at 5 200s ok 18 - Should find yo2 at 6 200s ok 19 - Append hi 200s ok 20 - Count should now be eight 200s ok 21 - Lines should be in order with $hi at the end 200s ok 22 - Insert a change at index 3 200s ok 23 - Count should now be nine 200s ok 24 - Lines should be in order with $oy at index 3 200s ok 25 - Should find oy at 3 200s ok 26 - Should find @alpha at 4 200s ok 27 - Should find hi at 8 200s ok 28 - no warnings 200s ok 201s t/log.t ............. 201s 1..253 201s ok 1 - require App::Sqitch::Command::log; 201s ok 2 - Load a sqitch object 201s ok 3 - 'log command' isa 'App::Sqitch::Command::log' 201s ok 4 - App::Sqitch::Command::log->can(...) 201s ok 5 - App::Sqitch::Command::log does ConnectingCommand 201s ok 6 - Options should be correct 201s ok 7 - Default target should be undef 201s ok 8 - 'new status with target' isa 'App::Sqitch::Command::log' 201s ok 9 - Should have target "foo" 201s ok 10 - 'Formatter' isa 'App::Sqitch::ItemFormatter' 201s ok 11 - Should get empty hash for no config or options 201s ok 12 - Should get error for invalid date format in config 201s ok 13 - Invalid date format error ident should be "datetime" 201s ok 14 - Invalid date format error message should be correct 201s ok 15 - Should get error for invalid date format in optsions 201s ok 16 - Invalid date format error ident should be "log" 201s ok 17 - Invalid date format error message should be correct 201s ok 18 - Should get error for invalid format in config 201s ok 19 - Invalid format error ident should be "log" 201s ok 20 - Invalid format error message should be correct 201s ok 21 - Should get error for invalid format in optsions 201s ok 22 - Invalid format error ident should be "log" 201s ok 23 - Invalid format error message should be correct 201s ok 24 - Configuration should respect --no-color, setting "never" 201s ok 25 - --oneline should set format 201s ok 26 - --oneline should set abbrev to 6 201s ok 27 - --oneline should not override --format 201s ok 28 - --oneline should not overrride --abbrev 201s ok 29 - Configuration should respect --no-color even when configure is set 201s ok 30 - Configuration should respect color option 201s ok 31 - Configuration should respect color config 201s ok 32 - Configuration should respect color option 201s ok 33 - Configuration should respect color config 201s ok 34 - Configuration should respect color option 201s ok 35 - Configuration should respect color config 201s ok 36 - Configuration should respect color option 201s ok 37 - Configuration should respect color config 201s ok 38 - Instantiate with format "raw" 201s ok 39 - Format "raw" should output correctly 201s ok 40 - Format "raw" should output correctly without tags 201s ok 41 - Instantiate with format "full" 201s ok 42 - Format "full" should output correctly 201s ok 43 - Instantiate with format "full" and date format "rfc" 201s ok 44 - Format "full" and date format "rfc" should output correctly 201s ok 45 - Instantiate with format "full" and date format "long" 201s ok 46 - Format "full" and date format "long" should output correctly 201s ok 47 - Instantiate with format "full" and date format "medium" 201s ok 48 - Format "full" and date format "medium" should output correctly 201s ok 49 - Format "full" should output correctly without tags 201s ok 50 - Instantiate with format "long" 201s ok 51 - Format "long" should output correctly 201s ok 52 - Format "long" should output correctly without tags 201s ok 53 - Instantiate with format "medium" 201s ok 54 - Format "medium" should output correctly 201s ok 55 - Instantiate with format "medium" and date format "rfc" 201s ok 56 - Format "medium" and date format "rfc" should output correctly 201s ok 57 - Instantiate with format "medium" and date format "long" 201s ok 58 - Format "medium" and date format "long" should output correctly 201s ok 59 - Instantiate with format "medium" and date format "medium" 201s ok 60 - Format "medium" and date format "medium" should output correctly 201s ok 61 - Instantiate with format "short" 201s ok 62 - Format "short" should output correctly 201s ok 63 - Instantiate with format "oneline" 201s ok 64 - Format "oneline" should output correctly 201s ok 65 - Format "%e" should output "deploy" 201s ok 66 - Format "%e" should output "revert" 201s ok 67 - Format "%e" should output "fail" 201s ok 68 - Format "%L" should output "Deploy" 201s ok 69 - Format "%L" should output "Revert" 201s ok 70 - Format "%L" should output "Fail" 201s ok 71 - Format "%l" should output "deploy" 201s ok 72 - Format "%l" should output "revert" 201s ok 73 - Format "%l" should output "fail" 201s ok 74 - Format "%{event}_" should output "Event: " 201s ok 75 - Format "%{change}_" should output "Change: " 201s ok 76 - Format "%{committer}_" should output "Committer:" 201s ok 77 - Format "%{planner}_" should output "Planner: " 201s ok 78 - Format "%{by}_" should output "By: " 201s ok 79 - Format "%{date}_" should output "Date: " 201s ok 80 - Format "%{committed}_" should output "Committed:" 201s ok 81 - Format "%{planned}_" should output "Planned: " 201s ok 82 - Format "%{name}_" should output "Name: " 201s ok 83 - Format "%{email}_" should output "Email: " 201s ok 84 - Format "%{requires}_" should output "Requires: " 201s ok 85 - Format "%{conflicts}_" should output "Conflicts:" 201s ok 86 - Format "%H" should output "123456789" 201s ok 87 - Format "%h" should output "123456789" 201s ok 88 - Format "%{5}h" should output "12345" 201s ok 89 - Format "%{7}h" should output "1234567" 201s ok 90 - Format "%n" should output "foo" 201s ok 91 - Format "%n" should output "bar" 201s ok 92 - Format "%o" should output "foo" 201s ok 93 - Format "%o" should output "bar" 201s ok 94 - Format "%c" should output "larry " 201s ok 95 - Format "%{n}c" should output "damian" 201s ok 96 - Format "%{name}c" should output "chip" 201s ok 97 - Format "%{e}c" should output "larry@example.com" 201s ok 98 - Format "%{email}c" should output "damian@example.com" 201s ok 99 - Format "%{date}c" should output "2025-05-02 08:19:38 -0700" 201s ok 100 - Format "%{date:rfc}c" should output "Fri, 02 May 2025 08:19:38 -0700" 201s ok 101 - Format "%{d:long}c" should output "May 2, 2025, 8:19:38 AM PDT" 201s ok 102 - Format "%{d:cldr:HH'h' mm'm'}c" should output "08h 19m" 201s ok 103 - Format "%{d:strftime:%a at %H:%M:%S}c" should output "Fri at 08:19:38" 201s ok 104 - Format "%p" should output "larry " 201s ok 105 - Format "%{n}p" should output "damian" 201s ok 106 - Format "%{name}p" should output "chip" 201s ok 107 - Format "%{e}p" should output "larry@example.com" 201s ok 108 - Format "%{email}p" should output "damian@example.com" 201s ok 109 - Format "%{date}p" should output "2025-05-01 08:19:38 -0700" 201s ok 110 - Format "%{date:rfc}p" should output "Thu, 01 May 2025 08:19:38 -0700" 201s ok 111 - Format "%{d:long}p" should output "May 1, 2025, 8:19:38 AM PDT" 201s ok 112 - Format "%{d:cldr:HH'h' mm'm'}p" should output "08h 19m" 201s ok 113 - Format "%{d:strftime:%a at %H:%M:%S}p" should output "Thu at 08:19:38" 201s ok 114 - Format "%t" should output "" 201s ok 115 - Format "%t" should output " @foo" 201s ok 116 - Format "%t" should output " @foo, @bar" 201s ok 117 - Format "%{|}t" should output "" 201s ok 118 - Format "%{|}t" should output " @foo" 201s ok 119 - Format "%{|}t" should output " @foo|@bar" 201s ok 120 - Format "%T" should output "" 201s ok 121 - Format "%T" should output " (@foo)" 201s ok 122 - Format "%T" should output " (@foo, @bar)" 201s ok 123 - Format "%{|}T" should output "" 201s ok 124 - Format "%{|}T" should output " (@foo)" 201s ok 125 - Format "%{|}T" should output " (@foo|@bar)" 201s ok 126 - Format "%r" should output "" 201s ok 127 - Format "%r" should output " foo" 201s ok 128 - Format "%r" should output " foo, bar" 201s ok 129 - Format "%{|}r" should output "" 201s ok 130 - Format "%{|}r" should output " foo" 201s ok 131 - Format "%{|}r" should output " foo|bar" 201s ok 132 - Format "%R" should output "" 201s ok 133 - Format "%R" should output "Requires: foo[newline]" 201s ok 134 - Format "%R" should output "Requires: foo, bar[newline]" 201s ok 135 - Format "%{|}R" should output "" 201s ok 136 - Format "%{|}R" should output "Requires: foo[newline]" 201s ok 137 - Format "%{|}R" should output "Requires: foo|bar[newline]" 201s ok 138 - Format "%x" should output "" 201s ok 139 - Format "%x" should output " foo" 201s ok 140 - Format "%x" should output " foo, bax" 201s ok 141 - Format "%{|}x" should output "" 201s ok 142 - Format "%{|}x" should output " foo" 201s ok 143 - Format "%{|}x" should output " foo|bax" 201s ok 144 - Format "%X" should output "" 201s ok 145 - Format "%X" should output "Conflicts: foo[newline]" 201s ok 146 - Format "%X" should output "Conflicts: foo, bar[newline]" 201s ok 147 - Format "%{|}X" should output "" 201s ok 148 - Format "%{|}X" should output "Conflicts: foo[newline]" 201s ok 149 - Format "%{|}X" should output "Conflicts: foo|bar[newline]" 201s ok 150 - Format "%{yellow}C" should output "" 201s ok 151 - Format "%{:event}C" should output "" 201s ok 152 - Format "%v" should output "[newline]" 201s ok 153 - Format "%%" should output "%" 201s ok 154 - Format "%s" should output "hi there" 201s ok 155 - Format "%s" should output "hi there" 201s ok 156 - Format "%s" should output "subject line" 201s ok 157 - Format "%{ }s" should output " hi there" 201s ok 158 - Format "%{xx}s" should output "xxhi there" 201s ok 159 - Format "%b" should output "" 201s ok 160 - Format "%b" should output "yo" 201s ok 161 - Format "%b" should output "first graph[newline][newline]second graph[newline][newline]" 201s ok 162 - Format "%{ }b" should output "" 201s ok 163 - Format "%{xxx }b" should output "xxx yo" 201s ok 164 - Format "%{x}b" should output "xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" 201s ok 165 - Format "%{ }b" should output " yo" 201s ok 166 - Format "%B" should output "hi there" 201s ok 167 - Format "%B" should output "hi there[newline]yo" 201s ok 168 - Format "%B" should output "subject line[newline][newline]first graph[newline][newline]second graph[newline][newline]" 201s ok 169 - Format "%{ }B" should output " hi there" 201s ok 170 - Format "%{xxx }B" should output "xxx hi there[newline]xxx yo" 201s ok 171 - Format "%{x}B" should output "xsubject line[newline]x[newline]xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" 201s ok 172 - Format "%{ }B" should output " hi there [newline] yo" 201s ok 173 - Format "%{change}a" should output "change lolz[newline]" 201s ok 174 - Format "%{change_id}a" should output "change_id 000011112222333444[newline]" 201s ok 175 - Format "%{event}a" should output "event deploy[newline]" 201s ok 176 - Format "%{tags}a" should output "tags @beta, @gamma[newline]" 201s ok 177 - Format "%{requires}a" should output "requires foo, bar[newline]" 201s ok 178 - Format "%{conflicts}a" should output "" 201s ok 179 - Format "%{committer_name}a" should output "committer_name larry[newline]" 201s ok 180 - Format "%{committed_at}a" should output "committed_at 2025-05-02T15:19:38Z[newline]" 201s ok 181 - Should get exception for format "%_" 201s ok 182 - %_ error ident should be "format" 201s ok 183 - %_ error message should be correct 201s ok 184 - Should get exception for unknown label in format "%_" 201s ok 185 - Invalid %_ label error ident should be "format" 201s ok 186 - Invalid %_ label error message should be correct 201s ok 187 - Instantiate with abbrev => 4 201s ok 188 - %h should respect abbrev 201s ok 189 - %H should not respect abbrev 201s ok 190 - Instantiate with date_format => "rfc" 201s ok 191 - %{date}c should respect the date_format attribute 201s ok 192 - %{iso}c should override the date_format attribute 201s ok 193 - Should get exception for unknown attribute passed to %a 201s ok 194 - %a error ident should be "format" 201s ok 195 - %a error message should be correct 201s ok 196 - Format "%{yellow}C" should output yellow 201s ok 197 - Format "%{red}C" should output red 201s ok 198 - Format "%{blue}C" should output blue 201s ok 199 - Format "%{cyan}C" should output cyan 201s ok 200 - Format "%{magenta}C" should output magenta 201s ok 201 - Format "%{:event}C" on "deploy" should output green 201s ok 202 - Format "%{:event}C" on "revert" should output blue 201s ok 203 - Format "%{:event}C" on "fail" should output red 201s ok 204 - Instantiate with format "full" again 201s ok 205 - Format "full" should output correctly with color 201s ok 206 - Instantiate with format "long" again 201s ok 207 - Format "long" should output correctly with color 201s ok 208 - Instantiate with format "medium" again 201s ok 209 - Format "medium" should output correctly with color 201s ok 210 - Instantiate with format "short" again 201s ok 211 - Format "short" should output correctly with color 201s ok 212 - Instantiate with format "oneline" again 201s ok 213 - Format "oneline" should output correctly with color 201s ok 214 - Should get an error for an invalid color 201s ok 215 - Invalid color error ident should be "format" 201s ok 216 - Invalid color error message should be correct 201s ok 217 - Should get exception for unititialied db 201s ok 218 - Uninit db error ident should be "log" 201s ok 219 - Uninit db exit val should be 1 201s ok 220 - Uninit db error message should be correct 201s ok 221 - Should have passed undef to Target 201s ok 222 - Should get error for empty event table 201s ok 223 - no events error ident should be "log" 201s ok 224 - no events exit val should be 1 201s ok 225 - no events error message should be correct 201s ok 226 - Search should have been limited to one row 201s ok 227 - Should have passed undef to Target again 201s ok 228 - Execute log 201s ok 229 - Should have passed undef to Target once more 201s ok 230 - The proper args should have been passed to search_events 201s ok 231 - The change should have been paged 201s ok 232 - Execute with target arg 201s ok 233 - Target name should have been passed to Target 201s ok 234 - The proper args should have been passed to search_events 201s ok 235 - The change should have been paged 201s ok 236 - Execute with plan file arg 201s ok 237 - Default engine target should have been passed to Target 201s ok 238 - The proper args should have been passed to search_events 201s ok 239 - The change should have been paged 201s ok 240 - 'log with attributes' isa 'App::Sqitch::Command::log' 201s ok 241 - Execute log with attributes 201s ok 242 - Should have passed target name to Target 201s ok 243 - All params should have been passed to search_events 201s ok 244 - Both changes should have been paged with no headers 201s ok 245 - Execute log with attributes 201s ok 246 - Should have passed enginetarget to Target 201s ok 247 - Should have got warning for two targets 201s ok 248 - 'log with bad format' isa 'App::Sqitch::Command::log' 201s ok 249 - Should get an exception for a bad format code 201s ok 250 - bad format code format error ident should be "format" 201s ok 251 - bad format code format error message should be correct 201s ok 252 - Should have passed target name to Target 201s ok 253 - no warnings 201s ok 201s t/mooseless.t ....... 201s ok 1 - No moose in Debian::pkgperl::Foobar 201s 1..1 201s ok 201s t/mysql.t ........... 201s ok 1 - require App::Sqitch::Engine::mysql; 201s ok 2 - config_vars should return three vars 201s ok 3 - An object of class 'App::Sqitch::Engine::mysql' isa 'App::Sqitch::Engine::mysql' 201s ok 4 - Key should be "mysql" 201s ok 5 - Name should be "MySQL" 201s ok 6 - client should default to mysql 201s ok 7 - registry default should be "sqitch" 201s ok 8 - registry_uri should be correct 201s ok 9 - uri should be "db:mysql:mydb" 201s ok 10 - DSN should use MariaDB 201s ok 11 - registry_destination should be the same as registry_uri 201s ok 12 - _lock_name should be correct 201s ok 13 - mysql command should be user and std opts-only 201s ok 14 - Should have emitted a warning for no database name 201s ok 15 - An object of class 'App::Sqitch::Engine::mysql' isa 'App::Sqitch::Engine::mysql' 201s ok 16 - Create engine with MYSQL_PWD set 201s ok 17 - Password should be set from environment 201s ok 18 - URI should reflect MYSQL_HOST 201s ok 19 - URI should reflect MYSQL_TCP_PORT 201s ok 20 - Create another mysql 201s ok 21 - client should be as configured 201s ok 22 - URI should be as configured 201s ok 23 - target name should be the URI without the password 201s ok 24 - destination should be the URI without the password 201s ok 25 - registry should be as configured 201s ok 26 - Sqitch DB URI should be the same as uri but with DB name "meta" 201s ok 27 - registry_destination should be the sqitch DB URL without the password 201s ok 28 - mysql command should be configured 201s ok 29 - Create a mysql with query params 201s ok 30 - mysql command should be configured with query vals 201s ok 31 - Create a mysql with disabled query params 201s ok 32 - mysql command should not have disabled param options 201s ok 33 - App::Sqitch::Engine::mysql->can(...) 201s ok 34 - Create a mysql with sqitch with options 201s ok 35 - MYSQL_PWD should be "s3cr3t" 201s ok 36 - Call _run 201s ok 37 - Command should be passed to run() 201s ok 38 - MYSQL_PWD should be "s3cr3t" 201s ok 39 - Call _spool 201s ok 40 - Command should be passed to spool() 201s ok 41 - MYSQL_PWD should be "s3cr3t" 201s ok 42 - Call _spool with variables 201s ok 43 - Get variables file handle 201s ok 44 - Command should be passed to spool() after variables handle 201s ok 45 - Variables should have been escaped and set 201s ok 46 - MYSQL_PWD should be "s3cr3t" 201s ok 47 - Call _capture 201s ok 48 - Command should be passed to capture() 201s ok 49 - Create a mysql with sqitch with no pw 201s ok 50 - MYSQL_PWD should not exist 201s ok 51 - Call _run again 201s ok 52 - Command should be passed to run() again 201s ok 53 - MYSQL_PWD should not exist 201s ok 54 - Call _spool again 201s ok 55 - Command should be passed to spool() again 201s ok 56 - MYSQL_PWD should not exist 201s ok 57 - Call _capture again 201s ok 58 - Command should be passed to capture() again 201s ok 59 - MYSQL_PWD should not exist 201s ok 60 - Run foo/bar.sql 201s ok 61 - File should be passed to run() 201s ok 62 - MYSQL_PWD should not exist 201s ok 63 - Spool a "file handle" 201s ok 64 - Handle should be passed to spool() 201s ok 65 - MYSQL_PWD should not exist 201s ok 66 - Verify foo/bar.sql 201s ok 67 - Verify file should be passed to capture() 201s ok 68 - MYSQL_PWD should not exist 201s ok 69 - Verify foo/bar.sql again 201s ok 70 - Verifile file should be passed to run() for high verbosity 201s ok 71 - MYSQL_PWD should not exist 201s ok 72 - Run foo/bar.sql with vars 201s ok 73 - Variabls and file should be passed to run() 201s ok 74 - MYSQL_PWD should not exist 201s ok 75 - Spool a "file handle" 201s ok 76 - Get variables file handle 201s ok 77 - File handle should be passed to spool() after variables handle 201s ok 78 - Variables should have been escaped and set 201s ok 79 - MYSQL_PWD should not exist 201s ok 80 - Verbosely verify foo/bar.sql with vars 201s ok 81 - Variables and verify file should be passed to run() 201s ok 82 - MYSQL_PWD should not exist 201s ok 83 - Verify foo/bar.sql with vars 201s ok 84 - Verify file should be passed to capture() 201s ok 85 - App::Sqitch::Engine::mysql->can('_ts2char_format') 201s ok 86 - _ts2char_format should work 201s ok 87 - App::Sqitch::Engine::mysql->can('_dt') 201s ok 88 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' 201s ok 89 - DateTime year should be set 201s ok 90 - DateTime month should be set 201s ok 91 - DateTime day should be set 201s ok 92 - DateTime hour should be set 201s ok 93 - DateTime minute should be set 201s ok 94 - DateTime second should be set 201s ok 95 - DateTime TZ should be set 201s ok 96 - Should have _listagg_format 201s ok 97 - Should have _regex_op 201s ok 98 - Should have _simple_from 201s ok 99 - Should have _limit_default 201s ok 100 - Should have _ts_default with fractional seconds 201s ok 101 - Should have _ts_default without fractional seconds on 5.1 201s ok 102 - Should have _ts_default without fractional seconds on early mariadb 201s ok 103 - Should have _ts_default with fractional secondson mariadb 5.03.05 201s ok 104 - Should have no table error 201s ok 105 - Should have no column error 201s ok 106 - Should now have table error 201s ok 107 - Still should have no column error 201s ok 108 - Should again have table error 201s ok 109 - Still should have no column error 201s ok 110 - Should again have no table error 201s ok 111 - Should now have no column error 201s ok 112 - Should get limit and offset 201s ok 113 - Should get limit and offset when offset only 201s ok 114 - Should get only limit with 0 offset 201s ok 115 - Should get only limit with noa offset 201s ok 116 - Should get no limit or offset for 0s 201s ok 117 - Should get no limit or offset for no args 201s ok 118 - Should use REGEXP for regex expr 201s ok 119 - initialized() should rethrow unexpected DB error 201s ok 120 - _cid should rethrow unexpected DB error 201s ok 121 - Should just get self when fractional seconds supported 201s ok 122 - Should get no error from _prepare_to_log 201s ok 123 - Should have prepared the statement comparing times 201s ok 124 - Results should have been returned 201s ok 125 - Should have slept once 201s ok 126 - Run the upgrade 201s ok 127 - Should not have created a temp file 201s ok 128 - It should have run the unchanged file 201s ok 129 - Run the upgrade again 201s ok 130 - Should have created a temp file 201s ok 131 - It should have appended the registry and run the temp file 201s ok 132 - Should have removed datetime precision 201s ok 133 - Should not have removed MySQL 5.5-requiring block BEGIN 201s ok 134 - Should not have removed MySQL 5.5-requiring block END 201s ok 135 - Run the upgrade on 5.4 201s ok 136 - Should have created another temp file 201s ok 137 - It should have appended the registry and run the new temp file 201s ok 138 - Should have removed MySQL 5.5-requiring block BEGIN 201s ok 139 - Should have removed MySQL 5.5-requiring block END 201s ok 140 - App::Sqitch::Engine::mysql->can(...) 201s # Subtest: live database 201s 1..0 # SKIP Unable to live-test MySQL engine: DBD::MariaDB 1.0 required to manage MySQL 201s ok 141 # skip Unable to live-test MySQL engine: DBD::MariaDB 1.0 required to manage MySQL 201s 1..141 201s ok 202s t/options.t ......... 202s ok 1 - use App::Sqitch; 202s ok 2 - Options should be correct 202s ok 3 - App::Sqitch->can('_find_cmd') 202s ok 4 - Should find no command for no args 202s ok 5 - Should have passed "sqitchcommands" to _pod2usage 202s ok 6 - Should have vented nothing 202s ok 7 - Should find no command for invalid command 202s ok 8 - Should have passed "sqitchcommands" to _pod2usage 202s ok 9 - Should have vented an invalid command message 202s ok 10 - Should find no command with option --foo 202s ok 11 - Should have passed "sqitchcommands" to _pod2usage 202s ok 12 - Should not have reported --foo as invalid command 202s ok 13 - Should find no command with option --client=psql 202s ok 14 - Should have passed "sqitchcommands" to _pod2usage 202s ok 15 - Should not have reported --client=psql as invalid command 202s ok 16 - Should find no command with option -R 202s ok 17 - Should have passed "sqitchcommands" to _pod2usage 202s ok 18 - Should not have reported -R as invalid command 202s ok 19 - Should find no command with option -X=yup 202s ok 20 - Should have passed "sqitchcommands" to _pod2usage 202s ok 21 - Should not have reported -X=yup as invalid command 202s ok 22 - Should find no command after -- 202s ok 23 - Should have passed "sqitchcommands" to _pod2usage 202s ok 24 - Should have vented nothing 202s ok 25 - Should find class for "bundle" 202s ok 26 - Should not have called _pod2usage 202s ok 27 - Should have vented nothing 202s ok 28 - Should have removed "bundle" from args 202s ok 29 - Should find class for "bundle" again 202s ok 30 - Should not have called _pod2usage 202s ok 31 - Should have vented nothing 202s ok 32 - Should have left subsequent valid command after "bundle" in args 202s ok 33 - Should find class for "config" 202s ok 34 - Should not have called _pod2usage 202s ok 35 - Should have vented nothing 202s ok 36 - Should have removed "config" from args 202s ok 37 - Should find class for "config" again 202s ok 38 - Should not have called _pod2usage 202s ok 39 - Should have vented nothing 202s ok 40 - Should have left subsequent valid command after "config" in args 202s ok 41 - Should find class for "help" 202s ok 42 - Should not have called _pod2usage 202s ok 43 - Should have vented nothing 202s ok 44 - Should have removed "help" from args 202s ok 45 - Should find class for "help" again 202s ok 46 - Should not have called _pod2usage 202s ok 47 - Should have vented nothing 202s ok 48 - Should have left subsequent valid command after "help" in args 202s ok 49 - Should find class for "plan" 202s ok 50 - Should not have called _pod2usage 202s ok 51 - Should have vented nothing 202s ok 52 - Should have removed "plan" from args 202s ok 53 - Should find class for "plan" again 202s ok 54 - Should not have called _pod2usage 202s ok 55 - Should have vented nothing 202s ok 56 - Should have left subsequent valid command after "plan" in args 202s ok 57 - Should find class for "show" 202s ok 58 - Should not have called _pod2usage 202s ok 59 - Should have vented nothing 202s ok 60 - Should have removed "show" from args 202s ok 61 - Should find class for "show" again 202s ok 62 - Should not have called _pod2usage 202s ok 63 - Should have vented nothing 202s ok 64 - Should have left subsequent valid command after "show" in args 202s ok 65 - Should find class for "tag" 202s ok 66 - Should not have called _pod2usage 202s ok 67 - Should have vented nothing 202s ok 68 - Should have removed "tag" from args 202s ok 69 - Should find class for "tag" again 202s ok 70 - Should not have called _pod2usage 202s ok 71 - Should have vented nothing 202s ok 72 - Should have left subsequent valid command after "tag" in args 202s ok 73 - App::Sqitch->can('_parse_core_opts') 202s ok 74 - Should have default config for no options 202s ok 75 - Ask for help 202s ok 76 - Should have been helped 202s ok 77 - Ask for man 202s ok 78 - Should have been manned 202s ok 79 - Should have exited on --version 202s ok 80 - Should have emitted the version 202s ok 81 - Should have exited on --etc-path 202s ok 82 - Should have emitted the etc path 202s ok 83 - Should parse lots of options 202s ok 84 - --quiet should trump verbosity. 202s ok 85 - Short options should work 202s ok 86 - Run _pod2usage 202s ok 87 - Proper args should have been passed to Pod::Usage 202s ok 88 - Parse --chdir 202s ok 89 - Should have changed to foo/bar 202s ok 90 - Should have preserved no opts 202s ok 91 - Parse --cd 202s ok 92 - Should have changed to go/dir 202s ok 93 - Should have preserved no opts 202s ok 94 - Parse -C 202s ok 95 - Should have changed to hi cramus 202s ok 96 - Should have preserved no opts 202s ok 97 - Should get error when chdir fails 202s ok 98 - Error ident should be "fs" 202s ok 99 - Error message should be correct 202s 1..99 202s ok 202s t/oracle.t .......... 202s ok 1 - require App::Sqitch::Engine::oracle; 202s ok 2 - config_vars should return three vars 202s ok 3 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' 202s ok 4 - Key should be "oracle" 202s ok 5 - Name should be "Oracle" 202s ok 6 - client should default to sqlplus 202s ok 7 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' 202s ok 8 - client should default to sqlplus 202s ok 9 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' 202s ok 10 - client should use $ORACLE_HOME 202s ok 11 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' 202s ok 12 - client should use $ORACLE_HOME/bin 202s ok 13 - registry default should be empty 202s ok 14 - Default URI should be "db:oracle" 202s ok 15 - Target name should be the uri stringified 202s ok 16 - Destination should fall back on environment variables 202s ok 17 - Registry target should be the same as target 202s ok 18 - sqlplus command should connect to /nolog 202s ok 19 - _script should work 202s ok 20 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' 202s ok 21 - _script should assemble connection string 202s ok 22 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' 202s ok 23 - _script should assemble connection string with host 202s ok 24 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' 202s ok 25 - Set some variables 202s ok 26 - _script should assemble connection string with host, port, and vars 202s ok 27 - Database-only URI should produce proper DSN 202s ok 28 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' 202s ok 29 - _script should assemble connection string with just dbname 202s ok 30 - Database and double-slash URI should produce proper DSN 202s ok 31 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' 202s ok 32 - _script should assemble connection string with double-slash and dbname 202s ok 33 - Target name should not read $TWO_TASK 202s ok 34 - Destination should read $TWO_TASK 202s ok 35 - Registry destination should be the same as destination 202s ok 36 - Target name should not read $ORACLE_SID 202s ok 37 - Destination should read $ORACLE_SID 202s ok 38 - Registry destination should be the same as destination 202s ok 39 - Target should be the default 202s ok 40 - Destination should prefer $TWO_TASK to username 202s ok 41 - Registry destination should be the same as destination 202s ok 42 - Create another ora 202s ok 43 - client should be as configured 202s ok 44 - DB URI should be as configured 202s ok 45 - Target name should be the passwordless URI stringified 202s ok 46 - Destination should be the URI without the password 202s ok 47 - registry_destination should replace be the same URI 202s ok 48 - registry should be as configured 202s ok 49 - sqlplus command should be configured 202s ok 50 - Create yet another ora 202s ok 51 - client should be as configured 202s ok 52 - registry should be as configured 202s ok 53 - sqlplus command should be configured 202s ok 54 - App::Sqitch::Engine::oracle->can(...) 202s ok 55 - Call _run 202s ok 56 - SQLPlus command should be passed to spool() 202s ok 57 - The script should be spooled 202s ok 58 - Call _capture 202s ok 59 - Command and script should be passed to run3() 202s ok 60 - _capture should actually capture 202s ok 61 - _capture should die when sqlplus dies 202s ok 62 - STDERR should be emitted by _capture 202s ok 63 - App::Sqitch::Engine::oracle->can('_file_for_script') 202s ok 64 - File without special characters should be used directly 202s ok 65 - Double quotes should be SQL-escaped 202s ok 66 - Get temp dir 202s ok 67 - 'Temp dir' isa 'Path::Class::Dir' 202s ok 68 - File with special char should be aliased 202s ok 69 - Should get an error on failure to delete the alias 202s ok 70 - File deletion error ident should be "oracle" 202s ok 71 - File deletion error message should be correct 202s ok 72 - File with special char and quotes should be aliased 202s ok 73 - initialized() should rethrow unexpected DB error 202s ok 74 - _cid should rethrow unexpected DB error 202s ok 75 - Run foo/bar.sql 202s ok 76 - File should be passed to run() 202s ok 77 - Run foo/"bar".sql 202s ok 78 - Double quotes in file passed to run() should be escaped 202s ok 79 - Spool a "file handle" 202s ok 80 - sqlplus command should be passed to spool() 202s ok 81 - 'Array ove handles should be passed to spool' isa 'ARRAY' 202s ok 82 - First file handle should be script 202s ok 83 - Second should be the passed handle 202s ok 84 - Verify foo/bar.sql 202s ok 85 - Verify file should be passed to capture() 202s ok 86 - Verify foo/bar.sql again 202s ok 87 - Verifile file should be passed to run() for high verbosity 202s ok 88 - App::Sqitch::Engine::oracle->can('_ts2char_format') 202s ok 89 - _ts2char_format should work 202s ok 90 - App::Sqitch::Engine::oracle->can('_dt') 202s ok 91 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' 202s ok 92 - DateTime year should be set 202s ok 93 - DateTime month should be set 202s ok 94 - DateTime day should be set 202s ok 95 - DateTime hour should be set 202s ok 96 - DateTime minute should be set 202s ok 97 - DateTime second should be set 202s ok 98 - DateTime TZ should be set 202s ok 99 - Should have _char2ts 202s ok 100 - Should have _listagg_format 202s ok 101 - Should have _regex_op 202s ok 102 - Should have _simple_from 202s ok 103 - Should have _limit_default 202s ok 104 - Should have _ts_default 202s ok 105 - Should have _can_limit false 202s ok 106 - Should get single expression from _multi_values 202s ok 107 - Should get double expression from _multi_values 202s ok 108 - Should get quadrupal expression from _multi_values 202s ok 109 - Should have no table error 202s ok 110 - Should have no column error 202s ok 111 - Should now have table error 202s ok 112 - Still should have no column error 202s ok 113 - Should again have no table error 202s ok 114 - Should now have no column error 202s ok 115 - _log_tags_param should format tags 202s ok 116 - _log_requires_param should format prereqs 202s ok 117 - _log_conflicts_param should format prereqs 202s ok 118 - App::Sqitch::Engine::oracle->can('_change_id_in') 202s ok 119 - Should get empty string for 0 change IDs 202s ok 120 - Should get single param for 1 change ID 202s ok 121 - Should get 3 params for 3 change IDs 202s ok 122 - Should get 10 params for 10 change IDs 202s ok 123 - Should get 32 params for 32 change IDs 202s ok 124 - Should get 50 params for 50 change IDs 202s ok 125 - Should get 200 params for 200 change IDs 202s ok 126 - Should get 250 params for 250 change IDs 202s ok 127 - Should get 250 and 1 groups for 251 IDs 202s ok 128 - Should get 250 and 3 groups for 253 IDs 202s ok 129 - Should get 250, 240, and 2 groups for 503 IDs 202s ok 130 - Should get 4 x 250 and 42 groups for 1042 IDs 202s ok 131 - App::Sqitch::Engine::oracle->can(...) 202s # Subtest: live database 202s 1..0 # SKIP Unable to live-test Oracle engine: DBD::Oracle 1.23 required to manage Oracle 202s ok 132 # skip Unable to live-test Oracle engine: DBD::Oracle 1.23 required to manage Oracle 202s 1..132 202s ok 203s t/pg.t .............. 203s ok 1 - require App::Sqitch::Engine::pg; 203s ok 2 - config_vars should return three vars 203s ok 3 - An object of class 'App::Sqitch::Engine::pg' isa 'App::Sqitch::Engine::pg' 203s ok 4 - Key should be "pg" 203s ok 5 - Name should be "PostgreSQL" 203s ok 6 - client should default to psqle 203s ok 7 - registry default should be "sqitch" 203s ok 8 - DB URI should be "db:pg:" 203s ok 9 - Destination should fall back on environment variables 203s ok 10 - Registry destination should be the same as destination 203s ok 11 - psql command should be conninfo, and std opts-only 203s ok 12 - An object of class 'App::Sqitch::Engine::pg' isa 'App::Sqitch::Engine::pg' 203s ok 13 - Set some variables 203s ok 14 - Variables should be passed to psql via --set 203s ok 15 - Target should not read $PGDATABASE 203s ok 16 - Registry target should be the same as destination 203s ok 17 - Target should not read $PGUSER 203s ok 18 - Registry target should be the same as destination 203s ok 19 - Target should not read $PGPASSWORD 203s ok 20 - Registry target should be the same as destination 203s ok 21 - Target should not fall back on sysuser 203s ok 22 - Registry target should be the same as destination 203s ok 23 - Target should be the default 203s ok 24 - Registry target should be the same as destination 203s ok 25 - Create another pg 203s ok 26 - client should be as configured 203s ok 27 - uri should be as configured 203s ok 28 - registry should be as configured 203s ok 29 - psql command should be configured from URI config 203s ok 30 - App::Sqitch::Engine::pg->can(...) 203s ok 31 - PGPASSWORD should be "s3cr3t" 203s ok 32 - Call _run 203s ok 33 - Command should be passed to run() 203s ok 34 - PGPASSWORD should be "s3cr3t" 203s ok 35 - Call _spool 203s ok 36 - Command should be passed to spool() 203s ok 37 - PGPASSWORD should be "s3cr3t" 203s ok 38 - Call _capture 203s ok 39 - Command should be passed to capture() 203s ok 40 - PGPASSWORD should be "s3cr3t" 203s ok 41 - Call _probe 203s ok 42 203s ok 43 - Create a pg with sqitch with no pw 203s ok 44 - PGPASSWORD should not exist 203s ok 45 - Call _run again 203s ok 46 - Command should be passed to run() again 203s ok 47 - PGPASSWORD should not exist 203s ok 48 - Call _spool again 203s ok 49 - Command should be passed to spool() again 203s ok 50 - PGPASSWORD should not exist 203s ok 51 - Call _capture again 203s ok 52 - Command should be passed to capture() again 203s ok 53 - PGPASSWORD should not exist 203s ok 54 - Call _probe again 203s ok 55 203s ok 56 - PGPASSWORD should not exist 203s ok 57 - Run foo/bar.sql 203s ok 58 - File should be passed to run() 203s ok 59 - PGPASSWORD should not exist 203s ok 60 - Spool a "file handle" 203s ok 61 - Handle should be passed to spool() 203s ok 62 - PGPASSWORD should not exist 203s ok 63 - Verify foo/bar.sql 203s ok 64 - Verify file should be passed to capture() 203s ok 65 - PGPASSWORD should not exist 203s ok 66 - Verify foo/bar.sql again 203s ok 67 - Verifile file should be passed to run() for high verbosity 203s ok 68 - App::Sqitch::Engine::pg->can('_ts2char_format') 203s ok 69 - _ts2char_format should work 203s ok 70 - App::Sqitch::Engine::pg->can('_dt') 203s ok 71 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' 203s ok 72 - DateTime year should be set 203s ok 73 - DateTime month should be set 203s ok 74 - DateTime day should be set 203s ok 75 - DateTime hour should be set 203s ok 76 - DateTime minute should be set 203s ok 77 - DateTime second should be set 203s ok 78 - DateTime TZ should be set 203s ok 79 - Should find major version 11 in 11beta3 203s ok 80 - Should find major version 11 in 11.3 203s ok 81 - Should find major version 10 in 10 203s ok 82 - Should find major version 9 in 9.6.3 203s ok 83 - Should find major version 8 in 8.4.2 203s ok 84 - Should find major version 9 in 9.0.19 203s ok 85 - Should have no table error 203s ok 86 - Should have no column error 203s ok 87 - Should again have no table error 203s ok 88 - Should now have no column error 203s ok 89 - Should now have table error 203s ok 90 - Still should have no column error 203s ok 91 - No SQL should have been run 203s ok 92 - Should again have table error 203s ok 93 - Still should have no column error 203s ok 94 - Should have sent an error to the log 203s ok 95 - Should use array_remove and ORDER BY in listagg_format on v11 203s ok 96 - Should use array_remove and ORDER BY in listagg_format on v9.3 203s ok 97 - Should use ORDER BY in listagg_format on v9.2 203s ok 98 - Should use ORDER BY in listagg_format on v9.0 203s ok 99 - Should not use ORDER BY in listagg_format on v8.4 203s ok 100 - Run the registry file 203s ok 101 - Should have fetched the server version and checked for XC 203s ok 102 - Shoud have deployed the original SQL file 203s ok 103 - The registry should have been added to the search path 203s ok 104 - Should not have have called selectrow_array 203s ok 105 - Should have no temp file handle 203s ok 106 - Run the registry file again 203s ok 107 - Should have again fetched the server version and checked for XC 203s ok 108 - Should now have a temp file handle 203s ok 109 - Shoud have deployed the temp SQL file 203s ok 110 - Still should not have have called selectrow_array 203s ok 111 - The registry should have been added to the search path again 203s ok 112 - Should have removed IF NOT EXISTS from CREATE SCHEMA 203s ok 113 - Run the registry file again 203s ok 114 - Should have again fetched the server version and checked for XC 203s ok 115 - Should now have a temp file handle 203s ok 116 - Shoud have deployed the temp SQL file 203s ok 117 - Should have have called quote_ident via selectrow_array 203s ok 118 - The registry should have been added to the search path again 203s ok 119 - Should not have removed IF NOT EXISTS from CREATE SCHEMA 203s ok 120 - Should have removed the :"registry" variable 203s ok 121 - App::Sqitch::Engine::pg->can(...) 203s # Subtest: live database 203s 1..0 # SKIP Unable to live-test PostgreSQL engine: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory 203s Is the server running locally and accepting connections on that socket? 203s ok 122 # skip Unable to live-test PostgreSQL engine: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory 203s # Is the server running locally and accepting connections on that socket? 203s 1..122 203s ok 205s t/plan.t ............ 205s ok 1 - use App::Sqitch::Plan; 205s ok 2 - App::Sqitch::Plan->can(...) 205s ok 3 - An object of class 'App::Sqitch::Plan' isa 'App::Sqitch::Plan' 205s ok 4 - File should be coopied from Target 205s ok 5 - Should parse simple "widgets.plan" 205s ok 6 - Should have sorted changes 205s ok 7 - 'changes' isa 'ARRAY' 205s ok 8 - 'lines' isa 'ARRAY' 205s ok 9 - All "widgets.plan" changes should be parsed 205s ok 10 - All "widgets.plan" lines should be parsed 205s ok 11 - Should parse multi-tagged "multi.plan" 205s ok 12 - Should have sorted changes twice 205s ok 13 - Should have captured the multi pragmas 205s ok 14 - Should have "multi.plan" lines and changes 205s ok 15 - Should read plan with no tags 205s ok 16 - Should have sorted changes 205s ok 17 - Should have captured the changes-only pragmas 205s ok 18 - Should have lines and changes for tagless plan 205s ok 19 - Should read plan with DOS line endings 205s ok 20 - Should have sorted changes 205s ok 21 - Should have captured the dos pragmas 205s ok 22 - Should die on plan with bad change name 205s ok 23 - Bad change name error ident should be "parse" 205s ok 24 - And the bad change name error message should be correct 205s ok 25 - Should not have sorted changes 205s ok 26 - Should die on plan with bad name "+^foo" 205s ok 27 - Exception ident should be "parse" 205s ok 28 - And "+^foo" should trigger the appropriate message 205s ok 29 - Should not have sorted changes 205s ok 30 - Should die on plan with bad name "@^foo" 205s ok 31 - Exception ident should be "parse" 205s ok 32 - And "@^foo" should trigger the appropriate message 205s ok 33 - Should not have sorted changes 205s ok 34 - Should die on plan with bad name "+foo^" 205s ok 35 - Exception ident should be "parse" 205s ok 36 - And "+foo^" should trigger the appropriate message 205s ok 37 - Should not have sorted changes 205s ok 38 - Should die on plan with bad name "@foo^" 205s ok 39 - Exception ident should be "parse" 205s ok 40 - And "@foo^" should trigger the appropriate message 205s ok 41 - Should not have sorted changes 205s ok 42 - Should die on plan with bad name "+foo^6" 205s ok 43 - Exception ident should be "parse" 205s ok 44 - And "+foo^6" should trigger the appropriate message 205s ok 45 - Should not have sorted changes 205s ok 46 - Should die on plan with bad name "@foo^6" 205s ok 47 - Exception ident should be "parse" 205s ok 48 - And "@foo^6" should trigger the appropriate message 205s ok 49 - Should not have sorted changes 205s ok 50 - Should die on plan with bad name "+foo^666" 205s ok 51 - Exception ident should be "parse" 205s ok 52 - And "+foo^666" should trigger the appropriate message 205s ok 53 - Should not have sorted changes 205s ok 54 - Should die on plan with bad name "@foo^666" 205s ok 55 - Exception ident should be "parse" 205s ok 56 - And "@foo^666" should trigger the appropriate message 205s ok 57 - Should not have sorted changes 205s ok 58 - Should die on plan with bad name "+%hi" 205s ok 59 - Exception ident should be "parse" 205s ok 60 - And "+%hi" should trigger the appropriate message 205s ok 61 - Should not have sorted changes 205s ok 62 - Should die on plan with bad name "@%hi" 205s ok 63 - Exception ident should be "parse" 205s ok 64 - And "@%hi" should trigger the appropriate message 205s ok 65 - Should not have sorted changes 205s ok 66 - Should die on plan with bad name "+hi!" 205s ok 67 - Exception ident should be "parse" 205s ok 68 - And "+hi!" should trigger the appropriate message 205s ok 69 - Should not have sorted changes 205s ok 70 - Should die on plan with bad name "@hi!" 205s ok 71 - Exception ident should be "parse" 205s ok 72 - And "@hi!" should trigger the appropriate message 205s ok 73 - Should not have sorted changes 205s ok 74 - Should die on plan with bad name "+foo@bar" 205s ok 75 - Exception ident should be "parse" 205s ok 76 - And "+foo@bar" should trigger the appropriate message 205s ok 77 - Should not have sorted changes 205s ok 78 - Should die on plan with bad name "@foo@bar" 205s ok 79 - Exception ident should be "parse" 205s ok 80 - And "@foo@bar" should trigger the appropriate message 205s ok 81 - Should not have sorted changes 205s ok 82 - Should die on plan with bad name "+foo:bar" 205s ok 83 - Exception ident should be "parse" 205s ok 84 - And "+foo:bar" should trigger the appropriate message 205s ok 85 - Should not have sorted changes 205s ok 86 - Should die on plan with bad name "@foo:bar" 205s ok 87 - Exception ident should be "parse" 205s ok 88 - And "@foo:bar" should trigger the appropriate message 205s ok 89 - Should not have sorted changes 205s ok 90 - Should die on plan with bad name "+foo\bar" 205s ok 91 - Exception ident should be "parse" 205s ok 92 - And "+foo\bar" should trigger the appropriate message 205s ok 93 - Should not have sorted changes 205s ok 94 - Should die on plan with bad name "@foo\bar" 205s ok 95 - Exception ident should be "parse" 205s ok 96 - And "@foo\bar" should trigger the appropriate message 205s ok 97 - Should not have sorted changes 205s ok 98 - Should die on plan with bad name "++foo" 205s ok 99 - Exception ident should be "parse" 205s ok 100 - And "++foo" should trigger the appropriate message 205s ok 101 - Should not have sorted changes 205s ok 102 - Should die on plan with bad name "@+foo" 205s ok 103 - Exception ident should be "parse" 205s ok 104 - And "@+foo" should trigger the appropriate message 205s ok 105 - Should not have sorted changes 205s ok 106 - Should die on plan with bad name "+-foo" 205s ok 107 - Exception ident should be "parse" 205s ok 108 - And "+-foo" should trigger the appropriate message 205s ok 109 - Should not have sorted changes 205s ok 110 - Should die on plan with bad name "@-foo" 205s ok 111 - Exception ident should be "parse" 205s ok 112 - And "@-foo" should trigger the appropriate message 205s ok 113 - Should not have sorted changes 205s ok 114 - Should die on plan with bad name "+@foo" 205s ok 115 - Exception ident should be "parse" 205s ok 116 - And "+@foo" should trigger the appropriate message 205s ok 117 - Should not have sorted changes 205s ok 118 - Should die on plan with bad name "@@foo" 205s ok 119 - Exception ident should be "parse" 205s ok 120 - And "@@foo" should trigger the appropriate message 205s ok 121 - Should not have sorted changes 205s ok 122 - Should die on plan with bad name "@foo/bar 2012-07-16T17:25:07Z X " 205s ok 123 - Exception ident should be "parse" 205s ok 124 - And "foo/bar" should trigger the appropriate message 205s ok 125 - Should not have sorted changes 205s ok 126 - Should parse "foo" 205s ok 127 - Should have captured the foo pragmas 205s ok 128 - Should have pragmas in plan with change "foo" 205s ok 129 - Should parse "@foo" 205s ok 130 - Should have pragmas in plan with tag "foo" 205s ok 131 - Should have line and change for "@foo" 205s ok 132 - Should parse "12" 205s ok 133 - Should have captured the 12 pragmas 205s ok 134 - Should have pragmas in plan with change "12" 205s ok 135 - Should parse "@12" 205s ok 136 - Should have pragmas in plan with tag "12" 205s ok 137 - Should have line and change for "@12" 205s ok 138 - Should parse "t" 205s ok 139 - Should have captured the t pragmas 205s ok 140 - Should have pragmas in plan with change "t" 205s ok 141 - Should parse "@t" 205s ok 142 - Should have pragmas in plan with tag "t" 205s ok 143 - Should have line and change for "@t" 205s ok 144 - Should parse "6" 205s ok 145 - Should have captured the 6 pragmas 205s ok 146 - Should have pragmas in plan with change "6" 205s ok 147 - Should parse "@6" 205s ok 148 - Should have pragmas in plan with tag "6" 205s ok 149 - Should have line and change for "@6" 205s ok 150 - Should parse "阱阪阬" 205s ok 151 - Should have captured the 阱阪阬 pragmas 205s ok 152 - Should have pragmas in plan with change "阱阪阬" 205s ok 153 - Should parse "@阱阪阬" 205s ok 154 - Should have pragmas in plan with tag "阱阪阬" 205s ok 155 - Should have line and change for "@阱阪阬" 205s ok 156 - Should parse "foo,bar" 205s ok 157 - Should have captured the foo,bar pragmas 205s ok 158 - Should have pragmas in plan with change "foo,bar" 205s ok 159 - Should parse "@foo,bar" 205s ok 160 - Should have pragmas in plan with tag "foo,bar" 205s ok 161 - Should have line and change for "@foo,bar" 205s ok 162 - Should parse "beta1" 205s ok 163 - Should have captured the beta1 pragmas 205s ok 164 - Should have pragmas in plan with change "beta1" 205s ok 165 - Should parse "@beta1" 205s ok 166 - Should have pragmas in plan with tag "beta1" 205s ok 167 - Should have line and change for "@beta1" 205s ok 168 - Should parse "foo_" 205s ok 169 - Should have captured the foo_ pragmas 205s ok 170 - Should have pragmas in plan with change "foo_" 205s ok 171 - Should parse "@foo_" 205s ok 172 - Should have pragmas in plan with tag "foo_" 205s ok 173 - Should have line and change for "@foo_" 205s ok 174 - Should parse "_foo" 205s ok 175 - Should have captured the _foo pragmas 205s ok 176 - Should have pragmas in plan with change "_foo" 205s ok 177 - Should parse "@_foo" 205s ok 178 - Should have pragmas in plan with tag "_foo" 205s ok 179 - Should have line and change for "@_foo" 205s ok 180 - Should parse "v1.0-1b" 205s ok 181 - Should have captured the v1.0-1b pragmas 205s ok 182 - Should have pragmas in plan with change "v1.0-1b" 205s ok 183 - Should parse "@v1.0-1b" 205s ok 184 - Should have pragmas in plan with tag "v1.0-1b" 205s ok 185 - Should have line and change for "@v1.0-1b" 205s ok 186 - Should parse "v1.2-1" 205s ok 187 - Should have captured the v1.2-1 pragmas 205s ok 188 - Should have pragmas in plan with change "v1.2-1" 205s ok 189 - Should parse "@v1.2-1" 205s ok 190 - Should have pragmas in plan with tag "v1.2-1" 205s ok 191 - Should have line and change for "@v1.2-1" 205s ok 192 - Should parse "v1.2+1" 205s ok 193 - Should have captured the v1.2+1 pragmas 205s ok 194 - Should have pragmas in plan with change "v1.2+1" 205s ok 195 - Should parse "@v1.2+1" 205s ok 196 - Should have pragmas in plan with tag "v1.2+1" 205s ok 197 - Should have line and change for "@v1.2+1" 205s ok 198 - Should parse "v1.2_1" 205s ok 199 - Should have captured the v1.2_1 pragmas 205s ok 200 - Should have pragmas in plan with change "v1.2_1" 205s ok 201 - Should parse "@v1.2_1" 205s ok 202 - Should have pragmas in plan with tag "v1.2_1" 205s ok 203 - Should have line and change for "@v1.2_1" 205s ok 204 - Should have sorted changes 26 times 205s ok 205 - Should die on plan with reserved tag "@HEAD" 205s ok 206 - @HEAD exception should have ident "plan" 205s ok 207 - And the @HEAD error message should be correct 205s ok 208 - Should have sorted @HEAD changes nonce 205s ok 209 - Should die on plan with reserved tag "@ROOT" 205s ok 210 - @ROOT exception should have ident "plan" 205s ok 211 - And the @ROOT error message should be correct 205s ok 212 - Should have sorted @ROOT changes nonce 205s ok 213 - Should die on plan with SHA1 change name 205s ok 214 - The SHA1 error ident should be "parse" 205s ok 215 - And the SHA1 error message should be correct 205s ok 216 - Should have sorted changes nonce 205s ok 217 - Should die on plan with tag but no preceding change 205s ok 218 - The missing change error ident should be "parse" 205s ok 219 - And the missing change error message should be correct 205s ok 220 - Should have sorted changes nonce 205s ok 221 - Should die on plan with dupe tag 205s ok 222 - The dupe tag error ident should be "parse" 205s ok 223 - And the missing change error message should be correct 205s ok 224 - Should have sorted changes twice 205s ok 225 - Should die on plan with dupe change 205s ok 226 - The dupe change error ident should be "parse" 205s ok 227 - And the dupe change error message should be correct 205s ok 228 - Should have sorted changes once 205s ok 229 - Should die on invalid dependency 205s ok 230 - The invalid dependency error ident should be "parse" 205s ok 231 - And the invalid dependency error message should be correct 205s ok 232 - Should have sorted changes nonce 205s ok 233 - Should die on dupe dependency 205s ok 234 - The dupe dependency error ident should be "parse" 205s ok 235 - And the dupe dependency error message should be correct 205s ok 236 - Should have sorted changes nonce 205s ok 237 - Should die on change with no timestamp 205s ok 238 - The missing timestamp error ident should be "parse" 205s ok 239 - And the missing timestamp error message should be correct 205s ok 240 - Should have sorted changes nonce 205s ok 241 - Should die on change with no planner 205s ok 242 - The missing parsener error ident should be "parse" 205s ok 243 - And the missing planner error message should be correct 205s ok 244 - Should have sorted changes nonce 205s ok 245 - Should die on change with no timestamp or planner 205s ok 246 - The missing timestamp or parsener error ident should be "parse" 205s ok 247 - And the missing timestamp or planner error message should be correct 205s ok 248 - Should have sorted changes nonce 205s ok 249 - Should parse plan with pragmas" 205s ok 250 - Should have sorted changes once 205s ok 251 - Should have captured all of the pragmas 205s ok 252 - Should have "multi.plan" lines and changes 205s ok 253 - Should parse plan with deploy and revert operators 205s ok 254 - Should have sorted changes twice 205s ok 255 - Should have captured the deploy-and-revert pragmas 205s ok 256 - Should have "deploy-and-revert.plan" lines and changes 205s ok 257 - Should get exception for nonexistent plan file 205s ok 258 - Nonexistent plan file ident should be "plan" 205s ok 259 - Nonexistent plan file message should be correct 205s ok 260 - 'Plan with sqitch with plan file with dependencies' isa 'App::Sqitch::Plan' 205s ok 261 - File should be coopied from Sqitch 205s ok 262 - Load plan with dependencies file 205s ok 263 - The changes should include the dependencies 205s ok 264 - Should have sorted changes twice 205s ok 265 - 'Plan with sqitch with plan file with project deps' isa 'App::Sqitch::Plan' 205s ok 266 - File should be coopied from Sqitch 205s ok 267 - Load plan with project deps file 205s ok 268 - The changes should include the cross-project deps 205s ok 269 - Should have sorted changes twice 205s ok 270 - 'Plan with sqitch with plan with tag dependencies' isa 'App::Sqitch::Plan' 205s ok 271 - File should be coopied from Sqitch 205s ok 272 - Should get an exception for tag with dependencies 205s ok 273 - The tag dependencies error ident should be "plan" 205s ok 274 - And the tag dependencies error message should be correct 205s ok 275 - 'Plan with sqitch with plan file' isa 'App::Sqitch::Plan' 205s ok 276 - File should be coopied from Sqitch 205s ok 277 - Lines should be parsed from file 205s ok 278 - Changes should be parsed from file 205s ok 279 - Should get all tags from tags() 205s ok 280 - Should have sorted changes twice 205s ok 281 - Load should parse plan from file 205s ok 282 - Should have captured the multi pragmas 205s ok 283 - And the parsed file should have lines and changes 205s ok 284 - Should have sorted changes twice 205s ok 285 - App::Sqitch::Plan->can(...) 205s ok 286 - Position should start at -1 205s ok 287 - Current should be undef 205s ok 288 - Get next change 205s ok 289 - 'First change' isa 'App::Sqitch::Plan::Change' 205s ok 290 - It should be the first change 205s ok 291 - Position should be at 0 205s ok 292 - Count should be 4 205s ok 293 - Current should be current 205s ok 294 - Should get first change from change_at(0) 205s ok 295 - Peek to next change 205s ok 296 - 'Peeked change' isa 'App::Sqitch::Plan::Change' 205s ok 297 - Peeked change should be second change 205s ok 298 - last() should return last change 205s ok 299 - Current should still be current 205s ok 300 - Peek should still be next 205s ok 301 - Next should be the second change 205s ok 302 - Position should be at 1 205s ok 303 - Should get second change from change_at(1) 205s ok 304 - Peek should return an object 205s ok 305 - 'Third change' isa 'App::Sqitch::Plan::Change' 205s ok 306 - It should be the foo tag 205s ok 307 - Current should be the second change 205s ok 308 - Should get third change next 205s ok 309 - Position should be at 2 205s ok 310 - Current should be third change 205s ok 311 - Should get third change from change_at(1) 205s ok 312 - Get fourth change 205s ok 313 - 'Fourth change' isa 'App::Sqitch::Plan::Change' 205s ok 314 - Fourth change should be "hey-there" 205s ok 315 - Position should be at 3 205s ok 316 - Peek should return undef 205s ok 317 - Next should return undef 205s ok 318 - Position should be at 7 205s ok 319 - Next should still return undef 205s ok 320 - Position should still be at 7 205s ok 321 - Reset the plan 205s ok 322 - Position should be back at -1 205s ok 323 - Current should still be undef 205s ok 324 - Next should return the first change again 205s ok 325 - Position should be at 0 again 205s ok 326 - Current should be first change 205s ok 327 - Index of change should be 0 205s ok 328 - Plan should contain change 205s ok 329 - Should be able to get change 0 by name 205s ok 330 - Should be able to find change 0 by name 205s ok 331 - Should be able to get change 0 by ID 205s ok 332 - Should be able to find change 0 by ID 205s ok 333 - Index of @bar should be 3 205s ok 334 - Plan should contain @bar 205s ok 335 - Should be able to get hey-there via @bar 205s ok 336 - Should be able to get hey-there via @bar ID 205s ok 337 - Should be able to find hey-there via @bar 205s ok 338 - Should be able to find hey-there via @bar ID 205s ok 339 - Seek to the "@bar" change 205s ok 340 - Position should be at 3 again 205s ok 341 - Current should be fourth again 205s ok 342 - Index of you should be 1 205s ok 343 - Plan should contain "you" 205s ok 344 - Should be able to get change 1 by name 205s ok 345 - Should be able to find change 1 by name 205s ok 346 - Seek to the "you" change 205s ok 347 - Position should be at 1 again 205s ok 348 - Current should be second again 205s ok 349 - Index of baz should be undef 205s ok 350 - Plan should not contain "baz" 205s ok 351 - Index of @baz should be 3 205s ok 352 - Plan should contain @baz 205s ok 353 - Seek to the "baz" change 205s ok 354 - Position should be at 3 again 205s ok 355 - Current should be fourth again 205s ok 356 - Should still get first change from change_at(0) 205s ok 357 - Should still get second change from change_at(1) 205s ok 358 - Should still get third change from change_at(1) 205s ok 359 - Should die seeking invalid change 205s ok 360 - Invalid seek change error ident should be "plan" 205s ok 361 - And the failure message should be correct 205s ok 362 - All should return all changes 205s ok 363 - Reset the plan again 205s ok 364 - Change hey should be passed to do sub 205s ok 365 - Change hey should be the topic in do sub 205s ok 366 - Change you should be passed to do sub 205s ok 367 - Change you should be the topic in do sub 205s ok 368 - Change this/rocks should be passed to do sub 205s ok 369 - Change this/rocks should be the topic in do sub 205s ok 370 - Change hey-there should be passed to do sub 205s ok 371 - Change hey-there should be the topic in do sub 205s ok 372 - 'search_changes() should return a code ref' isa 'CODE' 205s ok 373 - All the changes should be returned in the proper order 205s ok 374 - Direction "DESC" should work 205s ok 375 - Should get error for invalid direction 205s ok 376 - Invalid direction error ident should be "DEV" 205s ok 377 - Invalid direction error message should be correct 205s ok 378 - Direction "asc" should work 205s ok 379 - Search by change name should work 205s ok 380 - Search by change name should work as a regex 205s ok 381 - Search by change name should with a character class 205s ok 382 - Search by planner should work 205s ok 383 - Search by planner should work as a regex 205s ok 384 - Search by operation "deploy" should work 205s ok 385 - Search by operation "rever" should return nothing 205s ok 386 - Search by operation "DEPLOY" should now return two changes 205s ok 387 - Search by operation "REVERT" should return the other two 205s ok 388 - Should get an error for unknown operation 205s ok 389 - Unknown operation error ident should be "DEV" 205s ok 390 - Unknown operation error message should be correct 205s ok 391 - Search with offset 2 should work 205s ok 392 - Search with offset 2, limit 1 should work 205s ok 393 - Search with offset 3 and direction "desc" should work 205s ok 394 - Search with offset 2, limit 1, direction "desc" should work 205s ok 395 - Search with limit 3, direction "desc" should work 205s ok 396 - App::Sqitch::Plan->can('write_to') 205s ok 397 - plan.out does not exist 205s ok 398 - Write out the file 205s ok 399 - plan.out exists 205s ok 400 - The contents should look right 205s ok 401 - Write out the file from "this/rocks" 205s ok 402 - Plan should have been written from "this/rocks" through tags at end 205s ok 403 - Write the file up to "you" 205s ok 404 - Plan should have been written through "you" and its tags 205s ok 405 - Write from "@foo" to "this/rocks" 205s ok 406 - Plan should have been written from "@foo" to "this/rocks" 205s ok 407 - Write from "hey" to "@foo" 205s ok 408 - Plan should have been written from "hey" through "@foo" 205s ok 409 - App::Sqitch::Plan->can('_is_valid') 205s ok 410 - Should find "^foo" invalid 205s ok 411 - Invalid name "^foo" error ident should be "plan" 205s ok 412 - And the "^foo" error message should be correct 205s ok 413 - Should find "foo^" invalid 205s ok 414 - Invalid name "foo^" error ident should be "plan" 205s ok 415 - And the "foo^" error message should be correct 205s ok 416 - Should find "foo^6" invalid 205s ok 417 - Invalid name "foo^6" error ident should be "plan" 205s ok 418 - And the "foo^6" error message should be correct 205s ok 419 - Should find "foo^666" invalid 205s ok 420 - Invalid name "foo^666" error ident should be "plan" 205s ok 421 - And the "foo^666" error message should be correct 205s ok 422 - Should find "%hi" invalid 205s ok 423 - Invalid name "%hi" error ident should be "plan" 205s ok 424 - And the "%hi" error message should be correct 205s ok 425 - Should find "hi!" invalid 205s ok 426 - Invalid name "hi!" error ident should be "plan" 205s ok 427 - And the "hi!" error message should be correct 205s ok 428 - Should find "foo@bar" invalid 205s ok 429 - Invalid name "foo@bar" error ident should be "plan" 205s ok 430 - And the "foo@bar" error message should be correct 205s ok 431 - Should find "foo:bar" invalid 205s ok 432 - Invalid name "foo:bar" error ident should be "plan" 205s ok 433 - And the "foo:bar" error message should be correct 205s ok 434 - Should find "foo\bar" invalid 205s ok 435 - Invalid name "foo\bar" error ident should be "plan" 205s ok 436 - And the "foo\bar" error message should be correct 205s ok 437 - Should find "+foo" invalid 205s ok 438 - Invalid name "+foo" error ident should be "plan" 205s ok 439 - And the "+foo" error message should be correct 205s ok 440 - Should find "-foo" invalid 205s ok 441 - Invalid name "-foo" error ident should be "plan" 205s ok 442 - And the "-foo" error message should be correct 205s ok 443 - Should find "@foo" invalid 205s ok 444 - Invalid name "@foo" error ident should be "plan" 205s ok 445 - And the "@foo" error message should be correct 205s ok 446 - Name "foo" should be valid 205s ok 447 - Name "12" should be valid 205s ok 448 - Name "t" should be valid 205s ok 449 - Name "6" should be valid 205s ok 450 - Name "阱阪阬" should be valid 205s ok 451 - Name "foo/bar" should be valid 205s ok 452 - Name "beta1" should be valid 205s ok 453 - Name "v1.2-1" should be valid 205s ok 454 - Name "v1.2+1" should be valid 205s ok 455 - Name "v1.2_1" should be valid 205s ok 456 - Add tag "w00t" 205s ok 457 - Should have 4 changes 205s ok 458 - Should find "@w00t" in plan 205s ok 459 - Should find "@w00t" at index 3 205s ok 460 - Last change should be "hey-there" 205s ok 461 - The w00t tag should be on the last change 205s ok 462 - An object of class 'App::Sqitch::Plan::Tag' isa 'App::Sqitch::Plan::Tag' 205s ok 463 - The returned tag should be @w00t 205s ok 464 - The @w00t change should be the last change 205s ok 465 - Write out the file again 205s ok 466 - The contents should include the "w00t" tag 205s ok 467 - Add tag "@alpha" 205s ok 468 - Should find "@alpha" in plan 205s ok 469 - Should find "@alpha" at index 3 205s ok 470 - The returned tag should be @alpha 205s ok 471 - The @alpha change should be the last change 205s ok 472 - Tag change "you" 205s ok 473 - Should still have 4 changes 205s ok 474 - Should find "@blarney" in plan 205s ok 475 - Should find "@blarney" at index 1 205s ok 476 - The blarney tag should be on the second change 205s ok 477 - An object of class 'App::Sqitch::Plan::Tag' isa 'App::Sqitch::Plan::Tag' 205s ok 478 - The returned tag should be @blarney 205s ok 479 - The @blarney change should be the second change 205s ok 480 - Should get error trying to add duplicate tag 205s ok 481 - Duplicate tag error ident should be "plan" 205s ok 482 - And the error message should report it as a dupe 205s ok 483 - Should get error for invalid tag "^foo" 205s ok 484 - Invalid name "^foo" error ident should be "plan" 205s ok 485 - And the "^foo" error message should be correct 205s ok 486 - Should get error for invalid tag "foo^" 205s ok 487 - Invalid name "foo^" error ident should be "plan" 205s ok 488 - And the "foo^" error message should be correct 205s ok 489 - Should get error for invalid tag "foo^6" 205s ok 490 - Invalid name "foo^6" error ident should be "plan" 205s ok 491 - And the "foo^6" error message should be correct 205s ok 492 - Should get error for invalid tag "foo^666" 205s ok 493 - Invalid name "foo^666" error ident should be "plan" 205s ok 494 - And the "foo^666" error message should be correct 205s ok 495 - Should get error for invalid tag "%hi" 205s ok 496 - Invalid name "%hi" error ident should be "plan" 205s ok 497 - And the "%hi" error message should be correct 205s ok 498 - Should get error for invalid tag "hi!" 205s ok 499 - Invalid name "hi!" error ident should be "plan" 205s ok 500 - And the "hi!" error message should be correct 205s ok 501 - Should get error for invalid tag "foo@bar" 205s ok 502 - Invalid name "foo@bar" error ident should be "plan" 205s ok 503 - And the "foo@bar" error message should be correct 205s ok 504 - Should get error for invalid tag "foo:bar" 205s ok 505 - Invalid name "foo:bar" error ident should be "plan" 205s ok 506 - And the "foo:bar" error message should be correct 205s ok 507 - Should get error for invalid tag "foo\bar" 205s ok 508 - Invalid name "foo\bar" error ident should be "plan" 205s ok 509 - And the "foo\bar" error message should be correct 205s ok 510 - Should get error for invalid tag "+foo" 205s ok 511 - Invalid name "+foo" error ident should be "plan" 205s ok 512 - And the "+foo" error message should be correct 205s ok 513 - Should get error for invalid tag "-foo" 205s ok 514 - Invalid name "-foo" error ident should be "plan" 205s ok 515 - And the "-foo" error message should be correct 205s ok 516 - Should get error for invalid tag "foo\#bar" 205s ok 517 - Invalid name "foo\#bar" error ident should be "plan" 205s ok 518 - And the "foo\#bar" error message should be correct 205s ok 519 - Should get error for invalid tag "foo/bar" 205s ok 520 - Invalid name "foo/bar" error ident should be "plan" 205s ok 521 - And the "foo/bar" error message should be correct 205s ok 522 - Should get error for reserved tag "HEAD" 205s ok 523 - Reserved tag "HEAD" error ident should be "plan" 205s ok 524 - And the reserved tag "HEAD" message should be correct 205s ok 525 - Should get error for reserved tag "ROOT" 205s ok 526 - Reserved tag "ROOT" error ident should be "plan" 205s ok 527 - And the reserved tag "ROOT" message should be correct 205s ok 528 - Should get error for a SHA1 tag 205s ok 529 - SHA1 tag error ident should be "plan" 205s ok 530 - And the reserved name error should be output 205s ok 531 - Add change "booyah" 205s ok 532 - Should have 5 changes 205s ok 533 - Should find "booyah" in plan 205s ok 534 - Should find "booyah" at index 4 205s ok 535 - Last change should be "booyah" 205s ok 536 - An object of class 'App::Sqitch::Plan::Change' isa 'App::Sqitch::Plan::Change' 205s ok 537 - Should have plain stringification of "booya" 205s ok 538 - Write out the file again 205s ok 539 - The contents should include the "booyah" change 205s ok 540 - Add change "blow" 205s ok 541 - Should have 6 changes 205s ok 542 - Should find "blow" in plan 205s ok 543 - Should find "blow" at index 5 205s ok 544 - Last change should be "blow" 205s ok 545 - Should have nice stringification of "blow [booyah]" 205s ok 546 - The new change should have been appended to the lines, too 205s ok 547 - Add change "jive" with dupe dependency 205s ok 548 - Should have 7 changes 205s ok 549 - Should find "jive" in plan 205s ok 550 - Should find "jive" at index 6 205s ok 551 - jive change should be "jive" 205s ok 552 - Should have dependency "blow" 205s ok 553 - Should have nice stringification of "jive [blow]" 205s ok 554 - The new change should have been appended to the lines, too 205s ok 555 - Add change "moo" with dupe dependencies 205s ok 556 - Should have 8 changes 205s ok 557 - Should find "moo" in plan 205s ok 558 - Should find "moo" at index 7 205s ok 559 - moo change should be "moo" 205s ok 560 - Should require "ext:whu" 205s ok 561 - Should conflict with "blow" and "ext:whu" 205s ok 562 - Should have nice stringification of "moo [ext:foo !blow !ext:whu]" 205s ok 563 - The new change should have been appended to the lines, too 205s ok 564 - Should get error trying to add duplicate change 205s ok 565 - Duplicate change error ident should be "plan" 205s ok 566 - And the error message should suggest "rework" 205s ok 567 - Should get error for invalid change "^foo" 205s ok 568 - Invalid name "^foo" error ident should be "plan" 205s ok 569 - And the "^foo" error message should be correct 205s ok 570 - Should get error for invalid change "foo^" 205s ok 571 - Invalid name "foo^" error ident should be "plan" 205s ok 572 - And the "foo^" error message should be correct 205s ok 573 - Should get error for invalid change "foo^6" 205s ok 574 - Invalid name "foo^6" error ident should be "plan" 205s ok 575 - And the "foo^6" error message should be correct 205s ok 576 - Should get error for invalid change "foo^666" 205s ok 577 - Invalid name "foo^666" error ident should be "plan" 205s ok 578 - And the "foo^666" error message should be correct 205s ok 579 - Should get error for invalid change "%hi" 205s ok 580 - Invalid name "%hi" error ident should be "plan" 205s ok 581 - And the "%hi" error message should be correct 205s ok 582 - Should get error for invalid change "hi!" 205s ok 583 - Invalid name "hi!" error ident should be "plan" 205s ok 584 - And the "hi!" error message should be correct 205s ok 585 - Should get error for invalid change "foo@bar" 205s ok 586 - Invalid name "foo@bar" error ident should be "plan" 205s ok 587 - And the "foo@bar" error message should be correct 205s ok 588 - Should get error for invalid change "foo:bar" 205s ok 589 - Invalid name "foo:bar" error ident should be "plan" 205s ok 590 - And the "foo:bar" error message should be correct 205s ok 591 - Should get error for invalid change "foo\bar" 205s ok 592 - Invalid name "foo\bar" error ident should be "plan" 205s ok 593 - And the "foo\bar" error message should be correct 205s ok 594 - Should get error for invalid change "+foo" 205s ok 595 - Invalid name "+foo" error ident should be "plan" 205s ok 596 - And the "+foo" error message should be correct 205s ok 597 - Should get error for invalid change "-foo" 205s ok 598 - Invalid name "-foo" error ident should be "plan" 205s ok 599 - And the "-foo" error message should be correct 205s ok 600 - Should get error for invalid change "@foo" 205s ok 601 - Invalid name "@foo" error ident should be "plan" 205s ok 602 - And the "@foo" error message should be correct 205s ok 603 - Should get error for reserved name "HEAD" 205s ok 604 - Reserved name "HEAD" error ident should be "plan" 205s ok 605 - And the reserved name "HEAD" message should be correct 205s ok 606 - Should get error for reserved name "ROOT" 205s ok 607 - Reserved name "ROOT" error ident should be "plan" 205s ok 608 - And the reserved name "ROOT" message should be correct 205s ok 609 - Should get failure for failed dependency 205s ok 610 - Dependency error ident should be "plan" 205s ok 611 - The dependency error should be correct 205s ok 612 - Should get failure for invalid dependency 205s ok 613 - Invalid dependency error ident should be "plan" 205s ok 614 - The invalid dependency error should be correct 205s ok 615 - Should get failure for invalid conflict 205s ok 616 - Invalid conflict error ident should be "plan" 205s ok 617 - The invalid conflict error should be correct 205s ok 618 - Should get failure for failed tag dependency 205s ok 619 - Tag dependency error ident should be "plan" 205s ok 620 - The tag dependency error should be correct 205s ok 621 - Should get error for a SHA1 change 205s ok 622 - SHA1 tag error ident should be "plan" 205s ok 623 - And the reserved name error should be output 205s ok 624 - App::Sqitch::Plan->can('rework') 205s ok 625 - Rework change "you" 205s ok 626 - An object of class 'App::Sqitch::Plan::Change' isa 'App::Sqitch::Plan::Change' 205s ok 627 - Reworked change should be "you" 205s ok 628 - Get original "you" change 205s ok 629 - It should also be named "you" 205s ok 630 - And it should have the one rework tag 205s ok 631 - The original file should now be named you@bar.sql 205s ok 632 - It should require the previous "you" change 205s ok 633 - The new "you" should have been appended to the lines, too 205s ok 634 - Should find "you@HEAD" in plan 205s ok 635 - It should be at position 8 205s ok 636 - The plan count should be 9 205s ok 637 - Tag @beta1 205s ok 638 - Rework change "you" again 205s ok 639 - An object of class 'App::Sqitch::Plan::Change' isa 'App::Sqitch::Plan::Change' 205s ok 640 - New reworked change should be "you" 205s ok 641 - Get original "you" change again 205s ok 642 - It should still be named "you" 205s ok 643 - And it should have the one rework tag 205s ok 644 - Get you@beta1 205s ok 645 - The second "you" should be named that 205s ok 646 - And the second change should have the rework_tag "@beta1" 205s ok 647 - But the new reworked change should have no rework tags 205s ok 648 - It should require the previous "you" change 205s ok 649 - The new reworking should have been appended to the lines 205s ok 650 - Should find "you@HEAD" in plan 205s ok 651 - It should be at position 9 205s ok 652 - The plan count should be 10 205s ok 653 - rework should die on nonexistent change 205s ok 654 - Nonexistent change error ident should be "plan" 205s ok 655 - And the error should suggest "sqitch add" 205s ok 656 - rework_stpe should die on lack of intervening tag 205s ok 657 - Missing tag error ident should be "plan" 205s ok 658 - And the error should suggest "sqitch tag" 205s ok 659 - rework should die on failed dependency 205s ok 660 - Rework dependency error ident should be "plan" 205s ok 661 - The rework dependency error should be correct 205s ok 662 - Should get failure for invalid dependency 205s ok 663 - Invalid dependency error ident should be "plan" 205s ok 664 - The invalid dependency error should be correct 205s ok 665 - Should get failure for invalid conflict 205s ok 666 - Invalid conflict error ident should be "plan" 205s ok 667 - The invalid conflict error should be correct 205s ok 668 - 'Plan shoud work plan with dupe change across tags' isa 'App::Sqitch::Plan' 205s ok 669 - File should be coopied from Sqitch 205s ok 670 - Project name should be set 205s ok 671 - Lines with dupe change should be read from file 205s ok 672 - Noes with dupe change should be read from file 205s ok 673 - Should have sorted changes three times 205s ok 674 - Should find "whatever" in plan 205s ok 675 - Should get an error trying to find dupe key. 205s ok 676 - Dupe key error ident should be "plan" 205s ok 677 - Dupe key error message should be correct 205s ok 678 - Should have output listing tag-qualified changes 205s ok 679 - Should get 3 for whatever@HEAD 205s ok 680 - Should get 0 for whatever@bar 205s ok 681 - Should get an error seeking dupe key. 205s ok 682 - Dupe key error ident should be "plan" 205s ok 683 - Dupe key error message should be correct 205s ok 684 - Should have output listing tag-qualified changes 205s ok 685 - Should find whatever@HEAD at index 3 205s ok 686 - Should find whatever@HEAD at index 0 205s ok 687 - Should find first instance of whatever at index 0 205s ok 688 - Should find first instance of whatever after @bar at index 5 205s ok 689 - Seek whatever@HEAD 205s ok 690 - Position should be 3 205s ok 691 - Seek whatever@bar 205s ok 692 - Position should be 0 205s ok 693 - Last tagged change should be "hi" 205s ok 694 - App::Sqitch::Plan->can('open_script') 205s ok 695 - Open bar.sql 205s ok 696 - It should be the right file 205s ok 697 - Open baz.sql 205s ok 698 - It should be empty 205s ok 699 - open_script() should die on nonexistent file 205s ok 700 - Nonexistent file error ident should be "io" 205s ok 701 - Nonexistent file error message should be correct 205s ok 702 - App::Sqitch::Plan->can('check_changes') 205s ok 703 - Should get original order when no dependencies 205s ok 704 - Should get original order when no prepreqs 205s ok 705 - Should get original order when that requires this 205s ok 706 - Should get original order when other requires that 205s ok 707 - Should get error for out-of-order dependency 205s ok 708 - Unordered dependency error ident should be "parse" 205s ok 709 - And the unordered dependency error message should be correct 205s ok 710 - Should get error for multiple dependency errors 205s ok 711 - Multiple dependency error ident should be "parse" 205s ok 712 - And the multiple dependency error message should be correct 205s ok 713 - Should get original order when requiring a tag 205s ok 714 - Should get original order when requiring a step as-of a tag 205s ok 715 - Should get failure for a step after a tag 205s ok 716 - Step after tag error ident should be "parse" 205s ok 717 - And we the unknown change as-of a tag message should be correct 205s ok 718 - Should get failure for a cycle 205s ok 719 - Cycle error ident should be "parse" 205s ok 720 - The cycle error message should be correct 205s ok 721 - Should get failure for a two-hop cycle 205s ok 722 - Two-hope cycle error ident should be "parse" 205s ok 723 - The two-hop cycle error message should be correct 205s ok 724 - Should get original order with earlier dependency 205s ok 725 - Should get error with misordered and seen dependencies 205s ok 726 - Misorderd and seen error ident should be "parse" 205s ok 727 - And the misordered and seen error message should be correct 205s ok 728 - Should die on unknown dependency 205s ok 729 - Unknown dependency error ident should be "parse" 205s ok 730 - And the error should point to the offending change 205s ok 731 - Should die on unknown tag dependency 205s ok 732 - Unknown tag dependency error ident should be "parse" 205s ok 733 - And the error should point to the offending change 205s ok 734 - Should get original order with external dependency 205s ok 735 - Should die on self dependency 205s ok 736 - Self dependency error ident should be "parse" 205s ok 737 - And the self dependency error should be correct 205s ok 738 - Should get original order with cascading dependencies 205s ok 739 - Should get original order with multiple cascading dependencies 205s ok 740 - App::Sqitch::Plan->can('_check_dependencies') 205s ok 741 - Depend "hi" should be in project "dupe_change_diff_tag" 205s ok 742 - Dependency on "hi" should succeed 205s ok 743 - Depend "greets" should be in project "dupe_change_diff_tag" 205s ok 744 - Dependency on "greets" should succeed 205s ok 745 - Depend "whatever" should be in project "dupe_change_diff_tag" 205s ok 746 - Dependency on "whatever" should succeed 205s ok 747 - Depend "@foo" should be in project "dupe_change_diff_tag" 205s ok 748 - Dependency on "@foo" should succeed 205s ok 749 - Depend "whatever@foo" should be in project "dupe_change_diff_tag" 205s ok 750 - Dependency on "whatever@foo" should succeed 205s ok 751 - Depend "ext:larry" should be in project "ext" 205s ok 752 - Dependency on "ext:larry" should succeed 205s ok 753 - Depend "ext:greets" should be in project "ext" 205s ok 754 - Dependency on "ext:greets" should succeed 205s ok 755 - Should get error trying to depend on "wanker" 205s ok 756 - Dependency "req" error ident should be "plan" 205s ok 757 - And should get unknown dependency message for "wanker" 205s ok 758 - Should get error trying to depend on "@blah" 205s ok 759 - Dependency "req" error ident should be "plan" 205s ok 760 - And should get unknown dependency message for "@blah" 205s ok 761 - Should get error trying to depend on "greets@foo" 205s ok 762 - Dependency "req" error ident should be "plan" 205s ok 763 - And should get unknown dependency message for "greets@foo" 205s ok 764 - Should have undef URI when no pragma 205s ok 765 - 'Plan with sqitch with plan file with dependencies' isa 'App::Sqitch::Plan' 205s ok 766 - File should be coopied from Sqitch 205s ok 767 - syntax_version should be set 205s ok 768 - Project should be set 205s ok 769 - Should have URI from pragma 205s ok 770 - 'It' isa 'URI' 205s ok 771 - Should die on plan with no project pragma 205s ok 772 - Missing prorject error ident should be "parse" 205s ok 773 - The missing project error message should be correct 205s ok 774 - Should die on invalid project name "^foo" 205s ok 775 - Ident for bad proj "^foo" should be "parse" 205s ok 776 - Error message for bad project "^foo" should be correct 205s ok 777 - Should die on invalid project name "foo^" 205s ok 778 - Ident for bad proj "foo^" should be "parse" 205s ok 779 - Error message for bad project "foo^" should be correct 205s ok 780 - Should die on invalid project name "foo^6" 205s ok 781 - Ident for bad proj "foo^6" should be "parse" 205s ok 782 - Error message for bad project "foo^6" should be correct 205s ok 783 - Should die on invalid project name "foo^666" 205s ok 784 - Ident for bad proj "foo^666" should be "parse" 205s ok 785 - Error message for bad project "foo^666" should be correct 205s ok 786 - Should die on invalid project name "%hi" 205s ok 787 - Ident for bad proj "%hi" should be "parse" 205s ok 788 - Error message for bad project "%hi" should be correct 205s ok 789 - Should die on invalid project name "hi!" 205s ok 790 - Ident for bad proj "hi!" should be "parse" 205s ok 791 - Error message for bad project "hi!" should be correct 205s ok 792 - Should die on invalid project name "foo@bar" 205s ok 793 - Ident for bad proj "foo@bar" should be "parse" 205s ok 794 - Error message for bad project "foo@bar" should be correct 205s ok 795 - Should die on invalid project name "foo:bar" 205s ok 796 - Ident for bad proj "foo:bar" should be "parse" 205s ok 797 - Error message for bad project "foo:bar" should be correct 205s ok 798 - Should die on invalid project name "foo\bar" 205s ok 799 - Ident for bad proj "foo\bar" should be "parse" 205s ok 800 - Error message for bad project "foo\bar" should be correct 205s ok 801 - Should die on invalid project name "+foo" 205s ok 802 - Ident for bad proj "+foo" should be "parse" 205s ok 803 - Error message for bad project "+foo" should be correct 205s ok 804 - Should die on invalid project name "-foo" 205s ok 805 - Ident for bad proj "-foo" should be "parse" 205s ok 806 - Error message for bad project "-foo" should be correct 205s ok 807 - Should die on invalid project name "@foo" 205s ok 808 - Ident for bad proj "@foo" should be "parse" 205s ok 809 - Error message for bad project "@foo" should be correct 205s 1..809 205s ok 205s t/plan_cmd.t ........ 205s 1..234 205s ok 1 - require App::Sqitch::Command::plan; 205s ok 2 - Load a sqitch sqitch object 205s ok 3 - 'plan command' isa 'App::Sqitch::Command::plan' 205s ok 4 - App::Sqitch::Command::plan->can(...) 205s ok 5 - Options should be correct 205s ok 6 - Should parse options 205s ok 7 - Options should not conflict with core options 205s ok 8 - 'Formatter' isa 'App::Sqitch::ItemFormatter' 205s ok 9 - Should get empty hash for no config or options 205s ok 10 - Should get error for invalid date format in config 205s ok 11 - Invalid date format error ident should be "datetime" 205s ok 12 - Invalid date format error message should be correct 205s ok 13 - Should get error for invalid date format in optsions 205s ok 14 - Invalid date format error ident should be "plan" 205s ok 15 - Invalid date format error message should be correct 205s ok 16 - Should get error for invalid format in config 205s ok 17 - Invalid format error ident should be "plan" 205s ok 18 - Invalid format error message should be correct 205s ok 19 - Should get error for invalid format in optsions 205s ok 20 - Invalid format error ident should be "plan" 205s ok 21 - Invalid format error message should be correct 205s ok 22 - Configuration should respect --no-color, setting "never" 205s ok 23 - --oneline should set format 205s ok 24 - --oneline should set abbrev to 6 205s ok 25 - --oneline should not override --format 205s ok 26 - --oneline should not overrride --abbrev 205s ok 27 - Configuration should respect --no-color even when configure is set 205s ok 28 - Configuration should respect color option 205s ok 29 - Configuration should respect color config 205s ok 30 - Configuration should respect color option 205s ok 31 - Configuration should respect color config 205s ok 32 - Configuration should respect color option 205s ok 33 - Configuration should respect color config 205s ok 34 - Configuration should respect color option 205s ok 35 - Configuration should respect color config 205s ok 36 - Instantiate with format "raw" 205s ok 37 - Format "raw" should output correctly 205s ok 38 - Format "raw" should output correctly without tags 205s ok 39 - Instantiate with format "full" 205s ok 40 - Format "full" should output correctly 205s ok 41 - Instantiate with format "full" and date format "rfc" 205s ok 42 - Format "full" and date format "rfc" should output correctly 205s ok 43 - Instantiate with format "full" and date format "long" 205s ok 44 - Format "full" and date format "long" should output correctly 205s ok 45 - Instantiate with format "full" and date format "medium" 205s ok 46 - Format "full" and date format "medium" should output correctly 205s ok 47 - Format "full" should output correctly without tags 205s ok 48 - Instantiate with format "long" 205s ok 49 - Format "long" should output correctly 205s ok 50 - Format "long" should output correctly without tags 205s ok 51 - Instantiate with format "medium" 205s ok 52 - Format "medium" should output correctly 205s ok 53 - Instantiate with format "medium" and date format "rfc" 205s ok 54 - Format "medium" and date format "rfc" should output correctly 205s ok 55 - Instantiate with format "medium" and date format "long" 205s ok 56 - Format "medium" and date format "long" should output correctly 205s ok 57 - Instantiate with format "medium" and date format "medium" 205s ok 58 - Format "medium" and date format "medium" should output correctly 205s ok 59 - Instantiate with format "short" 205s ok 60 - Format "short" should output correctly 205s ok 61 - Instantiate with format "oneline" 205s ok 62 - Format "oneline" should output correctly 205s ok 63 - Format "oneline" should output correctly without tags 205s ok 64 - Format "%e" should output "deploy" 205s ok 65 - Format "%e" should output "revert" 205s ok 66 - Format "%e" should output "fail" 205s ok 67 - Format "%L" should output "Deploy" 205s ok 68 - Format "%L" should output "Revert" 205s ok 69 - Format "%L" should output "Fail" 205s ok 70 - Format "%l" should output "deploy" 205s ok 71 - Format "%l" should output "revert" 205s ok 72 - Format "%l" should output "fail" 205s ok 73 - Format "%{event}_" should output "Event: " 205s ok 74 - Format "%{change}_" should output "Change: " 205s ok 75 - Format "%{planner}_" should output "Planner: " 205s ok 76 - Format "%{by}_" should output "By: " 205s ok 77 - Format "%{date}_" should output "Date: " 205s ok 78 - Format "%{planned}_" should output "Planned: " 205s ok 79 - Format "%{name}_" should output "Name: " 205s ok 80 - Format "%{email}_" should output "Email: " 205s ok 81 - Format "%{requires}_" should output "Requires: " 205s ok 82 - Format "%{conflicts}_" should output "Conflicts:" 205s ok 83 - Format "%H" should output "123456789" 205s ok 84 - Format "%h" should output "123456789" 205s ok 85 - Format "%{5}h" should output "12345" 205s ok 86 - Format "%{7}h" should output "1234567" 205s ok 87 - Format "%n" should output "foo" 205s ok 88 - Format "%n" should output "bar" 205s ok 89 - Format "%o" should output "foo" 205s ok 90 - Format "%o" should output "bar" 205s ok 91 - Format "%F" should output "deploy/change_file.sql" 205s ok 92 - Format "%F" should output "deploy/change_file_with_tag@tag.sql" 205s ok 93 - Format "%p" should output "larry " 205s ok 94 - Format "%{n}p" should output "damian" 205s ok 95 - Format "%{name}p" should output "chip" 205s ok 96 - Format "%{e}p" should output "larry@example.com" 205s ok 97 - Format "%{email}p" should output "damian@example.com" 205s ok 98 - Format "%{date}p" should output "2025-05-02 00:19:43 +0900" 205s ok 99 - Format "%{date:rfc}p" should output "Fri, 02 May 2025 00:19:43 +0900" 205s ok 100 - Format "%{d:long}p" should output "May 2, 2025, 12:19:43 AM JST" 205s ok 101 - Format "%{d:cldr:HH'h' mm'm'}p" should output "00h 19m" 205s ok 102 - Format "%{d:strftime:%a at %H:%M:%S}p" should output "Fri at 00:19:43" 205s ok 103 - Format "%t" should output "" 205s ok 104 - Format "%t" should output " @foo" 205s ok 105 - Format "%t" should output " @foo, @bar" 205s ok 106 - Format "%{|}t" should output "" 205s ok 107 - Format "%{|}t" should output " @foo" 205s ok 108 - Format "%{|}t" should output " @foo|@bar" 205s ok 109 - Format "%T" should output "" 205s ok 110 - Format "%T" should output " (@foo)" 205s ok 111 - Format "%T" should output " (@foo, @bar)" 205s ok 112 - Format "%{|}T" should output "" 205s ok 113 - Format "%{|}T" should output " (@foo)" 205s ok 114 - Format "%{|}T" should output " (@foo|@bar)" 205s ok 115 - Format "%r" should output "" 205s ok 116 - Format "%r" should output " foo" 205s ok 117 - Format "%r" should output " foo, bar" 205s ok 118 - Format "%{|}r" should output "" 205s ok 119 - Format "%{|}r" should output " foo" 205s ok 120 - Format "%{|}r" should output " foo|bar" 205s ok 121 - Format "%R" should output "" 205s ok 122 - Format "%R" should output "Requires: foo[newline]" 205s ok 123 - Format "%R" should output "Requires: foo, bar[newline]" 205s ok 124 - Format "%{|}R" should output "" 205s ok 125 - Format "%{|}R" should output "Requires: foo[newline]" 205s ok 126 - Format "%{|}R" should output "Requires: foo|bar[newline]" 205s ok 127 - Format "%x" should output "" 205s ok 128 - Format "%x" should output " foo" 205s ok 129 - Format "%x" should output " foo, bax" 205s ok 130 - Format "%{|}x" should output "" 205s ok 131 - Format "%{|}x" should output " foo" 205s ok 132 - Format "%{|}x" should output " foo|bax" 205s ok 133 - Format "%X" should output "" 205s ok 134 - Format "%X" should output "Conflicts: foo[newline]" 205s ok 135 - Format "%X" should output "Conflicts: foo, bar[newline]" 205s ok 136 - Format "%{|}X" should output "" 205s ok 137 - Format "%{|}X" should output "Conflicts: foo[newline]" 205s ok 138 - Format "%{|}X" should output "Conflicts: foo|bar[newline]" 205s ok 139 - Format "%{yellow}C" should output "" 205s ok 140 - Format "%{:event}C" should output "" 205s ok 141 - Format "%v" should output "[newline]" 205s ok 142 - Format "%%" should output "%" 205s ok 143 - Format "%s" should output "hi there" 205s ok 144 - Format "%s" should output "hi there" 205s ok 145 - Format "%s" should output "subject line" 205s ok 146 - Format "%{ }s" should output " hi there" 205s ok 147 - Format "%{xx}s" should output "xxhi there" 205s ok 148 - Format "%b" should output "" 205s ok 149 - Format "%b" should output "yo" 205s ok 150 - Format "%b" should output "first graph[newline][newline]second graph[newline][newline]" 205s ok 151 - Format "%{ }b" should output "" 205s ok 152 - Format "%{xxx }b" should output "xxx yo" 205s ok 153 - Format "%{x}b" should output "xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" 205s ok 154 - Format "%{ }b" should output " yo" 205s ok 155 - Format "%B" should output "hi there" 205s ok 156 - Format "%B" should output "hi there[newline]yo" 205s ok 157 - Format "%B" should output "subject line[newline][newline]first graph[newline][newline]second graph[newline][newline]" 205s ok 158 - Format "%{ }B" should output " hi there" 205s ok 159 - Format "%{xxx }B" should output "xxx hi there[newline]xxx yo" 205s ok 160 - Format "%{x}B" should output "xsubject line[newline]x[newline]xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" 205s ok 161 - Format "%{ }B" should output " hi there [newline] yo" 205s ok 162 - Format "%{change}a" should output "change lolz[newline]" 205s ok 163 - Format "%{change_id}a" should output "change_id 000011112222333444[newline]" 205s ok 164 - Format "%{event}a" should output "event deploy[newline]" 205s ok 165 - Format "%{tags}a" should output "tags @beta, @gamma[newline]" 205s ok 166 - Format "%{requires}a" should output "requires foo, bar[newline]" 205s ok 167 - Format "%{conflicts}a" should output "" 205s ok 168 - Should get exception for format "%_" 205s ok 169 - %_ error ident should be "format" 205s ok 170 - %_ error message should be correct 205s ok 171 - Should get exception for unknown label in format "%_" 205s ok 172 - Invalid %_ label error ident should be "format" 205s ok 173 - Invalid %_ label error message should be correct 205s ok 174 - Instantiate with abbrev => 4 205s ok 175 - %h should respect abbrev 205s ok 176 - %H should not respect abbrev 205s ok 177 - Instantiate with date_format => "rfc" 205s ok 178 - %{date}p should respect the date_format attribute 205s ok 179 - %{iso}p should override the date_format attribute 205s ok 180 - Should get exception for unknown attribute passed to %a 205s ok 181 - %a error ident should be "format" 205s ok 182 - %a error message should be correct 205s ok 183 - Format "%{yellow}C" should output yellow 205s ok 184 - Format "%{red}C" should output red 205s ok 185 - Format "%{blue}C" should output blue 205s ok 186 - Format "%{cyan}C" should output cyan 205s ok 187 - Format "%{magenta}C" should output magenta 205s ok 188 - Format "%{:event}C" on "deploy" should output green 205s ok 189 - Format "%{:event}C" on "revert" should output blue 205s ok 190 - Format "%{:event}C" on "fail" should output red 205s ok 191 - Instantiate with format "full" again 205s ok 192 - Format "full" should output correctly with color 205s ok 193 - Instantiate with format "long" again 205s ok 194 - Format "long" should output correctly with color 205s ok 195 - Instantiate with format "medium" again 205s ok 196 - Format "medium" should output correctly with color 205s ok 197 - Instantiate with format "short" again 205s ok 198 - Format "short" should output correctly with color 205s ok 199 - Instantiate with format "oneline" again 205s ok 200 - Format "oneline" should output correctly with color 205s ok 201 - Should get an error for an invalid color 205s ok 202 - Invalid color error ident should be "format" 205s ok 203 - Invalid color error message should be correct 205s ok 204 - Should get error for no changes 205s ok 205 - no changes error ident should be "plan" 205s ok 206 - no changes exit val should be 1 205s ok 207 - no changes error message should be correct 205s ok 208 - Execute plan 205s ok 209 - The proper args should have been passed to search_events 205s ok 210 - The event should have been paged 205s ok 211 - 'plan with attributes' isa 'App::Sqitch::Command::plan' 205s ok 212 - Execute plan with attributes 205s ok 213 - All params should have been passed to search_events 205s ok 214 - Both events should have been paged without headers 205s ok 215 - Create command with raw format 205s ok 216 - Execute plan with all changes 205s ok 217 - Should have paged all changes 205s ok 218 - 'plan with bad format' isa 'App::Sqitch::Command::plan' 205s ok 219 - Should get an exception for a bad format code 205s ok 220 - bad format code format error ident should be "format" 205s ok 221 - bad format code format error message should be correct 205s ok 222 - Create plan command with unknown target option 205s ok 223 - Should get error for unknown target 205s ok 224 - Unknown target error ident should be "plan" 205s ok 225 - Unknown target changes exit val should be 2 205s ok 226 - Unknown target error message should be correct 205s ok 227 - Should have passed target for parsing 205s ok 228 - Create plan command with target option 205s ok 229 - Execute with engine arg 205s ok 230 - Should have passed engine for parsing 205s ok 231 - Create plan command with target option 205s ok 232 - Execute with multiple targets 205s ok 233 - Should have got warning for two targets 205s ok 234 - no warnings 205s ok 206s t/pragma.t .......... 206s 1..10 206s ok 1 - require App::Sqitch::Plan::Pragma; 206s ok 2 - App::Sqitch::Plan::Pragma->can(...) 206s ok 3 - An object of class 'App::Sqitch::Plan::Pragma' isa 'App::Sqitch::Plan::Pragma' 206s ok 4 - An object of class 'App::Sqitch::Plan::Pragma' isa 'App::Sqitch::Plan::Line' 206s ok 5 - Name should format as "%foo" 206s ok 6 - Value should format as "" 206s ok 7 - should stringify to "%foo" 206s ok 8 - Create pragma with more stuff 206s ok 9 - It should stringify correctly 206s ok 10 - no warnings 206s ok 206s t/rebase.t .......... 206s ok 1 - require App::Sqitch::Command::rebase; 206s ok 2 - The class (or class-like) 'App::Sqitch::Command::rebase' isa 'App::Sqitch::Command' 206s ok 3 - App::Sqitch::Command::rebase->can(...) 206s ok 4 - App::Sqitch::Command::rebase does RevertDeployCommand 206s ok 5 - App::Sqitch::Command::rebase does ConnectingCommand 206s ok 6 - App::Sqitch::Command::rebase does ContextCommand 206s ok 7 - Options should be correct 206s ok 8 - Should parse options 206s ok 9 - Options should not conflict with core options 206s ok 10 - Load a sqitch sqitch object 206s ok 11 - Should have empty default configuration with no config or opts 206s ok 12 - Should have set option 206s ok 13 - Should have mode, deploy_variables, verify, no_prompt, log_only, & lock_timeout 206s ok 14 - Should have set_revert option and no_prompt false 206s ok 15 - set_deploy and set_revert should overrid set 206s ok 16 - set_deploy and set_revert should merge with set 206s ok 17 - set_revert should merge with set_deploy 206s ok 18 - Should have deploy configuration 206s ok 19 - Should have merged variables 206s ok 20 - Should have no warnings 206s ok 21 - Should have no_prompt true 206s ok 22 - Should have false no_prompt, verify, and true prompt_accept from rebase config 206s ok 23 - Should have true no_prompt, verify, and false prompt_accept from rebase from deploy 206s ok 24 - Should have no_prompt, prompt_accept false and mode all again 206s ok 25 - Should have no_prompt false and prompt_accept true for revert config 206s ok 26 - Should have no_prompt true with -y 206s ok 27 - revert.strict should die 206s ok 28 - Strict err ident should be "rebase" 206s ok 29 - Should have corect strict error message 206s ok 30 - rebase.strict should die 206s ok 31 - Strict err ident should be "rebase" 206s ok 32 - Should have corect strict error message 206s ok 33 - App::Sqitch::X 206s ok 34 - 'new status with target' isa 'App::Sqitch::Command::rebase' 206s ok 35 - Should have target "foo" 206s ok 36 - An object of class 'App::Sqitch::Command::rebase' isa 'App::Sqitch::Command::rebase' 206s ok 37 - Should have undef target 206s ok 38 - onto_change should be undef 206s ok 39 - upto_change should be undef 206s ok 40 - modified should be false 206s ok 41 - Should collect no variables for deploy 206s ok 42 - Should collect no variables for revert 206s ok 43 - Should collect core deploy vars for deploy 206s ok 44 - Should collect core revert vars for revert 206s ok 45 - Should override core vars with deploy vars for deploy 206s ok 46 - Should override core vars with deploy vars for revert 206s ok 47 - Deploy vars should be unaffected by revert vars 206s ok 48 - Should override deploy vars with revert vars for revert 206s ok 49 - Should override deploy vars with engine vars for deploy 206s ok 50 - Should override rebase vars with engine vars for revert 206s ok 51 - Should override engine vars with deploy vars for deploy 206s ok 52 - Should override engine vars with target vars for revert 206s ok 53 - Should override target vars with --set vars for deploy 206s ok 54 - Should override target vars with --set variables for revert 206s ok 55 - Should override --set vars with --set-deploy variables for deploy 206s ok 56 - Should not override --set vars with --set-deploy variables for revert 206s ok 57 - Should not override --set vars with --set-revert variables for deploy 206s ok 58 - Should override --set vars with --set-revert variables for revert 206s ok 59 - Execute to "@alpha" 206s ok 60 - undef, and "all" should be passed to the engine deploy 206s ok 61 - No vars should have been passed through to the engine 206s ok 62 - "@alpha" should be passed to the engine revert 206s ok 63 - Engine should no be log only 206s ok 64 - The lock timeout should be set to the default 206s ok 65 - Should have no warnings 206s ok 66 - Execute with target 206s ok 67 - undef, and "all" should be passed to the engine deploy 206s ok 68 - undef should be passed to the engine revert 206s ok 69 - No vars should have been passed through to the engine 206s ok 70 - Engine should no be log only 206s ok 71 - The lock timeout should be set to the default 206s ok 72 - The target name should be as passed 206s ok 73 - Should have no warnings 206s ok 74 - Execute with onto and target 206s ok 75 - undef, and "all" should be passed to the engine deploy 206s ok 76 - "widgets" should be passed to the engine revert 206s ok 77 - No vars should have been passed through to the engine 206s ok 78 - Engine should no be log only 206s ok 79 - The lock timeout should be set to the default 206s ok 80 - The target name should be as passed 206s ok 81 - Should have no warnings 206s ok 82 - Execute with three args 206s ok 83 - "widgets", and "all" should be passed to the engine deploy 206s ok 84 - "roles" should be passed to the engine revert 206s ok 85 - No vars should have been passed through to the engine 206s ok 86 - Engine should no be log only 206s ok 87 - The lock timeout should be set to the default 206s ok 88 - The target name should be as passed 206s ok 89 - Should have no warnings 206s ok 90 - Execute 206s ok 91 - undef and "all" should be passed to the engine deploy 206s ok 92 - undef and = should be passed to the engine revert 206s ok 93 - No vars should have been passed through to the engine 206s ok 94 - Should have no warnings 206s ok 95 - 'Object with to and variables' isa 'App::Sqitch::Command::rebase' 206s ok 96 - Execute again 206s ok 97 - Target name should be from option 206s ok 98 - Engine should be log_only 206s ok 99 - The lock timeout should be set to 30 206s ok 100 - Engine should verify 206s ok 101 - the common ancestor id should be passed to the engine revert 206s ok 102 - 'Object with to and variables' isa 'App::Sqitch::Command::rebase' 206s ok 103 - Execute again 206s ok 104 - Target name should be from option 206s ok 105 - Engine should be log_only 206s ok 106 - The lock timeout should be set to 30 206s ok 107 - Engine should verify 206s ok 108 - "bar", "tag", and 1 should be passed to the engine deploy 206s ok 109 - "foo" should be passed to the engine revert 206s ok 110 - Variables should have been passed to the engine twice 206s ok 111 - The revert vars should have been passed first 206s ok 112 - The deploy vars should have been next 206s ok 113 - Should have no warnings 206s ok 114 - Execute with three args 206s ok 115 - Target name should be from option 206s ok 116 - Engine should be log_only 206s ok 117 - The lock timeout should be set to 30 206s ok 118 - Engine should verify 206s ok 119 - "bar", "tag", and 1 should be passed to the engine deploy 206s ok 120 - "foo" should be passed to the engine revert 206s ok 121 - Variables should have been passed to the engine twice 206s ok 122 - The revert vars should have been passed first 206s ok 123 - The deploy vars should have been next 206s ok 124 - Should have two warnings 206s ok 125 - Should get an exception for unknown arg 206s ok 126 - Unknown arg ident should be "rebase" 206s ok 127 - Should get an exception for two unknown arg 206s ok 128 - Should get an exception for unknown args 206s ok 129 - Unknown args ident should be "rebase" 206s ok 130 - Should get an exception for two unknown args 206s ok 131 - Execute once more 206s ok 132 - "bar", "tag", and 1 should be passed to the engine deploy 206s ok 133 - Variables should have been passed to the engine twice 206s ok 134 - The revert vars should have been passed first 206s ok 135 - The deploy vars should have been next 206s ok 136 - Should have emitted info for non-fatal revert exception 206s ok 137 - Should rethrow confirm exception 206s ok 138 - Should rethrow fatal exception 206s ok 139 - Should rethrow unknown exception 206s 1..139 206s ok 207s t/revert.t .......... 207s ok 1 - require App::Sqitch::Command::revert; 207s ok 2 - The class (or class-like) 'App::Sqitch::Command::revert' isa 'App::Sqitch::Command' 207s ok 3 - App::Sqitch::Command::revert->can(...) 207s ok 4 - App::Sqitch::Command::revert does ContextCommand 207s ok 5 - App::Sqitch::Command::revert does ConnectingCommand 207s ok 6 - Options should be correct 207s ok 7 - Should parse options 207s ok 8 - Options should not conflict with core options 207s ok 9 - Should have empty default configuration with no config or opts 207s ok 10 - Should have set option 207s ok 11 - Should have no_prompt false, prompt_accept true 207s ok 12 - Should have no_prompt true, prompt_accept false 207s ok 13 - Should have no_prompt false again 207s ok 14 - Should have no_prompt false for false config 207s ok 15 - Should have no_prompt true with -y 207s ok 16 - 'new revert with target' isa 'App::Sqitch::Command::revert' 207s ok 17 - Should have target "foo" 207s ok 18 - to_change should be undef 207s ok 19 - modified should be false 207s ok 20 - An object of class 'App::Sqitch::Command::revert' isa 'App::Sqitch::Command::revert' 207s ok 21 - Should have undef default target 207s ok 22 - to_change should be undef 207s ok 23 - modified should be false 207s ok 24 - Should collect no variables 207s ok 25 - Should collect core vars 207s ok 26 - Should override core vars with deploy vars 207s ok 27 - Should override deploy vars with revert vars 207s ok 28 - Should override revert vars with engine vars 207s ok 29 - Should override engine vars with target vars 207s ok 30 - Should override target vars with --set variables 207s ok 31 - Execute to "@alpha" 207s ok 32 - Engine should not be log_only 207s ok 33 - The engine should have the default lock_timeout 207s ok 34 - "@alpha" should be passed to the engine 207s ok 35 - Should have no warnings 207s ok 36 - Execute 207s ok 37 - undef should be passed to the engine 207s ok 38 - No vars should have been passed through to the engine 207s ok 39 - Should still have no warnings 207s ok 40 - Execute to target 207s ok 41 - Engine should not be log_only 207s ok 42 - undef" should be passed to the engine 207s ok 43 - Target name should be as passed 207s ok 44 - Should have no warnings 207s ok 45 - Execute with change and target 207s ok 46 - Engine should not be log_only 207s ok 47 - "widgets" should be passed to the engine 207s ok 48 - Target name should be as passed 207s ok 49 - Should have no warnings 207s ok 50 - Execute with target and change 207s ok 51 - Engine should not be log_only 207s ok 52 - "widgets" should be passed to the engine 207s ok 53 - Target name should be as passed 207s ok 54 - Should have no warnings 207s ok 55 - 'Object with to and variables' isa 'App::Sqitch::Command::revert' 207s ok 56 - Execute again 207s ok 57 - Engine should be log_only 207s ok 58 - The lock timeout should be set to 30 207s ok 59 - "foo" and 1 should be passed to the engine 207s ok 60 - Vars should have been passed through to the engine 207s ok 61 - Target name should be from option 207s ok 62 - Should have no warnings 207s ok 63 - Execute with options and args 207s ok 64 - Engine should be log_only 207s ok 65 - The lock timeout should be set to 30 207s ok 66 - "foo" and 1 should be passed to the engine 207s ok 67 - Vars should have been passed through to the engine 207s ok 68 - Target name should be from option 207s ok 69 - Should have two warnings 207s ok 70 - Should get an exception for unknown arg 207s ok 71 - Unknown arg ident should be "revert" 207s ok 72 - Should get an exeption for two unknown arg 207s ok 73 - Should get an exception for unknown args 207s ok 74 - Unknown args ident should be "revert" 207s ok 75 - Should get an exeption for two unknown args 207s ok 76 - 'Object with to and variables' isa 'App::Sqitch::Command::revert' 207s ok 77 - modified should be true 207s ok 78 - Execute again 207s ok 79 - Target name should be from option 207s ok 80 - the common ancestor id should be passed to the engine revert 207s ok 81 - 'new revert with target' isa 'App::Sqitch::Command::revert' 207s ok 82 - In strict mode, cannot revert without a specified change 207s ok 83 - No change in strict mode ident should be "revert:strict" 207s ok 84 - Should have expected message for no changes in strict mode error 207s ok 85 - In strict mode, too many targets is fatal 207s ok 86 - Too many targets ident should be "revert:strict" 207s ok 87 - Should have expected message for too many targets error 207s 1..87 207s ok 208s t/rework.t .......... 208s 1..256 208s ok 1 - Load a sqitch object 208s ok 2 - 'rework command' isa 'App::Sqitch::Command::rework' 208s ok 3 - App::Sqitch::Command::rework->can(...) 208s ok 4 - App::Sqitch::Command::rework does ContextCommand 208s ok 5 - Options should be set up 208s ok 6 - Should parse options 208s ok 7 - Options should not conflict with core options 208s ok 8 - Should have default configuration with no config or opts 208s ok 9 - Should have get requires, conflicts, and note options 208s ok 10 - Grabs nothing from config 208s ok 11 - Load Sqitch project 208s ok 12 - 'rework command' isa 'App::Sqitch::Command::rework' 208s ok 13 - Coerces rework.open_editor from config string boolean 208s ok 14 - Requires should be an arrayref 208s ok 15 - Conflicts should be an arrayref 208s ok 16 - Note should be an arrayref 208s ok 17 - Should get an example for nonexistent change 208s ok 18 - Nonexistent change error ident should be "plan" 208s ok 19 - Fail message should say the step does not exist 208s ok 20 - Create another add with template_directory 208s ok 21 - test-rework/deploy/foo.sql does not exist 208s ok 22 - test-rework/revert/foo.sql does not exist 208s ok 23 - test-rework/verify/foo.sql does not exist 208s ok 24 - Execute with the --change option 208s ok 25 - test-rework/deploy/foo.sql exists 208s ok 26 - test-rework/revert/foo.sql exists 208s ok 27 - test-rework/verify/foo.sql exists 208s ok 28 - Get the "foo" change 208s ok 29 - Should get an example for duplicate change 208s ok 30 - Duplicate change error ident should be "plan" 208s ok 31 - Fail message should say a tag is needed 208s ok 32 - Tag it 208s ok 33 - test-rework/deploy/foo@alpha.sql does not exist 208s ok 34 - test-rework/revert/foo@alpha.sql does not exist 208s ok 35 - test-rework/verify/foo@alpha.sql does not exist 208s ok 36 - Rework "foo" 208s ok 37 - test-rework/deploy/foo.sql exists 208s ok 38 - test-rework/revert/foo.sql exists 208s ok 39 - test-rework/verify/foo.sql exists 208s ok 40 - test-rework/deploy/foo@alpha.sql exists 208s ok 41 - test-rework/revert/foo@alpha.sql exists 208s ok 42 - test-rework/verify/foo@alpha.sql exists 208s ok 43 - test-rework/deploy/foo@alpha.sql and test-rework/deploy/foo.sql contents are the same 208s ok 44 - test-rework/verify/foo@alpha.sql and test-rework/verify/foo.sql contents are the same 208s ok 45 - test-rework/revert/foo.sql and test-rework/deploy/foo.sql contents are the same 208s ok 46 - New revert should revert 208s ok 47 - It should have prompted for a note 208s ok 48 - Reload the plan file 208s ok 49 - Get the steps 208s ok 50 - Should have two steps 208s ok 51 - First step should be "foo" 208s ok 52 - Second step should also be "foo" 208s ok 53 - Reworked step should require the previous step 208s ok 54 - And the info message should suggest editing the old files 208s ok 55 - Debug should show file copying 208s ok 56 - Create another add with template_directory 208s ok 57 - test-rework/deploy/bar.sql does not exist 208s ok 58 - test-rework/revert/bar.sql does not exist 208s ok 59 - test-rework/verify/bar.sql does not exist 208s ok 60 - test-rework/deploy/bar.sql exists 208s ok 61 - test-rework/revert/bar.sql does not exist 208s ok 62 - test-rework/verify/bar.sql does not exist 208s ok 63 - Tag it with @beta 208s ok 64 - 'rework command with requirements and conflicts' isa 'App::Sqitch::Command::rework' 208s ok 65 - test-rework/deploy/bar@beta.sql does not exist 208s ok 66 - test-rework/revert/bar@beta.sql does not exist 208s ok 67 - test-rework/verify/bar@beta.sql does not exist 208s ok 68 - Rework "bar" 208s ok 69 - test-rework/deploy/bar.sql exists 208s ok 70 - test-rework/revert/bar.sql does not exist 208s ok 71 - test-rework/verify/bar.sql does not exist 208s ok 72 - test-rework/deploy/bar@beta.sql exists 208s ok 73 - test-rework/revert/bar@beta.sql does not exist 208s ok 74 - test-rework/verify/bar@beta.sql does not exist 208s ok 75 - It should have prompted for a note 208s ok 76 - Reload the plan file again 208s ok 77 - Get the steps 208s ok 78 - Should have four steps 208s ok 79 - First step should be "foo" 208s ok 80 - Second step should also be "foo" 208s ok 81 - First step should be "bar" 208s ok 82 - Second step should also be "bar" 208s ok 83 - Requires should have been passed to reworked change 208s ok 84 - Conflicts should have been passed to reworked change 208s ok 85 - Note should have been passed as comment 208s ok 86 - And the info message should show only the one file to modify 208s ok 87 - Should have debug oputput for missing files 208s ok 88 - Create another add with open_editor 208s ok 89 - Tag it 208s ok 90 - test-rework/deploy/bar@gamma.sql does not exist 208s ok 91 - test-rework/revert/bar@gamma.sql does not exist 208s ok 92 - test-rework/verify/bar@gamma.sql does not exist 208s ok 93 - Rework "bar" 208s ok 94 - test-rework/deploy/bar.sql exists 208s ok 95 - test-rework/deploy/bar@gamma.sql exists 208s ok 96 - test-rework/revert/bar@gamma.sql does not exist 208s ok 97 - test-rework/verify/bar@gamma.sql does not exist 208s ok 98 - It should have prompted to edit sql files 208s ok 99 - And the info message should suggest editing the old files 208s ok 100 - deploy/gadgets.sql exists 208s ok 101 - revert/gadgets.sql exists 208s ok 102 - verify/gadgets.sql exists 208s ok 103 - _reworked does not exist 208s ok 104 - _reworked/deploy/gadgets@foo.sql does not exist 208s ok 105 - _reworked/revert/gadgets@foo.sql does not exist 208s ok 106 - _reworked/verify/gadgets@foo.sql does not exist 208s ok 107 - Create another rework with custom reworked_dir config 208s ok 108 - Rework change "gadgets" 208s ok 109 - Get gadgets@HEAD from the plan 208s ok 110 - Get gadgets@foo from the plan 208s ok 111 - The two gadgets should be different changes 208s ok 112 - _reworked exists 208s ok 113 - deploy/gadgets.sql exists 208s ok 114 - revert/gadgets.sql exists 208s ok 115 - verify/gadgets.sql exists 208s ok 116 - _reworked/deploy/gadgets@foo.sql exists 208s ok 117 - _reworked/revert/gadgets@foo.sql exists 208s ok 118 - _reworked/verify/gadgets@foo.sql exists 208s ok 119 - Should have listed scripts in the note prompt 208s ok 120 - And the info message should suggest editing the old files 208s ok 121 - Debug should show directory creation and file copying 208s ok 122 - Create another rework with custom multiplan config 208s ok 123 - Should have three targets 208s ok 124 - Rework change "widgets" in all plans 208s ok 125 - Get widgets@HEAD from the pg plan 208s ok 126 - Get widgets@foo from the pg plan 208s ok 127 - The two pg widgets should be different changes 208s ok 128 - Get widgets@HEAD from the sqlite plan 208s ok 129 - Get widgets@foo from the sqlite plan 208s ok 130 - The two sqlite widgets should be different changes 208s ok 131 - Get widgets@HEAD from the mysql plan 208s ok 132 - Get widgets@foo from the mysql plan 208s ok 133 - The two mysql widgets should be different changes 208s ok 134 - pg/deploy/widgets.sql exists 208s ok 135 - pg/revert/widgets.sql exists 208s ok 136 - pg/verify/widgets.sql exists 208s ok 137 - pg/deploy/widgets@foo.sql exists 208s ok 138 - pg/revert/widgets@foo.sql exists 208s ok 139 - pg/verify/widgets@foo.sql exists 208s ok 140 - pg/deploy/widgets.sql and pg/deploy/widgets@foo.sql contents are the same 208s ok 141 - pg/verify/widgets.sql and pg/verify/widgets@foo.sql contents are the same 208s ok 142 - pg/revert/widgets.sql and pg/deploy/widgets@foo.sql contents are the same 208s ok 143 - sqlite/deploy/widgets.sql exists 208s ok 144 - sqlite/revert/widgets.sql exists 208s ok 145 - sqlite/verify/widgets.sql exists 208s ok 146 - sqlite/deploy/widgets@foo.sql exists 208s ok 147 - sqlite/revert/widgets@foo.sql exists 208s ok 148 - sqlite/verify/widgets@foo.sql exists 208s ok 149 - sqlite/deploy/widgets.sql and sqlite/deploy/widgets@foo.sql contents are the same 208s ok 150 - sqlite/verify/widgets.sql and sqlite/verify/widgets@foo.sql contents are the same 208s ok 151 - sqlite/revert/widgets.sql and sqlite/deploy/widgets@foo.sql contents are the same 208s ok 152 - mysql/deploy/widgets.sql exists 208s ok 153 - mysql/revert/widgets.sql exists 208s ok 154 - mysql/verify/widgets.sql exists 208s ok 155 - mysql/deploy/widgets@foo.sql exists 208s ok 156 - mysql/revert/widgets@foo.sql exists 208s ok 157 - mysql/verify/widgets@foo.sql exists 208s ok 158 - mysql/deploy/widgets.sql and mysql/deploy/widgets@foo.sql contents are the same 208s ok 159 - mysql/verify/widgets.sql and mysql/verify/widgets@foo.sql contents are the same 208s ok 160 - mysql/revert/widgets.sql and mysql/deploy/widgets@foo.sql contents are the same 208s ok 161 - Should have listed the files in the note prompt 208s ok 162 - And the info message should show the two files to modify 208s ok 163 - Should have debug oputput for all copied files 208s ok 164 - Should get an error for --all and a target arg 208s ok 165 - Mixed arguments error ident should be "rework" 208s ok 166 - Mixed arguments error message should be correct 208s ok 167 - Create yet another rework with custom multiplan config 208s ok 168 - Rework change "gadgets" in the sqlite plan 208s ok 169 - Should still have three targets 208s ok 170 - Get gadgets@HEAD from the pg plan 208s ok 171 - Get gadgets@foo from the pg plan 208s ok 172 - The two pg gadgets should be the same change 208s ok 173 - Get gadgets@HEAD from the mysql plan 208s ok 174 - Get gadgets@foo from the mysql plan 208s ok 175 - The two mysql gadgets should be the same change 208s ok 176 - Get gadgets@HEAD from the sqlite plan 208s ok 177 - Get gadgets@foo from the sqlite plan 208s ok 178 - The two sqlite gadgets should be different changes 208s ok 179 - mysql/deploy/gadgets.sql exists 208s ok 180 - mysql/revert/gadgets.sql exists 208s ok 181 - mysql/verify/gadgets.sql exists 208s ok 182 - sqlite/deploy/gadgets.sql exists 208s ok 183 - sqlite/revert/gadgets.sql exists 208s ok 184 - sqlite/verify/gadgets.sql exists 208s ok 185 - sqlite/deploy/gadgets@foo.sql exists 208s ok 186 - sqlite/revert/gadgets@foo.sql exists 208s ok 187 - sqlite/verify/gadgets@foo.sql exists 208s ok 188 - sqlite/deploy/gadgets.sql and sqlite/deploy/gadgets@foo.sql contents are the same 208s ok 189 - sqlite/verify/gadgets.sql and sqlite/verify/gadgets@foo.sql contents are the same 208s ok 190 - sqlite/revert/gadgets.sql and sqlite/deploy/gadgets@foo.sql contents are the same 208s ok 191 - pg/deploy/gadgets.sql exists 208s ok 192 - pg/revert/gadgets.sql exists 208s ok 193 - pg/verify/gadgets.sql exists 208s ok 194 - Should have listed SQLite scripts in the note prompt 208s ok 195 - Create another rework with custom multiplan config 208s ok 196 - Should have two targets 208s ok 197 - Targets should use the same plan file 208s ok 198 - Rework change "widgets" in all plans 208s ok 199 - Get widgets@HEAD from the plan 208s ok 200 - Get widgets@foo from the plan 208s ok 201 - The two widgets should be different changes 208s ok 202 - sqlite/deploy/widgets.sql exists 208s ok 203 - sqlite/revert/widgets.sql exists 208s ok 204 - sqlite/verify/widgets.sql exists 208s ok 205 - sqlite/deploy/widgets@foo.sql exists 208s ok 206 - sqlite/revert/widgets@foo.sql exists 208s ok 207 - sqlite/verify/widgets@foo.sql exists 208s ok 208 - sqlite/deploy/widgets.sql and sqlite/deploy/widgets@foo.sql contents are the same 208s ok 209 - sqlite/verify/widgets.sql and sqlite/verify/widgets@foo.sql contents are the same 208s ok 210 - sqlite/revert/widgets.sql and sqlite/deploy/widgets@foo.sql contents are the same 208s ok 211 - pg/deploy/widgets.sql exists 208s ok 212 - pg/revert/widgets.sql exists 208s ok 213 - pg/verify/widgets.sql exists 208s ok 214 - pg/deploy/widgets@foo.sql exists 208s ok 215 - pg/revert/widgets@foo.sql exists 208s ok 216 - pg/verify/widgets@foo.sql exists 208s ok 217 - pg/deploy/widgets.sql and pg/deploy/widgets@foo.sql contents are the same 208s ok 218 - pg/verify/widgets.sql and pg/verify/widgets@foo.sql contents are the same 208s ok 219 - pg/revert/widgets.sql and pg/deploy/widgets@foo.sql contents are the same 208s ok 220 - Should have listed all the files to edit in the note prompt 208s ok 221 - And the info message should show the two files to modify 208s ok 222 - Should have debug oputput for all copied files 208s ok 223 - Create another rework with custom multiplan config 208s ok 224 - Should have two targets 208s ok 225 - Rework change "widgets" in all plans 208s ok 226 - Get widgets@HEAD from the pg plan 208s ok 227 - Get widgets@foo from the pg plan 208s ok 228 - The two pg widgets should be different changes 208s ok 229 - Get widgets@HEAD from the sqlite plan 208s ok 230 - Get widgets@bar from the sqlite plan 208s ok 231 - The two sqlite widgets should be different changes 208s ok 232 - Should have listed all the files to edit in the note prompt 208s ok 233 - And the info message should show the two files to modify 208s ok 234 - Should have debug oputput for all copied files 208s ok 235 - Create another rework with custom multiplan config 208s ok 236 - Should have two targets 208s ok 237 - Rework change "widgets" in all plans 208s ok 238 - Get widgets@HEAD from the pg plan 208s ok 239 - Get widgets@foo from the pg plan 208s ok 240 - The two pg widgets should be different changes 208s ok 241 - Get widgets@HEAD from the sqlite plan 208s ok 242 - Get widgets@foo from the sqlite plan 208s ok 243 - The two sqlite widgets should be different changes 208s ok 244 - deploy/widgets.sql exists 208s ok 245 - revert/widgets.sql exists 208s ok 246 - verify/widgets.sql exists 208s ok 247 - deploy/widgets@foo.sql exists 208s ok 248 - revert/widgets@foo.sql exists 208s ok 249 - verify/widgets@foo.sql exists 208s ok 250 - deploy/widgets.sql and deploy/widgets@foo.sql contents are the same 208s ok 251 - verify/widgets.sql and verify/widgets@foo.sql contents are the same 208s ok 252 - revert/widgets.sql and deploy/widgets@foo.sql contents are the same 208s ok 253 - Should have listed the files to edit in the note prompt 208s ok 254 - And the info message should show the two files to modify 208s ok 255 - Should have debug oputput for all copied files 208s ok 256 - no warnings 208s ok 208s t/show.t ............ 208s ok 1 - require App::Sqitch::Command::show; 208s ok 2 - The class (or class-like) 'App::Sqitch::Command::show' isa 'App::Sqitch::Command' 208s ok 3 - App::Sqitch::Command::show->can(...) 208s ok 4 - App::Sqitch::Command::show does ContextCommand 208s ok 5 - Options should be correct 208s ok 6 - Should parse options 208s ok 7 - Options should not conflict with core options 208s ok 8 - An object of class 'App::Sqitch::Command::show' isa 'App::Sqitch::Command::show' 208s ok 9 - exists_only should be false by default 208s ok 10 - Construct with exists_only 208s ok 11 - exists_only should be set 208s ok 12 - Should get empty hash for no config or options 208s ok 13 - Should get exists_only => 1 for exist in options 208s ok 14 - Get a change 208s ok 15 - Find change by id 208s ok 16 - The change info should have been emitted 208s ok 17 - Find change by name 208s ok 18 - The change info should have been emitted again 208s ok 19 - Should get an error for an unknown change 208s ok 20 - Unknown change error ident should be "show" 208s ok 21 - Should get proper error for unknown change 208s ok 22 - Should return false for uknown change and exists_only 208s ok 23 - Nothing should have been emitted 208s ok 24 - Find change by tag id 208s ok 25 - The change info should have been emitted 208s ok 26 - Find change by tag 208s ok 27 - The change info should have been emitted 208s ok 28 - Run exists with ID 208s ok 29 - There should be no output 208s ok 30 - Find tag by id 208s ok 31 - The tag info should have been emitted 208s ok 32 - Find tag by id with exists_only 208s ok 33 - Nothing should have been emitted 208s ok 34 - Find tag by name 208s ok 35 - The tag info should have been emitted 208s ok 36 - Find tag by formatted name 208s ok 37 - The tag info should have been emitted 208s ok 38 - Should get error for non-existent tag 208s ok 39 - Unknown tag error ident should be "show" 208s ok 40 - Should get proper error for unknown tag 208s ok 41 - Should return false for non-existent tag and exists_only 208s ok 42 - Nothing should have been emitted 208s ok 43 - Should get error for non-existent tag ID 208s ok 44 - Unknown tag ID error ident should be "show" 208s ok 45 - Should get proper error for unknown tag ID 208s ok 46 - Show a deploy file 208s ok 47 - The deploy file should have been emitted 208s ok 48 - Show a deploy file with exists_only 208s ok 49 - Nothing should have been emitted 208s ok 50 - Show a revert file 208s ok 51 - The revert file should have been emitted 208s ok 52 - Should get error for nonexistent varify file 208s ok 53 - Nonexistent file error ident should be "show" 208s ok 54 - Should get proper error for nonexistent file 208s ok 55 - Should return false for nonexistent file 208s ok 56 - Nothing should have been emitted 208s ok 57 - Should get error for uknown type 208s ok 58 - Unknown type error ident should be "show" 208s ok 59 - Should get proper error for unknown type 208s ok 60 - Get a change 208s ok 61 - An object of class 'App::Sqitch::Command::show' isa 'App::Sqitch::Command::show' 208s ok 62 - Target should be set 208s ok 63 - Find change by id 208s ok 64 - The change info should have been emitted 208s ok 65 - Should get usage for missing params 208s ok 66 - Nothing should have been passed to usage 208s 1..66 208s ok 209s t/snowflake.t ....... 209s ok 1 - require App::Sqitch::Engine::snowflake; 209s ok 2 - config_vars should return three vars 209s ok 3 - An object of class 'App::Sqitch::Engine::snowflake' isa 'App::Sqitch::Engine::snowflake' 209s ok 4 - Username should be sysuser 209s ok 5 - Password should be undef 209s ok 6 - Key should be "snowflake" 209s ok 7 - Name should be "Snowflake" 209s ok 8 - Driver should be DBD::ODBC 209s ok 9 - Default client should be snowsql 209s ok 10 - client should default to snowsql 209s ok 11 - Registry default should be "sqitch" 209s ok 12 - DB URI should be filled in 209s ok 13 - Destination should be URI string 209s ok 14 - Registry destination should be the same as destination 209s ok 15 - Should build URI from environment 209s ok 16 - Should read username from environment 209s ok 17 - Should read password from environment 209s ok 18 - Should read account from host 209s ok 19 - Should read warehouse from environment 209s ok 20 - Should build URI host from account and region environment vars 209s ok 21 - Should read account and region from environment 209s ok 22 - Target password should be from SQITCH_PASSWORD 209s ok 23 - Should prefer password from SQITCH_PASSWORD 209s ok 24 - An object of class 'App::Sqitch::Engine::snowflake' isa 'App::Sqitch::Engine::snowflake' 209s ok 25 - Destination should be target name 209s ok 26 - Registry destination should be the same as destination 209s ok 27 - snowsql command should be std opts-only 209s ok 28 - An object of class 'App::Sqitch::Engine::snowflake' isa 'App::Sqitch::Engine::snowflake' 209s ok 29 - Set some variables 209s ok 30 - Variables should be passed to snowsql via --set 209s ok 31 - Target name should not read $SNOWSQL_DATABASE 209s ok 32 - Registry target should be the same as destination 209s ok 33 - Target name should not read $SNOWSQL_USER 209s ok 34 - Registry target should be the same as destination 209s ok 35 - Target name should not fall back on sysuser 209s ok 36 - Registry target should be the same as destination 209s ok 37 - Target name should be the default 209s ok 38 - Registry target should be the same as destination 209s ok 39 - Should have read config from file 209s ok 40 - Should have read config from file 209s ok 41 - Should have read config from file 209s ok 42 - Should read username fron snowsql config file 209s ok 43 - Should read password fron snowsql config file 209s ok 44 - Should read accountname fron snowsql config file 209s ok 45 - Should read dbname from snowsql config file 209s ok 46 - Should read warehousename fron snowsql config file 209s ok 47 - Should read rolename fron snowsql config file 209s ok 48 - Should derive host name from config file accounte name 209s ok 49 - Create another snowflake 209s ok 50 - Should extract account from URI 209s ok 51 - Should extract username from URI 209s ok 52 - Should extract password from URI 209s ok 53 - Should extract warehouse from URI 209s ok 54 - Should extract role from URI 209s ok 55 - registry should be as configured 209s ok 56 - URI should be as configured with full domain name 209s ok 57 - Destination should omit password 209s ok 58 - client should be as configured 209s ok 59 - snowsql command should be configured from URI config 209s ok 60 - Should have _listagg_format 209s ok 61 - Should have _ts_default 209s ok 62 - Should have _regex_op 209s ok 63 - Should have _simple_from 209s ok 64 - Should have _limit_default 209s ok 65 - Should have no table error 209s ok 66 - Should have no column error 209s ok 67 - Should now have table error 209s ok 68 - Still should have no column error 209s ok 69 - Should again have no table error 209s ok 70 - Should now have no column error 209s ok 71 - Unique constraints not supported by Snowflake 209s ok 72 - Should get limit and offset 209s ok 73 - Should get limit and offset when offset only 209s ok 74 - Should get only limit with 0 offset 209s ok 75 - Should get only limit with noa offset 209s ok 76 - Should get no limit or offset for 0s 209s ok 77 - Should get no limit or offset for no args 209s ok 78 - Should use regexp_substr IS NOT NULL for regex expr 209s ok 79 - initialized() should rethrow unexpected DB error 209s ok 80 - _cid should rethrow unexpected DB error 209s ok 81 - App::Sqitch::Engine::snowflake->can(...) 209s ok 82 - Create a snowflake with sqitch with options 209s ok 83 - SNOWSQL_PWD should be "s3cr3t" 209s ok 84 - Call _run 209s ok 85 - Command should be passed to capture() 209s ok 86 - SNOWSQL_PWD should be "s3cr3t" 209s ok 87 - Call _spool 209s ok 88 - Command should be passed to spool() 209s ok 89 - SNOWSQL_PWD should be "s3cr3t" 209s ok 90 - Call _capture 209s ok 91 - Command should be passed to capture() 209s ok 92 - SNOWSQL_PWD should be "s3cr3t" 209s ok 93 - Call _probe 209s ok 94 - Command should be passed to probe() 209s ok 95 - Create a snowflake with sqitch with no pw 209s ok 96 - SNOWSQL_PWD should not exist 209s ok 97 - Call _run again 209s ok 98 - Command should be passed to capture() again 209s ok 99 - SNOWSQL_PWD should not exist 209s ok 100 - Call _spool again 209s ok 101 - Command should be passed to spool() again 209s ok 102 - SNOWSQL_PWD should not exist 209s ok 103 - Call _capture again 209s ok 104 - Command should be passed to capture() again 209s ok 105 - SNOWSQL_PWD should not exist 209s ok 106 - Call _probe again 209s ok 107 - Command should be passed to probe() again 209s ok 108 - SNOWSQL_PWD should not exist 209s ok 109 - Run foo/bar.sql 209s ok 110 - File should be passed to capture() 209s ok 111 - SNOWSQL_PWD should not exist 209s ok 112 - Spool a "file handle" 209s ok 113 - Handle should be passed to spool() 209s ok 114 - SNOWSQL_PWD should not exist 209s ok 115 - Verify foo/bar.sql again 209s ok 116 - Verifile file should be passed to run() for high verbosity 209s ok 117 - App::Sqitch::Engine::snowflake->can('_ts2char_format') 209s ok 118 - _ts2char_format should work 209s ok 119 - App::Sqitch::Engine::snowflake->can('_dt') 209s ok 120 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' 209s ok 121 - DateTime year should be set 209s ok 122 - DateTime month should be set 209s ok 123 - DateTime day should be set 209s ok 124 - DateTime hour should be set 209s ok 125 - DateTime minute should be set 209s ok 126 - DateTime second should be set 209s ok 127 - DateTime TZ should be set 209s ok 128 - Construct a datetime object 209s ok 129 - Should get ISO output from _char2ts 209s ok 130 - Run upgrade 209s ok 131 - Should have executed the unmodified file 209s ok 132 - Run upgrade again 209s ok 133 - Should have a modified file 209s ok 134 - Should have no CREATE SCHEMA 209s ok 135 - Should have no COMMENT ON SCHEMA 209s ok 136 - Should have any other error 209s ok 137 - App::Sqitch::Engine::snowflake->can(...) 209s # Subtest: live database 209s 1..0 # SKIP Unable to live-test Snowflake engine: DBD::ODBC 1.59 required to manage Snowflake 209s ok 138 # skip Unable to live-test Snowflake engine: DBD::ODBC 1.59 required to manage Snowflake 209s 1..138 209s ok 210s t/status.t .......... 210s 1..124 210s ok 1 - require App::Sqitch::Command::status; 210s ok 2 - Load a sqitch object 210s ok 3 - 'status command' isa 'App::Sqitch::Command::status' 210s ok 4 - App::Sqitch::Command::status->can(...) 210s ok 5 - App::Sqitch::Command::status does ContextCommand 210s ok 6 - App::Sqitch::Command::status does ConnectingCommand 210s ok 7 - Options should be correct 210s ok 8 - Should parse options 210s ok 9 - Options should not conflict with core options 210s ok 10 - Should have error for uninitialized database 210s ok 11 - Uninitialized database error ident should be "status" 210s ok 12 - Uninitialized database error message should be correct 210s ok 13 - 'new status command' isa 'App::Sqitch::Command::status' 210s ok 14 - Should have project "foo" 210s ok 15 - Load a sqitch object with SQLite 210s ok 16 - Create another status command 210s ok 17 - Should get an error for uninitialized db 210s ok 18 - Uninitialized db error ident should be "status" 210s ok 19 - Uninitialized db error message should be correct 210s ok 20 - Should get an error for no registered projects 210s ok 21 - No projects error ident should be "status" 210s ok 22 - No projects error message should be correct 210s ok 23 - Should get an error for too many projects 210s ok 24 - Too many projects error ident should be "status" 210s ok 25 - Too many projects error message should be correct 210s ok 26 - Should find single project 210s ok 27 210s ok 28 - 'another status command' isa 'App::Sqitch::Command::status' 210s ok 29 - Should have plan project 210s ok 30 - Default target should be undef 210s ok 31 - 'new status with target' isa 'App::Sqitch::Command::status' 210s ok 32 - Should have target "foo" 210s ok 33 - Should get empty hash for no config or options 210s ok 34 - Should get error for invalid date format in config 210s ok 35 - Invalid date format error ident should be "datetime" 210s ok 36 - Invalid date format error message should be correct 210s ok 37 - Should get bool values set from config 210s ok 38 - Should get error for invalid date format in optsions 210s ok 39 - Invalid date format error ident should be "status" 210s ok 40 - Invalid date format error message should be correct 210s ok 41 - Emit the state 210s ok 42 - The state should have been emitted 210s ok 43 - Emit the state with a tag 210s ok 44 - The state should have been emitted with a tag 210s ok 45 - Emit the state with multiple tags 210s ok 46 - The state should have been emitted with multiple tags 210s ok 47 - Create status command with an engine 210s ok 48 - Try to emit changes 210s ok 49 - Should have emitted no changes 210s ok 50 - Create change-showing status command 210s ok 51 - Emit changes again 210s ok 52 - Project "foo" should have been passed to current_changes 210s ok 53 - Should have emitted one change 210s ok 54 - Emit changes thrice 210s ok 55 - Project "foo" again should have been passed to current_changes 210s ok 56 - Should have emitted three changes 210s ok 57 - Try to emit tags 210s ok 58 - No tags should have been emitted 210s ok 59 - Create tag-showing status command 210s ok 60 - Try to emit tags again 210s ok 61 - Project "bar" should be passed to current_tags() 210s ok 62 - Should have emitted a header for no tags 210s ok 63 - Emit tags 210s ok 64 - Project "bar" should again be passed to current_tags() 210s ok 65 - Should have emitted one tag 210s ok 66 - Emit tags again 210s ok 67 - Project "bar" should once more be passed to current_tags() 210s ok 68 - Should have emitted all three tags 210s ok 69 - Create status command with actual plan command 210s ok 70 - Emit status 210s ok 71 - Should have a blank comment line 210s ok 72 - Should emit up-to-date output 210s ok 73 - Emit status again 210s ok 74 - Should have a blank comment line 210s ok 75 - Should emit list of undeployed changes 210s ok 76 - Emit status thrice 210s ok 77 - Should have a blank comment line 210s ok 78 - Should emit list of undeployed changes 210s ok 79 - Die on invalid ID 210s ok 80 - Invalid ID error ident should be "status" 210s ok 81 - The invalid ID error message should be correct 210s ok 82 - Should have a blank comment line 210s ok 83 - Should have a message about inability to find the change 210s ok 84 - Recreate status command 210s ok 85 - Execute 210s ok 86 - The state should have been emitted 210s ok 87 - Should emit list of undeployed changes 210s ok 88 - No target name should have been passed to Target 210s ok 89 - Execute with target arg 210s ok 90 - The state should have been emitted 210s ok 91 - Should emit list of undeployed changes 210s ok 92 - Name "db:sqlite:" should have been passed to Target 210s ok 93 - Create status command with a target option 210s ok 94 - Execute with target attribute 210s ok 95 - The state should have been emitted 210s ok 96 - Should emit list of undeployed changes 210s ok 97 - Name "db:sqlite:" should have been passed to Target 210s ok 98 - Execute with target attribute and arg 210s ok 99 - The state should have been emitted 210s ok 100 - Should emit list of undeployed changes 210s ok 101 - Name "db:sqlite:" should have been passed to Target 210s ok 102 - Should have got warning for two targets 210s ok 103 - Create status command with no target option 210s ok 104 - Execute with plan file 210s ok 105 - The state should have been emitted 210s ok 106 - Should emit list of undeployed changes 210s ok 107 - Name "db:sqlite:" should have been passed to Target 210s ok 108 - Should have no warnings 210s ok 109 - Create status command with specified project 210s ok 110 - Execute for specified project 210s ok 111 - The specified project state should have been emitted 210s ok 112 - Should emit unknown status message for specified project 210s ok 113 - Create status command with external project 210s ok 114 - Execute for external project 210s ok 115 - The external project state should have been emitted 210s ok 116 - Should emit unknown status message for external project 210s ok 117 - Die on no state 210s ok 118 - No state error ident should be "status" 210s ok 119 - No state error message should be correct 210s ok 120 - The "On database" comment should have been emitted 210s ok 121 - Should get an error for uninitialized db 210s ok 122 - Uninitialized db error ident should be "status" 210s ok 123 - Uninitialized db error message should be correct 210s ok 124 - no warnings 210s ok 210s t/tag.t ............. 210s 1..22 210s ok 1 - require App::Sqitch::Plan::Tag; 210s ok 2 - App::Sqitch::Plan::Tag->can(...) 210s ok 3 - An object of class 'App::Sqitch::Plan::Tag' isa 'App::Sqitch::Plan::Tag' 210s ok 4 - An object of class 'App::Sqitch::Plan::Tag' isa 'App::Sqitch::Plan::Line' 210s ok 5 - Name should format as "@foo" 210s ok 6 - 'Timestamp' isa 'App::Sqitch::DateTime' 210s ok 7 - Planner name shoudld default to user name 210s ok 8 - Planner email shoudld default to user email 210s ok 9 - Planner name and email should format properly 210s ok 10 - Should as_string to "@foo" + timstamp + planner 210s ok 11 - Tag info should incldue the URI 210s ok 12 - Create tag with more stuff 210s ok 13 - It should as_string correctly 210s ok 14 - Change should be correct 210s ok 15 - Planner name and email should format properly 210s ok 16 - Change should be for previous change 210s ok 17 - Tag info should include the change 210s ok 18 - Tag ID should be correct 210s ok 19 - Create tag with UTF-8 name 210s ok 20 - The name should be decoded text in info 210s ok 21 - Tag ID should be hahsed from encoded UTF-8 210s ok 22 - no warnings 210s ok 211s t/tag_cmd.t ......... 211s 1..86 211s ok 1 - Load a sqitch sqitch object 211s ok 2 - 'tag command' isa 'App::Sqitch::Command::tag' 211s ok 3 - The all attribute should be false by default 211s ok 4 - App::Sqitch::Command::tag->can(...) 211s ok 5 - App::Sqitch::Command::tag does ContextCommand 211s ok 6 - Should have note option 211s ok 7 - Should parse options 211s ok 8 - Options should not conflict with core options 211s ok 9 - Should get empty hash for no config or options 211s ok 10 - Should not have fetched boolean tag.all config 211s ok 11 - Should get populated hash for no all options 211s ok 12 - Should not have fetched boolean tag.all config 211s ok 13 - Add change "foo" 211s ok 14 - 'new tag command' isa 'App::Sqitch::Command::tag' 211s ok 15 - Tag @alpha 211s ok 16 - Reload plan 211s ok 17 - Should have tagged "foo" 211s ok 18 - New tag should have been written 211s ok 19 - New tag should have empty note 211s ok 20 - Should have requested a note 211s ok 21 - The info message should be correct 211s ok 22 - Execute with no arg 211s ok 23 - The one tag should have been listed 211s ok 24 - Should have requested a note 211s ok 25 - Add tag @beta 211s ok 26 - Execute with no arg again 211s ok 27 - Both tags should have been listed 211s ok 28 - Should have requested a note 211s ok 29 - 'tag command with note' isa 'App::Sqitch::Command::tag' 211s ok 30 - Tag @gamma 211s ok 31 - Gamma tag should be on change "foo" 211s ok 32 - Gamma tag should have note 211s ok 33 - Reload plan 211s ok 34 - Gamma tag should have been written 211s ok 35 - Written tag should have note 211s ok 36 - Should have requested a note 211s ok 37 - The gamma note should be correct 211s ok 38 - 'tag command with note' isa 'App::Sqitch::Command::tag' 211s ok 39 - Add change "bar" 211s ok 40 - Add change "baz" 211s ok 41 - Tag change "bar" with @delta 211s ok 42 - Reload plan 211s ok 43 - Should have tagged "bar" 211s ok 44 - Reload plan 211s ok 45 - New tag should have been written 211s ok 46 - New tag should have the proper note 211s ok 47 - Should have requested a note 211s ok 48 - The info message should be correct 211s ok 49 - 'tag command with change name' isa 'App::Sqitch::Command::tag' 211s ok 50 - Tag change "bar" with @zeta 211s ok 51 - Should have tagged "bar" with @zeta 211s ok 52 - Reload plan 211s ok 53 - Tag @zeta should have been written 211s ok 54 - Tag @zeta should have the proper note 211s ok 55 - Should have requested a note 211s ok 56 - The zeta info message should be correct 211s ok 57 - Load another sqitch sqitch object 211s ok 58 - 'another tag command' isa 'App::Sqitch::Command::tag' 211s ok 59 - Tag with @whacko 211s ok 60 - Should have tagged "baz" with @whacko 211s ok 61 - The whacko info message should be correct 211s ok 62 - Should get an error for --all and a target arg 211s ok 63 - Mixed arguments error ident should be "tag" 211s ok 64 - Mixed arguments error message should be correct 211s ok 65 - Load another sqitch sqitch object 211s ok 66 - 'yet another tag command' isa 'App::Sqitch::Command::tag' 211s ok 67 - Tag with @dubdub 211s ok 68 - Should have two targets 211s ok 69 - Should have tagged pg plan change "pg_change" with @dubdub 211s ok 70 - Should have tagged sqlite plan change "sqlite_change" with @dubdub 211s ok 71 - The dubdub info message should show both plans tagged 211s ok 72 - Tag sqlite plan with @shoot 211s ok 73 - Should still have two targets 211s ok 74 - Should not have tagged pg plan change "sqlite_change" with @shoot 211s ok 75 - Should have tagged sqlite plan change "sqlite_change" with @shoot 211s ok 76 - The shoot info message should the sqlite plan getting tagged 211s ok 77 - 'yet another tag command' isa 'App::Sqitch::Command::tag' 211s ok 78 - Tag with @huwah 211s ok 79 - Should still have two targets 211s ok 80 - Should have tagged pg plan change "pg_change" with @huwah 211s ok 81 - Should not have tagged sqlite plan change "sqlite_change" with @huwah 211s ok 82 - The huwah info message should the pg plan getting tagged 211s ok 83 - Should get an error for conflict with target name 211s ok 84 - Conflicting target error ident should be "tag" 211s ok 85 - Conflicting target error message should be correct 211s ok 86 - no warnings 211s ok 212s t/target.t .......... 212s ok 1 - use App::Sqitch::Target; 212s ok 2 - Load a sqitch sqitch object 212s ok 3 - An object of class 'App::Sqitch::Target' isa 'App::Sqitch::Target' 212s ok 4 - App::Sqitch::Target->can(...) 212s ok 5 - Name should be "db:sqlite:" 212s ok 6 - Target should be alias for name 212s ok 7 - URI should be "db:sqlite:" 212s ok 8 - Sqitch should be as passed 212s ok 9 - Engine key should be "sqlite" 212s ok 10 - 'Engine' isa 'App::Sqitch::Engine::sqlite' 212s ok 11 - Should have default registry 212s ok 12 - Should have default client 212s ok 13 - Should have default top_dir 212s ok 14 - Should have default deploy_dir 212s ok 15 - Should have default revert_dir 212s ok 16 - Should have default verify_dir 212s ok 17 - Should have default reworked_dir 212s ok 18 - Should have default reworked_deploy_dir 212s ok 19 - Should have default reworked_revert_dir 212s ok 20 - Should have default reworked_verify_dir 212s ok 21 - Should have default extension 212s ok 22 - Should have default plan file 212s ok 23 - 'Should get plan' isa 'App::Sqitch::Plan' 212s ok 24 - Plan file should be copied from Target 212s ok 25 - DSN should be from URI 212s ok 26 - Username should be from URI 212s ok 27 - Password should be from URI 212s ok 28 - Variables should be empty 212s ok 29 - An object of class 'App::Sqitch::Target' isa 'App::Sqitch::Target' 212s ok 30 - Username should be from environment variable 212s ok 31 - Password should be from environment variable 212s ok 32 - Should get error for missing params 212s ok 33 - 'Target with name and URI' isa 'App::Sqitch::Target' 212s ok 34 - Name should be "foo" 212s ok 35 - Target should be alias for name 212s ok 36 - URI should be set as passed 212s ok 37 - Sqitch should be as passed 212s ok 38 - Engine key should be "pg" 212s ok 39 - 'Engine' isa 'App::Sqitch::Engine::pg' 212s ok 40 - DSN should be from URI 212s ok 41 - Username should be from URI 212s ok 42 - Password should be from environment 212s ok 43 - Variables should be set 212s ok 44 - 'Target with URI' isa 'App::Sqitch::Target' 212s ok 45 - Name should be URI without password 212s ok 46 - Target should be alias for name 212s ok 47 - Engine key should be "pg" 212s ok 48 - 'Engine' isa 'App::Sqitch::Engine::pg' 212s ok 49 - DSN should be from URI 212s ok 50 - Username should be from URI 212s ok 51 - Password should be from URI 212s ok 52 - 'Target from environment' isa 'App::Sqitch::Target' 212s ok 53 - Name should be set 212s ok 54 - URI should be set 212s ok 55 - Engine key should be "pg" 212s ok 56 - 'Engine' isa 'App::Sqitch::Engine::pg' 212s ok 57 - 'Default target' isa 'App::Sqitch::Target' 212s ok 58 - Name should be "db:sqlite:" 212s ok 59 - URI should be "db:sqlite:" 212s ok 60 - Should have tried to get engine target 212s ok 61 - 'Default target' isa 'App::Sqitch::Target' 212s ok 62 - Name should be "db:mysql:" 212s ok 63 - URI should be "db:mysql" 212s ok 64 - Should have tried to get core.target, core.engine and then the target 212s ok 65 - 'Target with URI in name' isa 'App::Sqitch::Target' 212s ok 66 - Name should be "db:pg:" 212s ok 67 - URI should be "db:pg" 212s ok 68 - Should have fetched no config 212s ok 69 - Should have error for no engine in URI 212s ok 70 - Should have target ident 212s ok 71 - Should have message about no engine-less URI 212s ok 72 - Should have error for no engine or target 212s ok 73 - Should have target ident 212s ok 74 - Should have message about no configuration 212s ok 75 - Should again have error for no engine or target 212s ok 76 - Should have target ident again 212s ok 77 - Should have message about no specified engine 212s ok 78 - 'Engineless target' isa 'App::Sqitch::Target' 212s ok 79 - Name should be "db:" 212s ok 80 - URI should be "db:" 212s ok 81 - Should not have tried to get engine target 212s ok 82 - Sqitch should be as passed 212s ok 83 - Engine key should be undef 212s ok 84 - Should get exception for no engine 212s ok 85 - Should have engine ident 212s ok 86 - Should have message about no engine 212s ok 87 - Should have default top_dir 212s ok 88 - Should have default deploy_dir 212s ok 89 - Should have default revert_dir 212s ok 90 - Should have default verify_dir 212s ok 91 - Should have default reworked_dir 212s ok 92 - Should have default reworked_deploy_dir 212s ok 93 - Should have default reworked_revert_dir 212s ok 94 - Should have default reworked_verify_dir 212s ok 95 - Should have default extension 212s ok 96 - Should have default plan file 212s ok 97 - 'Should get plan' isa 'App::Sqitch::Plan' 212s ok 98 - Plan file should be copied from Target 212s ok 99 - DSN should be empty 212s ok 100 - Username should be undef 212s ok 101 - Password should be undef 212s ok 102 - 'Engine URI target' isa 'App::Sqitch::Target' 212s ok 103 - Name should be "db:pg://a@foo/scat" 212s ok 104 - URI should be "db:pg://a:b@foo/scat" 212s ok 105 - Nothing should have been fetched from config 212s ok 106 - 'Engine URI core.target' isa 'App::Sqitch::Target' 212s ok 107 - Name should be "db:pg://s@ack/shi" 212s ok 108 - URI should be "db:pg://s:b@ack/shi" 212s ok 109 - Should have fetched core.target from config 212s ok 110 - 'Engine name core.target' isa 'App::Sqitch::Target' 212s ok 111 - Name should be "shout" 212s ok 112 - URI should be "db:pg:w:e@we/bar" 212s ok 113 - Should have fetched target.shout.uri from config 212s ok 114 - Should have exception for unknown named target 212s ok 115 - Unknown target error ident should be "target" 212s ok 116 - Unknown target error message should be correct 212s ok 117 - Should have requested target URI from config 212s ok 118 - Should have requested target.foo section 212s ok 119 - Should have exception for URL-less named target 212s ok 120 - URL-less target error ident should be "target" 212s ok 121 - URL-less target error message should be correct 212s ok 122 - Should have requested target URI from config 212s ok 123 - Should have requested target.foo section 212s ok 124 - 'Named target' isa 'App::Sqitch::Target' 212s ok 125 - Name should be "foo" 212s ok 126 - URI should be "db:pg:foo" 212s ok 127 - Should have requested target URI from config 212s ok 128 - Should not have requested deprecated pg section 212s ok 129 - 'Engine named target' isa 'App::Sqitch::Target' 212s ok 130 - Name should be "foo" 212s ok 131 - URI should be "db:sqlite:foo" 212s ok 132 - Should have requested engine target and target URI from config 212s ok 133 - Should have requested no section 212s ok 134 - 'Environment-named target' isa 'App::Sqitch::Target' 212s ok 135 - Name should be "bar" 212s ok 136 - URI should be "db:sqlite:bar" 212s ok 137 - Should have requested target URI from config 212s ok 138 - Should have requested no sections 212s ok 139 - 'URI-munged target' isa 'App::Sqitch::Target' 212s ok 140 - Should have requested no section 212s ok 141 - Name should be passwordless stringified URI 212s ok 142 - URI should be tweaked by URI params 212s ok 143 - 'Foo target' isa 'App::Sqitch::Target' 212s ok 144 - Should have requested target URI 212s ok 145 - Should have fetched no section 212s ok 146 - Name should be as passed 212s ok 147 - URI should be tweaked by URI params 212s ok 148 - 'URI target' isa 'App::Sqitch::Target' 212s ok 149 - Should have requested no config 212s ok 150 - Should have fetched no section 212s ok 151 - Name should tweaked by URI params 212s ok 152 - URI should be tweaked by URI params 212s ok 153 - Registry should be "myreg" 212s ok 154 - Client should be "pgsql" 212s ok 155 - Plan file should be "my.plan" 212s ok 156 - 'Plan file' isa 'Path::Class::File' 212s ok 157 - 'Plan' isa 'App::Sqitch::Plan' 212s ok 158 - Plan should use target plan file 212s ok 159 - Top dir should be "top" 212s ok 160 - 'Top dir' isa 'Path::Class::Dir' 212s ok 161 - Deploy dir should be "dep" 212s ok 162 - 'Deploy dir' isa 'Path::Class::Dir' 212s ok 163 - Revert dir should be "rev" 212s ok 164 - 'Revert dir' isa 'Path::Class::Dir' 212s ok 165 - Verify dir should be "ver" 212s ok 166 - 'Verify dir' isa 'Path::Class::Dir' 212s ok 167 - Reworked dir should be "wrk" 212s ok 168 - 'Reworked dir' isa 'Path::Class::Dir' 212s ok 169 - Reworked deploy dir should be "rdep" 212s ok 170 - 'Reworked deploy dir' isa 'Path::Class::Dir' 212s ok 171 - Reworked revert dir should be "rrev" 212s ok 172 - 'Reworked revert dir' isa 'Path::Class::Dir' 212s ok 173 - Reworked verify dir should be "rver" 212s ok 174 - 'Reworked verify dir' isa 'Path::Class::Dir' 212s ok 175 - Extension should be "ddl" 212s ok 176 - Should have no variables 212s ok 177 - Registry should be "yoreg" 212s ok 178 - Client should be "mycli" 212s ok 179 - Plan file should be "pg.plan" 212s ok 180 - 'Plan file' isa 'Path::Class::File' 212s ok 181 - 'Plan' isa 'App::Sqitch::Plan' 212s ok 182 - Plan should use target plan file 212s ok 183 - Top dir should be "pg" 212s ok 184 - 'Top dir' isa 'Path::Class::Dir' 212s ok 185 - Deploy dir should be "pgdep" 212s ok 186 - 'Deploy dir' isa 'Path::Class::Dir' 212s ok 187 - Revert dir should be "pgrev" 212s ok 188 - 'Revert dir' isa 'Path::Class::Dir' 212s ok 189 - Verify dir should be "pgver" 212s ok 190 - 'Verify dir' isa 'Path::Class::Dir' 212s ok 191 - Reworked dir should be "pg/r" 212s ok 192 - 'Reworked dir' isa 'Path::Class::Dir' 212s ok 193 - Reworked deploy dir should be "pgrdep" 212s ok 194 - 'Reworked deploy dir' isa 'Path::Class::Dir' 212s ok 195 - Reworked revert dir should be "pgrrev" 212s ok 196 - 'Reworked revert dir' isa 'Path::Class::Dir' 212s ok 197 - Reworked verify dir should be "pgrver" 212s ok 198 - 'Reworked verify dir' isa 'Path::Class::Dir' 212s ok 199 - Extension should be "pgddl" 212s ok 200 - Variables should be read from engine.variables 212s ok 201 - Registry should be "fooreg" 212s ok 202 - Client should be "foocli" 212s ok 203 - Plan file should be "foo.plan" 212s ok 204 - 'Plan file' isa 'Path::Class::File' 212s ok 205 - 'Plan' isa 'App::Sqitch::Plan' 212s ok 206 - Plan should use target plan file 212s ok 207 - Top dir should be "foo" 212s ok 208 - 'Top dir' isa 'Path::Class::Dir' 212s ok 209 - Deploy dir should be "foodep" 212s ok 210 - 'Deploy dir' isa 'Path::Class::Dir' 212s ok 211 - Revert dir should be "foorev" 212s ok 212 - 'Revert dir' isa 'Path::Class::Dir' 212s ok 213 - Verify dir should be "foover" 212s ok 214 - 'Verify dir' isa 'Path::Class::Dir' 212s ok 215 - Reworked dir should be "foo/r" 212s ok 216 - 'Reworked dir' isa 'Path::Class::Dir' 212s ok 217 - Reworked deploy dir should be "foodepr" 212s ok 218 - 'Reworked deploy dir' isa 'Path::Class::Dir' 212s ok 219 - Reworked revert dir should be "foorevr" 212s ok 220 - 'Reworked revert dir' isa 'Path::Class::Dir' 212s ok 221 - Reworked verify dir should be "fooverr" 212s ok 222 - 'Reworked verify dir' isa 'Path::Class::Dir' 212s ok 223 - Extension should be "fooddl" 212s ok 224 - Variables should be read from engine., and target.variables 212s ok 225 - Load all targets 212s ok 226 - Should have one target 212s ok 227 - It should be the generic core engine target 212s ok 228 - Load all targets with core target config 212s ok 229 - Should again have one target 212s ok 230 - It should be the named target 212s ok 231 - It should have no variables 212s ok 232 - Load all targets with core engine and target config 212s ok 233 - Should still have one target 212s ok 234 - It should again be the named target 212s ok 235 - It should have no variables 212s ok 236 - Load all user conf targets 212s ok 237 - Should have four user targets 212s ok 238 - Should have all the engine targets 212s ok 239 - MySQL target should have engine variables 212s ok 240 - Load all target conf targets 212s ok 241 - Should have three targets 212s ok 242 - Core engine should be default target 212s ok 243 - Should have the core target plus the named targets 212s ok 244 - Load all local conf targets 212s ok 245 - Should have two local targets 212s ok 246 - Core engine should be lead to default target 212s ok 247 - Should have the core target plus the named targets 212s ok 248 - Load all engine conf targets 212s ok 249 - Should have three engine conf targets 212s ok 250 - Should have the engine and target targets 212s ok 251 - Overload all engine conf targets 212s ok 252 - Should again have three engine conf targets 212s ok 253 - Should have set dbname on all target URIs 212s ok 254 - Should have set the registry on all targets. 212s 1..254 212s ok 213s t/target_cmd.t ...... 213s 1..243 213s ok 1 - Load a sqitch sqitch object 213s ok 2 - 'Target command' isa 'App::Sqitch::Command::target' 213s ok 3 - 'Target command' isa 'App::Sqitch::Command' 213s ok 4 - App::Sqitch::Command::target->can(...) 213s ok 5 - App::Sqitch::Command::target does TargetConfigCommand 213s ok 6 - Options should be correct 213s ok 7 - Should parse options 213s ok 8 - Options should not conflict with core options 213s ok 9 - Default properties should be empty 213s ok 10 - configure() should ignore config file 213s ok 11 - Get full config 213s ok 12 - Should have properties 213s ok 13 - 'plan_file file attribute' isa 'Path::Class::File' 213s ok 14 - 'top_dir directory attribute' isa 'Path::Class::Dir' 213s ok 15 - 'reworked_dir directory attribute' isa 'Path::Class::Dir' 213s ok 16 - 'deploy_dir directory attribute' isa 'Path::Class::Dir' 213s ok 17 - 'reworked_deploy_dir directory attribute' isa 'Path::Class::Dir' 213s ok 18 - 'revert_dir directory attribute' isa 'Path::Class::Dir' 213s ok 19 - 'reworked_revert_dir directory attribute' isa 'Path::Class::Dir' 213s ok 20 - 'verify_dir directory attribute' isa 'Path::Class::Dir' 213s ok 21 - 'reworked_verify_dir directory attribute' isa 'Path::Class::Dir' 213s ok 22 - Should fail on invalid directory name 213s ok 23 - Invalid directory ident should be "target" 213s ok 24 - The invalid directory messsage should be correct 213s ok 25 - Should fail on invalid directory names 213s ok 26 - Invalid directories ident should be "target" 213s ok 27 - The invalid properties messsage should be correct 213s ok 28 - Run list() 213s ok 29 - The list of targets should have been output 213s ok 30 - 'Verbose engine' isa 'App::Sqitch::Command::target' 213s ok 31 - Run verbose list() 213s ok 32 - The list of targets and their URIs should have been output 213s ok 33 - No name arg to add() should yield usage 213s ok 34 - No args should be passed to usage 213s ok 35 - No URI arg to add() should yield usage 213s ok 36 - No args should be passed to usage 213s ok 37 - Should get error for existing target 213s ok 38 - Existing target error ident should be "target" 213s ok 39 - Existing target error message should be correct 213s ok 40 - dir deploy does not exist 213s ok 41 - dir revert does not exist 213s ok 42 - dir verify does not exist 213s ok 43 - Add target "test" 213s ok 44 - dir deploy exists 213s ok 45 - dir revert exists 213s ok 46 - dir verify exists 213s ok 47 - Target "test" URI should have been set 213s ok 48 - Target "test" should have no client set 213s ok 49 - Target "test" should have no registry set 213s ok 50 - Target "test" should have no top_dir set 213s ok 51 - Target "test" should have no plan_file set 213s ok 52 - Target "test" should have no deploy_dir set 213s ok 53 - Target "test" should have no revert_dir set 213s ok 54 - Target "test" should have no verify_dir set 213s ok 55 - Target "test" should have no extension set 213s ok 56 - Target "test" should have no variables set 213s ok 57 - 'Target with registry' isa 'App::Sqitch::Command::target' 213s ok 58 - Add target "withreg" 213s ok 59 - Target "withreg" URI should have been set 213s ok 60 - Target "withreg" registry should have been set 213s ok 61 - Target "test" should have no client set 213s ok 62 - Target "test" should have no top_dir set 213s ok 63 - Target "test" should have no plan_file set 213s ok 64 - Target "test" should have no deploy_dir set 213s ok 65 - Target "test" should have no revert_dir set 213s ok 66 - Target "test" should have no verify_dir set 213s ok 67 - Target "test" should have no extension set 213s ok 68 - Target "withreg" should have no variables set 213s ok 69 - 'Target with client' isa 'App::Sqitch::Command::target' 213s ok 70 - Add target "withcli" 213s ok 71 - Target "withcli" URI should have been set 213s ok 72 - Target "withcli" should have client set 213s ok 73 - Target "withcli" should have no registry set 213s ok 74 - Target "withcli" should have no top_dir set 213s ok 75 - Target "withcli" should have no plan_file set 213s ok 76 - Target "withcli" should have no deploy_dir set 213s ok 77 - Target "withcli" should have no revert_dir set 213s ok 78 - Target "withcli" should have no verify_dir set 213s ok 79 - Target "withcli" should have no extension set 213s ok 80 - Target "withcli" should have no variables set 213s ok 81 - 'Target with client and registry' isa 'App::Sqitch::Command::target' 213s ok 82 - Add target "withboth" 213s ok 83 - Target "withboth" URI should have been set 213s ok 84 - Target "withboth" registry should have been set 213s ok 85 - Target "withboth" should have client set 213s ok 86 - Target "withboth" should have no top_dir set 213s ok 87 - Target "withboth" should have no plan_file set 213s ok 88 - Target "withboth" should have no deploy_dir set 213s ok 89 - Target "withboth" should have no revert_dir set 213s ok 90 - Target "withboth" should have no verify_dir set 213s ok 91 - Target "withboth" should have no extension set 213s ok 92 - Target "withboth" should have variables set 213s ok 93 - 'Target with all properties' isa 'App::Sqitch::Command::target' 213s ok 94 - my.plan does not exist 213s ok 95 - dir top/deploy does not exist 213s ok 96 - dir top/revert does not exist 213s ok 97 - dir top/verify does not exist 213s ok 98 - dir r/d does not exist 213s ok 99 - dir r/revert does not exist 213s ok 100 - dir r/verify does not exist 213s ok 101 - Add target "withall" 213s ok 102 - dir top/deploy exists 213s ok 103 - dir top/revert exists 213s ok 104 - dir top/verify exists 213s ok 105 - dir r/d exists 213s ok 106 - dir r/revert exists 213s ok 107 - dir r/verify exists 213s ok 108 - my.plan exists 213s ok 109 - Target "withall" should have uri set 213s ok 110 - Target "withall" should have registry set 213s ok 111 - Target "withall" should have client set 213s ok 112 - Target "withall" should have deploy_dir set 213s ok 113 - Target "withall" should have reworked_deploy_dir set 213s ok 114 - Target "withall" should have reworked_dir set 213s ok 115 - Target "withall" should have revert_dir set 213s ok 116 - Target "withall" should have extension set 213s ok 117 - Target "withall" should have verify_dir set 213s ok 118 - Target "withall" should have top_dir set 213s ok 119 - Target "withall" should have plan_file set 213s ok 120 - Target "withall" should have variables set 213s ok 121 - 'Target with no properties' isa 'App::Sqitch::Command::target' 213s ok 122 - No name arg to alter() should yield usage 213s ok 123 - No args should be passed to usage 213s ok 124 - Should get error for missing target 213s ok 125 - Missing target error ident should be "target" 213s ok 126 - Missing target error message should be correct 213s ok 127 - Should get error for missing target with URI 213s ok 128 - Missing target with URI error ident should be "target" 213s ok 129 - Missing target error message should include URI 213s ok 130 - 'Target with more properties' isa 'App::Sqitch::Command::target' 213s ok 131 - Alter target "withall" 213s ok 132 - Target "withall" should have top_dir set 213s ok 133 - Target "withall" should have merged variables set 213s ok 134 - Target "withall" should have uri set 213s ok 135 - Target "withall" should have plan_file set 213s ok 136 - Target "withall" should have deploy_dir set 213s ok 137 - Target "withall" should have registry set 213s ok 138 - Target "withall" should have client set 213s ok 139 - Target "withall" should have extension set 213s ok 140 - Target "withall" should have verify_dir set 213s ok 141 - Target "withall" should have revert_dir set 213s ok 142 - Target "withall" should have reworked_deploy_dir set 213s ok 143 - Target "withall" should have reworked_dir set 213s ok 144 - 'Target with new top_dir property' isa 'App::Sqitch::Command::target' 213s ok 145 - dir big does not exist 213s ok 146 - dir big/deploy does not exist 213s ok 147 - dir big/revert does not exist 213s ok 148 - dir big/verify does not exist 213s ok 149 - Alter target "withall" 213s ok 150 - dir big exists 213s ok 151 - dir big/deploy exists 213s ok 152 - dir big/revert exists 213s ok 153 - dir big/verify exists 213s ok 154 - The withall top_dir should have been set 213s ok 155 - No name args to rename() should yield usage 213s ok 156 - No args should be passed to usage 213s ok 157 - No second arg to rename() should yield usage 213s ok 158 - No args should be passed to usage 213s ok 159 - Should get error for nonexistent target 213s ok 160 - Nonexistent target error ident should be "target" 213s ok 161 - Nonexistent target error message should be correct 213s ok 162 - Rename 213s ok 163 - Target "àlafois" should now be present 213s ok 164 - Target "àlafois" variables should now be present 213s ok 165 - Target "withboth" should no longer be present 213s ok 166 - Target "withboth" variables should be gone 213s ok 167 - Target "àlafois" should have variables 213s ok 168 - Should get error renaming a target with dependencies 213s ok 169 - Dependency target error ident should be "target" 213s ok 170 - Dependency target error message should be correct 213s ok 171 - Rename "test" 213s ok 172 - Target "funky" should now be present 213s ok 173 - Target "test" should no longer be present 213s ok 174 - Target "funcky" should have no variables 213s ok 175 - No name args to remove() should yield usage 213s ok 176 - No args should be passed to usage 213s ok 177 - Should get error for nonexistent target 213s ok 178 - Nonexistent target error ident should be "target" 213s ok 179 - Nonexistent target error message should be correct 213s ok 180 - Remove 213s ok 181 - Target "àlafois" should now be gone 213s ok 182 - Target "àlafois" variables should be gone, too 213s ok 183 - Should get error removing a target with dependencies 213s ok 184 - Dependency target error ident should be "target" 213s ok 185 - Dependency target error message should be correct 213s ok 186 - Remove "funky" 213s ok 187 - Target "funky" should now be gone 213s ok 188 - Run show() 213s ok 189 - Show with no names should emit the list of targets 213s ok 190 - Show dev 213s ok 191 - The "dev" target should have been shown 213s ok 192 - Show withcli 213s ok 193 - The "with_cli" target should have been shown 213s ok 194 - Show withreg 213s ok 195 - The "withreg" target should have been shown 213s ok 196 - Show withall 213s ok 197 - The "withall" target should have been shown with variables 213s ok 198 - Show three targets 213s ok 199 - All three targets should have been shown 213s ok 200 - 'Simple target' isa 'App::Sqitch::Command::target' 213s ok 201 - Execute undef 213s ok 202 - list() should have been called 213s ok 203 - Execute undef with args 213s ok 204 - list() should have been passed args 213s ok 205 - Execute list 213s ok 206 - list() should have been called 213s ok 207 - Execute list with args 213s ok 208 - list() should have been passed args 213s ok 209 - Execute add 213s ok 210 - add() should have been called 213s ok 211 - Execute add with args 213s ok 212 - add() should have been passed args 213s ok 213 - Execute remove 213s ok 214 - remove() should have been called 213s ok 215 - Execute remove with args 213s ok 216 - remove() should have been passed args 213s ok 217 - Execute rm 213s ok 218 - remove() should have been called 213s ok 219 - Execute rm with args 213s ok 220 - remove() should have been passed args 213s ok 221 - Execute rename 213s ok 222 - rename() should have been called 213s ok 223 - Execute rename with args 213s ok 224 - rename() should have been passed args 213s ok 225 - Execute show 213s ok 226 - show() should have been called 213s ok 227 - Execute show with args 213s ok 228 - show() should have been passed args 213s ok 229 - Should get an exception for a nonexistent action 213s ok 230 - Nonexistent action message should be passed to usage 213s ok 231 - Invalid URI rock should throw an error 213s ok 232 - Invalid URI rock error ident should be "target" 213s ok 233 - Invalid URI rock error message should be correct 213s ok 234 - Invalid URI https://www.google.com/ should throw an error 213s ok 235 - Invalid URI https://www.google.com/ error ident should be "target" 213s ok 236 - Invalid URI https://www.google.com/ error message should be correct 213s ok 237 - Engineless URI should throw an error 213s ok 238 - Engineless URI error ident should be "target" 213s ok 239 - Engineless URI error message should be correct 213s ok 240 - Unknown engine URI should throw an error 213s ok 241 - Unknown engine URI error ident should be "target" 213s ok 242 - Unknown engine URI error message should be correct 213s ok 243 - no warnings 213s ok 213s t/upgrade.t ......... 213s 1..25 213s ok 1 - require App::Sqitch::Command::upgrade; 213s ok 2 - Load a sqitch object 213s ok 3 - 'upgrade command' isa 'App::Sqitch::Command::upgrade' 213s ok 4 - App::Sqitch::Command::upgrade->can(...) 213s ok 5 - App::Sqitch::Command::upgrade does ConnectingCommand 213s ok 6 - Options should be correct 213s ok 7 - Should parse options 213s ok 8 - Options should not conflict with core options 213s ok 9 - Execute upgrade 213s ok 10 - Upgrade should not have been called 213s ok 11 - Should get output for up-to-date registry 213s ok 12 - Execute upgrade with target 213s ok 13 - Upgrade should again not have been called 213s ok 14 - Should get output for up-to-date registry with target 213s ok 15 - Execute upgrade with engine 213s ok 16 - Upgrade should again not have been called 213s ok 17 - Should get output for up-to-date registry with target 213s ok 18 - 'upgrade command with target' isa 'App::Sqitch::Command::upgrade' 213s ok 19 - Execute upgrade with target option 213s ok 20 - Upgrade should still not have been called 213s ok 21 - Should get output for up-to-date registry with target option 213s ok 22 - Execute upgrade with out-of-date registry 213s ok 23 - Upgrade should now have been called 213s ok 24 - Should get output for the upgrade 213s ok 25 - no warnings 213s ok 214s t/verify.t .......... 214s ok 1 - require App::Sqitch::Command::verify; 214s ok 2 - The class (or class-like) 'App::Sqitch::Command::verify' isa 'App::Sqitch::Command' 214s ok 3 - App::Sqitch::Command::verify->can(...) 214s ok 4 - App::Sqitch::Command::verify does ContextCommand 214s ok 5 - App::Sqitch::Command::verify does ConnectingCommand 214s ok 6 - Options should be correct 214s ok 7 - Should parse options 214s ok 8 - Options should not conflict with core options 214s ok 9 - Should have default configuration with no config or opts 214s ok 10 - Should have changes and variables from options 214s ok 11 - Should have no config if no options 214s ok 12 - 'new status with target' isa 'App::Sqitch::Command::verify' 214s ok 13 - Should have target "foo" 214s ok 14 - An object of class 'App::Sqitch::Command::verify' isa 'App::Sqitch::Command::verify' 214s ok 15 - Default target should be undef 214s ok 16 - from_change should be undef 214s ok 17 - to_change should be undef 214s ok 18 - Should collect no variables 214s ok 19 - Should collect core vars 214s ok 20 - Should override core vars with deploy vars 214s ok 21 - Should override deploy vars with verify vars 214s ok 22 - Should override verify vars with engine vars 214s ok 23 - Should override engine vars with target vars 214s ok 24 - Should override target vars with --set variables 214s ok 25 - Execute with nothing. 214s ok 26 - Two undefs should be passed to the engine 214s ok 27 - Should have no warnings 214s ok 28 - Execute from "@alpha" 214s ok 29 - "@alpha" and undef should be passed to the engine 214s ok 30 - Should again have no warnings 214s ok 31 - Execute from "@alpha" to "@beta" 214s ok 32 - "@alpha" and "@beat" should be passed to the engine 214s ok 33 - Should still have no warnings 214s ok 34 - 'Object with from, to, and variables' isa 'App::Sqitch::Command::verify' 214s ok 35 - Execute again 214s ok 36 - "foo" and "bar" should be passed to the engine 214s ok 37 - Vars should have been passed through to the engine 214s ok 38 - Still should have no warnings 214s ok 39 - Execute with command-line args 214s ok 40 - "foo" and "bar" should be passed to the engine 214s ok 41 - Vars should have been passed through to the engine 214s ok 42 - Should have warning about which roles are used 214s ok 43 - Execute with target arg 214s ok 44 - The target should have been passed to the engine 214s ok 45 - "foo" and "bar" should be passed to the engine 214s ok 46 - Vars should have been passed through to the engine 214s ok 47 - Should once again have no warnings 214s ok 48 - 'Object with target' isa 'App::Sqitch::Command::verify' 214s ok 49 - Execute with no args 214s ok 50 - The target option should have been passed to the engine 214s ok 51 - Undefs should be passed to the engine 214s ok 52 - No vars should have been passed through to the engine 214s ok 53 - Should once again have no warnings 214s ok 54 - Execute with two targegs and two changes 214s ok 55 - The target option should have been passed to the engine 214s ok 56 - The two changes should be passed to the engine 214s ok 57 - No vars should have been passed through to the engine 214s ok 58 - Should have warning about too many targets 214s ok 59 - Should get an exception for unknown arg 214s ok 60 - Unknown arg ident should be "verify" 214s ok 61 - Should get an exeption for two unknown arg 214s ok 62 - Should get an exception for unknown args 214s ok 63 - Unknown args ident should be "verify" 214s ok 64 - Should get an exeption for two unknown args 214s 1..64 214s ok 215s t/vertica.t ......... 215s ok 1 - require App::Sqitch::Engine::vertica; 215s ok 2 - config_vars should return three vars 215s ok 3 - An object of class 'App::Sqitch::Engine::vertica' isa 'App::Sqitch::Engine::vertica' 215s ok 4 - Key should be "vertica" 215s ok 5 - Name should be "Vertica" 215s ok 6 - client should default to vsql 215s ok 7 - registry default should be "sqitch" 215s ok 8 - DB URI should be "db:vertica:" 215s ok 9 - Destination should fall back on environment variables 215s ok 10 - Registry destination should be the same as destination 215s ok 11 - vsql command should be username and std opts-only 215s ok 12 - An object of class 'App::Sqitch::Engine::vertica' isa 'App::Sqitch::Engine::vertica' 215s ok 13 - Set some variables 215s ok 14 - Variables should be passed to vsql via --set 215s ok 15 - Target name should not read $VSQL_DATABASE 215s ok 16 - Registry target should be the same as destination 215s ok 17 - Should have username when VSQL_DATABASE set 215s ok 18 - Should have password when VSQL_DATABASE set 215s ok 19 - DSN should have database name when $env set 215s ok 20 - Target name should not read $VSQL_USER 215s ok 21 - Registry target should be the same as destination 215s ok 22 - Should have username when VSQL_USER set 215s ok 23 - Should have password when VSQL_USER set 215s ok 24 - DSN should have database name when $env set 215s ok 25 - Target name should not read $VSQL_PASSWORD 215s ok 26 - Registry target should be the same as destination 215s ok 27 - Should have username when VSQL_PASSWORD set 215s ok 28 - Should have password when VSQL_PASSWORD set 215s ok 29 - DSN should have database name when $env set 215s ok 30 - Target name should not fall back on sysuser 215s ok 31 - Registry target should be the same as destination 215s ok 32 - Target name should be the default 215s ok 33 - Registry target should be the same as destination 215s ok 34 - Create another vertica 215s ok 35 - client should be as configured 215s ok 36 - uri should be as configured 215s ok 37 - registry should be as configured 215s ok 38 - vsql command should be configured from URI config 215s ok 39 - App::Sqitch::Engine::vertica->can(...) 215s ok 40 - VSQL_PASSWORD should be "s3cr3t" 215s ok 41 - Call _run 215s ok 42 - Command should be passed to run() 215s ok 43 - VSQL_PASSWORD should be "s3cr3t" 215s ok 44 - Call _spool 215s ok 45 - Command should be passed to spool() 215s ok 46 - VSQL_PASSWORD should be "s3cr3t" 215s ok 47 - Call _capture 215s ok 48 - Command should be passed to capture() 215s ok 49 - VSQL_PASSWORD should be "s3cr3t" 215s ok 50 - Call _probe 215s ok 51 - Should have expected arguments to _probe 215s ok 52 - Create a vertica with sqitch with no pw 215s ok 53 - VSQL_PASSWORD should not exist 215s ok 54 - Call _run again 215s ok 55 - Command should be passed to run() again 215s ok 56 - VSQL_PASSWORD should not exist 215s ok 57 - Call _spool again 215s ok 58 - Command should be passed to spool() again 215s ok 59 - VSQL_PASSWORD should not exist 215s ok 60 - Call _capture again 215s ok 61 - Command should be passed to capture() again 215s ok 62 - VSQL_PASSWORD should not exist 215s ok 63 - Call _probe again 215s ok 64 - Should again have expected arguments to _probe 215s ok 65 - VSQL_PASSWORD should not exist 215s ok 66 - Run foo/bar.sql 215s ok 67 - File should be passed to run() 215s ok 68 - VSQL_PASSWORD should not exist 215s ok 69 - Spool a "file handle" 215s ok 70 - Handle should be passed to spool() 215s ok 71 - VSQL_PASSWORD should not exist 215s ok 72 - Verify foo/bar.sql 215s ok 73 - Verify file should be passed to capture() 215s ok 74 - VSQL_PASSWORD should not exist 215s ok 75 - Verify foo/bar.sql again 215s ok 76 - Verifile file should be passed to run() for high verbosity 215s ok 77 - App::Sqitch::Engine::vertica->can('_ts2char_format') 215s ok 78 - _ts2char_format should work 215s ok 79 - App::Sqitch::Engine::vertica->can('_dt') 215s ok 80 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' 215s ok 81 - DateTime year should be set 215s ok 82 - DateTime month should be set 215s ok 83 - DateTime day should be set 215s ok 84 - DateTime hour should be set 215s ok 85 - DateTime minute should be set 215s ok 86 - DateTime second should be set 215s ok 87 - DateTime TZ should be set 215s ok 88 - Should have no listagg format 215s ok 89 - Should have no table error 215s ok 90 - Should have no column error 215s ok 91 - Should now have table error 215s ok 92 - Still should have no column error 215s ok 93 - Should again have no table error 215s ok 94 - Should now have no column error 215s ok 95 - current_state should propagate an error when it's not a column error 215s ok 96 - _cid should propagate an error when it's not a table or column error 215s ok 97 - App::Sqitch::Engine::vertica->can(...) 215s # Subtest: live database 215s 1..0 # SKIP Unable to live-test Vertica engine: DBD::ODBC 1.59 required to manage Vertica 215s ok 98 # skip Unable to live-test Vertica engine: DBD::ODBC 1.59 required to manage Vertica 215s 1..98 215s ok 215s t/win32.t ........... 215s 1..2 215s ok 1 - Should have "MSWin32" 215s ok 2 - CAN_OUTPUT_COLOR should be set properly 215s ok 215s t/x.t ............... 215s ok 1 - require App::Sqitch::X; 215s ok 2 - 'X object' isa 'App::Sqitch::X' 215s ok 3 - X object does Throwable 215s ok 4 - X object does StackTrace::Auto 215s ok 5 - Create X without ident 215s ok 6 - Default ident should be "DEV" 215s ok 7 - threw App::Sqitch::X 215s ok 8 - 'Thrown object' isa 'App::Sqitch::X' 215s ok 9 - Ident should be "basic" 215s ok 10 - The message should have been passed 215s ok 11 - It should have a stack trace 215s ok 12 - Exit val should be 2 215s ok 13 - The trace should start in this file 215s ok 14 - threw App::Sqitch::X 215s ok 15 - 'Thrown object' isa 'App::Sqitch::X' 215s ok 16 - Ident should be "DEV" 215s ok 17 - The message should have been passed 215s ok 18 - Exit val should again be 2 215s ok 19 - Previous exception should have been passed 215s ok 20 - Stringification should work 215s ok 21 - Stringification should work 215s ok 22 - Details string should work 215s ok 23 - threw App::Sqitch::X 215s ok 24 - 'Thrown object' isa 'App::Sqitch::X' 215s ok 25 - The params should have been passed 215s ok 26 - Exit val should be 1 215s ok 27 - Stringification should work 215s ok 28 - Stringification should work 215s ok 29 - Details string should work 215s ok 30 - Should be an "io" exception 215s ok 31 - Should catch error called via &goto 215s 1..31 215s ok 215s All tests successful. 215s Files=49, Tests=7426, 31 wallclock secs ( 0.70 usr 0.25 sys + 25.75 cusr 5.22 csys = 31.92 CPU) 215s Result: PASS 215s autopkgtest [15:19:53]: test autodep8-perl-build-deps: -----------------------] 219s autopkgtest [15:19:57]: test autodep8-perl-build-deps: - - - - - - - - - - results - - - - - - - - - - 219s autodep8-perl-build-deps PASS 223s autopkgtest [15:20:01]: test autodep8-perl: preparing testbed 246s autopkgtest [15:20:24]: testbed dpkg architecture: armhf 248s autopkgtest [15:20:26]: testbed apt version: 3.0.0 252s autopkgtest [15:20:30]: @@@@@@@@@@@@@@@@@@@@ test bed setup 254s autopkgtest [15:20:32]: testbed release detected to be: questing 262s autopkgtest [15:20:40]: updating testbed package index (apt update) 264s Get:1 http://ftpmaster.internal/ubuntu questing-proposed InRelease [110 kB] 264s Get:2 http://ftpmaster.internal/ubuntu questing InRelease [110 kB] 264s Get:3 http://ftpmaster.internal/ubuntu questing-updates InRelease [110 kB] 264s Get:4 http://ftpmaster.internal/ubuntu questing-security InRelease [110 kB] 265s Get:5 http://ftpmaster.internal/ubuntu questing-proposed/main Sources [164 kB] 265s Get:6 http://ftpmaster.internal/ubuntu questing-proposed/multiverse Sources [44.2 kB] 265s Get:7 http://ftpmaster.internal/ubuntu questing-proposed/universe Sources [2024 kB] 265s Get:8 http://ftpmaster.internal/ubuntu questing-proposed/main armhf Packages [184 kB] 265s Get:9 http://ftpmaster.internal/ubuntu questing-proposed/universe armhf Packages [1383 kB] 265s Get:10 http://ftpmaster.internal/ubuntu questing-proposed/multiverse armhf Packages [13.1 kB] 265s Get:11 http://ftpmaster.internal/ubuntu questing/universe Sources [21.1 MB] 268s Get:12 http://ftpmaster.internal/ubuntu questing/multiverse Sources [299 kB] 268s Get:13 http://ftpmaster.internal/ubuntu questing/main Sources [1394 kB] 268s Get:14 http://ftpmaster.internal/ubuntu questing/main armhf Packages [1358 kB] 268s Get:15 http://ftpmaster.internal/ubuntu questing/universe armhf Packages [15.4 MB] 268s Get:16 http://ftpmaster.internal/ubuntu questing/multiverse armhf Packages [173 kB] 272s Fetched 44.0 MB in 8s (5772 kB/s) 273s Reading package lists... 278s autopkgtest [15:20:56]: upgrading testbed (apt dist-upgrade and autopurge) 280s Reading package lists... 281s Building dependency tree... 281s Reading state information... 281s Calculating upgrade...Starting pkgProblemResolver with broken count: 0 281s Starting 2 pkgProblemResolver with broken count: 0 281s Done 282s Entering ResolveByKeep 282s 283s Calculating upgrade... 283s The following packages will be upgraded: 283s base-files distro-info-data dpkg dpkg-dev fwupd htop libdpkg-perl libftdi1-2 283s libfwupd3 libnpth0t64 libsensors-config libsensors5 liburcu8t64 283s motd-news-config nano ubuntu-pro-client ubuntu-pro-client-l10n usb.ids 283s 18 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 283s Need to get 5303 kB of archives. 283s After this operation, 3722 kB disk space will be freed. 283s Get:1 http://ftpmaster.internal/ubuntu questing/main armhf motd-news-config all 13.7ubuntu1 [5260 B] 283s Get:2 http://ftpmaster.internal/ubuntu questing/main armhf base-files armhf 13.7ubuntu1 [75.4 kB] 284s Get:3 http://ftpmaster.internal/ubuntu questing/main armhf dpkg armhf 1.22.18ubuntu3 [1254 kB] 284s Get:4 http://ftpmaster.internal/ubuntu questing/main armhf libnpth0t64 armhf 1.8-3 [7716 B] 284s Get:5 http://ftpmaster.internal/ubuntu questing/main armhf distro-info-data all 0.64 [6664 B] 284s Get:6 http://ftpmaster.internal/ubuntu questing/main armhf ubuntu-pro-client-l10n armhf 35.1ubuntu0 [19.7 kB] 284s Get:7 http://ftpmaster.internal/ubuntu questing/main armhf ubuntu-pro-client armhf 35.1ubuntu0 [258 kB] 284s Get:8 http://ftpmaster.internal/ubuntu questing/main armhf libsensors-config all 1:3.6.2-2 [6756 B] 284s Get:9 http://ftpmaster.internal/ubuntu questing/main armhf libsensors5 armhf 1:3.6.2-2 [26.8 kB] 284s Get:10 http://ftpmaster.internal/ubuntu questing/main armhf liburcu8t64 armhf 0.15.2-2 [57.3 kB] 284s Get:11 http://ftpmaster.internal/ubuntu questing/main armhf nano armhf 8.4-1 [278 kB] 284s Get:12 http://ftpmaster.internal/ubuntu questing/main armhf usb.ids all 2025.04.01-1 [223 kB] 284s Get:13 http://ftpmaster.internal/ubuntu questing/main armhf dpkg-dev all 1.22.18ubuntu3 [1089 kB] 284s Get:14 http://ftpmaster.internal/ubuntu questing/main armhf libdpkg-perl all 1.22.18ubuntu3 [281 kB] 284s Get:15 http://ftpmaster.internal/ubuntu questing/main armhf fwupd armhf 2.0.8-3 [1414 kB] 284s Get:16 http://ftpmaster.internal/ubuntu questing/main armhf libfwupd3 armhf 2.0.8-3 [126 kB] 284s Get:17 http://ftpmaster.internal/ubuntu questing/main armhf htop armhf 3.4.1-4 [147 kB] 284s Get:18 http://ftpmaster.internal/ubuntu questing/main armhf libftdi1-2 armhf 1.5-10 [27.8 kB] 285s Fetched 5303 kB in 1s (5626 kB/s) 285s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 63953 files and directories currently installed.) 285s Preparing to unpack .../motd-news-config_13.7ubuntu1_all.deb ... 285s Unpacking motd-news-config (13.7ubuntu1) over (13.6ubuntu2) ... 285s Preparing to unpack .../base-files_13.7ubuntu1_armhf.deb ... 285s Unpacking base-files (13.7ubuntu1) over (13.6ubuntu2) ... 285s Setting up base-files (13.7ubuntu1) ... 285s Installing new version of config file /etc/issue ... 285s Installing new version of config file /etc/issue.net ... 285s Installing new version of config file /etc/lsb-release ... 286s motd-news.service is a disabled or a static unit not running, not starting it. 286s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 63953 files and directories currently installed.) 286s Preparing to unpack .../dpkg_1.22.18ubuntu3_armhf.deb ... 286s Unpacking dpkg (1.22.18ubuntu3) over (1.22.18ubuntu2) ... 286s Setting up dpkg (1.22.18ubuntu3) ... 286s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 63953 files and directories currently installed.) 286s Preparing to unpack .../libnpth0t64_1.8-3_armhf.deb ... 286s Unpacking libnpth0t64:armhf (1.8-3) over (1.8-2) ... 286s Setting up libnpth0t64:armhf (1.8-3) ... 286s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 63953 files and directories currently installed.) 287s Preparing to unpack .../00-distro-info-data_0.64_all.deb ... 287s Unpacking distro-info-data (0.64) over (0.63) ... 287s Preparing to unpack .../01-ubuntu-pro-client-l10n_35.1ubuntu0_armhf.deb ... 287s Unpacking ubuntu-pro-client-l10n (35.1ubuntu0) over (35) ... 287s Preparing to unpack .../02-ubuntu-pro-client_35.1ubuntu0_armhf.deb ... 287s Unpacking ubuntu-pro-client (35.1ubuntu0) over (35) ... 287s Preparing to unpack .../03-libsensors-config_1%3a3.6.2-2_all.deb ... 287s Unpacking libsensors-config (1:3.6.2-2) over (1:3.6.0-10) ... 287s Preparing to unpack .../04-libsensors5_1%3a3.6.2-2_armhf.deb ... 287s Unpacking libsensors5:armhf (1:3.6.2-2) over (1:3.6.0-10) ... 287s Preparing to unpack .../05-liburcu8t64_0.15.2-2_armhf.deb ... 287s Unpacking liburcu8t64:armhf (0.15.2-2) over (0.15.1-1) ... 287s Preparing to unpack .../06-nano_8.4-1_armhf.deb ... 287s Unpacking nano (8.4-1) over (8.3-1) ... 287s Preparing to unpack .../07-usb.ids_2025.04.01-1_all.deb ... 287s Unpacking usb.ids (2025.04.01-1) over (2025.01.14-1) ... 287s Preparing to unpack .../08-dpkg-dev_1.22.18ubuntu3_all.deb ... 287s Unpacking dpkg-dev (1.22.18ubuntu3) over (1.22.18ubuntu2) ... 287s Preparing to unpack .../09-libdpkg-perl_1.22.18ubuntu3_all.deb ... 287s Unpacking libdpkg-perl (1.22.18ubuntu3) over (1.22.18ubuntu2) ... 287s Preparing to unpack .../10-fwupd_2.0.8-3_armhf.deb ... 288s Unpacking fwupd (2.0.8-3) over (2.0.7-1) ... 288s dpkg: warning: unable to delete old directory '/etc/grub.d': Directory not empty 288s Preparing to unpack .../11-libfwupd3_2.0.8-3_armhf.deb ... 288s Unpacking libfwupd3:armhf (2.0.8-3) over (2.0.7-1) ... 288s Preparing to unpack .../12-htop_3.4.1-4_armhf.deb ... 288s Unpacking htop (3.4.1-4) over (3.4.0-2) ... 288s Preparing to unpack .../13-libftdi1-2_1.5-10_armhf.deb ... 288s Unpacking libftdi1-2:armhf (1.5-10) over (1.5-8build1) ... 288s Setting up motd-news-config (13.7ubuntu1) ... 288s Setting up liburcu8t64:armhf (0.15.2-2) ... 288s Setting up distro-info-data (0.64) ... 288s Setting up htop (3.4.1-4) ... 288s Setting up libsensors-config (1:3.6.2-2) ... 288s Installing new version of config file /etc/sensors3.conf ... 288s Setting up libfwupd3:armhf (2.0.8-3) ... 288s Setting up libftdi1-2:armhf (1.5-10) ... 288s Setting up usb.ids (2025.04.01-1) ... 288s Setting up libsensors5:armhf (1:3.6.2-2) ... 288s Setting up libdpkg-perl (1.22.18ubuntu3) ... 288s Setting up nano (8.4-1) ... 288s Installing new version of config file /etc/nanorc ... 288s Setting up ubuntu-pro-client (35.1ubuntu0) ... 288s apparmor_parser: Unable to replace "ubuntu_pro_apt_news". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 288s 288s apparmor_parser: Unable to replace "apt_methods". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 288s 288s apparmor_parser: Unable to replace "ubuntu_pro_esm_cache". apparmor_parser: Access denied. You need policy admin privileges to manage profiles. 288s 290s Setting up fwupd (2.0.8-3) ... 290s fwupd-refresh.service is a disabled or a static unit not running, not starting it. 290s fwupd.service is a disabled or a static unit not running, not starting it. 290s Setting up ubuntu-pro-client-l10n (35.1ubuntu0) ... 290s Setting up dpkg-dev (1.22.18ubuntu3) ... 290s Processing triggers for dbus (1.16.2-2ubuntu1) ... 290s Processing triggers for install-info (7.1.1-1) ... 291s Processing triggers for libc-bin (2.41-6ubuntu1) ... 291s Processing triggers for man-db (2.13.0-1) ... 293s Processing triggers for plymouth-theme-ubuntu-text (24.004.60-2ubuntu7) ... 293s Processing triggers for initramfs-tools (0.147ubuntu1) ... 295s Reading package lists... 295s Building dependency tree... 295s Reading state information... 296s Starting pkgProblemResolver with broken count: 0 296s Starting 2 pkgProblemResolver with broken count: 0 296s Done 296s Solving dependencies... 297s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 299s autopkgtest [15:21:17]: rebooting testbed after setup commands that affected boot 364s Reading package lists... 365s Building dependency tree... 365s Reading state information... 365s Starting pkgProblemResolver with broken count: 0 365s Starting 2 pkgProblemResolver with broken count: 0 365s Done 367s The following NEW packages will be installed: 367s autodep8 dctrl-tools libalgorithm-backoff-perl libalgorithm-c3-perl 367s libb-hooks-endofscope-perl libb-hooks-op-check-perl libclass-c3-perl 367s libclass-data-inheritable-perl libclass-inspector-perl 367s libclass-method-modifiers-perl libclass-singleton-perl 367s libclass-xsaccessor-perl libclone-choose-perl libclone-perl 367s libconfig-gitlike-perl libdata-optlist-perl libdatetime-locale-perl 367s libdatetime-perl libdatetime-timezone-perl libdbd-pg-perl libdbi-perl 367s libdevel-callchecker-perl libdevel-stacktrace-perl 367s libdynaloader-functions-perl libencode-locale-perl libeval-closure-perl 367s libexception-class-perl libexporter-tiny-perl libfile-sharedir-perl 367s libfile-which-perl libhash-merge-perl libimport-into-perl libintl-perl 367s libio-pager-perl libipc-run3-perl libipc-system-simple-perl 367s liblist-moreutils-perl liblist-moreutils-xs-perl 367s libmodule-implementation-perl libmodule-runtime-perl libmoo-perl 367s libmoox-types-mooselike-perl libmro-compat-perl libnamespace-autoclean-perl 367s libnamespace-clean-perl libpackage-stash-perl libparams-classify-perl 367s libparams-util-perl libparams-validationcompiler-perl libpath-class-perl 367s libperlio-utf8-strict-perl libpod-parser-perl libpq5 librole-tiny-perl 367s libspecio-perl libstring-formatter-perl libstring-shellquote-perl 367s libsub-exporter-perl libsub-exporter-progressive-perl libsub-identify-perl 367s libsub-install-perl libsub-name-perl libsub-quote-perl libtemplate-tiny-perl 367s libterm-readkey-perl libthrowable-perl libtry-tiny-perl libtype-tiny-perl 367s liburi-db-perl liburi-nested-perl liburi-perl libvariable-magic-perl 367s libxstring-perl pkg-perl-autopkgtest postgresql-client postgresql-client-17 367s postgresql-client-common sqitch 367s 0 upgraded, 78 newly installed, 0 to remove and 0 not upgraded. 367s Need to get 9283 kB of archives. 367s After this operation, 52.2 MB of additional disk space will be used. 367s Get:1 http://ftpmaster.internal/ubuntu questing/main armhf dctrl-tools armhf 2.24-3build3 [94.7 kB] 367s Get:2 http://ftpmaster.internal/ubuntu questing/main armhf autodep8 all 0.28+nmu1ubuntu1 [13.7 kB] 367s Get:3 http://ftpmaster.internal/ubuntu questing/universe armhf libalgorithm-backoff-perl all 0.010-1 [37.3 kB] 367s Get:4 http://ftpmaster.internal/ubuntu questing/universe armhf libalgorithm-c3-perl all 0.11-2 [10.2 kB] 367s Get:5 http://ftpmaster.internal/ubuntu questing/main armhf libb-hooks-op-check-perl armhf 0.22-3build2 [9174 B] 367s Get:6 http://ftpmaster.internal/ubuntu questing/main armhf libdynaloader-functions-perl all 0.004-1 [11.4 kB] 367s Get:7 http://ftpmaster.internal/ubuntu questing/main armhf libdevel-callchecker-perl armhf 0.009-1build1 [14.0 kB] 367s Get:8 http://ftpmaster.internal/ubuntu questing/main armhf libparams-classify-perl armhf 0.015-2build6 [18.8 kB] 367s Get:9 http://ftpmaster.internal/ubuntu questing/main armhf libmodule-runtime-perl all 0.016-2 [16.4 kB] 367s Get:10 http://ftpmaster.internal/ubuntu questing/main armhf libtry-tiny-perl all 0.32-1 [21.2 kB] 367s Get:11 http://ftpmaster.internal/ubuntu questing/main armhf libmodule-implementation-perl all 0.09-2 [12.0 kB] 367s Get:12 http://ftpmaster.internal/ubuntu questing/main armhf libsub-exporter-progressive-perl all 0.001013-3 [6718 B] 367s Get:13 http://ftpmaster.internal/ubuntu questing/main armhf libvariable-magic-perl armhf 0.64-1build1 [33.4 kB] 367s Get:14 http://ftpmaster.internal/ubuntu questing/main armhf libb-hooks-endofscope-perl all 0.28-1 [15.8 kB] 367s Get:15 http://ftpmaster.internal/ubuntu questing/universe armhf libclass-c3-perl all 0.35-2 [18.4 kB] 367s Get:16 http://ftpmaster.internal/ubuntu questing/main armhf libclass-data-inheritable-perl all 0.10-1 [8038 B] 367s Get:17 http://ftpmaster.internal/ubuntu questing/main armhf libclass-inspector-perl all 1.36-3 [15.4 kB] 367s Get:18 http://ftpmaster.internal/ubuntu questing/main armhf libclass-method-modifiers-perl all 2.15-1 [16.1 kB] 367s Get:19 http://ftpmaster.internal/ubuntu questing/universe armhf libclass-singleton-perl all 1.6-2 [11.5 kB] 367s Get:20 http://ftpmaster.internal/ubuntu questing/main armhf libclass-xsaccessor-perl armhf 1.19-4build6 [32.4 kB] 367s Get:21 http://ftpmaster.internal/ubuntu questing/universe armhf libclone-choose-perl all 0.010-2 [7738 B] 367s Get:22 http://ftpmaster.internal/ubuntu questing/main armhf libclone-perl armhf 0.47-1 [10.0 kB] 367s Get:23 http://ftpmaster.internal/ubuntu questing/main armhf libimport-into-perl all 1.002005-2 [10.7 kB] 367s Get:24 http://ftpmaster.internal/ubuntu questing/main armhf librole-tiny-perl all 2.002004-1 [16.3 kB] 367s Get:25 http://ftpmaster.internal/ubuntu questing/main armhf libsub-quote-perl all 2.006008-1ubuntu1 [20.7 kB] 367s Get:26 http://ftpmaster.internal/ubuntu questing/main armhf libmoo-perl all 2.005005-1 [47.4 kB] 367s Get:27 http://ftpmaster.internal/ubuntu questing/universe armhf libmoox-types-mooselike-perl all 0.29-2 [16.7 kB] 367s Get:28 http://ftpmaster.internal/ubuntu questing/universe armhf libconfig-gitlike-perl all 1.18-2 [33.8 kB] 367s Get:29 http://ftpmaster.internal/ubuntu questing/main armhf libparams-util-perl armhf 1.102-3build1 [20.5 kB] 367s Get:30 http://ftpmaster.internal/ubuntu questing/main armhf libsub-install-perl all 0.929-1 [9764 B] 367s Get:31 http://ftpmaster.internal/ubuntu questing/main armhf libdata-optlist-perl all 0.114-1 [9708 B] 367s Get:32 http://ftpmaster.internal/ubuntu questing/main armhf libdbi-perl armhf 1.647-1 [823 kB] 367s Get:33 http://ftpmaster.internal/ubuntu questing/main armhf libpq5 armhf 17.4-1 [125 kB] 367s Get:34 http://ftpmaster.internal/ubuntu questing/universe armhf libdbd-pg-perl armhf 3.18.0-1build4 [189 kB] 367s Get:35 http://ftpmaster.internal/ubuntu questing/main armhf libdevel-stacktrace-perl all 2.0500-1 [22.1 kB] 367s Get:36 http://ftpmaster.internal/ubuntu questing/main armhf libencode-locale-perl all 1.05-3 [11.6 kB] 367s Get:37 http://ftpmaster.internal/ubuntu questing/main armhf libsub-exporter-perl all 0.990-1 [49.0 kB] 367s Get:38 http://ftpmaster.internal/ubuntu questing/universe armhf libeval-closure-perl all 0.14-3 [10.1 kB] 367s Get:39 http://ftpmaster.internal/ubuntu questing/main armhf libexception-class-perl all 1.45-1 [28.6 kB] 367s Get:40 http://ftpmaster.internal/ubuntu questing/main armhf libexporter-tiny-perl all 1.006002-1 [36.8 kB] 367s Get:41 http://ftpmaster.internal/ubuntu questing/main armhf libfile-sharedir-perl all 1.118-3 [14.0 kB] 367s Get:42 http://ftpmaster.internal/ubuntu questing/main armhf libfile-which-perl all 1.27-2 [12.5 kB] 367s Get:43 http://ftpmaster.internal/ubuntu questing/universe armhf libhash-merge-perl all 0.302-1 [13.0 kB] 367s Get:44 http://ftpmaster.internal/ubuntu questing/main armhf libintl-perl all 1.35-1 [701 kB] 368s Get:45 http://ftpmaster.internal/ubuntu questing/main armhf libterm-readkey-perl armhf 2.38-2build5 [22.6 kB] 368s Get:46 http://ftpmaster.internal/ubuntu questing/universe armhf libio-pager-perl all 2.10-1 [50.5 kB] 368s Get:47 http://ftpmaster.internal/ubuntu questing/main armhf libipc-system-simple-perl all 1.30-2 [22.3 kB] 368s Get:48 http://ftpmaster.internal/ubuntu questing/universe armhf liblist-moreutils-xs-perl armhf 0.430-4build1 [37.9 kB] 368s Get:49 http://ftpmaster.internal/ubuntu questing/universe armhf liblist-moreutils-perl all 0.430-2 [38.2 kB] 368s Get:50 http://ftpmaster.internal/ubuntu questing/universe armhf libmro-compat-perl all 0.15-2 [10.1 kB] 368s Get:51 http://ftpmaster.internal/ubuntu questing/main armhf libpackage-stash-perl all 0.40-1 [19.5 kB] 368s Get:52 http://ftpmaster.internal/ubuntu questing/main armhf libsub-identify-perl armhf 0.14-3build4 [9396 B] 368s Get:53 http://ftpmaster.internal/ubuntu questing/main armhf libsub-name-perl armhf 0.28-1 [10.0 kB] 368s Get:54 http://ftpmaster.internal/ubuntu questing/main armhf libnamespace-clean-perl all 0.27-2 [14.0 kB] 368s Get:55 http://ftpmaster.internal/ubuntu questing/universe armhf libnamespace-autoclean-perl all 0.31-1 [11.9 kB] 368s Get:56 http://ftpmaster.internal/ubuntu questing/universe armhf libparams-validationcompiler-perl all 0.31-1 [28.3 kB] 368s Get:57 http://ftpmaster.internal/ubuntu questing/universe armhf libpath-class-perl all 0.37-4 [36.8 kB] 368s Get:58 http://ftpmaster.internal/ubuntu questing/main armhf libperlio-utf8-strict-perl armhf 0.010-1build4 [10.5 kB] 368s Get:59 http://ftpmaster.internal/ubuntu questing/main armhf libpod-parser-perl all 1.67-1 [80.6 kB] 368s Get:60 http://ftpmaster.internal/ubuntu questing/universe armhf libxstring-perl armhf 0.005-2build4 [7650 B] 368s Get:61 http://ftpmaster.internal/ubuntu questing/universe armhf libspecio-perl all 0.50-1 [127 kB] 368s Get:62 http://ftpmaster.internal/ubuntu questing/universe armhf libstring-formatter-perl all 1.235-1 [21.3 kB] 368s Get:63 http://ftpmaster.internal/ubuntu questing/main armhf libstring-shellquote-perl all 1.04-3 [11.3 kB] 368s Get:64 http://ftpmaster.internal/ubuntu questing/universe armhf libtemplate-tiny-perl all 1.14-2 [11.0 kB] 368s Get:65 http://ftpmaster.internal/ubuntu questing/universe armhf libthrowable-perl all 1.001-2 [14.2 kB] 368s Get:66 http://ftpmaster.internal/ubuntu questing/universe armhf libtype-tiny-perl all 2.004000-1 [354 kB] 368s Get:67 http://ftpmaster.internal/ubuntu questing/main armhf liburi-perl all 5.30-1 [94.4 kB] 368s Get:68 http://ftpmaster.internal/ubuntu questing/universe armhf liburi-nested-perl all 0.10-4 [7926 B] 368s Get:69 http://ftpmaster.internal/ubuntu questing/universe armhf liburi-db-perl all 0.23-1 [20.3 kB] 368s Get:70 http://ftpmaster.internal/ubuntu questing-proposed/main armhf postgresql-client-common all 277 [48.0 kB] 368s Get:71 http://ftpmaster.internal/ubuntu questing/main armhf postgresql-client-17 armhf 17.4-1 [1285 kB] 369s Get:72 http://ftpmaster.internal/ubuntu questing-proposed/main armhf postgresql-client all 17+277 [13.7 kB] 369s Get:73 http://ftpmaster.internal/ubuntu questing/universe armhf libdatetime-locale-perl all 1:1.41-1 [3193 kB] 370s Get:74 http://ftpmaster.internal/ubuntu questing/universe armhf libdatetime-timezone-perl all 1:2.64-1+2025a [259 kB] 370s Get:75 http://ftpmaster.internal/ubuntu questing/universe armhf libdatetime-perl armhf 2:1.65-1build3 [98.3 kB] 370s Get:76 http://ftpmaster.internal/ubuntu questing/main armhf libipc-run3-perl all 0.049-1 [28.8 kB] 370s Get:77 http://ftpmaster.internal/ubuntu questing/universe armhf sqitch all 1.5.0-1 [611 kB] 370s Get:78 http://ftpmaster.internal/ubuntu questing/universe armhf pkg-perl-autopkgtest all 0.82 [18.8 kB] 371s Fetched 9283 kB in 4s (2253 kB/s) 371s Selecting previously unselected package dctrl-tools. 371s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 63951 files and directories currently installed.) 371s Preparing to unpack .../00-dctrl-tools_2.24-3build3_armhf.deb ... 371s Unpacking dctrl-tools (2.24-3build3) ... 371s Selecting previously unselected package autodep8. 371s Preparing to unpack .../01-autodep8_0.28+nmu1ubuntu1_all.deb ... 371s Unpacking autodep8 (0.28+nmu1ubuntu1) ... 371s Selecting previously unselected package libalgorithm-backoff-perl. 371s Preparing to unpack .../02-libalgorithm-backoff-perl_0.010-1_all.deb ... 371s Unpacking libalgorithm-backoff-perl (0.010-1) ... 371s Selecting previously unselected package libalgorithm-c3-perl. 371s Preparing to unpack .../03-libalgorithm-c3-perl_0.11-2_all.deb ... 371s Unpacking libalgorithm-c3-perl (0.11-2) ... 371s Selecting previously unselected package libb-hooks-op-check-perl:armhf. 371s Preparing to unpack .../04-libb-hooks-op-check-perl_0.22-3build2_armhf.deb ... 371s Unpacking libb-hooks-op-check-perl:armhf (0.22-3build2) ... 371s Selecting previously unselected package libdynaloader-functions-perl. 371s Preparing to unpack .../05-libdynaloader-functions-perl_0.004-1_all.deb ... 371s Unpacking libdynaloader-functions-perl (0.004-1) ... 371s Selecting previously unselected package libdevel-callchecker-perl:armhf. 371s Preparing to unpack .../06-libdevel-callchecker-perl_0.009-1build1_armhf.deb ... 371s Unpacking libdevel-callchecker-perl:armhf (0.009-1build1) ... 371s Selecting previously unselected package libparams-classify-perl:armhf. 371s Preparing to unpack .../07-libparams-classify-perl_0.015-2build6_armhf.deb ... 371s Unpacking libparams-classify-perl:armhf (0.015-2build6) ... 371s Selecting previously unselected package libmodule-runtime-perl. 371s Preparing to unpack .../08-libmodule-runtime-perl_0.016-2_all.deb ... 371s Unpacking libmodule-runtime-perl (0.016-2) ... 371s Selecting previously unselected package libtry-tiny-perl. 371s Preparing to unpack .../09-libtry-tiny-perl_0.32-1_all.deb ... 371s Unpacking libtry-tiny-perl (0.32-1) ... 371s Selecting previously unselected package libmodule-implementation-perl. 371s Preparing to unpack .../10-libmodule-implementation-perl_0.09-2_all.deb ... 371s Unpacking libmodule-implementation-perl (0.09-2) ... 371s Selecting previously unselected package libsub-exporter-progressive-perl. 371s Preparing to unpack .../11-libsub-exporter-progressive-perl_0.001013-3_all.deb ... 371s Unpacking libsub-exporter-progressive-perl (0.001013-3) ... 371s Selecting previously unselected package libvariable-magic-perl. 371s Preparing to unpack .../12-libvariable-magic-perl_0.64-1build1_armhf.deb ... 371s Unpacking libvariable-magic-perl (0.64-1build1) ... 371s Selecting previously unselected package libb-hooks-endofscope-perl. 371s Preparing to unpack .../13-libb-hooks-endofscope-perl_0.28-1_all.deb ... 371s Unpacking libb-hooks-endofscope-perl (0.28-1) ... 371s Selecting previously unselected package libclass-c3-perl. 371s Preparing to unpack .../14-libclass-c3-perl_0.35-2_all.deb ... 371s Unpacking libclass-c3-perl (0.35-2) ... 371s Selecting previously unselected package libclass-data-inheritable-perl. 371s Preparing to unpack .../15-libclass-data-inheritable-perl_0.10-1_all.deb ... 371s Unpacking libclass-data-inheritable-perl (0.10-1) ... 371s Selecting previously unselected package libclass-inspector-perl. 371s Preparing to unpack .../16-libclass-inspector-perl_1.36-3_all.deb ... 371s Unpacking libclass-inspector-perl (1.36-3) ... 371s Selecting previously unselected package libclass-method-modifiers-perl. 371s Preparing to unpack .../17-libclass-method-modifiers-perl_2.15-1_all.deb ... 371s Unpacking libclass-method-modifiers-perl (2.15-1) ... 371s Selecting previously unselected package libclass-singleton-perl. 371s Preparing to unpack .../18-libclass-singleton-perl_1.6-2_all.deb ... 371s Unpacking libclass-singleton-perl (1.6-2) ... 372s Selecting previously unselected package libclass-xsaccessor-perl. 372s Preparing to unpack .../19-libclass-xsaccessor-perl_1.19-4build6_armhf.deb ... 372s Unpacking libclass-xsaccessor-perl (1.19-4build6) ... 372s Selecting previously unselected package libclone-choose-perl. 372s Preparing to unpack .../20-libclone-choose-perl_0.010-2_all.deb ... 372s Unpacking libclone-choose-perl (0.010-2) ... 372s Selecting previously unselected package libclone-perl:armhf. 372s Preparing to unpack .../21-libclone-perl_0.47-1_armhf.deb ... 372s Unpacking libclone-perl:armhf (0.47-1) ... 372s Selecting previously unselected package libimport-into-perl. 372s Preparing to unpack .../22-libimport-into-perl_1.002005-2_all.deb ... 372s Unpacking libimport-into-perl (1.002005-2) ... 372s Selecting previously unselected package librole-tiny-perl. 372s Preparing to unpack .../23-librole-tiny-perl_2.002004-1_all.deb ... 372s Unpacking librole-tiny-perl (2.002004-1) ... 372s Selecting previously unselected package libsub-quote-perl. 372s Preparing to unpack .../24-libsub-quote-perl_2.006008-1ubuntu1_all.deb ... 372s Unpacking libsub-quote-perl (2.006008-1ubuntu1) ... 372s Selecting previously unselected package libmoo-perl. 372s Preparing to unpack .../25-libmoo-perl_2.005005-1_all.deb ... 372s Unpacking libmoo-perl (2.005005-1) ... 372s Selecting previously unselected package libmoox-types-mooselike-perl. 372s Preparing to unpack .../26-libmoox-types-mooselike-perl_0.29-2_all.deb ... 372s Unpacking libmoox-types-mooselike-perl (0.29-2) ... 372s Selecting previously unselected package libconfig-gitlike-perl. 372s Preparing to unpack .../27-libconfig-gitlike-perl_1.18-2_all.deb ... 372s Unpacking libconfig-gitlike-perl (1.18-2) ... 372s Selecting previously unselected package libparams-util-perl. 372s Preparing to unpack .../28-libparams-util-perl_1.102-3build1_armhf.deb ... 372s Unpacking libparams-util-perl (1.102-3build1) ... 372s Selecting previously unselected package libsub-install-perl. 372s Preparing to unpack .../29-libsub-install-perl_0.929-1_all.deb ... 372s Unpacking libsub-install-perl (0.929-1) ... 372s Selecting previously unselected package libdata-optlist-perl. 372s Preparing to unpack .../30-libdata-optlist-perl_0.114-1_all.deb ... 372s Unpacking libdata-optlist-perl (0.114-1) ... 372s Selecting previously unselected package libdbi-perl:armhf. 372s Preparing to unpack .../31-libdbi-perl_1.647-1_armhf.deb ... 372s Unpacking libdbi-perl:armhf (1.647-1) ... 372s Selecting previously unselected package libpq5:armhf. 372s Preparing to unpack .../32-libpq5_17.4-1_armhf.deb ... 372s Unpacking libpq5:armhf (17.4-1) ... 372s Selecting previously unselected package libdbd-pg-perl. 372s Preparing to unpack .../33-libdbd-pg-perl_3.18.0-1build4_armhf.deb ... 372s Unpacking libdbd-pg-perl (3.18.0-1build4) ... 372s Selecting previously unselected package libdevel-stacktrace-perl. 372s Preparing to unpack .../34-libdevel-stacktrace-perl_2.0500-1_all.deb ... 372s Unpacking libdevel-stacktrace-perl (2.0500-1) ... 372s Selecting previously unselected package libencode-locale-perl. 372s Preparing to unpack .../35-libencode-locale-perl_1.05-3_all.deb ... 372s Unpacking libencode-locale-perl (1.05-3) ... 372s Selecting previously unselected package libsub-exporter-perl. 372s Preparing to unpack .../36-libsub-exporter-perl_0.990-1_all.deb ... 372s Unpacking libsub-exporter-perl (0.990-1) ... 372s Selecting previously unselected package libeval-closure-perl. 372s Preparing to unpack .../37-libeval-closure-perl_0.14-3_all.deb ... 372s Unpacking libeval-closure-perl (0.14-3) ... 372s Selecting previously unselected package libexception-class-perl. 372s Preparing to unpack .../38-libexception-class-perl_1.45-1_all.deb ... 372s Unpacking libexception-class-perl (1.45-1) ... 372s Selecting previously unselected package libexporter-tiny-perl. 372s Preparing to unpack .../39-libexporter-tiny-perl_1.006002-1_all.deb ... 372s Unpacking libexporter-tiny-perl (1.006002-1) ... 372s Selecting previously unselected package libfile-sharedir-perl. 372s Preparing to unpack .../40-libfile-sharedir-perl_1.118-3_all.deb ... 372s Unpacking libfile-sharedir-perl (1.118-3) ... 372s Selecting previously unselected package libfile-which-perl. 372s Preparing to unpack .../41-libfile-which-perl_1.27-2_all.deb ... 372s Unpacking libfile-which-perl (1.27-2) ... 372s Selecting previously unselected package libhash-merge-perl. 372s Preparing to unpack .../42-libhash-merge-perl_0.302-1_all.deb ... 372s Unpacking libhash-merge-perl (0.302-1) ... 372s Selecting previously unselected package libintl-perl. 372s Preparing to unpack .../43-libintl-perl_1.35-1_all.deb ... 372s Unpacking libintl-perl (1.35-1) ... 373s Selecting previously unselected package libterm-readkey-perl. 373s Preparing to unpack .../44-libterm-readkey-perl_2.38-2build5_armhf.deb ... 373s Unpacking libterm-readkey-perl (2.38-2build5) ... 373s Selecting previously unselected package libio-pager-perl. 373s Preparing to unpack .../45-libio-pager-perl_2.10-1_all.deb ... 373s Unpacking libio-pager-perl (2.10-1) ... 373s Selecting previously unselected package libipc-system-simple-perl. 373s Preparing to unpack .../46-libipc-system-simple-perl_1.30-2_all.deb ... 373s Unpacking libipc-system-simple-perl (1.30-2) ... 373s Selecting previously unselected package liblist-moreutils-xs-perl. 373s Preparing to unpack .../47-liblist-moreutils-xs-perl_0.430-4build1_armhf.deb ... 373s Unpacking liblist-moreutils-xs-perl (0.430-4build1) ... 373s Selecting previously unselected package liblist-moreutils-perl. 373s Preparing to unpack .../48-liblist-moreutils-perl_0.430-2_all.deb ... 373s Unpacking liblist-moreutils-perl (0.430-2) ... 373s Selecting previously unselected package libmro-compat-perl. 373s Preparing to unpack .../49-libmro-compat-perl_0.15-2_all.deb ... 373s Unpacking libmro-compat-perl (0.15-2) ... 373s Selecting previously unselected package libpackage-stash-perl. 373s Preparing to unpack .../50-libpackage-stash-perl_0.40-1_all.deb ... 373s Unpacking libpackage-stash-perl (0.40-1) ... 373s Selecting previously unselected package libsub-identify-perl. 373s Preparing to unpack .../51-libsub-identify-perl_0.14-3build4_armhf.deb ... 373s Unpacking libsub-identify-perl (0.14-3build4) ... 373s Selecting previously unselected package libsub-name-perl:armhf. 373s Preparing to unpack .../52-libsub-name-perl_0.28-1_armhf.deb ... 373s Unpacking libsub-name-perl:armhf (0.28-1) ... 373s Selecting previously unselected package libnamespace-clean-perl. 373s Preparing to unpack .../53-libnamespace-clean-perl_0.27-2_all.deb ... 373s Unpacking libnamespace-clean-perl (0.27-2) ... 373s Selecting previously unselected package libnamespace-autoclean-perl. 373s Preparing to unpack .../54-libnamespace-autoclean-perl_0.31-1_all.deb ... 373s Unpacking libnamespace-autoclean-perl (0.31-1) ... 373s Selecting previously unselected package libparams-validationcompiler-perl. 373s Preparing to unpack .../55-libparams-validationcompiler-perl_0.31-1_all.deb ... 373s Unpacking libparams-validationcompiler-perl (0.31-1) ... 373s Selecting previously unselected package libpath-class-perl. 373s Preparing to unpack .../56-libpath-class-perl_0.37-4_all.deb ... 373s Unpacking libpath-class-perl (0.37-4) ... 373s Selecting previously unselected package libperlio-utf8-strict-perl. 373s Preparing to unpack .../57-libperlio-utf8-strict-perl_0.010-1build4_armhf.deb ... 373s Unpacking libperlio-utf8-strict-perl (0.010-1build4) ... 373s Selecting previously unselected package libpod-parser-perl. 373s Preparing to unpack .../58-libpod-parser-perl_1.67-1_all.deb ... 373s Adding 'diversion of /usr/bin/podselect to /usr/bin/podselect.bundled by libpod-parser-perl' 373s Adding 'diversion of /usr/share/man/man1/podselect.1.gz to /usr/share/man/man1/podselect.bundled.1.gz by libpod-parser-perl' 373s Unpacking libpod-parser-perl (1.67-1) ... 373s Selecting previously unselected package libxstring-perl:armhf. 373s Preparing to unpack .../59-libxstring-perl_0.005-2build4_armhf.deb ... 373s Unpacking libxstring-perl:armhf (0.005-2build4) ... 373s Selecting previously unselected package libspecio-perl. 373s Preparing to unpack .../60-libspecio-perl_0.50-1_all.deb ... 373s Unpacking libspecio-perl (0.50-1) ... 373s Selecting previously unselected package libstring-formatter-perl. 373s Preparing to unpack .../61-libstring-formatter-perl_1.235-1_all.deb ... 373s Unpacking libstring-formatter-perl (1.235-1) ... 373s Selecting previously unselected package libstring-shellquote-perl. 373s Preparing to unpack .../62-libstring-shellquote-perl_1.04-3_all.deb ... 373s Unpacking libstring-shellquote-perl (1.04-3) ... 373s Selecting previously unselected package libtemplate-tiny-perl. 373s Preparing to unpack .../63-libtemplate-tiny-perl_1.14-2_all.deb ... 373s Unpacking libtemplate-tiny-perl (1.14-2) ... 373s Selecting previously unselected package libthrowable-perl. 373s Preparing to unpack .../64-libthrowable-perl_1.001-2_all.deb ... 373s Unpacking libthrowable-perl (1.001-2) ... 373s Selecting previously unselected package libtype-tiny-perl. 373s Preparing to unpack .../65-libtype-tiny-perl_2.004000-1_all.deb ... 373s Unpacking libtype-tiny-perl (2.004000-1) ... 373s Selecting previously unselected package liburi-perl. 373s Preparing to unpack .../66-liburi-perl_5.30-1_all.deb ... 373s Unpacking liburi-perl (5.30-1) ... 373s Selecting previously unselected package liburi-nested-perl. 373s Preparing to unpack .../67-liburi-nested-perl_0.10-4_all.deb ... 373s Unpacking liburi-nested-perl (0.10-4) ... 374s Selecting previously unselected package liburi-db-perl. 374s Preparing to unpack .../68-liburi-db-perl_0.23-1_all.deb ... 374s Unpacking liburi-db-perl (0.23-1) ... 374s Selecting previously unselected package postgresql-client-common. 374s Preparing to unpack .../69-postgresql-client-common_277_all.deb ... 374s Unpacking postgresql-client-common (277) ... 374s Selecting previously unselected package postgresql-client-17. 374s Preparing to unpack .../70-postgresql-client-17_17.4-1_armhf.deb ... 374s Unpacking postgresql-client-17 (17.4-1) ... 374s Selecting previously unselected package postgresql-client. 374s Preparing to unpack .../71-postgresql-client_17+277_all.deb ... 374s Unpacking postgresql-client (17+277) ... 374s Selecting previously unselected package libdatetime-locale-perl. 374s Preparing to unpack .../72-libdatetime-locale-perl_1%3a1.41-1_all.deb ... 374s Unpacking libdatetime-locale-perl (1:1.41-1) ... 374s Selecting previously unselected package libdatetime-timezone-perl. 374s Preparing to unpack .../73-libdatetime-timezone-perl_1%3a2.64-1+2025a_all.deb ... 374s Unpacking libdatetime-timezone-perl (1:2.64-1+2025a) ... 374s Selecting previously unselected package libdatetime-perl. 374s Preparing to unpack .../74-libdatetime-perl_2%3a1.65-1build3_armhf.deb ... 374s Unpacking libdatetime-perl (2:1.65-1build3) ... 374s Selecting previously unselected package libipc-run3-perl. 374s Preparing to unpack .../75-libipc-run3-perl_0.049-1_all.deb ... 374s Unpacking libipc-run3-perl (0.049-1) ... 374s Selecting previously unselected package sqitch. 374s Preparing to unpack .../76-sqitch_1.5.0-1_all.deb ... 374s Unpacking sqitch (1.5.0-1) ... 375s Selecting previously unselected package pkg-perl-autopkgtest. 375s Preparing to unpack .../77-pkg-perl-autopkgtest_0.82_all.deb ... 375s Unpacking pkg-perl-autopkgtest (0.82) ... 375s Setting up postgresql-client-common (277) ... 375s Setting up libfile-which-perl (1.27-2) ... 375s Setting up libclass-inspector-perl (1.36-3) ... 375s Setting up libdynaloader-functions-perl (0.004-1) ... 375s Setting up libclass-method-modifiers-perl (2.15-1) ... 375s Setting up libpath-class-perl (0.37-4) ... 375s Setting up libclone-perl:armhf (0.47-1) ... 375s Setting up libsub-identify-perl (0.14-3build4) ... 375s Setting up libalgorithm-backoff-perl (0.010-1) ... 375s Setting up libtry-tiny-perl (0.32-1) ... 375s Setting up libpq5:armhf (17.4-1) ... 375s Setting up libclone-choose-perl (0.010-2) ... 375s Setting up libclass-singleton-perl (1.6-2) ... 375s Setting up libencode-locale-perl (1.05-3) ... 375s Setting up libxstring-perl:armhf (0.005-2build4) ... 375s Setting up libstring-shellquote-perl (1.04-3) ... 375s Setting up libsub-install-perl (0.929-1) ... 375s Setting up libclass-data-inheritable-perl (0.10-1) ... 375s Setting up libalgorithm-c3-perl (0.11-2) ... 375s Setting up libipc-system-simple-perl (1.30-2) ... 375s Setting up libperlio-utf8-strict-perl (0.010-1build4) ... 375s Setting up libvariable-magic-perl (0.64-1build1) ... 375s Setting up libpod-parser-perl (1.67-1) ... 375s Setting up libb-hooks-op-check-perl:armhf (0.22-3build2) ... 375s Setting up liblist-moreutils-xs-perl (0.430-4build1) ... 375s Setting up libparams-util-perl (1.102-3build1) ... 375s Setting up libsub-exporter-progressive-perl (0.001013-3) ... 375s Setting up libsub-name-perl:armhf (0.28-1) ... 375s Setting up librole-tiny-perl (2.002004-1) ... 375s Setting up libintl-perl (1.35-1) ... 375s Setting up libipc-run3-perl (0.049-1) ... 375s Setting up libfile-sharedir-perl (1.118-3) ... 375s Setting up libsub-quote-perl (2.006008-1ubuntu1) ... 375s Setting up libdevel-stacktrace-perl (2.0500-1) ... 375s Setting up libclass-xsaccessor-perl (1.19-4build6) ... 375s Setting up libtemplate-tiny-perl (1.14-2) ... 375s Setting up libexporter-tiny-perl (1.006002-1) ... 375s Setting up libterm-readkey-perl (2.38-2build5) ... 375s Setting up liburi-perl (5.30-1) ... 375s Setting up libdbi-perl:armhf (1.647-1) ... 375s Setting up dctrl-tools (2.24-3build3) ... 375s Setting up autodep8 (0.28+nmu1ubuntu1) ... 375s Setting up libio-pager-perl (2.10-1) ... 375s Setting up postgresql-client-17 (17.4-1) ... 375s update-alternatives: using /usr/share/postgresql/17/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode 375s Setting up liblist-moreutils-perl (0.430-2) ... 375s Setting up libhash-merge-perl (0.302-1) ... 375s Setting up libtype-tiny-perl (2.004000-1) ... 375s Setting up liburi-nested-perl (0.10-4) ... 375s Setting up libdbd-pg-perl (3.18.0-1build4) ... 375s Setting up libexception-class-perl (1.45-1) ... 375s Setting up libclass-c3-perl (0.35-2) ... 375s Setting up libdevel-callchecker-perl:armhf (0.009-1build1) ... 375s Setting up liburi-db-perl (0.23-1) ... 375s Setting up libdata-optlist-perl (0.114-1) ... 375s Setting up pkg-perl-autopkgtest (0.82) ... 375s Setting up libmro-compat-perl (0.15-2) ... 375s Setting up libsub-exporter-perl (0.990-1) ... 375s Setting up libeval-closure-perl (0.14-3) ... 375s Setting up libparams-validationcompiler-perl (0.31-1) ... 375s Setting up postgresql-client (17+277) ... 375s Setting up libparams-classify-perl:armhf (0.015-2build6) ... 375s Setting up libmodule-runtime-perl (0.016-2) ... 375s Setting up libstring-formatter-perl (1.235-1) ... 375s Setting up libmodule-implementation-perl (0.09-2) ... 375s Setting up libpackage-stash-perl (0.40-1) ... 375s Setting up libimport-into-perl (1.002005-2) ... 375s Setting up libmoo-perl (2.005005-1) ... 375s Setting up libspecio-perl (0.50-1) ... 375s Setting up libmoox-types-mooselike-perl (0.29-2) ... 375s Setting up libb-hooks-endofscope-perl (0.28-1) ... 375s Setting up libconfig-gitlike-perl (1.18-2) ... 375s Setting up libthrowable-perl (1.001-2) ... 375s Setting up libnamespace-clean-perl (0.27-2) ... 375s Setting up libnamespace-autoclean-perl (0.31-1) ... 375s Setting up libdatetime-locale-perl (1:1.41-1) ... 375s Setting up libdatetime-timezone-perl (1:2.64-1+2025a) ... 375s Setting up libdatetime-perl (2:1.65-1build3) ... 375s Setting up sqitch (1.5.0-1) ... 375s Processing triggers for man-db (2.13.0-1) ... 377s Processing triggers for libc-bin (2.41-6ubuntu1) ... 394s autopkgtest [15:22:52]: test autodep8-perl: /usr/share/pkg-perl-autopkgtest/runner runtime-deps 394s autopkgtest [15:22:52]: test autodep8-perl: [----------------------- 397s /usr/share/pkg-perl-autopkgtest/runtime-deps.d/use.t .. 397s 1..4 397s ok 1 - /usr/bin/perl -w -M"App::Sqitch" -e 1 2>&1 exited successfully 397s ok 2 - /usr/bin/perl -w -M"App::Sqitch" -e 1 2>&1 produced no (non-whitelisted) output 397s ok 3 - env PERL_DL_NONLAZY=1 /usr/bin/perl -w -M"App::Sqitch" -e 1 2>&1 exited successfully 397s ok 4 - env PERL_DL_NONLAZY=1 /usr/bin/perl -w -M"App::Sqitch" -e 1 2>&1 produced no (non-whitelisted) output 397s ok 397s All tests successful. 397s Files=1, Tests=4, 1 wallclock secs ( 0.03 usr 0.01 sys + 0.60 cusr 0.09 csys = 0.73 CPU) 397s Result: PASS 397s autopkgtest [15:22:55]: test autodep8-perl: -----------------------] 401s autodep8-perl PASS (superficial) 401s autopkgtest [15:22:59]: test autodep8-perl: - - - - - - - - - - results - - - - - - - - - - 405s autopkgtest [15:23:03]: test autodep8-perl-recommends: preparing testbed 407s Reading package lists... 407s Building dependency tree... 407s Reading state information... 408s Starting pkgProblemResolver with broken count: 0 408s Starting 2 pkgProblemResolver with broken count: 0 408s Done 409s The following NEW packages will be installed: 409s libappconfig-perl libtemplate-perl libtype-tiny-xs-perl 409s 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. 409s Need to get 584 kB of archives. 409s After this operation, 1721 kB of additional disk space will be used. 409s Get:1 http://ftpmaster.internal/ubuntu questing/main armhf libappconfig-perl all 1.71-2.3 [64.8 kB] 409s Get:2 http://ftpmaster.internal/ubuntu questing/main armhf libtemplate-perl armhf 2.27-1build11 [496 kB] 409s Get:3 http://ftpmaster.internal/ubuntu questing/universe armhf libtype-tiny-xs-perl armhf 0.025-2build1 [23.5 kB] 410s Fetched 584 kB in 1s (1130 kB/s) 410s Selecting previously unselected package libappconfig-perl. 410s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 69678 files and directories currently installed.) 410s Preparing to unpack .../libappconfig-perl_1.71-2.3_all.deb ... 410s Unpacking libappconfig-perl (1.71-2.3) ... 410s Selecting previously unselected package libtemplate-perl. 410s Preparing to unpack .../libtemplate-perl_2.27-1build11_armhf.deb ... 410s Unpacking libtemplate-perl (2.27-1build11) ... 410s Selecting previously unselected package libtype-tiny-xs-perl:armhf. 410s Preparing to unpack .../libtype-tiny-xs-perl_0.025-2build1_armhf.deb ... 410s Unpacking libtype-tiny-xs-perl:armhf (0.025-2build1) ... 410s Setting up libtype-tiny-xs-perl:armhf (0.025-2build1) ... 410s Setting up libappconfig-perl (1.71-2.3) ... 410s Setting up libtemplate-perl (2.27-1build11) ... 410s Processing triggers for man-db (2.13.0-1) ... 420s autopkgtest [15:23:18]: test autodep8-perl-recommends: /usr/share/pkg-perl-autopkgtest/runner runtime-deps-and-recommends 420s autopkgtest [15:23:18]: test autodep8-perl-recommends: [----------------------- 422s Test skipped 422s autopkgtest [15:23:20]: test autodep8-perl-recommends: -----------------------] 426s autopkgtest [15:23:24]: test autodep8-perl-recommends: - - - - - - - - - - results - - - - - - - - - - 426s autodep8-perl-recommends SKIP exit status 77 and marked as skippable 430s autopkgtest [15:23:28]: @@@@@@@@@@@@@@@@@@@@ summary 430s autodep8-perl-build-deps PASS 430s autodep8-perl PASS (superficial) 430s autodep8-perl-recommends SKIP exit status 77 and marked as skippable