I: pbuilder: network access will be disabled during build I: Current time: Tue Oct 22 23:58:16 -12 2024 I: pbuilder-time-stamp: 1729684696 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: using eatmydata during job I: Copying source file I: copying [sqitch_1.4.1-2.dsc] I: copying [./sqitch_1.4.1.orig.tar.gz] I: copying [./sqitch_1.4.1-2.debian.tar.xz] I: Extracting source gpgv: Signature made Sat Oct 19 23:40:26 2024 gpgv: using RSA key D1E1316E93A760A8104D85FABB3A68018649AA06 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./sqitch_1.4.1-2.dsc: no acceptable signature found dpkg-source: info: extracting sqitch in sqitch-1.4.1 dpkg-source: info: unpacking sqitch_1.4.1.orig.tar.gz dpkg-source: info: unpacking sqitch_1.4.1-2.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying fix-bad-whatis-man.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/3790/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='i386' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=6 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='i386' IFS=' ' INVOCATION_ID='ad3f14de01b74814bf7ef6a650fb2d17' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' LD_LIBRARY_PATH='/usr/lib/libeatmydata' LD_PRELOAD='libeatmydata.so' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='3790' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.yFgPMMfY/pbuilderrc_56s3 --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.yFgPMMfY/b1 --logfile b1/build.log sqitch_1.4.1-2.dsc' SUDO_GID='111' SUDO_UID='104' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' I: uname -a Linux infom07-i386 6.1.0-26-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.112-1 (2024-09-30) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin I: user script /srv/workspace/pbuilder/3790/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: i386 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), libmodule-build-perl, perl, dh-strip-nondeterminism, libalgorithm-backoff-perl, libcapture-tiny-perl, libclass-xsaccessor-perl, libclone-perl, libconfig-gitlike-perl, libdatetime-perl, libdatetime-timezone-perl, libdbd-sqlite3-perl, libdbi-perl, libdevel-stacktrace-perl, libencode-locale-perl, libhash-merge-perl, libintl-perl, libio-pager-perl, libipc-run3-perl, libipc-system-simple-perl, liblist-moreutils-perl, libmodule-runtime-perl, libmoo-perl, libnamespace-autoclean-perl, libpath-class-perl, libperlio-utf8-strict-perl, libpod-parser-perl, libstring-formatter-perl, libstring-shellquote-perl, libsub-exporter-perl, libtemplate-perl, libtemplate-tiny-perl, libtest-deep-perl, libtest-dir-perl, libtest-exception-perl, libtest-exit-perl, libtest-file-contents-perl, libtest-file-perl, libtest-mockmodule-perl, libtest-mockobject-perl, libtest-nowarnings-perl, libtest-warn-perl, libthrowable-perl, libtry-tiny-perl, libtype-tiny-perl, libtype-tiny-xs-perl, liburi-db-perl (>= 0.20), liburi-perl, sqlite3, tzdata dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19786 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on libmodule-build-perl; however: Package libmodule-build-perl is not installed. pbuilder-satisfydepends-dummy depends on dh-strip-nondeterminism; however: Package dh-strip-nondeterminism is not installed. pbuilder-satisfydepends-dummy depends on libalgorithm-backoff-perl; however: Package libalgorithm-backoff-perl is not installed. pbuilder-satisfydepends-dummy depends on libcapture-tiny-perl; however: Package libcapture-tiny-perl is not installed. pbuilder-satisfydepends-dummy depends on libclass-xsaccessor-perl; however: Package libclass-xsaccessor-perl is not installed. pbuilder-satisfydepends-dummy depends on libclone-perl; however: Package libclone-perl is not installed. pbuilder-satisfydepends-dummy depends on libconfig-gitlike-perl; however: Package libconfig-gitlike-perl is not installed. pbuilder-satisfydepends-dummy depends on libdatetime-perl; however: Package libdatetime-perl is not installed. pbuilder-satisfydepends-dummy depends on libdatetime-timezone-perl; however: Package libdatetime-timezone-perl is not installed. pbuilder-satisfydepends-dummy depends on libdbd-sqlite3-perl; however: Package libdbd-sqlite3-perl is not installed. pbuilder-satisfydepends-dummy depends on libdbi-perl; however: Package libdbi-perl is not installed. pbuilder-satisfydepends-dummy depends on libdevel-stacktrace-perl; however: Package libdevel-stacktrace-perl is not installed. pbuilder-satisfydepends-dummy depends on libencode-locale-perl; however: Package libencode-locale-perl is not installed. pbuilder-satisfydepends-dummy depends on libhash-merge-perl; however: Package libhash-merge-perl is not installed. pbuilder-satisfydepends-dummy depends on libintl-perl; however: Package libintl-perl is not installed. pbuilder-satisfydepends-dummy depends on libio-pager-perl; however: Package libio-pager-perl is not installed. pbuilder-satisfydepends-dummy depends on libipc-run3-perl; however: Package libipc-run3-perl is not installed. pbuilder-satisfydepends-dummy depends on libipc-system-simple-perl; however: Package libipc-system-simple-perl is not installed. pbuilder-satisfydepends-dummy depends on liblist-moreutils-perl; however: Package liblist-moreutils-perl is not installed. pbuilder-satisfydepends-dummy depends on libmodule-runtime-perl; however: Package libmodule-runtime-perl is not installed. pbuilder-satisfydepends-dummy depends on libmoo-perl; however: Package libmoo-perl is not installed. pbuilder-satisfydepends-dummy depends on libnamespace-autoclean-perl; however: Package libnamespace-autoclean-perl is not installed. pbuilder-satisfydepends-dummy depends on libpath-class-perl; however: Package libpath-class-perl is not installed. pbuilder-satisfydepends-dummy depends on libperlio-utf8-strict-perl; however: Package libperlio-utf8-strict-perl is not installed. pbuilder-satisfydepends-dummy depends on libpod-parser-perl; however: Package libpod-parser-perl is not installed. pbuilder-satisfydepends-dummy depends on libstring-formatter-perl; however: Package libstring-formatter-perl is not installed. pbuilder-satisfydepends-dummy depends on libstring-shellquote-perl; however: Package libstring-shellquote-perl is not installed. pbuilder-satisfydepends-dummy depends on libsub-exporter-perl; however: Package libsub-exporter-perl is not installed. pbuilder-satisfydepends-dummy depends on libtemplate-perl; however: Package libtemplate-perl is not installed. pbuilder-satisfydepends-dummy depends on libtemplate-tiny-perl; however: Package libtemplate-tiny-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-deep-perl; however: Package libtest-deep-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-dir-perl; however: Package libtest-dir-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-exception-perl; however: Package libtest-exception-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-exit-perl; however: Package libtest-exit-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-file-contents-perl; however: Package libtest-file-contents-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-file-perl; however: Package libtest-file-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-mockmodule-perl; however: Package libtest-mockmodule-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-mockobject-perl; however: Package libtest-mockobject-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-nowarnings-perl; however: Package libtest-nowarnings-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-warn-perl; however: Package libtest-warn-perl is not installed. pbuilder-satisfydepends-dummy depends on libthrowable-perl; however: Package libthrowable-perl is not installed. pbuilder-satisfydepends-dummy depends on libtry-tiny-perl; however: Package libtry-tiny-perl is not installed. pbuilder-satisfydepends-dummy depends on libtype-tiny-perl; however: Package libtype-tiny-perl is not installed. pbuilder-satisfydepends-dummy depends on libtype-tiny-xs-perl; however: Package libtype-tiny-xs-perl is not installed. pbuilder-satisfydepends-dummy depends on liburi-db-perl (>= 0.20); however: Package liburi-db-perl is not installed. pbuilder-satisfydepends-dummy depends on liburi-perl; however: Package liburi-perl is not installed. pbuilder-satisfydepends-dummy depends on sqlite3; however: Package sqlite3 is not installed. pbuilder-satisfydepends-dummy depends on tzdata; however: Package tzdata is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} libalgorithm-backoff-perl{a} libalgorithm-c3-perl{a} libalgorithm-diff-perl{a} libappconfig-perl{a} libarchive-zip-perl{a} libb-hooks-endofscope-perl{a} libb-hooks-op-check-perl{a} libcapture-tiny-perl{a} libclass-c3-perl{a} libclass-data-inheritable-perl{a} libclass-inspector-perl{a} libclass-method-modifiers-perl{a} libclass-singleton-perl{a} libclass-xsaccessor-perl{a} libclone-choose-perl{a} libclone-perl{a} libconfig-gitlike-perl{a} libdata-optlist-perl{a} libdatetime-locale-perl{a} libdatetime-perl{a} libdatetime-timezone-perl{a} libdbd-sqlite3-perl{a} libdbi-perl{a} libdebhelper-perl{a} libdevel-callchecker-perl{a} libdevel-stacktrace-perl{a} libdynaloader-functions-perl{a} libelf1t64{a} libencode-locale-perl{a} libeval-closure-perl{a} libexception-class-perl{a} libexporter-tiny-perl{a} libfile-sharedir-perl{a} libfile-stripnondeterminism-perl{a} libfile-which-perl{a} libhash-merge-perl{a} libicu72{a} libimport-into-perl{a} libintl-perl{a} libio-pager-perl{a} libipc-run3-perl{a} libipc-system-simple-perl{a} liblist-moreutils-perl{a} liblist-moreutils-xs-perl{a} libmagic-mgc{a} libmagic1t64{a} libmodule-build-perl{a} libmodule-implementation-perl{a} libmodule-runtime-perl{a} libmoo-perl{a} libmoox-types-mooselike-perl{a} libmro-compat-perl{a} libnamespace-autoclean-perl{a} libnamespace-clean-perl{a} libpackage-stash-perl{a} libparams-classify-perl{a} libparams-util-perl{a} libparams-validationcompiler-perl{a} libpath-class-perl{a} libperlio-utf8-strict-perl{a} libpipeline1{a} libpod-parser-perl{a} libreadline8t64{a} libreturn-multilevel-perl{a} librole-tiny-perl{a} libspecio-perl{a} libstring-formatter-perl{a} libstring-shellquote-perl{a} libsub-exporter-perl{a} libsub-exporter-progressive-perl{a} libsub-identify-perl{a} libsub-install-perl{a} libsub-name-perl{a} libsub-quote-perl{a} libsub-uplevel-perl{a} libsuper-perl{a} libtemplate-perl{a} libtemplate-tiny-perl{a} libterm-readkey-perl{a} libtest-deep-perl{a} libtest-dir-perl{a} libtest-exception-perl{a} libtest-exit-perl{a} libtest-file-contents-perl{a} libtest-file-perl{a} libtest-mockmodule-perl{a} libtest-mockobject-perl{a} libtest-nowarnings-perl{a} libtest-warn-perl{a} libtext-diff-perl{a} libthrowable-perl{a} libtool{a} libtry-tiny-perl{a} libtype-tiny-perl{a} libtype-tiny-xs-perl{a} libuchardet0{a} libuniversal-can-perl{a} libuniversal-isa-perl{a} liburi-db-perl{a} liburi-nested-perl{a} liburi-perl{a} libvariable-magic-perl{a} libxml2{a} libxstring-perl{a} m4{a} man-db{a} po-debconf{a} readline-common{a} sensible-utils{a} sqlite3{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: curl libalgorithm-diff-xs-perl libarchive-cpio-perl libclass-c3-xs-perl libdevel-lexalias-perl libintl-xs-perl libltdl-dev libmail-sendmail-perl libmodule-signature-perl libpackage-stash-xs-perl libpod-readme-perl libref-util-perl libscope-upper-perl libsoftware-license-perl lynx wget 0 packages upgraded, 125 newly installed, 0 to remove and 0 not upgraded. Need to get 29.5 MB of archives. After unpacking 127 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main i386 tzdata all 2024a-4 [255 kB] Get: 2 http://deb.debian.org/debian trixie/main i386 readline-common all 8.2-5 [69.3 kB] Get: 3 http://deb.debian.org/debian trixie/main i386 sensible-utils all 0.0.24 [24.8 kB] Get: 4 http://deb.debian.org/debian trixie/main i386 libmagic-mgc i386 1:5.45-3 [314 kB] Get: 5 http://deb.debian.org/debian trixie/main i386 libmagic1t64 i386 1:5.45-3 [114 kB] Get: 6 http://deb.debian.org/debian trixie/main i386 file i386 1:5.45-3 [42.9 kB] Get: 7 http://deb.debian.org/debian trixie/main i386 gettext-base i386 0.22.5-2 [201 kB] Get: 8 http://deb.debian.org/debian trixie/main i386 libuchardet0 i386 0.0.8-1+b1 [69.1 kB] Get: 9 http://deb.debian.org/debian trixie/main i386 groff-base i386 1.23.0-5 [1196 kB] Get: 10 http://deb.debian.org/debian trixie/main i386 bsdextrautils i386 2.40.2-9 [102 kB] Get: 11 http://deb.debian.org/debian trixie/main i386 libpipeline1 i386 1.5.8-1 [41.2 kB] Get: 12 http://deb.debian.org/debian trixie/main i386 man-db i386 2.13.0-1 [1428 kB] Get: 13 http://deb.debian.org/debian trixie/main i386 m4 i386 1.4.19-4 [293 kB] Get: 14 http://deb.debian.org/debian trixie/main i386 autoconf all 2.72-3 [493 kB] Get: 15 http://deb.debian.org/debian trixie/main i386 autotools-dev all 20220109.1 [51.6 kB] Get: 16 http://deb.debian.org/debian trixie/main i386 automake all 1:1.16.5-1.3 [823 kB] Get: 17 http://deb.debian.org/debian trixie/main i386 autopoint all 0.22.5-2 [723 kB] Get: 18 http://deb.debian.org/debian trixie/main i386 libdebhelper-perl all 13.20 [89.7 kB] Get: 19 http://deb.debian.org/debian trixie/main i386 libtool all 2.4.7-7 [517 kB] Get: 20 http://deb.debian.org/debian trixie/main i386 dh-autoreconf all 20 [17.1 kB] Get: 21 http://deb.debian.org/debian trixie/main i386 libarchive-zip-perl all 1.68-1 [104 kB] Get: 22 http://deb.debian.org/debian trixie/main i386 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 23 http://deb.debian.org/debian trixie/main i386 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 24 http://deb.debian.org/debian trixie/main i386 libelf1t64 i386 0.191-2 [194 kB] Get: 25 http://deb.debian.org/debian trixie/main i386 dwz i386 0.15-1+b1 [116 kB] Get: 26 http://deb.debian.org/debian trixie/main i386 libicu72 i386 72.1-5 [9550 kB] Get: 27 http://deb.debian.org/debian trixie/main i386 libxml2 i386 2.12.7+dfsg+really2.9.14-0.1 [733 kB] Get: 28 http://deb.debian.org/debian trixie/main i386 gettext i386 0.22.5-2 [1631 kB] Get: 29 http://deb.debian.org/debian trixie/main i386 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 30 http://deb.debian.org/debian trixie/main i386 po-debconf all 1.0.21+nmu1 [248 kB] Get: 31 http://deb.debian.org/debian trixie/main i386 debhelper all 13.20 [915 kB] Get: 32 http://deb.debian.org/debian trixie/main i386 libalgorithm-backoff-perl all 0.010-1 [37.9 kB] Get: 33 http://deb.debian.org/debian trixie/main i386 libalgorithm-c3-perl all 0.11-2 [10.8 kB] Get: 34 http://deb.debian.org/debian trixie/main i386 libalgorithm-diff-perl all 1.201-1 [43.3 kB] Get: 35 http://deb.debian.org/debian trixie/main i386 libappconfig-perl all 1.71-2.3 [67.0 kB] Get: 36 http://deb.debian.org/debian trixie/main i386 libb-hooks-op-check-perl i386 0.22-3+b1 [10.7 kB] Get: 37 http://deb.debian.org/debian trixie/main i386 libdynaloader-functions-perl all 0.004-1 [12.1 kB] Get: 38 http://deb.debian.org/debian trixie/main i386 libdevel-callchecker-perl i386 0.009-1 [15.9 kB] Get: 39 http://deb.debian.org/debian trixie/main i386 libparams-classify-perl i386 0.015-2+b3 [23.1 kB] Get: 40 http://deb.debian.org/debian trixie/main i386 libmodule-runtime-perl all 0.016-2 [19.6 kB] Get: 41 http://deb.debian.org/debian trixie/main i386 libtry-tiny-perl all 0.32-1 [22.9 kB] Get: 42 http://deb.debian.org/debian trixie/main i386 libmodule-implementation-perl all 0.09-2 [12.6 kB] Get: 43 http://deb.debian.org/debian trixie/main i386 libsub-exporter-progressive-perl all 0.001013-3 [7496 B] Get: 44 http://deb.debian.org/debian trixie/main i386 libvariable-magic-perl i386 0.64-1 [45.2 kB] Get: 45 http://deb.debian.org/debian trixie/main i386 libb-hooks-endofscope-perl all 0.28-1 [17.5 kB] Get: 46 http://deb.debian.org/debian trixie/main i386 libcapture-tiny-perl all 0.48-2 [24.6 kB] Get: 47 http://deb.debian.org/debian trixie/main i386 libclass-c3-perl all 0.35-2 [21.0 kB] Get: 48 http://deb.debian.org/debian trixie/main i386 libclass-data-inheritable-perl all 0.08-3 [8588 B] Get: 49 http://deb.debian.org/debian trixie/main i386 libclass-inspector-perl all 1.36-3 [17.5 kB] Get: 50 http://deb.debian.org/debian trixie/main i386 libclass-method-modifiers-perl all 2.15-1 [18.0 kB] Get: 51 http://deb.debian.org/debian trixie/main i386 libclass-singleton-perl all 1.6-2 [12.5 kB] Get: 52 http://deb.debian.org/debian trixie/main i386 libclass-xsaccessor-perl i386 1.19-4+b3 [37.7 kB] Get: 53 http://deb.debian.org/debian trixie/main i386 libclone-choose-perl all 0.010-2 [8676 B] Get: 54 http://deb.debian.org/debian trixie/main i386 libclone-perl i386 0.47-1 [13.7 kB] Get: 55 http://deb.debian.org/debian trixie/main i386 libimport-into-perl all 1.002005-2 [11.3 kB] Get: 56 http://deb.debian.org/debian trixie/main i386 librole-tiny-perl all 2.002004-1 [21.4 kB] Get: 57 http://deb.debian.org/debian trixie/main i386 libsub-quote-perl all 2.006008-1 [21.8 kB] Get: 58 http://deb.debian.org/debian trixie/main i386 libmoo-perl all 2.005005-1 [58.0 kB] Get: 59 http://deb.debian.org/debian trixie/main i386 libmoox-types-mooselike-perl all 0.29-2 [18.4 kB] Get: 60 http://deb.debian.org/debian trixie/main i386 libconfig-gitlike-perl all 1.18-2 [35.5 kB] Get: 61 http://deb.debian.org/debian trixie/main i386 libparams-util-perl i386 1.102-3 [24.4 kB] Get: 62 http://deb.debian.org/debian trixie/main i386 libsub-install-perl all 0.929-1 [10.5 kB] Get: 63 http://deb.debian.org/debian trixie/main i386 libdata-optlist-perl all 0.114-1 [10.6 kB] Get: 64 http://deb.debian.org/debian trixie/main i386 libfile-sharedir-perl all 1.118-3 [16.0 kB] Get: 65 http://deb.debian.org/debian trixie/main i386 libpackage-stash-perl all 0.40-1 [22.0 kB] Get: 66 http://deb.debian.org/debian trixie/main i386 libsub-identify-perl i386 0.14-3+b2 [11.2 kB] Get: 67 http://deb.debian.org/debian trixie/main i386 libsub-name-perl i386 0.27-1+b2 [12.6 kB] Get: 68 http://deb.debian.org/debian trixie/main i386 libnamespace-clean-perl all 0.27-2 [17.8 kB] Get: 69 http://deb.debian.org/debian trixie/main i386 libnamespace-autoclean-perl all 0.29-2 [13.5 kB] Get: 70 http://deb.debian.org/debian trixie/main i386 libsub-exporter-perl all 0.990-1 [50.6 kB] Get: 71 http://deb.debian.org/debian trixie/main i386 libeval-closure-perl all 0.14-3 [11.2 kB] Get: 72 http://deb.debian.org/debian trixie/main i386 libdevel-stacktrace-perl all 2.0500-1 [26.4 kB] Get: 73 http://deb.debian.org/debian trixie/main i386 libexception-class-perl all 1.45-1 [34.6 kB] Get: 74 http://deb.debian.org/debian trixie/main i386 libparams-validationcompiler-perl all 0.31-1 [30.9 kB] Get: 75 http://deb.debian.org/debian trixie/main i386 libmro-compat-perl all 0.15-2 [11.8 kB] Get: 76 http://deb.debian.org/debian trixie/main i386 libxstring-perl i386 0.005-2+b3 [8196 B] Get: 77 http://deb.debian.org/debian trixie/main i386 libspecio-perl all 0.48-1 [142 kB] Get: 78 http://deb.debian.org/debian trixie/main i386 libdatetime-locale-perl all 1:1.41-1 [3131 kB] Get: 79 http://deb.debian.org/debian trixie/main i386 libdatetime-timezone-perl all 1:2.63-2+2024b [261 kB] Get: 80 http://deb.debian.org/debian trixie/main i386 libdatetime-perl i386 2:1.65-1+b1 [119 kB] Get: 81 http://deb.debian.org/debian trixie/main i386 libdbi-perl i386 1.645-1 [864 kB] Get: 82 http://deb.debian.org/debian trixie/main i386 libdbd-sqlite3-perl i386 1.74-1+b2 [179 kB] Get: 83 http://deb.debian.org/debian trixie/main i386 libencode-locale-perl all 1.05-3 [12.9 kB] Get: 84 http://deb.debian.org/debian trixie/main i386 libexporter-tiny-perl all 1.006002-1 [38.7 kB] Get: 85 http://deb.debian.org/debian trixie/main i386 libfile-which-perl all 1.27-2 [15.1 kB] Get: 86 http://deb.debian.org/debian trixie/main i386 libhash-merge-perl all 0.302-1 [14.7 kB] Get: 87 http://deb.debian.org/debian trixie/main i386 libintl-perl all 1.33-1 [720 kB] Get: 88 http://deb.debian.org/debian trixie/main i386 libterm-readkey-perl i386 2.38-2+b3 [25.4 kB] Get: 89 http://deb.debian.org/debian trixie/main i386 libio-pager-perl all 2.10-1 [54.4 kB] Get: 90 http://deb.debian.org/debian trixie/main i386 libipc-run3-perl all 0.049-1 [31.5 kB] Get: 91 http://deb.debian.org/debian trixie/main i386 libipc-system-simple-perl all 1.30-2 [26.8 kB] Get: 92 http://deb.debian.org/debian trixie/main i386 liblist-moreutils-xs-perl i386 0.430-4+b1 [45.3 kB] Get: 93 http://deb.debian.org/debian trixie/main i386 liblist-moreutils-perl all 0.430-2 [46.9 kB] Get: 94 http://deb.debian.org/debian trixie/main i386 libmodule-build-perl all 0.423400-2 [252 kB] Get: 95 http://deb.debian.org/debian trixie/main i386 libpath-class-perl all 0.37-4 [42.7 kB] Get: 96 http://deb.debian.org/debian trixie/main i386 libperlio-utf8-strict-perl i386 0.010-1+b2 [11.6 kB] Get: 97 http://deb.debian.org/debian trixie/main i386 libpod-parser-perl all 1.67-1 [94.1 kB] Get: 98 http://deb.debian.org/debian trixie/main i386 libreadline8t64 i386 8.2-5 [173 kB] Get: 99 http://deb.debian.org/debian trixie/main i386 libreturn-multilevel-perl all 0.08-1 [8388 B] Get: 100 http://deb.debian.org/debian trixie/main i386 libstring-formatter-perl all 1.235-1 [22.1 kB] Get: 101 http://deb.debian.org/debian trixie/main i386 libstring-shellquote-perl all 1.04-3 [11.9 kB] Get: 102 http://deb.debian.org/debian trixie/main i386 libsub-uplevel-perl all 0.2800-3 [14.0 kB] Get: 103 http://deb.debian.org/debian trixie/main i386 libsuper-perl all 1.20190531-1 [11.5 kB] Get: 104 http://deb.debian.org/debian trixie/main i386 libtemplate-perl i386 2.27-1+b7 [548 kB] Get: 105 http://deb.debian.org/debian trixie/main i386 libtemplate-tiny-perl all 1.14-2 [11.9 kB] Get: 106 http://deb.debian.org/debian trixie/main i386 libtest-deep-perl all 1.204-1 [52.9 kB] Get: 107 http://deb.debian.org/debian trixie/main i386 libtest-dir-perl all 1.16-3 [10.5 kB] Get: 108 http://deb.debian.org/debian trixie/main i386 libtest-exception-perl all 0.43-3 [16.9 kB] Get: 109 http://deb.debian.org/debian trixie/main i386 libtest-exit-perl all 0.11-2 [6808 B] Get: 110 http://deb.debian.org/debian trixie/main i386 libtext-diff-perl all 1.45-2 [27.2 kB] Get: 111 http://deb.debian.org/debian trixie/main i386 libtest-file-contents-perl all 0.242-1 [11.3 kB] Get: 112 http://deb.debian.org/debian trixie/main i386 libtest-file-perl all 1.993-1 [24.5 kB] Get: 113 http://deb.debian.org/debian trixie/main i386 libtest-mockmodule-perl all 0.178.0-1 [15.0 kB] Get: 114 http://deb.debian.org/debian trixie/main i386 libuniversal-can-perl all 1.20140328-3 [11.9 kB] Get: 115 http://deb.debian.org/debian trixie/main i386 libuniversal-isa-perl all 1.20171012-3 [8672 B] Get: 116 http://deb.debian.org/debian trixie/main i386 libtest-mockobject-perl all 1.20200122-4 [26.7 kB] Get: 117 http://deb.debian.org/debian trixie/main i386 libtest-nowarnings-perl all 1.06-2 [11.8 kB] Get: 118 http://deb.debian.org/debian trixie/main i386 libtest-warn-perl all 0.37-2 [14.5 kB] Get: 119 http://deb.debian.org/debian trixie/main i386 libthrowable-perl all 1.001-2 [15.7 kB] Get: 120 http://deb.debian.org/debian trixie/main i386 libtype-tiny-perl all 2.004000-1 [357 kB] Get: 121 http://deb.debian.org/debian trixie/main i386 libtype-tiny-xs-perl i386 0.025-2 [26.7 kB] Get: 122 http://deb.debian.org/debian trixie/main i386 liburi-perl all 5.30-1 [105 kB] Get: 123 http://deb.debian.org/debian trixie/main i386 liburi-nested-perl all 0.10-4 [8060 B] Get: 124 http://deb.debian.org/debian trixie/main i386 liburi-db-perl all 0.22-1 [21.7 kB] Get: 125 http://deb.debian.org/debian trixie/main i386 sqlite3 i386 3.46.1-1 [401 kB] Fetched 29.5 MB in 1s (48.1 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package tzdata. (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 ... 19786 files and directories currently installed.) Preparing to unpack .../000-tzdata_2024a-4_all.deb ... Unpacking tzdata (2024a-4) ... Selecting previously unselected package readline-common. Preparing to unpack .../001-readline-common_8.2-5_all.deb ... Unpacking readline-common (8.2-5) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../002-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../003-libmagic-mgc_1%3a5.45-3_i386.deb ... Unpacking libmagic-mgc (1:5.45-3) ... Selecting previously unselected package libmagic1t64:i386. Preparing to unpack .../004-libmagic1t64_1%3a5.45-3_i386.deb ... Unpacking libmagic1t64:i386 (1:5.45-3) ... Selecting previously unselected package file. Preparing to unpack .../005-file_1%3a5.45-3_i386.deb ... Unpacking file (1:5.45-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../006-gettext-base_0.22.5-2_i386.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:i386. Preparing to unpack .../007-libuchardet0_0.0.8-1+b1_i386.deb ... Unpacking libuchardet0:i386 (0.0.8-1+b1) ... Selecting previously unselected package groff-base. Preparing to unpack .../008-groff-base_1.23.0-5_i386.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../009-bsdextrautils_2.40.2-9_i386.deb ... Unpacking bsdextrautils (2.40.2-9) ... Selecting previously unselected package libpipeline1:i386. Preparing to unpack .../010-libpipeline1_1.5.8-1_i386.deb ... Unpacking libpipeline1:i386 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../011-man-db_2.13.0-1_i386.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../012-m4_1.4.19-4_i386.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../013-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../014-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../015-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../016-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../017-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../018-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../019-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../020-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../021-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../022-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:i386. Preparing to unpack .../023-libelf1t64_0.191-2_i386.deb ... Unpacking libelf1t64:i386 (0.191-2) ... Selecting previously unselected package dwz. Preparing to unpack .../024-dwz_0.15-1+b1_i386.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:i386. Preparing to unpack .../025-libicu72_72.1-5_i386.deb ... Unpacking libicu72:i386 (72.1-5) ... Selecting previously unselected package libxml2:i386. Preparing to unpack .../026-libxml2_2.12.7+dfsg+really2.9.14-0.1_i386.deb ... Unpacking libxml2:i386 (2.12.7+dfsg+really2.9.14-0.1) ... Selecting previously unselected package gettext. Preparing to unpack .../027-gettext_0.22.5-2_i386.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../028-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../029-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../030-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package libalgorithm-backoff-perl. Preparing to unpack .../031-libalgorithm-backoff-perl_0.010-1_all.deb ... Unpacking libalgorithm-backoff-perl (0.010-1) ... Selecting previously unselected package libalgorithm-c3-perl. Preparing to unpack .../032-libalgorithm-c3-perl_0.11-2_all.deb ... Unpacking libalgorithm-c3-perl (0.11-2) ... Selecting previously unselected package libalgorithm-diff-perl. Preparing to unpack .../033-libalgorithm-diff-perl_1.201-1_all.deb ... Unpacking libalgorithm-diff-perl (1.201-1) ... Selecting previously unselected package libappconfig-perl. Preparing to unpack .../034-libappconfig-perl_1.71-2.3_all.deb ... Unpacking libappconfig-perl (1.71-2.3) ... Selecting previously unselected package libb-hooks-op-check-perl:i386. Preparing to unpack .../035-libb-hooks-op-check-perl_0.22-3+b1_i386.deb ... Unpacking libb-hooks-op-check-perl:i386 (0.22-3+b1) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../036-libdynaloader-functions-perl_0.004-1_all.deb ... Unpacking libdynaloader-functions-perl (0.004-1) ... Selecting previously unselected package libdevel-callchecker-perl:i386. Preparing to unpack .../037-libdevel-callchecker-perl_0.009-1_i386.deb ... Unpacking libdevel-callchecker-perl:i386 (0.009-1) ... Selecting previously unselected package libparams-classify-perl:i386. Preparing to unpack .../038-libparams-classify-perl_0.015-2+b3_i386.deb ... Unpacking libparams-classify-perl:i386 (0.015-2+b3) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../039-libmodule-runtime-perl_0.016-2_all.deb ... Unpacking libmodule-runtime-perl (0.016-2) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../040-libtry-tiny-perl_0.32-1_all.deb ... Unpacking libtry-tiny-perl (0.32-1) ... Selecting previously unselected package libmodule-implementation-perl. Preparing to unpack .../041-libmodule-implementation-perl_0.09-2_all.deb ... Unpacking libmodule-implementation-perl (0.09-2) ... Selecting previously unselected package libsub-exporter-progressive-perl. Preparing to unpack .../042-libsub-exporter-progressive-perl_0.001013-3_all.deb ... Unpacking libsub-exporter-progressive-perl (0.001013-3) ... Selecting previously unselected package libvariable-magic-perl. Preparing to unpack .../043-libvariable-magic-perl_0.64-1_i386.deb ... Unpacking libvariable-magic-perl (0.64-1) ... Selecting previously unselected package libb-hooks-endofscope-perl. Preparing to unpack .../044-libb-hooks-endofscope-perl_0.28-1_all.deb ... Unpacking libb-hooks-endofscope-perl (0.28-1) ... Selecting previously unselected package libcapture-tiny-perl. Preparing to unpack .../045-libcapture-tiny-perl_0.48-2_all.deb ... Unpacking libcapture-tiny-perl (0.48-2) ... Selecting previously unselected package libclass-c3-perl. Preparing to unpack .../046-libclass-c3-perl_0.35-2_all.deb ... Unpacking libclass-c3-perl (0.35-2) ... Selecting previously unselected package libclass-data-inheritable-perl. Preparing to unpack .../047-libclass-data-inheritable-perl_0.08-3_all.deb ... Unpacking libclass-data-inheritable-perl (0.08-3) ... Selecting previously unselected package libclass-inspector-perl. Preparing to unpack .../048-libclass-inspector-perl_1.36-3_all.deb ... Unpacking libclass-inspector-perl (1.36-3) ... Selecting previously unselected package libclass-method-modifiers-perl. Preparing to unpack .../049-libclass-method-modifiers-perl_2.15-1_all.deb ... Unpacking libclass-method-modifiers-perl (2.15-1) ... Selecting previously unselected package libclass-singleton-perl. Preparing to unpack .../050-libclass-singleton-perl_1.6-2_all.deb ... Unpacking libclass-singleton-perl (1.6-2) ... Selecting previously unselected package libclass-xsaccessor-perl. Preparing to unpack .../051-libclass-xsaccessor-perl_1.19-4+b3_i386.deb ... Unpacking libclass-xsaccessor-perl (1.19-4+b3) ... Selecting previously unselected package libclone-choose-perl. Preparing to unpack .../052-libclone-choose-perl_0.010-2_all.deb ... Unpacking libclone-choose-perl (0.010-2) ... Selecting previously unselected package libclone-perl:i386. Preparing to unpack .../053-libclone-perl_0.47-1_i386.deb ... Unpacking libclone-perl:i386 (0.47-1) ... Selecting previously unselected package libimport-into-perl. Preparing to unpack .../054-libimport-into-perl_1.002005-2_all.deb ... Unpacking libimport-into-perl (1.002005-2) ... Selecting previously unselected package librole-tiny-perl. Preparing to unpack .../055-librole-tiny-perl_2.002004-1_all.deb ... Unpacking librole-tiny-perl (2.002004-1) ... Selecting previously unselected package libsub-quote-perl. Preparing to unpack .../056-libsub-quote-perl_2.006008-1_all.deb ... Unpacking libsub-quote-perl (2.006008-1) ... Selecting previously unselected package libmoo-perl. Preparing to unpack .../057-libmoo-perl_2.005005-1_all.deb ... Unpacking libmoo-perl (2.005005-1) ... Selecting previously unselected package libmoox-types-mooselike-perl. Preparing to unpack .../058-libmoox-types-mooselike-perl_0.29-2_all.deb ... Unpacking libmoox-types-mooselike-perl (0.29-2) ... Selecting previously unselected package libconfig-gitlike-perl. Preparing to unpack .../059-libconfig-gitlike-perl_1.18-2_all.deb ... Unpacking libconfig-gitlike-perl (1.18-2) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../060-libparams-util-perl_1.102-3_i386.deb ... Unpacking libparams-util-perl (1.102-3) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../061-libsub-install-perl_0.929-1_all.deb ... Unpacking libsub-install-perl (0.929-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../062-libdata-optlist-perl_0.114-1_all.deb ... Unpacking libdata-optlist-perl (0.114-1) ... Selecting previously unselected package libfile-sharedir-perl. Preparing to unpack .../063-libfile-sharedir-perl_1.118-3_all.deb ... Unpacking libfile-sharedir-perl (1.118-3) ... Selecting previously unselected package libpackage-stash-perl. Preparing to unpack .../064-libpackage-stash-perl_0.40-1_all.deb ... Unpacking libpackage-stash-perl (0.40-1) ... Selecting previously unselected package libsub-identify-perl. Preparing to unpack .../065-libsub-identify-perl_0.14-3+b2_i386.deb ... Unpacking libsub-identify-perl (0.14-3+b2) ... Selecting previously unselected package libsub-name-perl:i386. Preparing to unpack .../066-libsub-name-perl_0.27-1+b2_i386.deb ... Unpacking libsub-name-perl:i386 (0.27-1+b2) ... Selecting previously unselected package libnamespace-clean-perl. Preparing to unpack .../067-libnamespace-clean-perl_0.27-2_all.deb ... Unpacking libnamespace-clean-perl (0.27-2) ... Selecting previously unselected package libnamespace-autoclean-perl. Preparing to unpack .../068-libnamespace-autoclean-perl_0.29-2_all.deb ... Unpacking libnamespace-autoclean-perl (0.29-2) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../069-libsub-exporter-perl_0.990-1_all.deb ... Unpacking libsub-exporter-perl (0.990-1) ... Selecting previously unselected package libeval-closure-perl. Preparing to unpack .../070-libeval-closure-perl_0.14-3_all.deb ... Unpacking libeval-closure-perl (0.14-3) ... Selecting previously unselected package libdevel-stacktrace-perl. Preparing to unpack .../071-libdevel-stacktrace-perl_2.0500-1_all.deb ... Unpacking libdevel-stacktrace-perl (2.0500-1) ... Selecting previously unselected package libexception-class-perl. Preparing to unpack .../072-libexception-class-perl_1.45-1_all.deb ... Unpacking libexception-class-perl (1.45-1) ... Selecting previously unselected package libparams-validationcompiler-perl. Preparing to unpack .../073-libparams-validationcompiler-perl_0.31-1_all.deb ... Unpacking libparams-validationcompiler-perl (0.31-1) ... Selecting previously unselected package libmro-compat-perl. Preparing to unpack .../074-libmro-compat-perl_0.15-2_all.deb ... Unpacking libmro-compat-perl (0.15-2) ... Selecting previously unselected package libxstring-perl:i386. Preparing to unpack .../075-libxstring-perl_0.005-2+b3_i386.deb ... Unpacking libxstring-perl:i386 (0.005-2+b3) ... Selecting previously unselected package libspecio-perl. Preparing to unpack .../076-libspecio-perl_0.48-1_all.deb ... Unpacking libspecio-perl (0.48-1) ... Selecting previously unselected package libdatetime-locale-perl. Preparing to unpack .../077-libdatetime-locale-perl_1%3a1.41-1_all.deb ... Unpacking libdatetime-locale-perl (1:1.41-1) ... Selecting previously unselected package libdatetime-timezone-perl. Preparing to unpack .../078-libdatetime-timezone-perl_1%3a2.63-2+2024b_all.deb ... Unpacking libdatetime-timezone-perl (1:2.63-2+2024b) ... Selecting previously unselected package libdatetime-perl. Preparing to unpack .../079-libdatetime-perl_2%3a1.65-1+b1_i386.deb ... Unpacking libdatetime-perl (2:1.65-1+b1) ... Selecting previously unselected package libdbi-perl:i386. Preparing to unpack .../080-libdbi-perl_1.645-1_i386.deb ... Unpacking libdbi-perl:i386 (1.645-1) ... Selecting previously unselected package libdbd-sqlite3-perl:i386. Preparing to unpack .../081-libdbd-sqlite3-perl_1.74-1+b2_i386.deb ... Unpacking libdbd-sqlite3-perl:i386 (1.74-1+b2) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../082-libencode-locale-perl_1.05-3_all.deb ... Unpacking libencode-locale-perl (1.05-3) ... Selecting previously unselected package libexporter-tiny-perl. Preparing to unpack .../083-libexporter-tiny-perl_1.006002-1_all.deb ... Unpacking libexporter-tiny-perl (1.006002-1) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../084-libfile-which-perl_1.27-2_all.deb ... Unpacking libfile-which-perl (1.27-2) ... Selecting previously unselected package libhash-merge-perl. Preparing to unpack .../085-libhash-merge-perl_0.302-1_all.deb ... Unpacking libhash-merge-perl (0.302-1) ... Selecting previously unselected package libintl-perl. Preparing to unpack .../086-libintl-perl_1.33-1_all.deb ... Unpacking libintl-perl (1.33-1) ... Selecting previously unselected package libterm-readkey-perl. Preparing to unpack .../087-libterm-readkey-perl_2.38-2+b3_i386.deb ... Unpacking libterm-readkey-perl (2.38-2+b3) ... Selecting previously unselected package libio-pager-perl. Preparing to unpack .../088-libio-pager-perl_2.10-1_all.deb ... Unpacking libio-pager-perl (2.10-1) ... Selecting previously unselected package libipc-run3-perl. Preparing to unpack .../089-libipc-run3-perl_0.049-1_all.deb ... Unpacking libipc-run3-perl (0.049-1) ... Selecting previously unselected package libipc-system-simple-perl. Preparing to unpack .../090-libipc-system-simple-perl_1.30-2_all.deb ... Unpacking libipc-system-simple-perl (1.30-2) ... Selecting previously unselected package liblist-moreutils-xs-perl. Preparing to unpack .../091-liblist-moreutils-xs-perl_0.430-4+b1_i386.deb ... Unpacking liblist-moreutils-xs-perl (0.430-4+b1) ... Selecting previously unselected package liblist-moreutils-perl. Preparing to unpack .../092-liblist-moreutils-perl_0.430-2_all.deb ... Unpacking liblist-moreutils-perl (0.430-2) ... Selecting previously unselected package libmodule-build-perl. Preparing to unpack .../093-libmodule-build-perl_0.423400-2_all.deb ... Adding 'diversion of /usr/bin/config_data to /usr/bin/config_data.diverted by libmodule-build-perl' 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' Unpacking libmodule-build-perl (0.423400-2) ... Selecting previously unselected package libpath-class-perl. Preparing to unpack .../094-libpath-class-perl_0.37-4_all.deb ... Unpacking libpath-class-perl (0.37-4) ... Selecting previously unselected package libperlio-utf8-strict-perl. Preparing to unpack .../095-libperlio-utf8-strict-perl_0.010-1+b2_i386.deb ... Unpacking libperlio-utf8-strict-perl (0.010-1+b2) ... Selecting previously unselected package libpod-parser-perl. Preparing to unpack .../096-libpod-parser-perl_1.67-1_all.deb ... Adding 'diversion of /usr/bin/podselect to /usr/bin/podselect.bundled by libpod-parser-perl' Adding 'diversion of /usr/share/man/man1/podselect.1.gz to /usr/share/man/man1/podselect.bundled.1.gz by libpod-parser-perl' Unpacking libpod-parser-perl (1.67-1) ... Selecting previously unselected package libreadline8t64:i386. Preparing to unpack .../097-libreadline8t64_8.2-5_i386.deb ... Adding 'diversion of /lib/i386-linux-gnu/libhistory.so.8 to /lib/i386-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libhistory.so.8.2 to /lib/i386-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libreadline.so.8 to /lib/i386-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/i386-linux-gnu/libreadline.so.8.2 to /lib/i386-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:i386 (8.2-5) ... Selecting previously unselected package libreturn-multilevel-perl. Preparing to unpack .../098-libreturn-multilevel-perl_0.08-1_all.deb ... Unpacking libreturn-multilevel-perl (0.08-1) ... Selecting previously unselected package libstring-formatter-perl. Preparing to unpack .../099-libstring-formatter-perl_1.235-1_all.deb ... Unpacking libstring-formatter-perl (1.235-1) ... Selecting previously unselected package libstring-shellquote-perl. Preparing to unpack .../100-libstring-shellquote-perl_1.04-3_all.deb ... Unpacking libstring-shellquote-perl (1.04-3) ... Selecting previously unselected package libsub-uplevel-perl. Preparing to unpack .../101-libsub-uplevel-perl_0.2800-3_all.deb ... Unpacking libsub-uplevel-perl (0.2800-3) ... Selecting previously unselected package libsuper-perl. Preparing to unpack .../102-libsuper-perl_1.20190531-1_all.deb ... Unpacking libsuper-perl (1.20190531-1) ... Selecting previously unselected package libtemplate-perl. Preparing to unpack .../103-libtemplate-perl_2.27-1+b7_i386.deb ... Unpacking libtemplate-perl (2.27-1+b7) ... Selecting previously unselected package libtemplate-tiny-perl. Preparing to unpack .../104-libtemplate-tiny-perl_1.14-2_all.deb ... Unpacking libtemplate-tiny-perl (1.14-2) ... Selecting previously unselected package libtest-deep-perl. Preparing to unpack .../105-libtest-deep-perl_1.204-1_all.deb ... Unpacking libtest-deep-perl (1.204-1) ... Selecting previously unselected package libtest-dir-perl. Preparing to unpack .../106-libtest-dir-perl_1.16-3_all.deb ... Unpacking libtest-dir-perl (1.16-3) ... Selecting previously unselected package libtest-exception-perl. Preparing to unpack .../107-libtest-exception-perl_0.43-3_all.deb ... Unpacking libtest-exception-perl (0.43-3) ... Selecting previously unselected package libtest-exit-perl. Preparing to unpack .../108-libtest-exit-perl_0.11-2_all.deb ... Unpacking libtest-exit-perl (0.11-2) ... Selecting previously unselected package libtext-diff-perl. Preparing to unpack .../109-libtext-diff-perl_1.45-2_all.deb ... Unpacking libtext-diff-perl (1.45-2) ... Selecting previously unselected package libtest-file-contents-perl. Preparing to unpack .../110-libtest-file-contents-perl_0.242-1_all.deb ... Unpacking libtest-file-contents-perl (0.242-1) ... Selecting previously unselected package libtest-file-perl. Preparing to unpack .../111-libtest-file-perl_1.993-1_all.deb ... Unpacking libtest-file-perl (1.993-1) ... Selecting previously unselected package libtest-mockmodule-perl. Preparing to unpack .../112-libtest-mockmodule-perl_0.178.0-1_all.deb ... Unpacking libtest-mockmodule-perl (0.178.0-1) ... Selecting previously unselected package libuniversal-can-perl. Preparing to unpack .../113-libuniversal-can-perl_1.20140328-3_all.deb ... Unpacking libuniversal-can-perl (1.20140328-3) ... Selecting previously unselected package libuniversal-isa-perl. Preparing to unpack .../114-libuniversal-isa-perl_1.20171012-3_all.deb ... Unpacking libuniversal-isa-perl (1.20171012-3) ... Selecting previously unselected package libtest-mockobject-perl. Preparing to unpack .../115-libtest-mockobject-perl_1.20200122-4_all.deb ... Unpacking libtest-mockobject-perl (1.20200122-4) ... Selecting previously unselected package libtest-nowarnings-perl. Preparing to unpack .../116-libtest-nowarnings-perl_1.06-2_all.deb ... Unpacking libtest-nowarnings-perl (1.06-2) ... Selecting previously unselected package libtest-warn-perl. Preparing to unpack .../117-libtest-warn-perl_0.37-2_all.deb ... Unpacking libtest-warn-perl (0.37-2) ... Selecting previously unselected package libthrowable-perl. Preparing to unpack .../118-libthrowable-perl_1.001-2_all.deb ... Unpacking libthrowable-perl (1.001-2) ... Selecting previously unselected package libtype-tiny-perl. Preparing to unpack .../119-libtype-tiny-perl_2.004000-1_all.deb ... Unpacking libtype-tiny-perl (2.004000-1) ... Selecting previously unselected package libtype-tiny-xs-perl:i386. Preparing to unpack .../120-libtype-tiny-xs-perl_0.025-2_i386.deb ... Unpacking libtype-tiny-xs-perl:i386 (0.025-2) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../121-liburi-perl_5.30-1_all.deb ... Unpacking liburi-perl (5.30-1) ... Selecting previously unselected package liburi-nested-perl. Preparing to unpack .../122-liburi-nested-perl_0.10-4_all.deb ... Unpacking liburi-nested-perl (0.10-4) ... Selecting previously unselected package liburi-db-perl. Preparing to unpack .../123-liburi-db-perl_0.22-1_all.deb ... Unpacking liburi-db-perl (0.22-1) ... Selecting previously unselected package sqlite3. Preparing to unpack .../124-sqlite3_3.46.1-1_i386.deb ... Unpacking sqlite3 (3.46.1-1) ... Setting up libpipeline1:i386 (1.5.8-1) ... Setting up libfile-which-perl (1.27-2) ... Setting up libicu72:i386 (72.1-5) ... Setting up bsdextrautils (2.40.2-9) ... Setting up libclass-inspector-perl (1.36-3) ... Setting up libdynaloader-functions-perl (0.004-1) ... Setting up libtest-deep-perl (1.204-1) ... Setting up libclass-method-modifiers-perl (2.15-1) ... Setting up libmagic-mgc (1:5.45-3) ... Setting up libpath-class-perl (0.37-4) ... Setting up libclone-perl:i386 (0.47-1) ... Setting up libalgorithm-diff-perl (1.201-1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libsub-identify-perl (0.14-3+b2) ... Setting up libtest-file-perl (1.993-1) ... Setting up libdebhelper-perl (13.20) ... Setting up libalgorithm-backoff-perl (0.010-1) ... Setting up libmagic1t64:i386 (1:5.45-3) ... Setting up libtry-tiny-perl (0.32-1) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up libclone-choose-perl (0.010-2) ... Setting up libclass-singleton-perl (1.6-2) ... Setting up libencode-locale-perl (1.05-3) ... Setting up file (1:5.45-3) ... Setting up libxstring-perl:i386 (0.005-2+b3) ... Setting up libtest-nowarnings-perl (1.06-2) ... Setting up libstring-shellquote-perl (1.04-3) ... Setting up libsub-install-perl (0.929-1) ... Setting up libelf1t64:i386 (0.191-2) ... Setting up libmodule-build-perl (0.423400-2) ... Setting up libuniversal-isa-perl (1.20171012-3) ... Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' Local time is now: Wed Oct 23 11:58:43 UTC 2024. Universal Time is now: Wed Oct 23 11:58:43 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up libclass-data-inheritable-perl (0.08-3) ... Setting up libalgorithm-c3-perl (0.11-2) ... Setting up libtext-diff-perl (1.45-2) ... Setting up libipc-system-simple-perl (1.30-2) ... Setting up libperlio-utf8-strict-perl (0.010-1+b2) ... Setting up libvariable-magic-perl (0.64-1) ... Setting up libpod-parser-perl (1.67-1) ... Setting up autopoint (0.22.5-2) ... Setting up libb-hooks-op-check-perl:i386 (0.22-3+b1) ... Setting up liblist-moreutils-xs-perl (0.430-4+b1) ... Setting up libparams-util-perl (1.102-3) ... Setting up autoconf (2.72-3) ... Setting up libsub-exporter-progressive-perl (0.001013-3) ... Setting up libcapture-tiny-perl (0.48-2) ... Setting up libreturn-multilevel-perl (0.08-1) ... Setting up libsub-name-perl:i386 (0.27-1+b2) ... Setting up libtype-tiny-xs-perl:i386 (0.025-2) ... Setting up dwz (0.15-1+b1) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:i386 (0.0.8-1+b1) ... Setting up librole-tiny-perl (2.002004-1) ... Setting up libintl-perl (1.33-1) ... Setting up libipc-run3-perl (0.049-1) ... Setting up libfile-sharedir-perl (1.118-3) ... Setting up libsub-uplevel-perl (0.2800-3) ... Setting up libsub-quote-perl (2.006008-1) ... Setting up libdevel-stacktrace-perl (2.0500-1) ... Setting up libclass-xsaccessor-perl (1.19-4+b3) ... Setting up libtemplate-tiny-perl (1.14-2) ... Setting up libexporter-tiny-perl (1.006002-1) ... Setting up libuniversal-can-perl (1.20140328-3) ... Setting up libterm-readkey-perl (2.38-2+b3) ... Setting up libtest-dir-perl (1.16-3) ... Setting up readline-common (8.2-5) ... Setting up libxml2:i386 (2.12.7+dfsg+really2.9.14-0.1) ... Setting up liburi-perl (5.30-1) ... Setting up libappconfig-perl (1.71-2.3) ... Setting up libdbi-perl:i386 (1.645-1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up libtest-mockobject-perl (1.20200122-4) ... Setting up libio-pager-perl (2.10-1) ... Setting up libsuper-perl (1.20190531-1) ... Setting up gettext (0.22.5-2) ... Setting up libtest-mockmodule-perl (0.178.0-1) ... Setting up libtool (2.4.7-7) ... Setting up libtest-exit-perl (0.11-2) ... Setting up liblist-moreutils-perl (0.430-2) ... Setting up libtest-warn-perl (0.37-2) ... Setting up libhash-merge-perl (0.302-1) ... Setting up libtype-tiny-perl (2.004000-1) ... Setting up libtest-file-contents-perl (0.242-1) ... Setting up liburi-nested-perl (0.10-4) ... Setting up libexception-class-perl (1.45-1) ... Setting up libclass-c3-perl (0.35-2) ... Setting up libdevel-callchecker-perl:i386 (0.009-1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up libtest-exception-perl (0.43-3) ... Setting up liburi-db-perl (0.22-1) ... Setting up libdata-optlist-perl (0.114-1) ... Setting up libtemplate-perl (2.27-1+b7) ... Setting up libreadline8t64:i386 (8.2-5) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up groff-base (1.23.0-5) ... Setting up libdbd-sqlite3-perl:i386 (1.74-1+b2) ... Setting up libmro-compat-perl (0.15-2) ... Setting up sqlite3 (3.46.1-1) ... Setting up libsub-exporter-perl (0.990-1) ... Setting up libeval-closure-perl (0.14-3) ... Setting up libparams-validationcompiler-perl (0.31-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libparams-classify-perl:i386 (0.015-2+b3) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libmodule-runtime-perl (0.016-2) ... Setting up libstring-formatter-perl (1.235-1) ... Setting up libmodule-implementation-perl (0.09-2) ... Setting up libpackage-stash-perl (0.40-1) ... Setting up libimport-into-perl (1.002005-2) ... Setting up libmoo-perl (2.005005-1) ... Setting up debhelper (13.20) ... Setting up libspecio-perl (0.48-1) ... Setting up libmoox-types-mooselike-perl (0.29-2) ... Setting up libb-hooks-endofscope-perl (0.28-1) ... Setting up libconfig-gitlike-perl (1.18-2) ... Setting up libthrowable-perl (1.001-2) ... Setting up libnamespace-clean-perl (0.27-2) ... Setting up libnamespace-autoclean-perl (0.29-2) ... Setting up libdatetime-locale-perl (1:1.41-1) ... Setting up libdatetime-timezone-perl (1:2.63-2+2024b) ... Setting up libdatetime-perl (2:1.65-1+b1) ... Processing triggers for libc-bin (2.40-3) ... Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/sqitch-1.4.1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../sqitch_1.4.1-2_source.changes dpkg-buildpackage: info: source package sqitch dpkg-buildpackage: info: source version 1.4.1-2 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by gregor herrmann dpkg-source --before-build . dpkg-buildpackage: info: host architecture i386 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf debian/rules override_dh_auto_configure make[1]: Entering directory '/build/reproducible-path/sqitch-1.4.1' dh_auto_configure -- --etcdir=/etc/sqitch /usr/bin/perl Build.PL --installdirs vendor --config "optimize=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sqitch-1.4.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" --config "ld=i686-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/sqitch-1.4.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro" --etcdir=/etc/sqitch Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'App-Sqitch' version 'v1.4.1' make[1]: Leaving directory '/build/reproducible-path/sqitch-1.4.1' dh_auto_build /usr/bin/perl Build Building App-Sqitch dh_auto_test /usr/bin/perl Build test --verbose 1 /usr/bin/perl -i.bak -pe s{my \$SYSTEM_DIR = undef}{my \$SYSTEM_DIR = q{\/etc\/sqitch}} blib/lib/App/Sqitch/Config.pm t/add.t ............. 1..243 ok 1 - Load a sqitch sqitch object ok 2 - 'add command' isa 'App::Sqitch::Command::add' ok 3 - App::Sqitch::Command::add->can(...) ok 4 - App::Sqitch::Command::add does ContextCommand ok 5 - Options should be set up ok 6 - Should parse options ok 7 - Options should not conflict with core options ok 8 - Should have default configuration with no config or opts ok 9 - Should have get requires and conflicts options ok 10 - Should set up template directory option ok 11 - Should set up change name option ok 12 - Should die if --template-directory does not exist ok 13 - Missing directory ident should be "add" ok 14 - Missing directory error message should be correct ok 15 - Should die if --template-directory does is not a dir ok 16 - In alid directory ident should be "add" ok 17 - Invalid directory error message should be correct ok 18 - Should set up template name option ok 19 - Should have get template options ok 20 - Variables should by default not be loaded from config ok 21 - --set should be merged with config variables ok 22 - --set should be override config variables ok 23 - Requires should be an arrayref ok 24 - Conflicts should be an arrayref ok 25 - Notes should be an arrayref ok 26 - Varibles should be a hashref ok 27 - Default dir should be undef ok 28 - Default temlate_name should be undef ok 29 - Default with_scripts should be all true ok 30 - Default templates should be empty ok 31 - '_check_script' isa 'CODE' ok 32 - _check_script should be okay with script ok 33 - _check_script should die on nonexistent file ok 34 - Nonexistent file ident should be "add" ok 35 - Nonexistent file error message should be correct ok 36 - _check_script should die on directory ok 37 - Directory error ident should be "add" ok 38 - Directory error message should be correct ok 39 - Load another sqitch sqitch object ok 40 - Create add with template config ok 41 - Should load the config templates ok 42 - Add object with template directory ok 43 - Template name should be undef ok 44 - Should find all pg templates in directory ok 45 - Should find all sqlite templates in directory ok 46 - Add object with template name ok 47 - Should find all templates in user directory ok 48 - Add object with another template name ok 49 - Should find all templates in systsem directory ok 50 - Add object with temporary template directory ok 51 - Template dir files should override others ok 52 - Add object with configured templates ok 53 - Template dir files should override others ok 54 - Add object requiring deploy template ok 55 - Should get error for missing deploy template ok 56 - Missing deploy template ident should be "add" ok 57 - Missing deploy template message should be correct ok 58 - Add object requiring revert template ok 59 - Should get error for missing revert template ok 60 - Missing revert template ident should be "add" ok 61 - Missing revert template message should be correct ok 62 - Add object requiring verify template ok 63 - Should get error for missing verify template ok 64 - Missing verify template ident should be "add" ok 65 - Missing verify template message should be correct ok 66 - _slurp() should load a reference to file contents ok 67 - test-add/sqitch_change_test.sql does not exist ok 68 - Create add command ok 69 - Write out a script ok 70 - test-add/sqitch_change_test.sql exists ok 71 - The template should have been evaluated ok 72 - Info should show $out created ok 73 - Create add cmd with requires and conflicts ok 74 - Write out a script with requires and conflicts ok 75 - Info should show $out created ok 76 - The template should have been evaluated with requires and conflicts ok 77 - Info should show $out created ok 78 - Should have warned about double extension ok 79 - test-add/sqitch_change_test.sql does not exist ok 80 - Create add command ok 81 - Write out a script ok 82 - test-add/sqitch_change_test.sql exists ok 83 - The template should have been evaluated ok 84 - Info should show $out created ok 85 - Create add cmd with requires and conflicts ok 86 - Write out a script with requires and conflicts ok 87 - Info should show $out created ok 88 - The template should have been evaluated with requires and conflicts ok 89 - Info should show $out created ok 90 - Should have warned about double extension ok 91 - Create add command ok 92 - Should get an exception on TT syntax error ok 93 - TT exception ident should be "add" ok 94 - TT exception message should include the original error message ok 95 - Create another add with template_directory ok 96 - Should not have "widgets_table" in plan ok 97 - dir test-add/deploy does not exist ok 98 - dir test-add/revert does not exist ok 99 - dir test-add/verify does not exist ok 100 - Add change "widgets_table" ok 101 - 'Added change' isa 'App::Sqitch::Plan::Change' ok 102 - Change name should be set ok 103 - It should have no requires ok 104 - It should have no conflicts ok 105 - It should have prompted for a note ok 106 - test-add/deploy/widgets_table.sql exists ok 107 - test-add/revert/widgets_table.sql exists ok 108 - test-add/verify/widgets_table.sql exists ok 109 - Deploy script should look right ok 110 - Revert script should look right ok 111 - Verify script should look right ok 112 - Info should have reported file creation ok 113 - Create another add with template_directory and no verify script ok 114 - test-add/deploy/foo_table.sql exists ok 115 - test-add/revert/foo_table.sql does not exist ok 116 - test-add/ferify/foo_table.sql does not exist ok 117 - Should not have "foo_table" in plan ok 118 - Add change "foo_table" ok 119 - test-add/deploy/foo_table.sql exists ok 120 - test-add/revert/foo_table.sql exists ok 121 - test-add/ferify/foo_table.sql does not exist ok 122 - '"foo_table" change' isa 'App::Sqitch::Plan::Change' ok 123 - It should have prompted for a note ok 124 - Change name should be set to "foo_table" ok 125 - It should have requires ok 126 - It should have conflicts ok 127 - It should have a comment ok 128 - Info should report skipping file and include dependencies ok 129 - Should get an error on unkonwn argument ok 130 - Unkown argument error ident should be "add" ok 131 - Unknown argument error message should be correct ok 132 - Should get an error for conflict with target name ok 133 - Conflicting target error ident should be "add" ok 134 - Conflicting target error message should be correct ok 135 - No name arg or option should yield usage ok 136 - No args should be passed to usage ok 137 - No name arg or option should yield usage ok 138 - No args should be passed to usage ok 139 - No name arg or option should yield usage ok 140 - No args should be passed to usage ok 141 - Create another add with open_editor ok 142 - Should not have "open_editor" in plan ok 143 - Add change "open_editor" ok 144 - 'Added change' isa 'App::Sqitch::Plan::Change' ok 145 - Change name should be set ok 146 - It should have prompted to edit sql files ok 147 - test-add/deploy/open_editor.sql exists ok 148 - test-add/revert/open_editor.sql exists ok 149 - test-add/verify/open_editor.sql exists ok 150 - Deploy script should look right ok 151 - Revert script should look right ok 152 - Verify script should look right ok 153 - Info should have reported file creation ok 154 - Create another add with custom script and no verify ok 155 - Add change "custom_script" ok 156 - 'Added change' isa 'App::Sqitch::Plan::Change' ok 157 - Change name should be set ok 158 - It should have no requires ok 159 - It should have no conflicts ok 160 - It should have prompted for a note ok 161 - test-add/deploy/custom_script.sql exists ok 162 - test-add/revert/custom_script.sql exists ok 163 - test-add/whatev/custom_script.sql exists ok 164 - test-add/verify/custom_script.sql does not exist ok 165 - Deploy script should look right ok 166 - Revert script should look right ok 167 - Whatev script should look right ok 168 - Whatev script should be based on the MySQL verify script ok 169 - Info should have reported file creation ok 170 - 'Added change in reloaded plan' isa 'App::Sqitch::Plan::Change' ok 171 - Create another add with custom multiplan config ok 172 - Should have three targets ok 173 - Add change "widgets" to all plans ok 174 - Should have "widgets" in pg plan ok 175 - Should have "widgets" in sqlite plan ok 176 - Should have "widgets" in mysql plan ok 177 - pg/deploy/widgets.sql exists ok 178 - pg/revert/widgets.sql exists ok 179 - pg/verify/widgets.sql exists ok 180 - sqlite/deploy/widgets.sql exists ok 181 - sqlite/revert/widgets.sql exists ok 182 - sqlite/verify/widgets.sql exists ok 183 - mysql/deploy/widgets.sql exists ok 184 - mysql/revert/widgets.sql exists ok 185 - mysql/verify/widgets.sql exists ok 186 - Info should have reported all script creations and plan updates ok 187 - Should get an error for --all and a target arg ok 188 - Mixed arguments error ident should be "add" ok 189 - Mixed arguments error message should be correct ok 190 - Create yet another add with custom multiplan config ok 191 - Add change "choc" to the sqlite plan ok 192 - Should still have three targets ok 193 - Should not have "choc" in the pg plan ok 194 - Should not have "choc" in the mysql plan ok 195 - Should have "choc" in the sqlite plan ok 196 - sqlite/deploy/choc.sql exists ok 197 - sqlite/revert/choc.sql exists ok 198 - sqlite/verify/choc.sql exists ok 199 - pg/deploy/choc.sql does not exist ok 200 - pg/revert/choc.sql does not exist ok 201 - pg/verify/choc.sql does not exist ok 202 - mysql/deploy/choc.sql does not exist ok 203 - mysql/revert/choc.sql does not exist ok 204 - mysql/verify/choc.sql does not exist ok 205 - Info should have reported sqlite choc script creations and plan updates ok 206 - Create another add with single plan, multi-target config ok 207 - Should have two targets ok 208 - Targets should use the same plan file ok 209 - Add change "widgets" to all plans ok 210 - Should have "widgets" in the plan ok 211 - pg/deploy/widgets.sql exists ok 212 - pg/revert/widgets.sql exists ok 213 - pg/verify/widgets.sql exists ok 214 - sqlite/deploy/widgets.sql exists ok 215 - sqlite/revert/widgets.sql exists ok 216 - sqlite/verify/widgets.sql exists ok 217 - Should have the proper files listed in the note promt ok 218 - Info should have reported all script creations and one plan update ok 219 - Create another add with two targets, one top dir ok 220 - Should have two targets ok 221 - First target plan should be in pg.plan ok 222 - Second target plan should be in sqlite.plan ok 223 - Add change "widgets" to all plans ok 224 - Should have "widgets" in pg plan ok 225 - Should have "widgets" in sqlite plan ok 226 - deploy/widgets.sql exists ok 227 - revert/widgets.sql exists ok 228 - verify/widgets.sql exists ok 229 - Should have the proper files listed in the note promt ok 230 - Info should have script creations and skips ok 231 - App::Sqitch::Command::add->can(...) ok 232 - Create a App::Sqitch::Command::add object again ok 233 - Base _parse_opts should return the script config ok 234 - _parse_opts() hould use options spec ok 235 - _parse_opts() should parse options spec ok 236 - Args array should be cleared of options ok 237 - _parse_opts() should parse --set options ok 238 - Args array should be cleared of options ok 239 - _parse_opts() should parse --set options with repeting key ok 240 - Args array should be cleared of options ok 241 - _parse_opts() should parse --with, --without, and --user ok 242 - Args array should be cleared of options ok 243 - no warnings ok t/base.t ............ 1..208 ok 1 - use App::Sqitch; ok 2 - App::Sqitch->can(...) ok 3 - 'A configured object' isa 'App::Sqitch' ok 4 - Configured verbosity should override default ok 5 - 'A configured object' isa 'App::Sqitch' ok 6 - Verbosity option should override configuration ok 7 - 'A new object' isa 'App::Sqitch' ok 8 - Default verbosity should be 1 ok 9 - Should have default sysuser from system ok 10 - Default user_name should be set from system ok 11 - Default user_email should be set from system ok 12 - 'Another new object' isa 'App::Sqitch' ok 13 - SQITCH_ORIG_SYSUER should override system username ok 14 - SQITCH_ORIG_FULLNAME should override system user full name ok 15 - SQITCH_ORIG_EMAIL should override system-derived email ok 16 - 'Another new object' isa 'App::Sqitch' ok 17 - SQITCH_FULLNAME should override originating host user full name ok 18 - SQITCH_EMAIL should override originating host email ok 19 - Should get 0 from go() ok 20 - 'Command' isa 'App::Sqitch::Command::help' ok 21 - Extra args should be passed to execute ok 22 - An object of class 'App::Sqitch' isa 'App::Sqitch' ok 23 - Get the Sqitch config ok 24 - Should have local config overriding user ok 25 - Should fall back on user config ok 26 - Should have read user name from configuration ok 27 - Should have read user email from configuration ok 28 - Should have no options ok 29 - Should get 0 from go() again ok 30 - An object of class 'App::Sqitch' isa 'App::Sqitch' ok 31 - Should have read user name from environment ok 32 - Should have read user email from environment ok 33 - Go should return 2 on Sqitch exception ok 34 - The error should have been vented ok 35 - Should have no info output ok 36 - Should have no emitted output ok 37 - The stack trace should have been sent to trace ok 38 - Go should return exitval on another exception ok 39 - Both the message and the trace should have been vented ok 40 - Should still have no info output ok 41 - Should still have no emitted output ok 42 - Nothing should have been traced ok 43 - Go should return exitval on non-fatal exception ok 44 - Should not have vented ok 45 - Should have sent the message to message ok 46 - Should still have no emitted output ok 47 - Nothing should have been traced ok 48 - Go should return 2 on a third Sqitch exception ok 49 - Should have one thing vented ok 50 - And it should include our message ok 51 - Should again have no info output ok 52 - Should still have no emitted output ok 53 - Nothing should have been traced ok 54 - editor should use $EDITOR ok 55 - editor should prefer $VISUAL over $EDITOR ok 56 - editor should prefer core.editor over $VISUAL ok 57 - editor should prefer $SQITCH_EDITOR over $VISUAL ok 58 - editor should use use parameter regardless of environment ok 59 - editor fall back on vi when not Windows ok 60 - pager program should be picked up from PAGER when SQITCH_PAGER and core.pager are not set ok 61 - 'morez pager' isa 'IO::Handle' ok 62 - Should be able to page ok 63 - Should have paged with say() ok 64 - Should be able to page literal ok 65 - Should have paged with print() ok 66 - SQITCH_PAGER should take precedence over PAGER ok 67 - 'less -myway' isa 'IO::Handle' ok 68 - `core.pager' setting should take precedence over PAGER when SQITCH_PAGER is not set. ok 69 - 'morezz pager' isa 'IO::Handle' ok 70 - SQITCH_PAGER should take precedence over both PAGER and the `core.pager' setting. ok 71 - 'less -rules' isa 'IO::Handle' ok 72 - trace should work ok 73 - Should get no trace output for verbosity 2 ok 74 - trace_literal should work ok 75 - Should get no trace_literal output for verbosity 2 ok 76 - debug should work ok 77 - Should get no debug output for verbosity 1 ok 78 - debug_literal should work ok 79 - Should get no debug_literal output for verbosity 1 ok 80 - info should work ok 81 - Should get no info output for verbosity 0 ok 82 - info_literal should work ok 83 - Should get no info_literal output for verbosity 0 ok 84 - comment should work ok 85 - comment should work with verbosity 0 ok 86 - comment_literal should work ok 87 - comment_literal should work with verbosity 0 ok 88 - emit should work ok 89 - emit should work even with verbosity 0 ok 90 - emit_literal should work ok 91 - emit_literal should work even with verbosity 0 ok 92 - warn should work ok 93 - warn_literal should work ok 94 - vent should work ok 95 - vent_literal should work ok 96 - App::Sqitch->can('run') ok 97 - Should get success back from run echo ok 98 - The echo script should have run ok 99 - Nothing should have gone to STDERR ok 100 - run die should, well, die ok 101 - The die script should have its STDOUT ummolested ok 102 - The die script should have its STDERR unmolested ok 103 - App::Sqitch->can('shell') ok 104 - Should get success back from shell echo ok 105 - The echo script should have shell ok 106 - Nothing should have gone to STDERR ok 107 - shell die should, well, die ok 108 - The die script should have its STDOUT ummolested ok 109 - The die script should have its STDERR unmolested ok 110 - quote_shell should work ok 111 - App::Sqitch->can('capture') ok 112 - The echo script output should have been returned ok 113 - Should get an error if the command errors out ok 114 - The die script STDERR should have passed through ok 115 - App::Sqitch->can('probe') ok 116 - Should have just chomped first line of output ok 117 - App::Sqitch->can('spool') ok 118 - Spool to read.pl ok 119 - Data should have been sent to STDOUT by read.pl ok 120 - Spool to read.pl ok 121 - All data should have been sent to STDOUT by read.pl ok 122 - Should get error when die.pl dies ok 123 - Error ident should be "io" ok 124 - The error message should be one of the I/O messages ok 125 - The die script STDERR should have passed through ok 126 - Should get an error for a bad command ok 127 - Error ident should be "io" ok 128 - Error message should be about inability to exec ok 129 - Should get error for no prompt message ok 130 - No prompt ident should be "DEV" ok 131 - No prompt error message should be correct ok 132 - Prompt should return input ok 133 - Prompt should prompt ok 134 - Prompt with default should return input ok 135 - Prompt should prompt with default ok 136 - Prompt with undef default should return input ok 137 - Prompt should prompt with bracket for undef default ok 138 - Prompt should return default for undef input ok 139 - Prompt should show default when undef input ok 140 - Prompt should return input for empty input ok 141 - Prompt should show default when empty input ok 142 - Should get error when uattended and no default ok 143 - Unattended error ident should be "io" ok 144 - Unattended error message should be correct ok 145 - Prompt should return input ok 146 - Prompt should show default as selected when unattended ok 147 - Should get error for no ask_yes_no message ok 148 - No ask_yes_no ident should be "DEV" ok 149 - No ask_yes_no error message should be correct ok 150 - ask_yes_no() should return true for "Yes" input ok 151 - ask_yes_no() should prompt for "Yes" ok 152 - ask_yes_no() should return true for "yes" input ok 153 - ask_yes_no() should prompt for "yes" ok 154 - ask_yes_no() should return true for "YES" input ok 155 - ask_yes_no() should prompt for "YES" ok 156 - ask_yes_no() should return true for "y" input ok 157 - ask_yes_no() should prompt for "y" ok 158 - ask_yes_no() should return true for "Ye" input ok 159 - ask_yes_no() should prompt for "Ye" ok 160 - ask_yes_no() should return false for "No" input ok 161 - ask_yes_no() should prompt for "No" ok 162 - ask_yes_no() should return false for "no" input ok 163 - ask_yes_no() should prompt for "no" ok 164 - ask_yes_no() should return false for "NO" input ok 165 - ask_yes_no() should prompt for "NO" ok 166 - ask_yes_no() should return false for "n" input ok 167 - ask_yes_no() should prompt for "n" ok 168 - ask_yes_no() should return false for "No" input ok 169 - ask_yes_no() should prompt for "No" ok 170 - ask_yes_no() should return true for true default ok 171 - ask_yes_no() should prompt and show default "Yes" ok 172 - ask_yes_no() should return false for false default ok 173 - ask_yes_no() should prompt and show default "No" ok 174 - Should get error for bad answers ok 175 - Bad answers ident should be "IO" ok 176 - Bad answers message should be correct ok 177 - Should get error for no ask_y_n message ok 178 - No ask_y_n ident should be "DEV" ok 179 - No ask_y_n error message should be correct ok 180 - Should get a deprecation warning from ask_y_n ok 181 - Should get error for invalid ask_y_n default ok 182 - Invalid ask_y_n default ident should be "DEV" ok 183 - Invalid ask_y_n default error message should be correct ok 184 - ask_y_n should return true for "y" input ok 185 - ask_y_n() should prompt ok 186 - ask_y_n should return false for "n" input ok 187 - ask_y_n() should prompt for no ok 188 - ask_y_n should return false for "N" input ok 189 - ask_y_n() should prompt for no ok 190 - ask_y_n should return true for "YE" input ok 191 - ask_y_n() should prompt for yes ok 192 - ask_y_n should return true default "Yes" ok 193 - ask_y_n() should prompt and show default "Yes" ok 194 - ask_y_n should return false default "No" ok 195 - ask_y_n() should prompt and show default "No" ok 196 - Should get error for bad answers ok 197 - Bad answers ident should be "IO" ok 198 - Bad answers message should be correct ok 199 - _readline should work ok 200 - _readline should return undef when unattended ok 201 - Localied string should be valid UTF-8 ok 202 - Localied string should be decoded ok 203 - Localied string should be valid UTF-8 ok 204 - Localied string should be decoded ok 205 - _is_interactive should not die ok 206 - _is_unattended should not die ok 207 - _bn should work ok 208 - no warnings ok t/blank.t ........... 1..34 ok 1 - require App::Sqitch::Plan::Blank; ok 2 - App::Sqitch::Plan::Blank->can(...) ok 3 - An object of class 'App::Sqitch::Plan::Blank' isa 'App::Sqitch::Plan::Blank' ok 4 - An object of class 'App::Sqitch::Plan::Blank' isa 'App::Sqitch::Plan::Line' ok 5 - Name should format as "" ok 6 - should stringify to "" ok 7 - Create tag with more stuff ok 8 - It should stringify correctly ok 9 - Create a blank with newlines and backslashes in the note ok 10 - The newlines and backslashe should not be escaped ok 11 - The newlines and backslahs should be escaped by format_note ok 12 - Create a blank with escapes ok 13 - Note shoud be unescaped ok 14 - Should trim Leading newlines from note ok 15 - Should trim Leading line feeds from note ok 16 - Should trim Trailing newlines from note ok 17 - Should trim trailing line feeds from note ok 18 - Should trim Leading and trailing vertical space from note ok 19 - Should trim Leading and trailing newlines and spaces from note ok 20 - Should have localized not prompt ok 21 - Shell command should start with editor ok 22 - Temp file should exist ok 23 - Temp file contents should include prompt ok 24 - Should get exception for no note text ok 25 - No note error ident should be "plan" ok 26 - No note error message should be correct ok 27 - Exit val should be 1 ok 28 - Shell command should start with editor ok 29 - Temp file should exist ok 30 - Temp file contents should include prompt ok 31 - Request note ok 32 - Should have the edited note ok 33 - The request should not prompt again ok 34 - no warnings ok t/bundle.t .......... 1..301 ok 1 - Load a sqitch object ok 2 - 'bundle command' isa 'App::Sqitch::Command::bundle' ok 3 - App::Sqitch::Command::bundle->can(...) ok 4 - App::Sqitch::Command::bundle does ContextCommand ok 5 - Should have dest_dir option ok 6 - Should parse options ok 7 - Options should not conflict with core options ok 8 - Default dest_dir should be bundle/ ok 9 - Should have dest top dir ok 10 - Default config should be empty ok 11 - --dest_dir should be converted to a path object by configure() ok 12 - --from and --to should be passed through configure ok 13 - Load a sqitch object with top_dir ok 14 - bundle.dest_dir config should be converted to a path object by configure() ok 15 - 'another bundle command' isa 'App::Sqitch::Command::bundle' ok 16 - dest_dir should be "_build/sql" ok 17 - Dest top dir should be _build/sql/sql/ ok 18 - Dest deploy dir should be _build/sql/sql/deploy ok 19 - Dest revert dir should be _build/sql/sql/revert ok 20 - Dest verify dir should be _build/sql/sql/verify ok 21 - Load a sqitch object with engine top_dir ok 22 - 'engine bundle command' isa 'App::Sqitch::Command::bundle' ok 23 - dest_dir should again be "_build/sql" ok 24 - Dest deploy dir should be _build/sql/engine/deploy ok 25 - Dest revert dir should be _build/sql/engine/revert ok 26 - Dest verify dir should be _build/sql/engine/verify ok 27 - File delete.me/deploy/roles.sql should not exist ok 28 - Copy sql/deploy/roles.sql to delete.me/deploy/roles.sql ok 29 - File delete.me/deploy/roles.sql should now exist ok 30 - delete.me/deploy/roles.sql and sql/deploy/roles.sql contents are the same ok 31 - The mkdir and copy info should have been output ok 32 - Copy sql/deploy/roles.sql to delete.me/deploy/roles.sql again ok 33 - File delete.me/deploy/roles.sql should still exist ok 34 - delete.me/deploy/roles.sql and sql/deploy/roles.sql contents are the same ok 35 - Should have no debugging output ok 36 - Copy sql/deploy/roles.sql to old delete.me/deploy/roles.sql ok 37 - File delete.me/deploy/roles.sql should still be there ok 38 - delete.me/deploy/roles.sql and sql/deploy/roles.sql contents are the same ok 39 - Only copy message should again have been emitted ok 40 - Copy sql/deploy/users.sql to delete.me/deploy/roles.sql ok 41 - File delete.me/deploy/roles.sql should now exist ok 42 - delete.me/deploy/roles.sql and sql/deploy/users.sql contents are the same ok 43 - Again only Copy message should have been emitted ok 44 - Should get exception when source file does not exist ok 45 - Nonexistent file error ident should be "bundle" ok 46 - Nonexistent file error message should be correct ok 47 - Should get exception when copy returns false ok 48 - Copy fail ident should be "bundle" ok 49 - Copy fail error message should be correct ok 50 - _build/sql/sqitch.conf does not exist ok 51 - Bundle the config file ok 52 - _build/sql/sqitch.conf exists ok 53 - _build/sql/sqitch.conf and sqitch.conf contents are the same ok 54 - Should have config notice ok 55 - _build/sql/engine/sqitch.plan does not exist ok 56 - Bundle the default target plan file ok 57 - _build/sql/engine/sqitch.plan exists ok 58 - _build/sql/engine/sqitch.plan and engine/sqitch.plan contents are the same ok 59 - Should have plan notice ok 60 - '--from bundle command' isa 'App::Sqitch::Command::bundle' ok 61 - From should be "widgets" ok 62 - Bundle the default target plan file with from arg ok 63 - Statement of the bits written should have been emitted ok 64 - Plan should contain only changes from "widgets" on ok 65 - '--to bundle command' isa 'App::Sqitch::Command::bundle' ok 66 - To should be "users" ok 67 - Bundle the default target plan file with to arg ok 68 - Statement of the bits written should have been emitted ok 69 - Plan should have written only "users" and its tags ok 70 - _build/sql/engine/reworked/deploy/users@alpha.sql does not exist ok 71 - _build/sql/engine/reworked/revert/users@alpha.sql does not exist ok 72 - _build/sql/engine/deploy/widgets.sql does not exist ok 73 - _build/sql/engine/revert/widgets.sql does not exist ok 74 - _build/sql/engine/deploy/func/add_user.sql does not exist ok 75 - _build/sql/engine/revert/func/add_user.sql does not exist ok 76 - _build/sql/engine/deploy/users.sql does not exist ok 77 - _build/sql/engine/revert/users.sql does not exist ok 78 - 'another bundle command' isa 'App::Sqitch::Command::bundle' ok 79 - Bundle default target scripts ok 80 - _build/sql/engine/reworked/deploy/users@alpha.sql exists ok 81 - _build/sql/engine/reworked/revert/users@alpha.sql exists ok 82 - _build/sql/engine/deploy/widgets.sql exists ok 83 - _build/sql/engine/revert/widgets.sql exists ok 84 - _build/sql/engine/deploy/func/add_user.sql exists ok 85 - _build/sql/engine/revert/func/add_user.sql exists ok 86 - _build/sql/engine/deploy/users.sql exists ok 87 - _build/sql/engine/revert/users.sql exists ok 88 - Should have change notices ok 89 - 'bundle from "widgets"' isa 'App::Sqitch::Command::bundle' ok 90 - Bundle scripts ok 91 - _build/sql/engine/reworked/deploy/users@alpha.sql does not exist ok 92 - _build/sql/engine/reworked/revert/users@alpha.sql does not exist ok 93 - _build/sql/engine/deploy/widgets.sql exists ok 94 - _build/sql/engine/revert/widgets.sql exists ok 95 - Should have changes only from "widets" onward in notices ok 96 - 'bundle to "users"' isa 'App::Sqitch::Command::bundle' ok 97 - Bundle scripts ok 98 - _build/sql/engine/reworked/deploy/users@alpha.sql exists ok 99 - _build/sql/engine/reworked/revert/users@alpha.sql exists ok 100 - _build/sql/engine/deploy/widgets.sql does not exist ok 101 - _build/sql/engine/revert/widgets.sql does not exist ok 102 - Should have only "users" in change notices ok 103 - Should die on nonexistent from change ok 104 - Nonexistent from change ident should be "bundle" ok 105 - Nonexistent from message change should be correct ok 106 - Should die on nonexistent to change ok 107 - Nonexistent to change ident should be "bundle" ok 108 - Nonexistent to message change should be correct ok 109 - _build/sql/sqitch.conf does not exist ok 110 - _build/sql/engine/sqitch.plan does not exist ok 111 - _build/sql/engine/reworked/deploy/users@alpha.sql does not exist ok 112 - _build/sql/engine/reworked/revert/users@alpha.sql does not exist ok 113 - _build/sql/engine/deploy/widgets.sql does not exist ok 114 - _build/sql/engine/revert/widgets.sql does not exist ok 115 - _build/sql/engine/deploy/func/add_user.sql does not exist ok 116 - _build/sql/engine/revert/func/add_user.sql does not exist ok 117 - _build/sql/engine/deploy/users.sql does not exist ok 118 - _build/sql/engine/revert/users.sql does not exist ok 119 - 'another bundle command' isa 'App::Sqitch::Command::bundle' ok 120 - Execute! ok 121 - _build/sql/sqitch.conf exists ok 122 - _build/sql/engine/sqitch.plan exists ok 123 - _build/sql/engine/reworked/deploy/users@alpha.sql exists ok 124 - _build/sql/engine/reworked/revert/users@alpha.sql exists ok 125 - _build/sql/engine/deploy/widgets.sql exists ok 126 - _build/sql/engine/revert/widgets.sql exists ok 127 - _build/sql/engine/deploy/func/add_user.sql exists ok 128 - _build/sql/engine/revert/func/add_user.sql exists ok 129 - _build/sql/engine/deploy/users.sql exists ok 130 - _build/sql/engine/revert/users.sql exists ok 131 - Should have all notices ok 132 - _build/multiplan.conf does not exist ok 133 - _build/sql/sqitch.plan does not exist ok 134 - _build/sql/deploy/roles.sql does not exist ok 135 - _build/sql/deploy/users.sql does not exist ok 136 - _build/sql/verify/users.sql does not exist ok 137 - _build/sql/deploy/widgets.sql does not exist ok 138 - _build/engine/sqitch.plan does not exist ok 139 - _build/engine/reworked/deploy/users@alpha.sql does not exist ok 140 - _build/engine/reworked/revert/users@alpha.sql does not exist ok 141 - _build/engine/deploy/widgets.sql does not exist ok 142 - _build/engine/revert/widgets.sql does not exist ok 143 - _build/engine/deploy/func/add_user.sql does not exist ok 144 - _build/engine/revert/func/add_user.sql does not exist ok 145 - _build/engine/deploy/users.sql does not exist ok 146 - _build/engine/revert/users.sql does not exist ok 147 - 'all multiplan bundle command' isa 'App::Sqitch::Command::bundle' ok 148 - Execute multi-target bundle! ok 149 - _build/multiplan.conf exists ok 150 - _build/sql/sqitch.plan exists ok 151 - _build/sql/deploy/roles.sql exists ok 152 - _build/sql/deploy/users.sql exists ok 153 - _build/sql/verify/users.sql exists ok 154 - _build/sql/deploy/widgets.sql exists ok 155 - _build/engine/sqitch.plan exists ok 156 - _build/engine/reworked/deploy/users@alpha.sql exists ok 157 - _build/engine/reworked/revert/users@alpha.sql exists ok 158 - _build/engine/deploy/widgets.sql exists ok 159 - _build/engine/revert/widgets.sql exists ok 160 - _build/engine/deploy/func/add_user.sql exists ok 161 - _build/engine/revert/func/add_user.sql exists ok 162 - _build/engine/deploy/users.sql exists ok 163 - _build/engine/revert/users.sql exists ok 164 - Should have a warning about --from and -too ok 165 - Should get an error for --all and a target arg ok 166 - Mixed arguments error ident should be "bundle" ok 167 - Mixed arguments error message should be correct ok 168 - 'multiplan bundle command' isa 'App::Sqitch::Command::bundle' ok 169 - Execute with no arg ok 170 - _build/multiplan.conf exists ok 171 - _build/engine/sqitch.plan exists ok 172 - _build/engine/reworked/deploy/users@alpha.sql exists ok 173 - _build/engine/reworked/revert/users@alpha.sql exists ok 174 - _build/engine/deploy/widgets.sql exists ok 175 - _build/engine/revert/widgets.sql exists ok 176 - _build/engine/deploy/func/add_user.sql exists ok 177 - _build/engine/revert/func/add_user.sql exists ok 178 - _build/engine/deploy/users.sql exists ok 179 - _build/engine/revert/users.sql exists ok 180 - _build/sql/sqitch.plan does not exist ok 181 - _build/sql/deploy/roles.sql does not exist ok 182 - _build/sql/deploy/users.sql does not exist ok 183 - _build/sql/verify/users.sql does not exist ok 184 - _build/sql/deploy/widgets.sql does not exist ok 185 - Execute with bundle.all config ok 186 - _build/multiplan.conf exists ok 187 - _build/engine/sqitch.plan exists ok 188 - _build/engine/reworked/deploy/users@alpha.sql exists ok 189 - _build/engine/reworked/revert/users@alpha.sql exists ok 190 - _build/engine/deploy/widgets.sql exists ok 191 - _build/engine/revert/widgets.sql exists ok 192 - _build/engine/deploy/func/add_user.sql exists ok 193 - _build/engine/revert/func/add_user.sql exists ok 194 - _build/engine/deploy/users.sql exists ok 195 - _build/engine/revert/users.sql exists ok 196 - _build/sql/sqitch.plan exists ok 197 - _build/sql/deploy/roles.sql exists ok 198 - _build/sql/deploy/users.sql exists ok 199 - _build/sql/verify/users.sql exists ok 200 - _build/sql/deploy/widgets.sql exists ok 201 - Execute with target arg "pg" ok 202 - _build/multiplan.conf exists ok 203 - _build/engine/sqitch.plan exists ok 204 - _build/engine/reworked/deploy/users@alpha.sql exists ok 205 - _build/engine/reworked/revert/users@alpha.sql exists ok 206 - _build/engine/deploy/widgets.sql exists ok 207 - _build/engine/revert/widgets.sql exists ok 208 - _build/engine/deploy/func/add_user.sql exists ok 209 - _build/engine/revert/func/add_user.sql exists ok 210 - _build/engine/deploy/users.sql exists ok 211 - _build/engine/revert/users.sql exists ok 212 - _build/sql/sqitch.plan does not exist ok 213 - _build/sql/deploy/roles.sql does not exist ok 214 - _build/sql/deploy/users.sql does not exist ok 215 - _build/sql/verify/users.sql does not exist ok 216 - _build/sql/deploy/widgets.sql does not exist ok 217 - Execute with plan file arg "engine/sqitch.plan" ok 218 - _build/multiplan.conf exists ok 219 - _build/engine/sqitch.plan exists ok 220 - _build/engine/reworked/deploy/users@alpha.sql exists ok 221 - _build/engine/reworked/revert/users@alpha.sql exists ok 222 - _build/engine/deploy/widgets.sql exists ok 223 - _build/engine/revert/widgets.sql exists ok 224 - _build/engine/deploy/func/add_user.sql exists ok 225 - _build/engine/revert/func/add_user.sql exists ok 226 - _build/engine/deploy/users.sql exists ok 227 - _build/engine/revert/users.sql exists ok 228 - _build/sql/sqitch.plan does not exist ok 229 - _build/sql/deploy/roles.sql does not exist ok 230 - _build/sql/deploy/users.sql does not exist ok 231 - _build/sql/verify/users.sql does not exist ok 232 - _build/sql/deploy/widgets.sql does not exist ok 233 - Execute with target arg "mysql" ok 234 - _build/multiplan.conf exists ok 235 - _build/sql/sqitch.plan exists ok 236 - _build/sql/deploy/roles.sql exists ok 237 - _build/sql/deploy/users.sql exists ok 238 - _build/sql/verify/users.sql exists ok 239 - _build/sql/deploy/widgets.sql exists ok 240 - _build/engine/sqitch.plan does not exist ok 241 - _build/engine/reworked/deploy/users@alpha.sql does not exist ok 242 - _build/engine/reworked/revert/users@alpha.sql does not exist ok 243 - _build/engine/deploy/widgets.sql does not exist ok 244 - _build/engine/revert/widgets.sql does not exist ok 245 - _build/engine/deploy/func/add_user.sql does not exist ok 246 - _build/engine/revert/func/add_user.sql does not exist ok 247 - _build/engine/deploy/users.sql does not exist ok 248 - _build/engine/revert/users.sql does not exist ok 249 - Execute with plan file arg "sql/sqitch.plan" ok 250 - _build/multiplan.conf exists ok 251 - _build/sql/sqitch.plan exists ok 252 - _build/sql/deploy/roles.sql exists ok 253 - _build/sql/deploy/users.sql exists ok 254 - _build/sql/verify/users.sql exists ok 255 - _build/sql/deploy/widgets.sql exists ok 256 - _build/engine/sqitch.plan does not exist ok 257 - _build/engine/reworked/deploy/users@alpha.sql does not exist ok 258 - _build/engine/reworked/revert/users@alpha.sql does not exist ok 259 - _build/engine/deploy/widgets.sql does not exist ok 260 - _build/engine/revert/widgets.sql does not exist ok 261 - _build/engine/deploy/func/add_user.sql does not exist ok 262 - _build/engine/revert/func/add_user.sql does not exist ok 263 - _build/engine/deploy/users.sql does not exist ok 264 - _build/engine/revert/users.sql does not exist ok 265 - 'to/from bundle command' isa 'App::Sqitch::Command::bundle' ok 266 - Execute to/from bundle! ok 267 - _build/multiplan.conf exists ok 268 - _build/engine/sqitch.plan exists ok 269 - _build/engine/deploy/widgets.sql exists ok 270 - _build/engine/revert/widgets.sql exists ok 271 - _build/engine/reworked/deploy/users@alpha.sql does not exist ok 272 - _build/engine/reworked/revert/users@alpha.sql does not exist ok 273 - _build/engine/deploy/func/add_user.sql does not exist ok 274 - _build/engine/revert/func/add_user.sql does not exist ok 275 - _build/engine/deploy/users.sql does not exist ok 276 - _build/engine/revert/users.sql does not exist ok 277 - Plan should have written only "widgets" ok 278 - 'another bundle command' isa 'App::Sqitch::Command::bundle' ok 279 - Execute bundle with to/from args! ok 280 - _build/multiplan.conf exists ok 281 - _build/engine/sqitch.plan exists ok 282 - _build/engine/deploy/widgets.sql exists ok 283 - _build/engine/revert/widgets.sql exists ok 284 - _build/engine/deploy/func/add_user.sql exists ok 285 - _build/engine/revert/func/add_user.sql exists ok 286 - _build/engine/deploy/users.sql exists ok 287 - _build/engine/revert/users.sql exists ok 288 - _build/engine/reworked/deploy/users@alpha.sql does not exist ok 289 - _build/engine/reworked/revert/users@alpha.sql does not exist ok 290 - Plan should have written "widgets" and "func/add_user" ok 291 - Should get an exception for unknown argument ok 292 - Unknown argument error ident shoud be "bundle" ok 293 - Unknown argument error message should be correct ok 294 - Should get an exception for unknown arguments ok 295 - Unknown arguments error ident shoud be "bundle" ok 296 - Unknown arguments error message should be correct ok 297 - 'all multiplan bundle command' isa 'App::Sqitch::Command::bundle' ok 298 - Should get an exception a change name and --from ok 299 - Conflicting arguments error ident shoud be "bundle" ok 300 - Conflicting arguments error message should be correct ok 301 - no warnings ok t/change.t .......... 1..92 ok 1 - require App::Sqitch::Plan::Change; ok 2 - App::Sqitch::Plan::Change->can(...) ok 3 - An object of class 'App::Sqitch::Plan::Change' isa 'App::Sqitch::Plan::Change' ok 4 - An object of class 'App::Sqitch::Plan::Change' isa 'App::Sqitch::Plan::Line' ok 5 - It should be a deploy change ok 6 - It should not be a revert change ok 7 - And it should say so ok 8 - 'Timestamp' isa 'App::Sqitch::DateTime' ok 9 - path_segments should have the file name ok 10 - The deploy dir should be correct ok 11 - The deploy file should be correct ok 12 - The revert dir should be correct ok 13 - The revert file should be correct ok 14 - The verify dir should be correct ok 15 - The verify file should be correct ok 16 - The change should not be reworked ok 17 - path_segments should not include suffix ok 18 - Nonexistent deploy script hash should be undef ok 19 - Deploy script hash should be correct ok 20 - Tag-qualified name should be tagged with @HEAD ok 21 - Add a rework tag ok 22 - Reworked tag should be stored ok 23 - The change should be reworked ok 24 - path_segments should now include suffix ok 25 - The change should not be reworked ok 26 - Add two rework tags ok 27 - The change should again be reworked ok 28 - path_segments should now include the correct suffixc ok 29 - Name should format as "foo" ok 30 - Name should format with tags as "foo" ok 31 - Tag-qualified Name should format as "foo@beta" ok 32 - Dependencies should format as "" ok 33 - Name should format with dependencies as "foo" ok 34 - Name should format op without dependencies as "foo" ok 35 - Change content should format correctly without dependencies ok 36 - Planner name shoudld default to user name ok 37 - Planner email shoudld default to user email ok 38 - Planner name and email should format properly ok 39 - should stringify to "foo" + planner ok 40 - Since tag should be undef ok 41 - Parent should be undef ok 42 - Change info should be correct ok 43 - Change ID should be correct ok 44 - Create change with more stuff ok 45 - It should stringify correctly ok 46 - It should not be a deploy change ok 47 - It should be a revert change ok 48 - It should say so ok 49 - It should have a since tag ok 50 - It should have a parent ok 51 - Info should include parent and dependencies ok 52 - Should have no tags ok 53 - Add a tag ok 54 - Should have the tag ok 55 - Should format name with tags ok 56 - Should format tag-qualiified name ok 57 - Add another tag ok 58 - Should have both tags ok 59 - Should format name with both tags ok 60 - Should format tag-qualified name with first tag ok 61 - Planner name and email should format properly ok 62 - Dependencies should format as "[foo bar @baz !dr_evil]" ok 63 - Name should format with dependencies as "yo/howdy [foo bar @baz !dr_evil]" ok 64 - Name should format op with dependencies as "yo/howdy [foo bar @baz !dr_evil]" ok 65 - Change content should format correctly with dependencies ok 66 - path_segments should include directories ok 67 - Deploy dir should be in rworked dir ok 68 - Deploy file should be in rworked dir and include suffix ok 69 - Revert dir should be in rworked dir ok 70 - Revert file should be in rworked dir and include suffix ok 71 - Verify dir should be in rworked dir ok 72 - Verify file should be in rworked dir and include suffix ok 73 - Create change "baz" ok 74 - Create change "bar" ok 75 - Get deploy handle ok 76 - It should be the deploy file ok 77 - Get revert handle ok 78 - It should be the revert file ok 79 - Get verify handle ok 80 - It should be the verify file ok 81 - Create a change with explicit requires and conflicts ok 82 - requires should be set ok 83 - conflicts should be set ok 84 - Dependencies should include requires and conflicts ok 85 - Should find changes for requires ok 86 - Should find changes for conflicts ok 87 - Create change with UTF-8 name ok 88 - The name should be decoded text in info ok 89 - Change ID should be hashed from encoded UTF-8 ok 90 - note_prompt() should work ok 91 - note_prompt() should work ok 92 - no warnings ok t/changelist.t ...... 1..248 ok 1 - require App::Sqitch::Plan::ChangeList; ok 2 - Count should be six ok 3 - Changes should be in order ok 4 - Items should be the same as changes ok 5 - Tags should return the one tag ok 6 - Should have foo at 0 ok 7 - Should have bar at 1 ok 8 - Should have yo1 at 2 ok 9 - Should have baz at 4 ok 10 - Should have yo2 at 5 ok 11 - Should not find "non" ok 12 - Should not find "@non" ok 13 - Should find foo at 0 ok 14 - Should find foo by ID at 0 ok 15 - Should find bar at 1 ok 16 - Should find bar^ at 0 ok 17 - Should find bar~ at 2 ok 18 - Should find bar~~ at 3 ok 19 - Should not find bar~~~ ok 20 - Should find bar~2 at 3 ok 21 - Should find bar~3 at 4 ok 22 - Should find bar by ID at 1 ok 23 - Should find @alpha at 2 ok 24 - Should find @alpha^ at 1 ok 25 - Should find @alpha^^ at 1 ok 26 - Should not find @alpha^^^ ok 27 - Should find @alpha by ID at 2 ok 28 - Should find baz at 3 ok 29 - Should find baz by ID at 3 ok 30 - Should not find baz^^^ ok 31 - Should not find baz^3 at 0 ok 32 - Should not find baz^4 ok 33 - Should find baz by ID^ at 2 ok 34 - Should get multiple indexes error looking for index of "yo" ok 35 - Multiple indexes error ident should be "plan" ok 36 - Multiple indexes message should be correct ok 37 - Should have output listing tag-qualified changes ok 38 - Should unknown tag error for invalid tag ok 39 - Unknown tag error ident should be "plan" ok 40 - Unknown taf message should be correct ok 41 - Should get 2 for yo@alpha ok 42 - Should get 1 for yo@alpha^ ok 43 - Should get 4 for yo@HEAD ok 44 - Should get 3 for yo@HEAD^ ok 45 - Should get undef for yo@HEAD~ ok 46 - Should get undef for yo@HEAD~~ ok 47 - Should get 0 for foo@alpha ok 48 - Should get 0 for foo@HEAD ok 49 - Should get 0 for foo@ROOT ok 50 - Should get undef for baz@alpha ok 51 - Should get 3 for baz@HEAD ok 52 - Should get 4 for @HEAD ok 53 - Should get 0 for @ROOT ok 54 - Should get 3 for @HEAD^ ok 55 - Should get undef for @HEAD~ ok 56 - Should get 1 for @ROOT~ ok 57 - Should get undef for @ROOT^ ok 58 - Should get 4 for HEAD ok 59 - Should get 0 for ROOT ok 60 - Should get 3 for HEAD^ ok 61 - Should get undef for HEAD~ ok 62 - Should get 1 for ROOT~ ok 63 - Should get undef for ROOT^ ok 64 - Should get foo for "foo" ok 65 - Should get bar for "foo~" ok 66 - Should get foo by ID ok 67 - Should get bar for "bar" ok 68 - Should get foo for "bar^" ok 69 - Should get yo1 for "bar~" ok 70 - Should get baz for "bar~~" ok 71 - Should get yo2 for "bar~3" ok 72 - Should get bar by ID ok 73 - Should get "yo" by the @alpha tag ID ok 74 - Should get baz for "baz" ok 75 - Should get baz by ID ok 76 - Should get baz for "@HEAD^" ok 77 - Should get yo1 for "@HEAD^^" ok 78 - Should get bar for "@HEAD^3" ok 79 - Should get foo for "@ROOT" ok 80 - Should get baz for "HEAD^" ok 81 - Should get yo1 for "HEAD^^" ok 82 - Should get bar for "HEAD^3" ok 83 - Should get foo for "ROOT" ok 84 - Should get yo1 for yo@alpha ok 85 - Should get yo2 for yo@HEAD ok 86 - Should get foo for foo@alpha ok 87 - Should get foo for foo@HEAD ok 88 - Should get undef for baz@alpha ok 89 - Should get baz for baz@HEAD ok 90 - Should get yo2 for "yo@HEAD" ok 91 - Should get foo for "foo@ROOT" ok 92 - Should find yo1 with "yo" ok 93 - Should find yo1 with "yo@alpha" ok 94 - Should find yo2 with yo@HEAD ok 95 - Should find foo for "foo" ok 96 - Should find foo for "foo@alpha" ok 97 - Should find foo for "foo@HEAD" ok 98 - Should find bar with "yo^" ok 99 - Should find foo with "yo^^" ok 100 - Should find foo with "yo^2" ok 101 - Should find baz with "yo~" ok 102 - Should find yo2 with "yo~~" ok 103 - Should find yo2 with "yo~2" ok 104 - Should find bar with "yo@alpha^" ok 105 - Should find baz with "yo@alpha^" ok 106 - Should find baz with yo@HEAD^ ok 107 - Should find baz with @HEAD^ ok 108 - Should find bar with @ROOT~^ ok 109 - Should find baz with HEAD^ ok 110 - Should find bar with ROOT~^ ok 111 - Should contain yo1 with "yo" ok 112 - Should contain yo1 with "yo@alpha" ok 113 - Should contain yo2 with yo@HEAD ok 114 - Should contain foo for "foo" ok 115 - Should contain foo for "foo@alpha" ok 116 - Should contain foo for "foo@HEAD" ok 117 - Should contain bar with "yo^" ok 118 - Should contain foo with "yo^^" ok 119 - Should contain foo with "yo^2" ok 120 - Should contain baz with "yo~" ok 121 - Should contain yo2 with "yo~~" ok 122 - Should contain yo2 with "yo~2" ok 123 - Should contain bar with "yo@alpha^" ok 124 - Should contain baz with "yo@alpha^" ok 125 - Should contain baz with yo@HEAD^ ok 126 - Should contain baz with @HEAD^ ok 127 - Should contain bar with @ROOT~^ ok 128 - Should contain baz with HEAD^ ok 129 - Should contain bar with ROOT~^ ok 130 - Should get multiple indexes error looking for index of "yo" ok 131 - Multiple indexes error ident should be "plan" ok 132 - Multiple indexes message should be correct ok 133 - Should have output listing tag-qualified changes ok 134 - Should unknown tag error for invalid tag ok 135 - Unknown tag error ident should be "plan" ok 136 - Unknown taf message should be correct ok 137 - Push hi ok 138 - Count should now be six ok 139 - Changes should be in order with $hi at the end ok 140 - Should find "hi" at index 5 ok 141 - Should find "hi" by ID at index 5 ok 142 - Index of @ROOT should still be 0 ok 143 - Index of @HEAD should now be 5 ok 144 - Index of ROOT should still be 0 ok 145 - Index of HEAD should now be 5 ok 146 - First index of "non" should be undef ok 147 - First index of "foo" should be 0 ok 148 - First index of "foo~" should be 1 ok 149 - First index of "foo~~" should be 2 ok 150 - First index of "foo~3" should be 3 ok 151 - Should not find first index of "foo~~~" ok 152 - First index of "foo" since @ROOT should be undef ok 153 - First index of "bar" should be 1 ok 154 - First index of "yo" should be 2 ok 155 - First index of "yo" since @ROOT should be 2 ok 156 - First index of "baz" should be 3 ok 157 - First index of "baz^" should be 2 ok 158 - First index of "baz^^" should be 1 ok 159 - First index of "baz^3" should be 0 ok 160 - Should not find first index of "baz^^^" ok 161 - First index of "yo" since "@alpha" should be 4 ok 162 - First index of "yo" since "baz" should be 4 ok 163 - First index of "yo^" since "baz" should be 4 ok 164 - First index of "yo~" since "baz" should be 5 ok 165 - Should get an exception for an unknown change passed to first_index_of() ok 166 - Unknown change error ident should be "plan" ok 167 - Unknown change message should be correct ok 168 - Push so and fu ok 169 - Count should now be eight ok 170 - Index of @ROOT should remain 0 ok 171 - Index of @HEAD should now be 7 ok 172 - Index of ROOT should remain 0 ok 173 - Index of HEAD should now be 7 ok 174 - Changes should be in order with $so and $fu at the end ok 175 - Index beta ok 176 - Should find @beta at index 4 ok 177 - Should find yo2 via @beta ok 178 - Should find yo2 via @beta ID ok 179 - Tags should return both tags ok 180 - Should get 2 for last tagged index ok 181 - Should find "yo" as last tagged ok 182 - Should get 8 for count ok 183 - Should find fu as last change ok 184 - Should find last tagged index at 0 ok 185 - Should find last tagged at 0 ok 186 - Should get count 1 ok 187 - Should find last change at 0 ok 188 - Should find last tagged index at 1 ok 189 - Should find last tagged at 1 ok 190 - Should get count 2 ok 191 - Should find last change at 1 ok 192 - Should find last tagged index at 3 ok 193 - Should find last tagged at 3 ok 194 - Should get count 4 ok 195 - Should find last change at 3 ok 196 - Should find last tagged index at 4 ok 197 - Should find last tagged at 4 ok 198 - Should get count 5 ok 199 - Should find last change at 4 ok 200 - Should not find tag index in 0 changes ok 201 - Should not find tag in 0 changes ok 202 - Should find no change in empty plan ok 203 - Should not find tag index in 2 changes ok 204 - Should not find tag in 2 changes ok 205 - Should not find tag index in 4 changes ok 206 - Should not find tag in 4 changes ok 207 - An object of class 'App::Sqitch::Plan::ChangeList' isa 'App::Sqitch::Plan::ChangeList' ok 208 - Should not find index of "foo" in empty list ok 209 - Should not find first index of "foo" in empty list ok 210 - Should get undef for "foo" in empty list ok 211 - Should not contain "foo" in empty list ok 212 - Should find undef for "foo" in empty list ok 213 - Should not find index of "bar" in empty list ok 214 - Should not find first index of "bar" in empty list ok 215 - Should get undef for "bar" in empty list ok 216 - Should not contain "bar" in empty list ok 217 - Should find undef for "bar" in empty list ok 218 - Should not find index of "HEAD" in empty list ok 219 - Should not find first index of "HEAD" in empty list ok 220 - Should get undef for "HEAD" in empty list ok 221 - Should not contain "HEAD" in empty list ok 222 - Should find undef for "HEAD" in empty list ok 223 - Should not find index of "@HEAD" in empty list ok 224 - Should not find first index of "@HEAD" in empty list ok 225 - Should get undef for "@HEAD" in empty list ok 226 - Should not contain "@HEAD" in empty list ok 227 - Should find undef for "@HEAD" in empty list ok 228 - Should not find index of "ROOT" in empty list ok 229 - Should not find first index of "ROOT" in empty list ok 230 - Should get undef for "ROOT" in empty list ok 231 - Should not contain "ROOT" in empty list ok 232 - Should find undef for "ROOT" in empty list ok 233 - Should not find index of "@ROOT" in empty list ok 234 - Should not find first index of "@ROOT" in empty list ok 235 - Should get undef for "@ROOT" in empty list ok 236 - Should not contain "@ROOT" in empty list ok 237 - Should find undef for "@ROOT" in empty list ok 238 - Should not find index of "alpha" in empty list ok 239 - Should not find first index of "alpha" in empty list ok 240 - Should get undef for "alpha" in empty list ok 241 - Should not contain "alpha" in empty list ok 242 - Should find undef for "alpha" in empty list ok 243 - Should not find index of "@alpha" in empty list ok 244 - Should not find first index of "@alpha" in empty list ok 245 - Should get undef for "@alpha" in empty list ok 246 - Should not contain "@alpha" in empty list ok 247 - Should find undef for "@alpha" in empty list ok 248 - no warnings ok t/check.t ........... ok 1 - require App::Sqitch::Command::check; ok 2 - The class (or class-like) 'App::Sqitch::Command::check' isa 'App::Sqitch::Command' ok 3 - App::Sqitch::Command::check->can(...) ok 4 - App::Sqitch::Command::check does ContextCommand ok 5 - App::Sqitch::Command::check does ConnectingCommand ok 6 - Options should be correct ok 7 - Should parse options ok 8 - Options should not conflict with core options ok 9 - Should have default configuration with no config or opts ok 10 - Should have changes and variables from options ok 11 - Should have no config if no options ok 12 - 'new status with target' isa 'App::Sqitch::Command::check' ok 13 - Should have target "foo" ok 14 - An object of class 'App::Sqitch::Command::check' isa 'App::Sqitch::Command::check' ok 15 - Default target should be undef ok 16 - from_change should be undef ok 17 - to_change should be undef ok 18 - Should collect no variables ok 19 - Should collect core vars ok 20 - Should override core vars with deploy vars ok 21 - Should override deploy vars with check vars ok 22 - Should override check vars with engine vars ok 23 - Should override engine vars with target vars ok 24 - Should override target vars with --set variables ok 25 - Execute with nothing. ok 26 - Two undefs should be passed to the engine ok 27 - Should have no warnings ok 28 - Execute from "@alpha" ok 29 - "@alpha" and undef should be passed to the engine ok 30 - Should again have no warnings ok 31 - Execute from "@alpha" to "@beta" ok 32 - "@alpha" and "@beat" should be passed to the engine ok 33 - Should still have no warnings ok 34 - 'Object with from, to, and variables' isa 'App::Sqitch::Command::check' ok 35 - Execute again ok 36 - "foo" and "bar" should be passed to the engine ok 37 - Vars should have been passed through to the engine ok 38 - Still should have no warnings ok 39 - Execute with command-line args ok 40 - "foo" and "bar" should be passed to the engine ok 41 - Vars should have been passed through to the engine ok 42 - Should have warning about which roles are used ok 43 - Execute with target arg ok 44 - The target should have been passed to the engine ok 45 - "foo" and "bar" should be passed to the engine ok 46 - Vars should have been passed through to the engine ok 47 - Should once again have no warnings ok 48 - 'Object with target' isa 'App::Sqitch::Command::check' ok 49 - Execute with no args ok 50 - The target option should have been passed to the engine ok 51 - Undefs should be passed to the engine ok 52 - No vars should have been passed through to the engine ok 53 - Should once again have no warnings ok 54 - Execute with two targegs and two changes ok 55 - The target option should have been passed to the engine ok 56 - The two changes should be passed to the engine ok 57 - No vars should have been passed through to the engine ok 58 - Should have warning about too many targets ok 59 - Should get an exception for unknown arg ok 60 - Unknown arg ident should be "check" ok 61 - Should get an exeption for two unknown arg ok 62 - Should get an exception for unknown args ok 63 - Unknown args ident should be "check" ok 64 - Should get an exeption for two unknown args 1..64 ok t/checkout.t ........ ok 1 - require App::Sqitch::Command::checkout; ok 2 - The class (or class-like) 'App::Sqitch::Command::checkout' isa 'App::Sqitch::Command' ok 3 - App::Sqitch::Command::checkout->can(...) ok 4 - App::Sqitch::Command::checkout does RevertDeployCommand ok 5 - App::Sqitch::Command::checkout does ConnectingCommand ok 6 - App::Sqitch::Command::checkout does ContextCommand ok 7 - Options should be correct ok 8 - Should parse options ok 9 - Options should not conflict with core options ok 10 - Load a sqitch object ok 11 - Check default configuration ok 12 - Should have set option ok 13 - Should have mode, deploy_variables, verify, no_prompt, log_only, & lock_timeout ok 14 - Should have set_revert option and no_prompt false ok 15 - set_deploy and set_revert should overrid set ok 16 - set_deploy and set_revert should merge with set ok 17 - set_revert should merge with set_deploy ok 18 - Should have deploy configuration ok 19 - Should have merged variables ok 20 - Should have no_prompt and prompt_accept from revert config ok 21 - Should have false log_only, verify, true prompt_accept from checkout config ok 22 - Should have log_only, prompt_accept true from checkout and verify from deploy ok 23 - Should have log_only false and mode all again ok 24 - Should have log_only false for false config ok 25 - Should have no_prompt true with -y ok 26 - revert.strict should die ok 27 - Strict err ident should be "checkout" ok 28 - Should have corect strict error message ok 29 - checkout.strict should die ok 30 - Strict err ident should be "checkout" ok 31 - Should have corect strict error message ok 32 - App::Sqitch::X ok 33 - Should collect no variables for deploy ok 34 - Should collect no variables for revert ok 35 - Should collect core deploy vars for deploy ok 36 - Should collect core revert vars for revert ok 37 - Should override core vars with deploy vars for deploy ok 38 - Should override core vars with deploy vars for revert ok 39 - Deploy vars should be unaffected by revert vars ok 40 - Should override deploy vars with revert vars for revert ok 41 - Should override deploy vars with engine vars for deploy ok 42 - Should override checkout vars with engine vars for revert ok 43 - Should override engine vars with deploy vars for deploy ok 44 - Should override engine vars with target vars for revert ok 45 - Should override target vars with --set vars for deploy ok 46 - Should override target vars with --set variables for revert ok 47 - Should override --set vars with --set-deploy variables for deploy ok 48 - Should not override --set vars with --set-deploy variables for revert ok 49 - Should not override --set vars with --set-revert variables for deploy ok 50 - Should override --set vars with --set-revert variables for revert ok 51 - 'checkout command' isa 'App::Sqitch::Command::checkout' ok 52 - Should get an error current branch ok 53 - Current branch error ident should be "checkout" ok 54 - Should get proper error for current branch error ok 55 - The proper args should have been passed to rev-parse ok 56 - Should get an error for plans without a common change ok 57 - The no common change error ident should be "checkout" ok 58 - The no common change error message should be correct ok 59 - No branch arg should yield usage ok 60 - No args should be passed to usage ok 61 - Empty branch arg should yield usage ok 62 - No args should be passed to usage ok 63 - 'Object with to and variables' isa 'App::Sqitch::Command::checkout' ok 64 - Checkout main ok 65 - The proper args should again have been passed to rev-parse ok 66 - Should have requested the plan file contents as of main ok 67 - Should have checked out other branch ok 68 - Should have no warnings ok 69 - Should have emitted info identifying the last common change ok 70 - "users" ID and 1 should be passed to the engine revert ok 71 - Should have had the current changes for revision ok 72 - undef, "tag", and 1 should be passed to the engine deploy ok 73 - Should have had the other branch changes (decoded) for deploy ok 74 - Engine should verify ok 75 - The engine should be set to log_only ok 76 - The lock timeout should be set to 30 ok 77 - Variables should have been passed to the engine twice ok 78 - The revert vars should have been passed first ok 79 - The deploy vars should have been next ok 80 - Checkout main with target ok 81 - Target should be passed to engine ok 82 - Should have no warnings ok 83 - 'Object with to and variables' isa 'App::Sqitch::Command::checkout' ok 84 - Checkout main again ok 85 - Target should be passed to engine ok 86 - Should have no warnings ok 87 - The engine should not be set to log_only ok 88 - The lock timeout should be set to the default ok 89 - The engine should not be set with_verfy ok 90 - undef, "tag", and 1 should be passed to the engine deploy again ok 91 - Should have had the other branch changes (decoded) for deploy again ok 92 - Variables should again have been passed to the engine twice ok 93 - The revert vars should again have been passed first ok 94 - The deploy vars should again have been next ok 95 - Checkout main again with target ok 96 - Target should be passed to engine ok 97 - Should have warning about two targets ok 98 - Should get an exception for unknown arg ok 99 - Unknown arg ident should be "checkout" ok 100 - Should get an exception for two unknown arg ok 101 - Should get an exception for unknown args ok 102 - Unknown args ident should be "checkout" ok 103 - Should get an exception for two unknown args ok 104 - Should rethrow confirm exception ok 105 - Should rethrow fatal exception ok 106 - Should rethrow unknown exception 1..106 ok t/cockroach.t ....... ok 1 - require App::Sqitch::Engine::cockroach; ok 2 - An object of class 'App::Sqitch::Engine::cockroach' isa 'App::Sqitch::Engine::cockroach' ok 3 - Key should be "cockroach" ok 4 - Name should be "CockroachDB" ok 5 - Driver should be "DBD::Pg 2.0" ok 6 - wait_lock should return 1 ok 7 - App::Sqitch::Engine::cockroach->can('_ts2char_format') ok 8 - _ts2char_format should work ok 9 - App::Sqitch::Engine::cockroach->can('_dt') ok 10 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' ok 11 - DateTime year should be set ok 12 - DateTime month should be set ok 13 - DateTime day should be set ok 14 - DateTime hour should be set ok 15 - DateTime minute should be set ok 16 - DateTime second should be set ok 17 - DateTime TZ should be set ok 18 - Should have no table error ok 19 - Should have no column error ok 20 - Should again have no table error ok 21 - Should now have no column error ok 22 - Should now have table error ok 23 - Still should have no column error ok 24 - Run the registry file ok 25 - Shoud have deployed the original SQL file ok 26 - The registry should have been added to the search path ok 27 - App::Sqitch::Engine::cockroach->can(...) # Subtest: live database 1..0 # SKIP Unable to live-test CockroachDB engine: "psql" failed to start: "No such file or directory" ok 28 # skip Unable to live-test CockroachDB engine: "psql" failed to start: "No such file or directory" # 1..28 ok t/command.t ......... 1..199 ok 1 - use App::Sqitch::Command; ok 2 - App::Sqitch::Command->can(...) ok 3 - Load a sqitch object ok 4 - Should get an exception for missing sqitch param ok 5 - Should get an exception for array sqitch param ok 6 - Should get an exception for string sqitch param ok 7 - An object of class 'App::Sqitch::Command' isa 'App::Sqitch::Command' ok 8 - Should get empty hash for no config or options ok 9 - Should get config with no options ok 10 - Options should override config ok 11 - Options keys should have dashes changed to underscores ok 12 - Should find class for "whu" ok 13 - Should find class for "wah-hoo" ok 14 - Should find class for "help" ok 15 - Should find no class for "_nonesush" ok 16 - Should have sent error to debug ok 17 - ENGINES should include all engines ok 18 - Load a sqitch object ok 19 - Load a "whu" command ok 20 - An object of class 'App::Sqitch::Command::whu' isa 'App::Sqitch::Command::whu' ok 21 - The sqitch attribute should be set ok 22 - The command method should return "whu" ok 23 - Load a "whu" command with "foo" config ok 24 - The "foo" attribute should be set ok 25 - Should exit ok 26 - Nonexistent command error ident should be "config" ok 27 - Should get proper mesage for nonexistent command ok 28 - Nonexistent command should yield exitval of 1 ok 29 - Should die on bad command ok 30 - Bad command error ident should be "config" ok 31 - Should get proper mesage for bad command ok 32 - Bad command should yield exitval of 1 ok 33 - No command should yield usage ok 34 - No args should be passed to usage ok 35 - Should die on broken command module ok 36 - Broken command error ident should be "config" ok 37 - Should get proper mesage for broken command ok 38 - Broken command should yield exitval of 1 ok 39 - Load a "whu" command with "--feathers" option ok 40 - The "feathers" attribute should be set ok 41 - Load a "wah-hoo" command ok 42 - 'It' isa 'App::Sqitch::Command::wah_hoo' ok 43 - command() should return hyphenated name ok 44 - Create a "whu" command ok 45 - An object of class 'App::Sqitch::Command::whu' isa 'App::Sqitch::Command::whu' ok 46 - The sqitch attribute should be set ok 47 - The command method should return "whu" ok 48 - Create a "whu" command with "foo" config ok 49 - The "foo" attribute should be set ok 50 - Create a "whu" command with "--feathers" option ok 51 - The "feathers" attribute should be set ok 52 - Create an App::Sqitch::Command object ok 53 - 'default target' isa 'App::Sqitch::Target' ok 54 - Default target name should be "db:" ok 55 - Default target URI should be "db:" ok 56 - Create an App::Sqitch::Command object ok 57 - 'default target' isa 'App::Sqitch::Target' ok 58 - Default target name should be "db:sqlite:" ok 59 - Default target URI should be "db:sqlite:" ok 60 - Should have fetched config stuff ok 61 - Create an App::Sqitch::Command object ok 62 - 'default target' isa 'App::Sqitch::Target' ok 63 - Default target name should be "db:pg:foo" ok 64 - Default target URI should be "db:pg:foo" ok 65 - Should have fetched config stuff again ok 66 - App::Sqitch::Command->can('execute') ok 67 - Create an App::Sqitch::Command object ok 68 - Base class command should be "" ok 69 - Base object command should be "" ok 70 - Should get an error calling execute on command base class ok 71 - Execute exception ident should be "DEV" ok 72 - The execute() error message should be correct ok 73 - Create a subclass command object ok 74 - Subclass oject command should be "whu" ok 75 - Subclass class command should be "whu" ok 76 - Should get an error for un-overridden execute() method ok 77 - Un-overidden execute() exception ident should be "DEV" ok 78 - The unoverridden execute() error message should be correct ok 79 - App::Sqitch::Command->can(...) ok 80 - Create an App::Sqitch::Command object again ok 81 - Base _parse_opts should return an empty hash ok 82 - Create a subclass command object again ok 83 - Subclass should return an empty hash for no args ok 84 - Subclass should use options spec ok 85 - Subclass should parse options spec ok 86 - Args array should be cleared of options ok 87 - Should get warning for unknown option ok 88 - Should call _pod2usage on options parse failure ok 89 - 'Good command object' isa 'App::Sqitch::Command::good' ok 90 - Should get warning for unknown option when there are no options ok 91 - Should call _pod2usage on no options parse failure ok 92 - Should get sqitch param from target_params ok 93 - Load Sqitch with config and plan ok 94 - Load cmd with config and plan ok 95 - Parsing no args should return default target ok 96 - Single unknown arg raise an error ok 97 - Unknown error ident should be "whu" ok 98 - Unknown error message should be correct ok 99 - Single invavlid fiile arg raise an error ok 100 - Unknown error ident should be "whu" ok 101 - Unknown file error message should be correct ok 102 - Single change should be recognized as change ok 103 - Single target should be recognized as target ok 104 - URI target should be recognized as target, too ok 105 - Target and change should be recognized ok 106 - Change and target should be recognized ok 107 - Alternate Target and change should be recognized ok 108 - Change and alternate target should be recognized ok 109 - Change, target, and unknown name should be recognized ok 110 - Multiple changes, target, and unknown name should be recognized ok 111 - Multiple names should be recognized ok 112 - Should get an error with name and unknown ok 113 - Unknown error ident should be "whu" ok 114 - Unknown error message should be correct ok 115 - Should get an error with name and two unknowns ok 116 - Two unknowns error ident should be "whu" ok 117 - Two unknowns error message should be correct ok 118 - Load Sqitch with config ok 119 - Load cmd with config ok 120 - Change following target should be recognized from target plan ok 121 - Passed target should always be returned ok 122 - Passed and specified targets should always be returned ok 123 - Change unknown to passed target should error ok 124 - Change unknown error ident should be "whu" ok 125 - Change unknown error message should be correct ok 126 - Should get known changes from default target (t/sql/sqitch.plan) ok 127 - Change seen after target should error if not in that target ok 128 - Change after target error ident should be "whu" ok 129 - Change after target error message should be correct ok 130 - Should resolve plan file to a target ok 131 - SHould resolve default plan file to target ok 132 - Should resolve engine "pg" file to its target ok 133 - Should resolve engine "sqlite" file to its target ok 134 - Bad target should trigger error ok 135 - Bad target error ident should be "target" ok 136 - Should have bad target error message ok 137 - Should recognize target when default target has no plan file ok 138 - Load Sqitch without engine ok 139 - Load cmd without engine ok 140 - Should have error for no engine or target ok 141 - Should have target ident ok 142 - Should have message about no config ok 143 - Engine arg should override core target error ok 144 - Target arg should override core target error ok 145 - Call _pod2usage on base object ok 146 - Default params should be passed to Pod::Usage ok 147 - Call _pod2usage on "whu" command object ok 148 - Default params should be passed to Pod::Usage ok 149 - 'Config command object' isa 'App::Sqitch::Command::config' ok 150 - Call _pod2usage on "config" command object ok 151 - Should find sqitch-config docs to pass to Pod::Usage ok 152 - 'Good command object' isa 'App::Sqitch::Command::good' ok 153 - Call _pod2usage on "good" command object ok 154 - Should find App::Sqitch::Command::good docs to pass to Pod::Usage ok 155 - App::Sqitch::Command::good->can('usage') ok 156 - Should find App::Sqitch::Command::good docs to pass to Pod::Usage ok 157 - App::Sqitch::Command->can('verbosity') ok 158 - Verbosity should be from sqitch ok 159 - Verbosity should change with sqitch ok 160 - trace should work ok 161 - Should get no trace output for verbosity 2 ok 162 - trace_literal should work ok 163 - Should get no trace_literal output for verbosity 2 ok 164 - debug should work ok 165 - Should get no debug output for verbosity 1 ok 166 - debug_literal should work ok 167 - Should get no debug_literal output for verbosity 1 ok 168 - info should work ok 169 - Should get no info output for verbosity 0 ok 170 - info_literal should work ok 171 - Should get no info_literal output for verbosity 0 ok 172 - comment should work ok 173 - comment should work with verbosity 0 ok 174 - comment_literal should work ok 175 - comment_literal should work with verbosity 0 ok 176 - emit should work ok 177 - emit should work even with verbosity 0 ok 178 - emit_literal should work ok 179 - emit_literal should work even with verbosity 0 ok 180 - warn should work ok 181 - warn_literal should work ok 182 - threw Regexp ((?^:EXITED: 2)) ok 183 - usage should work ok 184 - threw Regexp ((?^:EXITED: 2)) ok 185 - usage should prefer sqitch-$command-usage ok 186 - Path delete.me should not exist ok 187 - Create delete.me ok 188 - Path delete.me should now exist ok 189 - The mkdir info should have been output ok 190 - Create delete.me again ok 191 - Path delete.me should still exist ok 192 - Nothing should have been emitted ok 193 - Should fail on permission issue ok 194 - Permission error should have ident "good" ok 195 - The permission error should be formatted properly ok 196 - Should fail on nonexistent file ok 197 - Nonexistant path error should have ident "good" ok 198 - Nonexistant path error should be the message ok 199 - no warnings ok t/config.t .......... 1..360 ok 1 - use App::Sqitch::Command::config; ok 2 - Load a sqitch object ok 3 - 'Config command' isa 'App::Sqitch::Command::config' ok 4 - 'Config command' isa 'App::Sqitch::Command' ok 5 - App::Sqitch::Command::config->can(...) ok 6 - Options should be configured ok 7 - Should parse options ok 8 - Options should not conflict with core options ok 9 - Construct with user and system ok 10 - Should get error for multiple config files ok 11 - Construct with user and local ok 12 - Should get error for multiple config files ok 13 - Construct with file and system ok 14 - Should get another error for multiple config files ok 15 - Construct with file and user ok 16 - Should get a third error for multiple config files ok 17 - Construct with file, system, and user ok 18 - Should get one last error for multiple config files ok 19 - Construct with bool and num ok 20 - Should get error for multiple types ok 21 - Construct with int and num ok 22 - Should get another error for multiple types ok 23 - Construct with int and bool ok 24 - Should get a third error for multiple types ok 25 - Construct with int, num, and bool ok 26 - Should get one last error for multiple types ok 27 - Construct with get & unset ok 28 - Should get error for multiple actions ok 29 - Construct with get & unset & edit ok 30 - Should get error for multiple actions ok 31 - Construct with get & unset & edit & list ok 32 - Should get error for multiple actions ok 33 - Construct with unset & edit ok 34 - Should get error for multiple actions ok 35 - Construct with unset & edit & list ok 36 - Should get error for multiple actions ok 37 - Construct with edit & list ok 38 - Should get error for multiple actions ok 39 - Construct with edit & add & list ok 40 - Should get error for multiple actions ok 41 - Construct with edit & add & list & get_all ok 42 - Should get error for multiple actions ok 43 - Construct with edit & add & list & get_regex ok 44 - Should get error for multiple actions ok 45 - Construct with edit & add & list & unset_all ok 46 - Should get error for multiple actions ok 47 - Construct with edit & add & list & get_all & unset_all ok 48 - Should get error for multiple actions ok 49 - Construct with edit & list & remove_section ok 50 - Should get error for multiple actions ok 51 - Construct with edit & list & remove_section & rename_section ok 52 - Should get error for multiple actions ok 53 - Default context should be local context ok 54 - Default action should be undef ok 55 - Default context should be undef ok 56 - Local context should be local ok 57 - User context should be user ok 58 - System context should be system ok 59 - Create config set command ok 60 - Execute the set command ok 61 - The set method should have been called ok 62 - Execute the get command ok 63 - The get method should have been called ok 64 - Create config get_all command ok 65 - An action with a dash should have triggered a method with an underscore ok 66 - Create config get command ok 67 - Get core.engine ok 68 - Should have emitted the merged core.engine ok 69 - Get engine.pg.registry ok 70 - Should have emitted the merged engine.pg.registry ok 71 - Get engine.pg.client ok 72 - Should have emitted the merged engine.pg.client ok 73 - Should get usage for missing get key ok 74 - And the missing get key should trigger a usage message ok 75 - Should get usage for invalid get key ok 76 - And the invalid get key should trigger a usage message ok 77 - Create config get int command ok 78 - Get revert.count as int ok 79 - Should have emitted the revert count ok 80 - Get revert.revision as int ok 81 - Should have emitted the revert revision as an int ok 82 - Get bundle.tags_only as an int should fail ok 83 - Int cast exception ident should be "config" ok 84 - Create config get num command ok 85 - Get revert.count as num ok 86 - Should have emitted the revert count ok 87 - Get revert.revision as num ok 88 - Should have emitted the revert revision as an num ok 89 - Get bundle.tags_only as an num should fail ok 90 - Num cast exception ident should be "config" ok 91 - Create config get bool command ok 92 - Should get failure for invalid bool int ok 93 - Bool int cast exception ident should be "config" ok 94 - Should get failure for invalid bool num ok 95 - Bool num cast exception ident should be "config" ok 96 - Get bundle.tags_only as bool ok 97 - Should have emitted bundle.tags_only as a bool ok 98 - Create config get bool-or-int command ok 99 - Get revert.count as bool-or-int ok 100 - Should have emitted the revert count as an int ok 101 - Get revert.revision as bool-or-int ok 102 - Should have emitted the revert revision as an int ok 103 - Get bundle.tags_only as bool-or-int ok 104 - Should have emitted bundle.tags_only as a bool ok 105 - Create system config get command ok 106 - Get system core.engine ok 107 - Should have emitted the system core.engine ok 108 - Get system engine.pg.client ok 109 - Should have emitted the system engine.pg.client ok 110 - Attempt to get engine.pg.host should fail ok 111 - Error ident should be "config" ok 112 - Error Message should be empty ok 113 - Error exitval should be 1 ok 114 - Nothing should have been emitted ok 115 - Create user config get command ok 116 - Get user engine.pg.registry ok 117 - Should have emitted the user engine.pg.registry ok 118 - Get user engine.pg.client ok 119 - Should have emitted the user engine.pg.client ok 120 - Create local config get command ok 121 - Get local engine.pg.target ok 122 - Should have emitted the local engine.pg.target ok 123 - Get local core.engine ok 124 - Should have emitted the local core.engine ok 125 - Create another system config get command ok 126 - There should be no system config file ok 127 - Should fail when no system config file ok 128 - Error ident should be "config" ok 129 - Error Message should be empty ok 130 - Error exitval should be 1 ok 131 - Create another user config get command ok 132 - There should be no user config file ok 133 - Should fail when no user config file ok 134 - Error ident should be "config" ok 135 - Error Message should be empty ok 136 - Error exitval should be 1 ok 137 - Create another local config get command ok 138 - There should be no local config file ok 139 - Should fail when no local config file ok 140 - Error ident should be "config" ok 141 - Error Message should be empty ok 142 - Error exitval should be 1 ok 143 - Create config list command ok 144 - Execute the list action ok 145 - Should have emitted the merged config ok 146 - Create system config list command ok 147 - List the system config ok 148 - Should have emitted the system config list ok 149 - Create user config list command ok 150 - List the user config ok 151 - Should only have emitted the user config list ok 152 - Create local config list command ok 153 - List the local config ok 154 - Should only have emitted the local config list ok 155 - Create system config list command with no file ok 156 - List the system config ok 157 - Nothing should have been emitted ok 158 - Create user config list command with no file ok 159 - List the user config ok 160 - Nothing should have been emitted ok 161 - Create system config set command ok 162 - Write core.foo ok 163 - The property should have been written ok 164 - Write core.engine ok 165 - Both settings should be saved ok 166 - Write engine.pg.user ok 167 - Both sections should be saved ok 168 - Should set usage for missing set key ok 169 - And the missing set key should trigger a usage message ok 170 - Should set usage for invalid set key ok 171 - And the invalid set key should trigger a usage message ok 172 - Should set usage for missing set value ok 173 - And the missing set value should trigger a usage message ok 174 - Create system config add command ok 175 - Add to core.foo ok 176 - The value should have been added to the property ok 177 - Should add usage for missing add key ok 178 - And the missing add key should trigger a usage message ok 179 - Should add usage for invalid add key ok 180 - And the invalid add key should trigger a usage message ok 181 - Should add usage for missing add value ok 182 - And the missing add value should trigger a usage message ok 183 - Create system config add command ok 184 - Get core.engine with regex ok 185 - Should have emitted value ok 186 - Get core.foo with regex ok 187 - Should have emitted value ok 188 - Attempt to get core.foo with non-matching regex should fail ok 189 - Error ident should be "config" ok 190 - Error Message should be empty ok 191 - Error exitval should be 1 ok 192 - Nothing should have been emitted ok 193 - Create system config get_all command ok 194 - Call get_all on core.engine ok 195 - The engine should have been emitted ok 196 - Get all core.engine with regex ok 197 - Should have emitted value ok 198 - Call get_all on core.foo ok 199 - Both foos should have been emitted ok 200 - Call get_all on core.foo with regex ok 201 - Both foos should have been emitted ok 202 - Call get_all on core.foo with limiting regex ok 203 - Only the one foo should have been emitted ok 204 - Attempt to get_all core.foo with non-matching regex should fail ok 205 - Error ident should be "config" ok 206 - Error Message should be empty ok 207 - Error exitval should be 1 ok 208 - Nothing should have been emitted ok 209 - Should get_all usage for missing get_all key ok 210 - And the missing get_all key should trigger a usage message ok 211 - Should get_all usage for invalid get_all key ok 212 - And the invalid get_all key should trigger a usage message ok 213 - Create config get_all int command ok 214 - Get revert.count as int ok 215 - Should have emitted the revert count ok 216 - Get revert.revision as int ok 217 - Should have emitted the revert revision as an int ok 218 - Get bundle.tags_only as an int should fail ok 219 - Int cast exception ident should be "config" ok 220 - Create config get_all num command ok 221 - Get revert.count as num ok 222 - Should have emitted the revert count ok 223 - Get revert.revision as num ok 224 - Should have emitted the revert revision as an num ok 225 - Get bundle.tags_only as an num should fail ok 226 - Num cast exception ident should be "config" ok 227 - Create config get_all bool command ok 228 - Should get failure for invalid bool int ok 229 - Bool int cast exception ident should be "config" ok 230 - Should get failure for invalid bool num ok 231 - Num int cast exception ident should be "config" ok 232 - Get bundle.tags_only as bool ok 233 - Should have emitted bundle.tags_only as a bool ok 234 - Create config get_all bool-or-int command ok 235 - Get revert.count as bool-or-int ok 236 - Should have emitted the revert count as an int ok 237 - Get revert.revision as bool-or-int ok 238 - Should have emitted the revert revision as an int ok 239 - Get bundle.tags_only as bool-or-int ok 240 - Should have emitted bundle.tags_only as a bool ok 241 - Create system config get_regex command ok 242 - Call get_regex on core\..+ ok 243 - Should match all core options ok 244 - Call get_regex on engine\.pg\..+ ok 245 - Should match all engine.pg options ok 246 - Call get_regex on engine\.pg\..+ and value regex ok 247 - Should match all engine.pg options that match ok 248 - Call get_regex on foo\Bar\..+ and always-matching regex ok 249 - Should include key with no value ok 250 - Attempt to get_regex engine\.pg with non-matching regex should fail ok 251 - Error ident should be "config" ok 252 - Error Message should be empty ok 253 - Error exitval should be 1 ok 254 - Nothing should have been emitted ok 255 - Should get_regex usage for missing get_regex key ok 256 - And the missing get_regex key should trigger a usage message ok 257 - Should get_regex usage for invalid get_regex key ok 258 - And the invalid get_regex key should trigger a usage message ok 259 - Create config get_regex int command ok 260 - Get revert.count as int ok 261 - Should have emitted the revert count ok 262 - Get revert.revision as int ok 263 - Should have emitted the revert revision as an int ok 264 - Get bundle.tags_only as an int should fail ok 265 - Int cast exception ident should be "config" ok 266 - Create config get_regexp num command ok 267 - Get revert.count as num ok 268 - Should have emitted the revert count ok 269 - Get revert.revision as num ok 270 - Should have emitted the revert revision as an num ok 271 - Get bundle.tags_only as an num should fail ok 272 - Num cast exception ident should be "config" ok 273 - Create config get_regex bool command ok 274 - Should get failure for invalid bool int ok 275 - Bool int cast exception ident should be "config" ok 276 - Should get failure for invalid bool num ok 277 - Num int cast exception ident should be "config" ok 278 - Get bundle.tags_only as bool ok 279 - Should have emitted bundle.tags_only as a bool ok 280 - Create config get_regex bool-or-int command ok 281 - Get revert.count as bool-or-int ok 282 - Should have emitted the revert count as an int ok 283 - Get revert.revision as bool-or-int ok 284 - Should have emitted the revert revision as an int ok 285 - Get bundle.tags_only as bool-or-int ok 286 - Should have emitted bundle.tags_only as a bool ok 287 - Create system config unset command ok 288 - Unset engine.pg.user ok 289 - engine.pg.user should be gone ok 290 - Unset core.engine ok 291 - core.engine should have been removed ok 292 - Should get failure trying to delete multivalue key ok 293 - Multiple value exception ident should be "config" ok 294 - And it should have the proper error message ok 295 - Unset core.foo with a regex ok 296 - The core.foo "baz" value should have been removed ok 297 - Should unset usage for missing unset key ok 298 - And the missing unset key should trigger a usage message ok 299 - Should unset usage for invalid unset key ok 300 - And the invalid unset key should trigger a usage message ok 301 - Create system config unset_all command ok 302 - unset_all core.foo ok 303 - core.foo should have been removed ok 304 - unset_all core.foo with regex ok 305 - core.foo should have one value left ok 306 - Should unset_all usage for missing unset_all key ok 307 - And the missing unset_all key should trigger a usage message ok 308 - Should unset_all usage for invalid unset_all key ok 309 - And the invalid unset_all key should trigger a usage message ok 310 - Create system config replace_all command ok 311 - Replace all core.bar ok 312 - core.bar should have all its values with one value ok 313 - Replace all core.bar matching /^ba/ ok 314 - core.foo should have had the matching values replaced ok 315 - Create system config rename_section command ok 316 - Rename "core" to "funk" ok 317 - core.foo should have become funk.foo ok 318 - Should fail with no new name ok 319 - Message should be in the usage call ok 320 - Should fail with bad old name ok 321 - Message should be in the usage call ok 322 - Should fail with bad new name ok 323 - Message should be in the usage call ok 324 - Should fail with invalid section ok 325 - Invalid section exception ident should be "config" ok 326 - Invalid section exception message should be set ok 327 - Create system config remove_section command ok 328 - Remove "func" section ok 329 - The "funk" section should be gone ok 330 - Should fail with no name ok 331 - Message should be in the usage call ok 332 - Should fail with invalid name ok 333 - Invalid key name exception ident should be "config" ok 334 - And the invalid key message should be set ok 335 - Should fail fetching multi-value key ok 336 - Multi-value key exception ident should be "config" ok 337 - The multiple value error should be thrown ok 338 - Should fail setting multi-value key ok 339 - Multi-value key exception ident should be "config" ok 340 - The multi-value key error should be thrown ok 341 - Set should fail on App::Sqitch::Cofig error ok 342 - Set exception ident should be "config" ok 343 - Config set exception message should propagate ok 344 - Unset should fail on App::Sqitch::Cofig error ok 345 - Unset exception ident should be "config" ok 346 - Config set exception message should propagate ok 347 - Rename should fail on App::Sqitch::Cofig error ok 348 - Rename exception ident should be "config" ok 349 - Config rename exception message should propagate ok 350 - Remove should fail on App::Sqitch::Cofig error ok 351 - Remove exception ident should be "config" ok 352 - Config remove exception message should propagate ok 353 - Create system config edit command ok 354 - Execute the edit comand ok 355 - The editor should have been run ok 356 - Load a new sqitch object ok 357 - Create system config set command with subdirectory config file path ok 358 - Set "my.foo" in subdirectory config file ok 359 - The file should have been written ok 360 - no warnings ok t/configuration.t ... 1..22 ok 1 - use App::Sqitch::Config; ok 2 - 'New config object' isa 'App::Sqitch::Config' ok 3 - confname should be "sqitch.conf" ok 4 - Should not be initialized ok 5 # skip System dir can be modified at build time ok 6 - Default user directory should be correct ok 7 - Default global file name should be correct ok 8 - Should preferably get SQITCH_SYSTEM_CONFIG file from global_file ok 9 - system_file should alias global_file ok 10 - Default user file name should be correct ok 11 - Should preferably get SQITCH_USER_CONFIG file from user_file ok 12 - Local file should be correct ok 13 - dir_file should alias local_file ok 14 - local_file should prefer $SQITCH_CONFIG ok 15 - And so should dir_file ok 16 - 'Another config object' isa 'App::Sqitch::Config' ok 17 - Should be initialized ok 18 - get_section("core") should work ok 19 - get_section("engine.pg") should work ok 20 - get_section() whould work with capitalized subsection ok 21 - get_section() whould work with mixed case subsections ok 22 - no warnings ok t/conn_cmd_role.t ... ok 1 - use App::Sqitch::Role::ConnectingCommand; ok 2 - App::Sqitch::Command::click->can('does') ok 3 - App::Sqitch::Command::click does App::Sqitch::Role::ConnectingCommand ok 4 - Options should include connection options ok 5 - Should get no params for no options ok 6 - Should get dbname for --db-name ok 7 - Should collect existing but false params ok 8 - Should collect params ok 9 - An object of class 'App::Sqitch::Command::click' isa 'App::Sqitch::Command::click' ok 10 - Should get connection params from target_params 1..10 ok t/cx_cmd_role.t ..... ok 1 - use App::Sqitch::Role::ContextCommand; ok 2 - App::Sqitch::Command::click->can('does') ok 3 - App::Sqitch::Command::click does App::Sqitch::Role::ContextCommand ok 4 - Options should include context options ok 5 - Should get no params for no options ok 6 - Should get no params for empty options ok 7 - Should have no warning ok 8 - Should get top_dir ok 9 - Should have --top-dir deprecation warning ok 10 - Should collect params ok 11 - Should have --top-dir deprecation warning again ok 12 - An object of class 'App::Sqitch::Command::click' isa 'App::Sqitch::Command::click' ok 13 - Should get context params from target_params 1..13 ok t/datetime.t ........ 1..33 ok 1 - require App::Sqitch::DateTime; ok 2 - Construct a datetime object ok 3 - as_string_formats should be correct ok 4 - Date format "full" should yield "Wednesday, October 23, 2024, 4:58:59 AM America/Vancouver" ok 5 - Format "full" should be valid ok 6 - Date format "long" should yield "October 23, 2024, 4:58:59 AM PDT" ok 7 - Format "long" should be valid ok 8 - Date format "medium" should yield "Oct 23, 2024, 4:58:59 AM" ok 9 - Format "medium" should be valid ok 10 - Date format "short" should yield "10/23/24, 4:58 AM" ok 11 - Format "short" should be valid ok 12 - Date format "raw" should yield "2024-10-23T11:58:59Z" ok 13 - Format "raw" should be valid ok 14 - Date format "" should yield "2024-10-23T11:58:59Z" ok 15 - Date format "iso" should yield "2024-10-23 04:58:59 -0700" ok 16 - Format "iso" should be valid ok 17 - Date format "iso8601" should yield "2024-10-23 04:58:59 -0700" ok 18 - Format "iso8601" should be valid ok 19 - Date format "rfc" should yield "Wed, 23 Oct 2024 04:58:59 -0700" ok 20 - Format "rfc" should be valid ok 21 - Date format "rfc2822" should yield "Wed, 23 Oct 2024 04:58:59 -0700" ok 22 - Format "rfc2822" should be valid ok 23 - Date format "cldr:HH'h' mm'm'" should yield "04h 58m" ok 24 - Format "cldr:HH'h' mm'm'" should be valid ok 25 - Date format "strftime:%a at %H:%M:%S" should yield "Wed at 04:58:59" ok 26 - Format "strftime:%a at %H:%M:%S" should be valid ok 27 - Should get error for invalid date format ok 28 - Invalid date format error ident should be "datetime" ok 29 - Invalid date format error message should be correct ok 30 - Should get error for invalid as_string format param ok 31 - Invalid date format error ident should be "datetime" ok 32 - Invalid date format error message should be correct ok 33 - no warnings ok t/dbiengine_role.t .. 1..14 ok 1 - require App::Sqitch::Role::DBIEngine; ok 2 - App::Sqitch::Role::DBIEngine->can(...) ok 3 - _ts_default shoudld return DEFAULT ok 4 - registry_version should propagate non-table error ok 5 - registry_version should return false on no-table error ok 6 - _cid should propagate non-table error ok 7 - _cid should return false on no-table error and unititialized ok 8 - curent_state should propagate _select_state error ok 9 - Should have passed 1 to _select_state ok 10 - curent_state should return false on no-table error ok 11 - Should again have passed 1 to _select_state ok 12 - curent_state should propagate second error on no-column error ok 13 - Should again have passed 0 to _select_state ok 14 - Should get undef from change_id_for when no useful params ok t/depend.t .......... 1..326 ok 1 - require App::Sqitch::Plan::Depend; ok 2 - Load a sqitch sqitch object ok 3 - App::Sqitch::Plan::Depend->can(...) ok 4 - Construct "foo" ok 5 - Constructed should stringify as "foo" ok 6 - Constructed should have key name "foo" ok 7 - Constructed should plan stringify as "foo" ok 8 - Parse "foo" ok 9 - Parsed should plan stringify as "foo" ok 10 - "foo" should be required ok 11 - "foo" should not be conflicting ok 12 - "foo" type should be "require" ok 13 - Should not have got project from "foo" ok 14 - Should have project "depend" for "foo" ok 15 - "foo" should not be external ok 16 - "foo" should be internal ok 17 - Should not have got ID from "foo" ok 18 - Construct "bar" ok 19 - Constructed should stringify as "bar" ok 20 - Constructed should have key name "bar" ok 21 - Constructed should plan stringify as "bar" ok 22 - Parse "bar" ok 23 - Parsed should plan stringify as "bar" ok 24 - "bar" should be required ok 25 - "bar" should not be conflicting ok 26 - "bar" type should be "require" ok 27 - Should not have got project from "bar" ok 28 - Should have project "depend" for "bar" ok 29 - "bar" should not be external ok 30 - "bar" should be internal ok 31 - Should not have got ID from "bar" ok 32 - Construct "@bar" ok 33 - Constructed should stringify as "@bar" ok 34 - Constructed should have key name "@bar" ok 35 - Constructed should plan stringify as "@bar" ok 36 - Parse "@bar" ok 37 - Parsed should plan stringify as "@bar" ok 38 - "@bar" should be required ok 39 - "@bar" should not be conflicting ok 40 - "@bar" type should be "require" ok 41 - Should not have got project from "@bar" ok 42 - Should have project "depend" for "@bar" ok 43 - "@bar" should not be external ok 44 - "@bar" should be internal ok 45 - Should not have got ID from "@bar" ok 46 - Construct "!foo" ok 47 - Constructed should stringify as "foo" ok 48 - Constructed should have key name "foo" ok 49 - Constructed should plan stringify as "!foo" ok 50 - Parse "!foo" ok 51 - Parsed should plan stringify as "!foo" ok 52 - "!foo" should be conflicting ok 53 - "!foo" should not be required ok 54 - "!foo" type should be "conflict" ok 55 - Should not have got project from "!foo" ok 56 - Should have project "depend" for "!foo" ok 57 - "!foo" should not be external ok 58 - "!foo" should be internal ok 59 - Should not have got ID from "!foo" ok 60 - Construct "!@bar" ok 61 - Constructed should stringify as "@bar" ok 62 - Constructed should have key name "@bar" ok 63 - Constructed should plan stringify as "!@bar" ok 64 - Parse "!@bar" ok 65 - Parsed should plan stringify as "!@bar" ok 66 - "!@bar" should be conflicting ok 67 - "!@bar" should not be required ok 68 - "!@bar" type should be "conflict" ok 69 - Should not have got project from "!@bar" ok 70 - Should have project "depend" for "!@bar" ok 71 - "!@bar" should not be external ok 72 - "!@bar" should be internal ok 73 - Should not have got ID from "!@bar" ok 74 - Construct "foo@bar" ok 75 - Constructed should stringify as "foo@bar" ok 76 - Constructed should have key name "foo@bar" ok 77 - Constructed should plan stringify as "foo@bar" ok 78 - Parse "foo@bar" ok 79 - Parsed should plan stringify as "foo@bar" ok 80 - "foo@bar" should be required ok 81 - "foo@bar" should not be conflicting ok 82 - "foo@bar" type should be "require" ok 83 - Should not have got project from "foo@bar" ok 84 - Should have project "depend" for "foo@bar" ok 85 - "foo@bar" should not be external ok 86 - "foo@bar" should be internal ok 87 - Should not have got ID from "foo@bar" ok 88 - Construct "!foo@bar" ok 89 - Constructed should stringify as "foo@bar" ok 90 - Constructed should have key name "foo@bar" ok 91 - Constructed should plan stringify as "!foo@bar" ok 92 - Parse "!foo@bar" ok 93 - Parsed should plan stringify as "!foo@bar" ok 94 - "!foo@bar" should be conflicting ok 95 - "!foo@bar" should not be required ok 96 - "!foo@bar" type should be "conflict" ok 97 - Should not have got project from "!foo@bar" ok 98 - Should have project "depend" for "!foo@bar" ok 99 - "!foo@bar" should not be external ok 100 - "!foo@bar" should be internal ok 101 - Should not have got ID from "!foo@bar" ok 102 - Construct "proj:foo" ok 103 - Constructed should stringify as "proj:foo" ok 104 - Constructed should have key name "foo" ok 105 - Constructed should plan stringify as "proj:foo" ok 106 - Parse "proj:foo" ok 107 - Parsed should plan stringify as "proj:foo" ok 108 - "proj:foo" should be required ok 109 - "proj:foo" should not be conflicting ok 110 - "proj:foo" type should be "require" ok 111 - Should have got project from "proj:foo" ok 112 - Should have project "proj" for "proj:foo" ok 113 - "proj:foo" should be external ok 114 - "proj:foo" should not be internal ok 115 - Should not have got ID from "proj:foo" ok 116 - Construct "!proj:foo" ok 117 - Constructed should stringify as "proj:foo" ok 118 - Constructed should have key name "foo" ok 119 - Constructed should plan stringify as "!proj:foo" ok 120 - Parse "!proj:foo" ok 121 - Parsed should plan stringify as "!proj:foo" ok 122 - "!proj:foo" should be conflicting ok 123 - "!proj:foo" should not be required ok 124 - "!proj:foo" type should be "conflict" ok 125 - Should have got project from "!proj:foo" ok 126 - Should have project "proj" for "!proj:foo" ok 127 - "!proj:foo" should be external ok 128 - "!proj:foo" should not be internal ok 129 - Should not have got ID from "!proj:foo" ok 130 - Construct "proj:@foo" ok 131 - Constructed should stringify as "proj:@foo" ok 132 - Constructed should have key name "@foo" ok 133 - Constructed should plan stringify as "proj:@foo" ok 134 - Parse "proj:@foo" ok 135 - Parsed should plan stringify as "proj:@foo" ok 136 - "proj:@foo" should be required ok 137 - "proj:@foo" should not be conflicting ok 138 - "proj:@foo" type should be "require" ok 139 - Should have got project from "proj:@foo" ok 140 - Should have project "proj" for "proj:@foo" ok 141 - "proj:@foo" should be external ok 142 - "proj:@foo" should not be internal ok 143 - Should not have got ID from "proj:@foo" ok 144 - Construct "!proj:@foo" ok 145 - Constructed should stringify as "proj:@foo" ok 146 - Constructed should have key name "@foo" ok 147 - Constructed should plan stringify as "!proj:@foo" ok 148 - Parse "!proj:@foo" ok 149 - Parsed should plan stringify as "!proj:@foo" ok 150 - "!proj:@foo" should be conflicting ok 151 - "!proj:@foo" should not be required ok 152 - "!proj:@foo" type should be "conflict" ok 153 - Should have got project from "!proj:@foo" ok 154 - Should have project "proj" for "!proj:@foo" ok 155 - "!proj:@foo" should be external ok 156 - "!proj:@foo" should not be internal ok 157 - Should not have got ID from "!proj:@foo" ok 158 - Construct "proj:foo@bar" ok 159 - Constructed should stringify as "proj:foo@bar" ok 160 - Constructed should have key name "foo@bar" ok 161 - Constructed should plan stringify as "proj:foo@bar" ok 162 - Parse "proj:foo@bar" ok 163 - Parsed should plan stringify as "proj:foo@bar" ok 164 - "proj:foo@bar" should be required ok 165 - "proj:foo@bar" should not be conflicting ok 166 - "proj:foo@bar" type should be "require" ok 167 - Should have got project from "proj:foo@bar" ok 168 - Should have project "proj" for "proj:foo@bar" ok 169 - "proj:foo@bar" should be external ok 170 - "proj:foo@bar" should not be internal ok 171 - Should not have got ID from "proj:foo@bar" ok 172 - Construct "!proj:foo@bar" ok 173 - Constructed should stringify as "proj:foo@bar" ok 174 - Constructed should have key name "foo@bar" ok 175 - Constructed should plan stringify as "!proj:foo@bar" ok 176 - Parse "!proj:foo@bar" ok 177 - Parsed should plan stringify as "!proj:foo@bar" ok 178 - "!proj:foo@bar" should be conflicting ok 179 - "!proj:foo@bar" should not be required ok 180 - "!proj:foo@bar" type should be "conflict" ok 181 - Should have got project from "!proj:foo@bar" ok 182 - Should have project "proj" for "!proj:foo@bar" ok 183 - "!proj:foo@bar" should be external ok 184 - "!proj:foo@bar" should not be internal ok 185 - Should not have got ID from "!proj:foo@bar" ok 186 - Construct "9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 187 - Constructed should stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 188 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 189 - Constructed should plan stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 190 - Parse "9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 191 - Parsed should plan stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 192 - "9ed961ad7902a67fe0804c8e49e8993719fd5065" should be required ok 193 - "9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be conflicting ok 194 - "9ed961ad7902a67fe0804c8e49e8993719fd5065" type should be "require" ok 195 - Should not have got project from "9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 196 - Should have undef project for "9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 197 - "9ed961ad7902a67fe0804c8e49e8993719fd5065" should be external ok 198 - "9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be internal ok 199 - Should have got ID from "9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 200 - Construct "!9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 201 - Constructed should stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 202 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 203 - Constructed should plan stringify as "!9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 204 - Parse "!9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 205 - Parsed should plan stringify as "!9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 206 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065" should be conflicting ok 207 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be required ok 208 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065" type should be "conflict" ok 209 - Should not have got project from "!9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 210 - Should have undef project for "!9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 211 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065" should be external ok 212 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be internal ok 213 - Should have got ID from "!9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 214 - Construct "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 215 - Constructed should stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 216 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 217 - Constructed should plan stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 218 - Parse "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 219 - Parsed should plan stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 220 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should be required ok 221 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be conflicting ok 222 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" type should be "require" ok 223 - Should have got project from "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 224 - Should have project "foo" for "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 225 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should be external ok 226 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be internal ok 227 - Should have got ID from "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 228 - Construct "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 229 - Constructed should stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 230 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 231 - Constructed should plan stringify as "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 232 - Parse "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 233 - Parsed should plan stringify as "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 234 - "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should be conflicting ok 235 - "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be required ok 236 - "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" type should be "conflict" ok 237 - Should have got project from "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 238 - Should have project "foo" for "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 239 - "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should be external ok 240 - "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" should not be internal ok 241 - Should have got ID from "!foo:9ed961ad7902a67fe0804c8e49e8993719fd5065" ok 242 - Construct "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 243 - Constructed should stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 244 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 245 - Constructed should plan stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 246 - Parse "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 247 - Parsed should plan stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 248 - "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should be required ok 249 - "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should not be conflicting ok 250 - "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" type should be "require" ok 251 - Should not have got project from "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 252 - Should have project "depend" for "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 253 - "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should not be external ok 254 - "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should be internal ok 255 - Should not have got ID from "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 256 - Construct "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 257 - Constructed should stringify as "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 258 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 259 - Constructed should plan stringify as "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 260 - Parse "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 261 - Parsed should plan stringify as "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 262 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should be conflicting ok 263 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should not be required ok 264 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" type should be "conflict" ok 265 - Should not have got project from "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 266 - Should have project "depend" for "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 267 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should not be external ok 268 - "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should be internal ok 269 - Should not have got ID from "!9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 270 - Construct "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 271 - Constructed should stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 272 - Constructed should have key name "9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 273 - Constructed should plan stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 274 - Parse "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 275 - Parsed should plan stringify as "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 276 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should be required ok 277 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should not be conflicting ok 278 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" type should be "require" ok 279 - Should have got project from "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 280 - Should have project "foo" for "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 281 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should be external ok 282 - "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" should not be internal ok 283 - Should not have got ID from "foo:9ed961ad7902a67fe0804c8e49e8993719fd5065@what" ok 284 - Should fail to parse "foo bar" ok 285 - Should fail to parse "foo+@bar" ok 286 - Should fail to parse "foo:+bar" ok 287 - Should fail to parse "foo@bar+" ok 288 - Should fail to parse "proj:foo@bar+" ok 289 - Should get exception for no change or tag ok 290 - No change or tag error ident should be "DEV" ok 291 - No change or tag error message should be correct ok 292 - Should get an error for ID + change ok 293 - ID + change error ident ident should be "DEV" ok 294 - ID + change error message should be correct ok 295 - Should get an error for ID + tag ok 296 - ID + tag error ident ident should be "DEV" ok 297 - ID + tag error message should be correct ok 298 - Should get an error for ID + tag and change ok 299 - ID + tag and change error ident ident should be "DEV" ok 300 - ID + tag and change error message should be correct ok 301 - Create "roles" dependency ok 302 - Should find the "roles" ID in the plan ok 303 - The "roles" change should not be external ok 304 - The "roles" change should be internal ok 305 - Create "elsewhere:roles" dependency ok 306 - The "elsewhere:roles" id should be undef ok 307 - The "elsewhere:roles" change should be external ok 308 - The "elsewhere:roles" change should not be internal ok 309 - Create depend using external ID ok 310 - The external ID should be set ok 311 - The external ID should register as external ok 312 - The external ID should not register as internal ok 313 - Create depend using "roles" ID ok 314 - The "roles" ID should be set ok 315 - The "roles" ID should not register as external ok 316 - The "roles" ID should register as internal ok 317 - Create "nonexistent" dependency ok 318 - Should get error for nonexistent change ok 319 - Nonexistent change error ident should be "plan" ok 320 - Nonexistent change error message should be correct ok 321 - Create depend without ID ok 322 - Resolved ID should be undef ok 323 - Set resolved ID ok 324 - Resolved ID should be set ok 325 - Unset resolved ID ok 326 - Resolved ID should be undef again ok t/deploy.t .......... ok 1 - require App::Sqitch::Command::deploy; ok 2 - The class (or class-like) 'App::Sqitch::Command::deploy' isa 'App::Sqitch::Command' ok 3 - App::Sqitch::Command::deploy->can(...) ok 4 - App::Sqitch::Command::deploy does ContextCommand ok 5 - App::Sqitch::Command::deploy does ConnectingCommand ok 6 - Options should be correct ok 7 - Should parse options ok 8 - Options should not conflict with core options ok 9 - Should have default configuration with no config or opts ok 10 - Should have mode, verify, set, log-only, & lock-timeout options ok 11 - Should have mode and verify configuration ok 12 - 'new deploy with target' isa 'App::Sqitch::Command::deploy' ok 13 - Should have target "foo" ok 14 - An object of class 'App::Sqitch::Command::deploy' isa 'App::Sqitch::Command::deploy' ok 15 - Should have undef default target ok 16 - to_change should be undef ok 17 - mode should be "all" ok 18 - Should collect no variables ok 19 - Should collect core vars ok 20 - Should override core vars with deploy vars ok 21 - Should override deploy vars with engine vars ok 22 - Should override engine vars with target vars ok 23 - Should override target vars with --set variables ok 24 - Execute to "@alpha" ok 25 - "@alpha" "all", and 0 should be passed to the engine ok 26 - Should have a target ok 27 - The engine should not be set log_only ok 28 - The engine should have the default lock_timeout ok 29 - Should have no warnings ok 30 - Execute ok 31 - undef and "all" should be passed to the engine ok 32 - Should have no warnings ok 33 - Execute with change ok 34 - "widgets" and "all" should be passed to the engine ok 35 - Should have no warnings ok 36 - Execute with target ok 37 - undef and "all" should be passed to the engine ok 38 - The target should be as specified ok 39 - Should have no warnings ok 40 - Execute with change and target ok 41 - "widgets" and "all" should be passed to the engine ok 42 - The target should be as specified ok 43 - Should have no warnings ok 44 - Execute with target and change ok 45 - "widgets" and "all" should be passed to the engine ok 46 - The target should be as specified ok 47 - Should have no warnings ok 48 - 'Object with to, mode, log_only, and variables' isa 'App::Sqitch::Command::deploy' ok 49 - Execute again ok 50 - Engine should verify ok 51 - The engine should be set log_only ok 52 - The lock timeout should be set to 30 ok 53 - "foo", "tag", and 1 should be passed to the engine ok 54 - Vars should have been passed through to the engine ok 55 - The target name should be from the target option ok 56 - Should have no warnings ok 57 - Execute with change ok 58 - Engine should verify ok 59 - The engine should be set log_only ok 60 - The lock timeout should be set to 30 ok 61 - "foo", "tag", and 1 should be passed to the engine ok 62 - Vars should have been passed through to the engine ok 63 - Should have too many changes warning ok 64 - Execute with target again ok 65 - Engine should verify ok 66 - The engine should be set log_only ok 67 - The lock timeout should be set to 30 ok 68 - "foo", "tag", and 1 should be passed to the engine ok 69 - Vars should have been passed through to the engine ok 70 - The target should be from the target option ok 71 - Should have warning about too many targets ok 72 - "all" should be a valid mode ok 73 - "tag" should be a valid mode ok 74 - "change" should be a valid mode ok 75 - "foo" should not be a valid mode ok 76 - "bad" should not be a valid mode ok 77 - "gar" should not be a valid mode ok 78 - Should get an exception for unknown arg ok 79 - Unknown arg ident should be "deploy" ok 80 - Should get an exeption for two unknown arg ok 81 - Should get an exception for unknown args ok 82 - Unknown args ident should be "deploy" ok 83 - Should get an exeption for two unknown args 1..83 ok t/engine.t .......... 1..781 ok 1 - use App::Sqitch::Engine; ok 2 - App::Sqitch::Engine->can(...) ok 3 - Load a sqitch sqitch object ok 4 - Should get an exception for missing sqitch param ok 5 - Should get an exception for missing sqitch param ok 6 - Should get an exception for array sqitch param ok 7 - Should get an exception for array target param ok 8 - Should get an exception for string sqitch param ok 9 - Should get an exception for string target param ok 10 - 'Engine' isa 'App::Sqitch::Engine' ok 11 - Load an engine ok 12 - An object of class 'App::Sqitch::Engine::whu' isa 'App::Sqitch::Engine::whu' ok 13 - The sqitch attribute should be set ok 14 - Should die on unknown target ok 15 - Should get load error message ok 16 - Should have relevant previoius exception ok 17 - No target should die ok 18 - It should be the expected message ok 19 - Should die on bad engine module ok 20 - Should get another load error message ok 21 - Should have relevant previoius exception from the bad module ok 22 - App::Sqitch::Engine->can('name') ok 23 - Create a App::Sqitch::Engine object ok 24 - Should get error from base engine name ok 25 - Name error ident should be "engine" ok 26 - Name error message should be correct ok 27 - Create a subclass name object ok 28 - Subclass oject name should be "whu" ok 29 - Subclass class name should be "whu" ok 30 - App::Sqitch::Engine->can('config_vars') ok 31 - Should have database and client in engine base class ok 32 - App::Sqitch::Engine->can(...) ok 33 - Should have no variables ok 34 - Add a variable ok 35 - Should have the variable ok 36 - Set more variables ok 37 - Should have all of the variables ok 38 - Should again have no variables ok 39 - Load engine ok 40 - Target should be as passed ok 41 - Load engine with URI with password ok 42 - 'target attribute' isa 'App::Sqitch::Target' ok 43 - Load engine ok 44 - Destination should be URI string ok 45 - Rgistry destination should be the same as destination ok 46 - Load engine with URI with password ok 47 - Destination should not include password ok 48 - Registry destination should again be the same as destination ok 49 - App::Sqitch::Engine::whu->can('_check_registry') ok 50 - Registry should be fine at current version ok 51 - Should get error for non-existent registry ok 52 - Non-existent registry error ident should be "engine" ok 53 - Non-existent registry error message should be correct ok 54 - Should get error from revert ok 55 - revert registry error ident should be "engine" ok 56 - revert registry error message should be correct ok 57 - Should get error from verify ok 58 - verify registry error ident should be "engine" ok 59 - verify registry error message should be correct ok 60 - Should get error for out-of-date registry ok 61 - Out-of-date registry error ident should be "engine" ok 62 - Out-of-date registry error message should be correct ok 63 - Should get error for future registry ok 64 - Future registry error ident should be "engine" ok 65 - Future registry error message should be correct ok 66 - Create a App::Sqitch::Engine object again ok 67 - Should get an unimplemented exception from initialized() ok 68 - Should get an unimplemented exception from initialize() ok 69 - Should get an unimplemented exception from register_project() ok 70 - Should get an unimplemented exception from run_file() ok 71 - Should get an unimplemented exception from run_handle() ok 72 - Should get an unimplemented exception from log_deploy_change() ok 73 - Should get an unimplemented exception from log_fail_change() ok 74 - Should get an unimplemented exception from log_revert_change() ok 75 - Should get an unimplemented exception from log_new_tags() ok 76 - Should get an unimplemented exception from is_deployed_tag() ok 77 - Should get an unimplemented exception from is_deployed_change() ok 78 - Should get an unimplemented exception from are_deployed_changes() ok 79 - Should get an unimplemented exception from change_id_for() ok 80 - Should get an unimplemented exception from changes_requiring_change() ok 81 - Should get an unimplemented exception from earliest_change_id() ok 82 - Should get an unimplemented exception from latest_change_id() ok 83 - Should get an unimplemented exception from deployed_changes() ok 84 - Should get an unimplemented exception from deployed_changes_since() ok 85 - Should get an unimplemented exception from load_change() ok 86 - Should get an unimplemented exception from name_for_change_id() ok 87 - Should get an unimplemented exception from current_state() ok 88 - Should get an unimplemented exception from current_changes() ok 89 - Should get an unimplemented exception from current_tags() ok 90 - Should get an unimplemented exception from search_events() ok 91 - Should get an unimplemented exception from registered_projects() ok 92 - Should get an unimplemented exception from change_offset_from_id() ok 93 - Should get an unimplemented exception from change_id_offset_from_id() ok 94 - Should get an unimplemented exception from wait_lock() ok 95 - Should get an unimplemented exception from registry_version() ok 96 - Should get an unimplemented exception from _update_script_hashes() ok 97 - App::Sqitch::Engine->can('_load_changes') ok 98 - Should load changes with no change ok 99 - Should load changes with undef ok 100 - Should load changes with no tags ok 101 - Should load changes with multiple hashes with no tags ok 102 - Should load changes with tags ok 103 - Should load changes with tags with leading @ ok 104 - Should load changes with multiple hashes with tags ok 105 - Should load changes with reworked change ok 106 - Should load changes with reworked change & multiple tags ok 107 - Should load changes with doubly reworked change ok 108 - Rework change "you" ok 109 - Tag @beta1 ok 110 - Should load changes with Unplanned change ok 111 - Should load changes with reworked change without reworked version deployed ok 112 - Should load changes with reworked change with reworked version deployed ok 113 - Create a subclass name object again ok 114 - App::Sqitch::Engine::whu->can(...) ok 115 - Deploy a change ok 116 - deploy_change should have called the proper methods ok 117 - Output should reflect the deployment ok 118 - Output should reflect success ok 119 - Only log a change ok 120 - log-only deploy_change should not have called run_file ok 121 - Output should reflect the logging ok 122 - Output should reflect deploy success ok 123 - Enable verification ok 124 - Deploy a change to be verified ok 125 - deploy_change with verification should run the verify file ok 126 - Output should reflect the logging ok 127 - Output should reflect deploy success ok 128 - Enable log_only ok 129 - Verify and log a change ok 130 - deploy_change with verification and log-only should not run deploy ok 131 - Output should reflect the logging ok 132 - Output should reflect deploy success ok 133 - Deploy change with error ok 134 - Error should be from run_file ok 135 - Should have logged change failure ok 136 - Output should reflect the deployment, even with failure ok 137 - Output should reflect deploy failure ok 138 - Deploy change with failed verification ok 139 - Error should be from deploy_change ok 140 - Should have logged verify failure ok 141 - Output should reflect the deployment, even with verify failure ok 142 - Output should reflect deploy failure ok 143 - Verify error should have been vented ok 144 - Enable log_only ok 145 - Deploy change with log-only and failed verification ok 146 - Error should be from deploy_change ok 147 - Should have logged verify failure but not reverted ok 148 - Output should reflect the deployment, even with verify failure ok 149 - Output should reflect deploy failure ok 150 - Verify error should have been vented ok 151 - Deploy a change with no verify script ok 152 - deploy_change with no verify file should not run it ok 153 - Output should reflect the logging ok 154 - Output should reflect deploy success ok 155 - A warning about no verify file should have been emitted ok 156 - Revert a change ok 157 - revert_change should have called the proper methods ok 158 - Output should reflect reversion ok 159 - Output should acknowldge revert success ok 160 - Enable log_only ok 161 - Revert a change with log-only ok 162 - Log-only revert_change should not have run the change script ok 163 - Output should reflect logged reversion ok 164 - Output should acknowldge revert success ok 165 - Should die on unknown revert logging error ok 166 - Sould have revert ident error ok 167 - Should get revert failure error message ok 168 - Log failure should not have seen log_rever_change ok 169 - Output should reflect reversion ok 170 - Output should acknowldge success failure ok 171 - The logging error should have been vented ok 172 - Engine with sqitch with plan file ok 173 - Should get proper change from latest_change() ok 174 - Latest change ID should have been called with no arg ok 175 - Should again get proper change from latest_change() ok 176 - Latest change ID should have been called with offset arg ok 177 - Should get proper change from earliest_change() ok 178 - Earliest change ID should have been called with no arg ok 179 - Should again get proper change from earliest_change() ok 180 - Earliest change ID should have been called with offset arg ok 181 - App::Sqitch::Engine->can('_sync_plan') ok 182 - Plan should start at position -1 ok 183 - start_at should be undef ok 184 - Sync the plan ok 185 - Plan should still be at position -1 ok 186 - start_at should still be undef ok 187 - Should not have updated IDs or hashes ok 188 - Sync the plan again ok 189 - Plan should again be at position -1 ok 190 - start_at should again be undef ok 191 - Still should not have updated IDs or hashes ok 192 - Sync the plan to a tag ok 193 - Plan should now be at position 2 ok 194 - start_at should now be widgets@beta ok 195 - Should have updated IDs ok 196 - Sync the plan with a random script hash ok 197 - Plan should now be at position 1 ok 198 - start_at should now be widgets@beta ok 199 - Should have updated IDs but not hashes ok 200 - Sync the plan with a random script hash ok 201 - Plan should now be at position 1 ok 202 - start_at should now be widgets@beta ok 203 - Should have updated IDs and hashes ok 204 - Sync the plan ok 205 - Plan should be at position 1 ok 206 - start_at should be users@alpha ok 207 - Should have updated hashes but not IDs ok 208 - Sync the plan with no script hash ok 209 - Plan should now be at position 1 ok 210 - start_at should still be users@alpha ok 211 - Should have ugpraded the registry ok 212 - The script hash should have been set to the change ID ok 213 - Sync the plan with no registry ok 214 - Plan should start at position -1 ok 215 - App::Sqitch::Engine->can('deploy') ok 216 - Deploy to @alpha ok 217 - Plan should be at position 1 ok 218 - Should have deployed through @alpha ok 219 - Should have called _deploy_all() ok 220 - Should have seen the output of the deploy to @alpha ok 221 - Both change names should be output ok 222 - Enable log_only ok 223 - Log-only deploy in $mode mode to @alpha ok 224 - Plan should be at position 1 ok 225 - Should have deployed through @alpha without running files ok 226 - Should have called _deploy_by_change() ok 227 - Should have seen the output of the deploy to @alpha ok 228 - Both change names should be output ok 229 - Enable log_only ok 230 - Log-only deploy in $mode mode to @alpha ok 231 - Plan should be at position 1 ok 232 - Should have deployed through @alpha without running files ok 233 - Should have called _deploy_by_tag() ok 234 - Should have seen the output of the deploy to @alpha ok 235 - Both change names should be output ok 236 - Enable log_only ok 237 - Log-only deploy in $mode mode to @alpha ok 238 - Plan should be at position 1 ok 239 - Should have deployed through @alpha without running files ok 240 - Should have called _deploy_all() ok 241 - Should have seen the output of the deploy to @alpha ok 242 - Both change names should be output ok 243 - Deploy to @alpha with tag mode ok 244 - Plan should again be at position 1 ok 245 - Should have deployed through @alpha without initialization ok 246 - Should have called _deploy_by_tag() ok 247 - Should have seen the output of the deploy to @alpha ok 248 - Both change names should be output ok 249 - Should get an error for an unknown change ok 250 - The exception should report the unknown change ok 251 - Only latest_item() should have been called ok 252 - Deploy to alpha thrice ok 253 - Only latest_item() should have been called ok 254 - Should notify user that already at @alpha ok 255 - Should fail deploying older change ok 256 - Should be a "deploy" error ok 257 - It should suggest using "revert" ok 258 - Should have called latest_item() and latest_tag() ok 259 - Deploy to from index 1 ok 260 - Plan should be at position 2 ok 261 - Should have deployed to change 2 ok 262 - Should have emitted deploy announcement and successes ok 263 - Deploy everything by change ok 264 - Plan should be at position 3 ok 265 - Should have deployed everything ok 266 - Should have called _deploy_by_change() ok 267 - Should have emitted deploy announcement and successes ok 268 - Should have seen the output of the deploy to the end ok 269 - Debug output should show what will be deployed ok 270 - Should return success for deploy to up-to-date DB ok 271 - Should have emitted deploy announcement and successes ok 272 - It should have just fetched the latest change ID ok 273 - Should fail on invalid mode ok 274 - Should be a "deploy" error ok 275 - And the message should reflect the unknown mode ok 276 - It should have check for initialization ok 277 - Should have announced destination ok 278 - Engine with sqitch with no file ok 279 - Should die with no changes ok 280 - Should have the localized message ok 281 - It should have checked for the latest item ok 282 - Deploy changewise to index 1 ok 283 - Should changewise deploy to index 2 ok 284 - Should have seen output of each change ok 285 - Output should reflect deploy successes ok 286 - Deploy changewise to index 2 ok 287 - Should changewise deploy to from index 2 to index 3 ok 288 - Should have seen output of changes 2-3 ok 289 - Output should reflect deploy successes ok 290 - Die in _deploy_by_change ok 291 - It should have died in run_file ok 292 - It should have logged the failure ok 293 - Should have seen output for first change ok 294 - Output should reflect deploy failure ok 295 - Deploy tagwise to index 1 ok 296 - Should tagwise deploy to index 1 ok 297 - Should have seen output of each change ok 298 - Output should reflect deploy successes ok 299 - Deploy tagwise to index 3 ok 300 - Should tagwise deploy from index 2 to index 3 ok 301 - Should have seen output of changes 3-3 ok 302 - Output should reflect deploy successes ok 303 - Die in log_deploy_change ok 304 - Should get final deploy failure message ok 305 - It should have reverted back to the last deployed tag ok 306 - Should have seen deploy and revert messages (excluding curry revert) ok 307 - Output should reflect deploy successes and failure ok 308 - The original error should have been vented ok 309 - Enable log_only ok 310 - Die in log_deploy_change log-only ok 311 - Should get final deploy failure message ok 312 - It should have run no deploy or revert scripts ok 313 - Should have seen deploy and revert messages (excluding curry revert) ok 314 - Output should reflect deploy successes and failure ok 315 - The original error should have been vented ok 316 - Die in _deploy_by_tag again ok 317 - Should again get final deploy failure message ok 318 - Should have logged back to the beginning ok 319 - Should have seen deploy and revert messages ok 320 - Output should reflect deploy successes and failure ok 321 - Should have one vented message ok 322 - And it should be the underlying error ok 323 - And it should had notified that all changes were reverted ok 324 - Die in _deploy_by_tag yet again ok 325 - Should die "Deploy failed" again ok 326 - Should have reverted back to last tag ok 327 - Should have user change reversion messages ok 328 - Output should reflect deploy successes and failure ok 329 - Should see underlying error and reversion message ok 330 - Die in _deploy_by_tag again ok 331 - Should once again get final deploy failure message ok 332 - Should have tried to revert one change ok 333 - Should have seen revert message ok 334 - Output should reflect deploy successes and failure ok 335 - Should get reversion failure message ok 336 - Deploy all to index 1 ok 337 - Should tagwise deploy to index 1 ok 338 - Should have seen output of each change ok 339 - Output should reflect deploy successes ok 340 - Deploy tagwise to index 2 ok 341 - Should tagwise deploy to from index 1 to index 2 ok 342 - Should have seen output of changes 3-4 ok 343 - Output should reflect deploy successe ok 344 - Die in _deploy_all ok 345 - Should get final deploy failure message ok 346 - It should have logged up to the failure ok 347 - Should have seen deploy and revert messages excluding revert for failed logging ok 348 - Output should reflect deploy successes and failures ok 349 - The original error should have been vented ok 350 - Enable log_only ok 351 - Die in log-only _deploy_all ok 352 - Should get final deploy failure message ok 353 - It should have run no deploys or reverts ok 354 - Should have seen deploy and revert messages excluding revert for failed logging ok 355 - Output should reflect deploy successes and failures ok 356 - The original error should have been vented ok 357 - Die in _deploy_all again ok 358 - Should again get final deploy failure message ok 359 - Should have reveted all changes and tags ok 360 - Should see all changes revert ok 361 - Output should reflect deploy successes and failures ok 362 - Should notifiy user of error and rollback ok 363 - Die in _deploy_all on the last change ok 364 - Should once again get final deploy failure message ok 365 - Should have deployed to dr_evil and revered down to @alpha ok 366 - Should see changes revert back to @alpha ok 367 - Output should reflect deploy successes and failures ok 368 - Should notifiy user of error and rollback to @alpha ok 369 - Die in _deploy_all on the last change ok 370 - Should once again get final deploy failure message ok 371 - Should have deployed to dr_evil and revered down to @alpha ok 372 - Should see changes revert back to @alpha ok 373 - Output should reflect deploy successes and failures ok 374 - Should have two vented items ok 375 - First vented should be the error ok 376 - Should notifiy user of rollback to @alpha ok 377 - Test is_deployed(tag) ok 378 - It should have called is_deployed_tag() ok 379 - Test is_deployed(change) ok 380 - It should have called is_deployed_change() ok 381 - App::Sqitch::Engine::whu->can('deploy_change') ok 382 - Deploy a change ok 383 - It should have been deployed ok 384 - Should have shown change name ok 385 - Output should reflect deploy success ok 386 - Deploying change should die on logging failure ok 387 - Should have privat ident ok 388 - Should have failure message ok 389 - It should have been deployed and reverted ok 390 - Should have shown change name ok 391 - Output should reflect deploy failure ok 392 - Vent should reflect deployment error ok 393 - Deploying change should die on logging failure ok 394 - Should have privat ident ok 395 - Should have failure message ok 396 - It should have been deployed but not reverted ok 397 - Should have shown change name ok 398 - Output should reflect deploy failure ok 399 - Vent should reflect deployment and reversion errors ok 400 - Shuld die on deploy failure ok 401 - Should be told the deploy failed ok 402 - It should failed to have been deployed ok 403 - Should have vented the original error ok 404 - Should have shown change name ok 405 - Output should reflect deploy failure ok 406 - App::Sqitch::Engine::whu->can('revert_change') ok 407 - Revert the change ok 408 - It should have been reverted ok 409 - Should have shown reverted change name ok 410 - And the revert failure should be "ok" ok 411 - App::Sqitch::Engine::whu->can('revert') ok 412 - Should return success for no changes to revert ok 413 - Should have notified that there is nothing to revert ok 414 - It should only have called deployed_changes() ok 415 - Nothing should have been output ok 416 - Should get warning omitting required arguments ok 417 - Should have notified that there is nothing to revert ok 418 - It should only have called deployed_changes() ok 419 - Nothing should have been output ok 420 - Revert should die on unknown change ok 421 - Should be another "revert" error ok 422 - The message should mention it is an unknown change ok 423 - Should have called change_id_for() with change name ok 424 - Nothing should have been output ok 425 - Revert should die on unknown change ID ok 426 - Should be another "revert" error ok 427 - The message should mention it is an unknown change ok 428 - Should have called change_id_for() with change ID ok 429 - Nothing should have been output ok 430 - Revert should die on undeployed change ok 431 - Should be another "revert" error ok 432 - The message should mention that the change is not deployed ok 433 - change_id_for ok 434 - Nothing should have been output ok 435 - Should return success for revert even with no changes ok 436 - No subsequent change error message should be correct ok 437 - Should have called change_id_for and deployed_changes_since ok 438 - Should return success for known but undeployed change ok 439 - No changes message should be correct ok 440 - Should have called deployed_changes ok 441 - Revert all changes ok 442 - Should have reverted the changes in reverse order ok 443 - Should have prompted to revert all changes ok 444 - It should have said it was reverting all changes and listed them ok 445 - Output should show what would be reverted ok 446 - And the revert successes should be emitted ok 447 - Enable log_only ok 448 - Revert all changes log-only ok 449 - Log-only Should have reverted the changes in reverse order ok 450 - Log-only should have prompted to revert all changes ok 451 - It should have said it was reverting all changes and listed them ok 452 - Output should show what would be reverted ok 453 - And the revert successes should be emitted ok 454 - Should abort declined revert ok 455 - Declined revert ident should be "revert" ok 456 - Should have exited with value 1 ok 457 - Should have exited with proper message ok 458 - Should have called deployed_changes only ok 459 - Should have prompt to revert all changes ok 460 - Output should show what would be reverted ok 461 - Revert all changes with no prompt ok 462 - Should have reverted the changes in reverse order ok 463 - Should have no prompt ok 464 - It should have said it was reverting all changes and listed them ok 465 - And the revert successes should be emitted ok 466 - Output should show what will be reverted ok 467 - Revert to @alpha ok 468 - Should have reverted only changes after @alpha ok 469 - Should have prompt to revert to change ok 470 - Output should show what it reverts to ok 471 - Output should show what would be reverted ok 472 - And the revert successes should be emitted ok 473 - Should abort declined revert to @alpha ok 474 - Declined revert ident should be "revert:confirm" ok 475 - Should have exited with value 1 ok 476 - Should have exited with proper message ok 477 - Should have called revert methods ok 478 - Should have prompt to revert to @alpha ok 479 - Should emit a detailed prompt. ok 480 - Revert to @HEAD^ ok 481 - Should have reverted one changes for @HEAD^ ok 482 - Should have no prompt ok 483 - Output should show what it reverts to ok 484 - And the header and "ok" should be emitted ok 485 - Output should show what will be reverted ok 486 - App::Sqitch::Engine->can('change_id_for_depend') ok 487 - Should get error from change_id_for_depend when change not in plan ok 488 - Should get ident "plan" from change_id_for_depend ok 489 - Should have proper message from change_id_for_depend error ok 490 - Should get error from change_id_for_depend when no ID ok 491 - Should get ident "engine" when no ID ok 492 - Should have proper messag from change_id_for_depend error ok 493 - Get a change id ok 494 - Should have passed dependency params to change_id_for() ok 495 - App::Sqitch::Engine->can('find_change') ok 496 - find_change() should work ok 497 - Its parameters should have been passed to change_id_for and change_offset_from_id ok 498 - find_change() should work ok 499 - Project and offset should have been passed off ok 500 - App::Sqitch::Engine->can('find_change_id') ok 501 - find_change_id() should work ok 502 - Its parameters should have been passed to change_id_for and change_offset_from_id ok 503 - find_change_id() should work ok 504 - Project and offset should have been passed off ok 505 - App::Sqitch::Engine->can('verify_change') ok 506 - Verify a change ok 507 - The change file should have been run ok 508 - Should have no info output ok 509 - Should throw error on verify failure ok 510 - Verify error ident should be "verify" ok 511 - Previous exception should be captured ok 512 - Verify error message should be correct ok 513 - Should have seen not method calls ok 514 - Should have no info output ok 515 - Verify a change with no verify script. ok 516 - No abstract methods should be called ok 517 - Should have no info output ok 518 - A warning about no verify file should have been emitted ok 519 - App::Sqitch::Engine::whu->can('check_deploy_dependencies') ok 520 - All planned changes should be okay ok 521 - Should have called are_deployed_changes ok 522 - Should die when some changes deployed ok 523 - Already deployed error ident should be "deploy" ok 524 ok 525 - Should have called are_deployed_changes ok 526 - Dependencies should check out even when within those to be deployed ok 527 - Resolved ID should be populated ok 528 - Conflict should throw exception ok 529 - Should be a "deploy" error ok 530 - Should have localized message about the local conflict ok 531 - Conflict should throw exception ok 532 - Should be a "deploy" error ok 533 - Should have localized message about conflicts ok 534 - Should have called change_id_for() twice ok 535 - Conflicting dependencies should have no resolved IDs ok 536 - Conflict should throw another exception ok 537 - Should be a "deploy" error ok 538 - Should have localized message about all three conflicts ok 539 - Should have called change_id_for() twice ok 540 - Conflicting dependencies should have no resolved IDs ok 541 - Missing dependencies should throw exception ok 542 - Should be another "deploy" error ok 543 - Should have localized message missing dependencies without dupes ok 544 - Should have called check_requires ok 545 - Missing requirements should not have resolved ok 546 - Missing dependencies should throw exception ok 547 - Should be another "deploy" error ok 548 - Should have localized conflicts and required error messages ok 549 - Should have called check_requires ok 550 - Missing requirements should not have resolved ok 551 - App::Sqitch::Engine::whu->can('check_revert_dependencies') ok 552 - Should get no error with no dependencies ok 553 - It should have check for requiring changes ok 554 - Should get error reverting change another depend on ok 555 - Dependent error ident should be "revert" ok 556 - Dependent error message should be correct ok 557 - It should have check for requiring changes ok 558 - Should get error reverting change others depend on ok 559 - Dependent error ident should be "revert" ok 560 - Dependent error message should be correct ok 561 - It should have check for requiring changes ok 562 - Should get error reverting change others depend on ok 563 - Dependent error ident should be "revert" ok 564 - Dependent error message should be correct ok 565 - It should have checked twice for requiring changes ok 566 - App::Sqitch::Engine::whu->can('_trim_to') ok 567 - _trim_to should complain about a nonexistent change key ok 568 - _trim_to nonexistent key error ident should be "foo" ok 569 - _trim_to nonexistent key error message should be correct ok 570 - It should have passed the change name and ROOT tag to change_id_for ok 571 - _trim_to should complain about an undeployed change key ok 572 - _trim_to undeployed change error ident should be "yep" ok 573 - _trim_to undeployed change error message should be correct ok 574 - It should have passed change "blah" change_id_for ok 575 - _trim_to should complain about an unplanned change key ok 576 - _trim_to unplanned change error ident should be "oop" ok 577 - _trim_to unplanned change error message should be correct ok 578 - It should have passed "whatever" to change_id_offset_from_id ok 579 - _trim_to should find "roles" at index 0 ok 580 - Changes should be untrimmed ok 581 - It should have passed change 0 ID to change_id_offset_from_id ok 582 - _trim_to should find "widgets" at index 2 ok 583 - First two changes should be shifted off ok 584 - It should have passed change 2 ID to change_id_offset_from_id ok 585 - _trim_to should find "dr_evil" at last index ok 586 - Changes should be untrimmed ok 587 - It should have passed change -1 ID to change_id_offset_from_id ok 588 - _trim_to should find "tacos" at index 4 ok 589 - Last two changes should be popped off ok 590 - It should have passed change -3 ID to change_id_offset_from_id ok 591 - _trim_to should find "lolz^" at index 4 ok 592 - Should pass change -3 ID and offset -1 to change_id_offset_from_id ok 593 - _trim_to should find "curry~" at index 4 ok 594 - Should pass change -3 ID and offset 1 to change_id_offset_from_id ok 595 - _trim_to should find "@HEAD" at index 2 ok 596 - First two changes should be shifted off ok 597 - Should pass tag HEAD to change_id_for ok 598 - _trim_to should find "HEAD" at index 2 ok 599 - First two changes should be shifted off ok 600 - Should pass tag @HEAD to change_id_for ok 601 - _trim_to should find "@ROOT" at index 2 ok 602 - All but First three changes should be popped off ok 603 - Should pass tag ROOT to change_id_for ok 604 - _trim_to should find "ROOT" at index 2 ok 605 - All but First three changes should be popped off ok 606 - Should pass tag @ROOT to change_id_for ok 607 - App::Sqitch::Engine::whu->can('_verify_changes') ok 608 - Verify of a single change should return errcount 0 ok 609 - Declared output should list the change ok 610 - Emitted Output should reflect the verification of the change ok 611 - Should have no comments ok 612 - The verify script should have been run ok 613 - Verify of another single change should return errcount 0 ok 614 - Declared output should list the change ok 615 - Emitted Output should reflect the verification of the change ok 616 - Should have no comments ok 617 - A warning about no verify file should have been emitted ok 618 - The verify script should not have been run ok 619 - Verify of two changes should return errcount 0 ok 620 - Declared output should list both changes ok 621 - Emitted Output should reflect the verification of the changes ok 622 - Should have no comments ok 623 - A warning about no verify file should have been emitted ok 624 - Only one verify script should have been run ok 625 - Verify of two changes and show pending ok 626 - Delcared output should list deployed changes ok 627 - Emitted output should include list of pending changes ok 628 - Should have no comments ok 629 - A warning about no verify file should have been emitted ok 630 - Only one verify script should have been run ok 631 - Verify of a change not in the plan should return errcount 1 ok 632 - Declared Output should reflect the verification of the change ok 633 - Emitted Output should reflect the failure of the verify ok 634 - Should have a comment about the change missing from the plan ok 635 - No verify script should have been run ok 636 - Verify of an out-of-order change should return errcount 1 ok 637 - Declared output should reflect the verification of the change ok 638 - Emitted Output should reflect the failure of the verify ok 639 - Should have a comment about the out-of-order change ok 640 - The verify script should have been run ok 641 - Verify of a change with 2 issues should return 2 ok 642 - Declared output should reflect the verification of the change ok 643 - Emitted Output should reflect the failure of the verify ok 644 - Should have comment about the out-of-order change and script failure ok 645 - No abstract methods should have been called ok 646 - Verify of 2 changes with 2 issues each should return 4 ok 647 - Declraed output should reflect the verification of both changes ok 648 - Emitted Output should reflect the failure of both verifies ok 649 - Should have comment about the out-of-order changes and script failures ok 650 - No abstract methods should have been called ok 651 - _verify_changes with two undeployed changes should returne 2 ok 652 - Listed changes should be both deployed and undeployed ok 653 - Emitted Output should reflect 1 pass ok 654 - Should have comments for undeployed changes ok 655 - No abstract methods should have been called ok 656 - App::Sqitch::Engine::whu->can('verify') ok 657 - Should return success for no deployed changes ok 658 - Notification of the verify should be emitted ok 659 - Should have called deployed_changes ok 660 - Should return success for no changes ok 661 - Notification of the verify should be emitted ok 662 - Should have called deployed_changes ok 663 - Should get error for no planned changes ok 664 - No planned changes ident should be "verify" ok 665 - No planned changes exitval should be 2 ok 666 - No planned changes message should be correct ok 667 - Notification of the verify should be emitted ok 668 - Should have called deployed_changes ok 669 - Verify one change ok 670 - Notification of the verify should be emitted ok 671 - The one change name should be declared ok 672 - Success should be emitted ok 673 - Should have no comments ok 674 - Should have run the verify file ok 675 - Verify two changes ok 676 - Notification of the verify should be emitted ok 677 - The two change names should be declared ok 678 - Both successes should be emitted ok 679 - Should have no comments ok 680 - Should have warning about missing verify script ok 681 - Should have run the verify file again ok 682 - Verify with a reworked change changes ok 683 - Notification of the verify should be emitted ok 684 - The two change names should be emitted ok 685 - Both successes should be emitted ok 686 - Should have no comments ok 687 - Should have no warnings ok 688 - Should not have run the verify file ok 689 - Verify two specific changes ok 690 - Notification of the verify should be emitted ok 691 - The two change names should be emitted ok 692 - Both successes should be emitted ok 693 - Should have no comments ok 694 - Should have warning about missing verify script ok 695 - Should have searched offsets and run the verify file ok 696 - Should get failure for failing verify scripts ok 697 - Failed verify ident should be "verify" ok 698 - Failed verify exitval should be 2 ok 699 - Faield verify message should be correct ok 700 - Notification of the verify should be emitted ok 701 - Both change names should be declared ok 702 - Output should include the failure report ok 703 - Should have the errors in comments ok 704 - Nothing should have been vented ok 705 - Should have searched offsets but not run the verify file ok 706 - App::Sqitch::Engine::whu->can('check') ok 707 - Should return success for no deployed changes ok 708 - Notification of the check should be emitted ok 709 - Should have called deployed_changes ok 710 - Should return success for no changes ok 711 - Notification of the verify should be emitted ok 712 - Should have called deployed_changes ok 713 - Should get error for no planned changes ok 714 - Failed check ident should be "check" ok 715 - No planned changes exitval should be 1 ok 716 - Failed check message should be correct ok 717 - Notification of the check should be emitted ok 718 - Divergent change info should be emitted ok 719 - Should have called deployed_changes and latest_change_id ok 720 - Check one change ok 721 - Notification of the check should be emitted ok 722 - Success should be emitted ok 723 - Should have no comments ok 724 - Should have called deployed_changes and latest_change_id ok 725 - Should get error for one divergent script hash ok 726 - Failed check ident should be "check" ok 727 - No planned changes exitval should be 1 ok 728 - Failed check message should be correct ok 729 - Notification of the check should be emitted ok 730 - Divergent change info should be emitted ok 731 - Should have called deployed_changes and latest_change_id ok 732 - Should get error for one divergent script hash ok 733 - Failed check ident should be "check" ok 734 - No planned changes exitval should be 1 ok 735 - Failed check message should be correct ok 736 - Notification of the check should be emitted ok 737 - Divergent change info should be emitted ok 738 - Should have called deployed_changes and latest_change_id ok 739 - Check one change with to arg ok 740 - Notification of the check should be emitted ok 741 - Success should be emitted ok 742 - Should have no comments ok 743 - Should have searched offsets ok 744 - Should get error for one divergent script hash with from arg ok 745 - Failed check ident should be "check" ok 746 - No planned changes exitval should be 1 ok 747 - Failed check message should be correct ok 748 - Notification of the check should be emitted ok 749 - Divergent change info should be emitted ok 750 - Should have searched offsets and the latest change ID ok 751 - App::Sqitch::Engine::whu->can('lock_destination') ok 752 - Lock timeout should be 60 seconds ok 753 - Lock destination ok 754 - Should be locked ok 755 - wait_lock should not have been called ok 756 - Should have emitted no info ok 757 - Lock destination ok 758 - Should be locked again ok 759 - wait_lock should have been called ok 760 - Should have notified user of waiting for lock ok 761 - Lock destination again ok 762 - wait_lock should not have been called ok 763 - Should again have emitted no info ok 764 - Should get error for lock timeout ok 765 - Lock timeout error ident should be "engine" ok 766 - Lock timeout error exitval should be 2 ok 767 - Lock timeout error message should be correct ok 768 - Should have notified user of waiting for lock ok 769 - wait_lock should have been called ok 770 - Should get last index when there is a latest change ID ok 771 - Should die on too many IDs ok 772 - Too many IDs ident should be "engine" ok 773 - Too many IDs message should be correct ok 774 - Too many IDs error should have been vented ok 775 - Test planned_deployed_common_ancestor_id ok 776 - Should have key ok 777 - Driver should be the same as engine ok 778 - Default try_lock should return true by default ok 779 - Default begin_work should return self ok 780 - Default finish_work should return self ok 781 - no warnings ok t/engine_cmd.t ...... 1..201 ok 1 - Load a sqitch sqitch object ok 2 - 'Engine command' isa 'App::Sqitch::Command::engine' ok 3 - 'Engine command' isa 'App::Sqitch::Command' ok 4 - App::Sqitch::Command::engine->can(...) ok 5 - App::Sqitch::Command::engine does TargetConfigCommand ok 6 - Options should be correct ok 7 - Should parse options ok 8 - Options should not conflict with core options ok 9 - Default config should contain empty properties ok 10 - configure() should ignore config file ok 11 - Get full config ok 12 - Should have properties ok 13 - 'plan_file file attribute' isa 'Path::Class::File' ok 14 - 'top_dir directory attribute' isa 'Path::Class::Dir' ok 15 - 'reworked_dir directory attribute' isa 'Path::Class::Dir' ok 16 - 'deploy_dir directory attribute' isa 'Path::Class::Dir' ok 17 - 'reworked_deploy_dir directory attribute' isa 'Path::Class::Dir' ok 18 - 'revert_dir directory attribute' isa 'Path::Class::Dir' ok 19 - 'reworked_revert_dir directory attribute' isa 'Path::Class::Dir' ok 20 - 'verify_dir directory attribute' isa 'Path::Class::Dir' ok 21 - 'reworked_verify_dir directory attribute' isa 'Path::Class::Dir' ok 22 - Should fail on invalid directory name ok 23 - Invalid directory ident should be "engine" ok 24 - The invalid directory messsage should be correct ok 25 - Should fail on invalid directory names ok 26 - Invalid directories ident should be "engine" ok 27 - The invalid properties messsage should be correct ok 28 - Run list() ok 29 - The list of engines should have been output ok 30 - 'Verbose engine' isa 'App::Sqitch::Command::engine' ok 31 - Run verbose list() ok 32 - The list of engines and their targets should have been output ok 33 - 'New engine' isa 'App::Sqitch::Command::engine' ok 34 - Target should be undef ok 35 - Target should fall back on passed name ok 36 - Should get error for mismatched target engine ok 37 - Mismatched target error ident should be "engine" ok 38 - Mismatched target error message should be correct ok 39 - Should get error for unknown target ok 40 - Uknown target error ident should be "engine" ok 41 - Unkonwn target error message should be correct ok 42 - No name arg to add() should yield usage ok 43 - No args should be passed to usage ok 44 - Should get error for existing engine ok 45 - Existing engine error ident should be "engine" ok 46 - Existing engine error message should be correct ok 47 - dir deploy does not exist ok 48 - dir revert does not exist ok 49 - dir verify does not exist ok 50 - Add engine "vertica" ok 51 - dir deploy exists ok 52 - dir revert exists ok 53 - dir verify exists ok 54 - Engine "test" target should have been set ok 55 - Engine "vertica" should have no client set ok 56 - Engine "vertica" should have no registry set ok 57 - Engine "vertica" should have no top_dir set ok 58 - Engine "vertica" should have no plan_file set ok 59 - Engine "vertica" should have no deploy_dir set ok 60 - Engine "vertica" should have no revert_dir set ok 61 - Engine "vertica" should have no verify_dir set ok 62 - Engine "vertica" should have no extension set ok 63 - Engine "vertica" should have no variables set ok 64 - 'Engine with target property' isa 'App::Sqitch::Command::engine' ok 65 - Should get error for engine/target mismatch ok 66 - Target mismatch ident should be "engine" ok 67 - Target mismatch message should be correct ok 68 - 'Engine with all properties' isa 'App::Sqitch::Command::engine' ok 69 - my.plan does not exist ok 70 - dir top/deploy does not exist ok 71 - dir top/revert does not exist ok 72 - dir top/verify does not exist ok 73 - dir r/d does not exist ok 74 - dir r/revert does not exist ok 75 - dir r/verify does not exist ok 76 - Add engine "firebird" ok 77 - dir top/deploy exists ok 78 - dir top/revert exists ok 79 - dir top/verify exists ok 80 - dir r/d exists ok 81 - dir r/revert exists ok 82 - dir r/verify exists ok 83 - my.plan exists ok 84 - Engine "firebird" should have reworked_deploy_dir set ok 85 - Engine "firebird" should have variables ok 86 - Engine "firebird" should have extension set ok 87 - Engine "firebird" should have registry set ok 88 - Engine "firebird" should have client set ok 89 - Engine "firebird" should have top_dir set ok 90 - Engine "firebird" should have revert_dir set ok 91 - Engine "firebird" should have target set ok 92 - Engine "firebird" should have plan_file set ok 93 - Engine "firebird" should have reworked_dir set ok 94 - Engine "firebird" should have deploy_dir set ok 95 - Engine "firebird" should have verify_dir set ok 96 - 'Engine with no properties' isa 'App::Sqitch::Command::engine' ok 97 - No name arg to add() should yield usage ok 98 - No args should be passed to usage ok 99 - Should get error from alter for nonexistent engine ok 100 - Nonexistent engine error ident should be "engine" ok 101 - Nonexistent engine error message should be correct ok 102 - Should get error for missing engine ok 103 - Missing engine error ident should be "engine" ok 104 - Missing engine error message should be correct ok 105 - 'Engine with more properties' isa 'App::Sqitch::Command::engine' ok 106 - Alter engine "firebird" ok 107 - Engine "firebird" should have verify_dir set ok 108 - Engine "firebird" should have deploy_dir set ok 109 - Engine "firebird" should have registry set ok 110 - Engine "firebird" should have client set ok 111 - Engine "firebird" should have top_dir set ok 112 - Engine "firebird" should have reworked_deploy_dir set ok 113 - Engine "firebird" should have extension set ok 114 - Engine "firebird" should have variables ok 115 - Engine "firebird" should have reworked_dir set ok 116 - Engine "firebird" should have target set ok 117 - Engine "firebird" should have revert_dir set ok 118 - Engine "firebird" should have plan_file set ok 119 - 'Engine with new top_dir property' isa 'App::Sqitch::Command::engine' ok 120 - dir pg does not exist ok 121 - dir pg/deploy does not exist ok 122 - dir pg/revert does not exist ok 123 - dir pg/verify does not exist ok 124 - Alter engine "pg" ok 125 - dir pg exists ok 126 - dir pg/deploy exists ok 127 - dir pg/revert exists ok 128 - dir pg/verify exists ok 129 - The pg top_dir should have been set ok 130 - Should again get error for missing engine ok 131 - Missing engine error ident should still be "engine" ok 132 - Missing engine error message should include target property ok 133 - 'Engine with target property' isa 'App::Sqitch::Command::engine' ok 134 - Should get error for engine/target mismatch ok 135 - Target mismatch ident should be "engine" ok 136 - Target mismatch message should be correct ok 137 - No name args to remove() should yield usage ok 138 - No args should be passed to usage ok 139 - Should get error for nonexistent engine ok 140 - Nonexistent engine error ident should be "engine" ok 141 - Nonexistent engine error message should be correct ok 142 - Remove ok 143 - Engine "mysql" should now be gone ok 144 - Engine "mysql" should have no variables ok 145 - 'Engein with variables' isa 'App::Sqitch::Command::engine' ok 146 - Add engine "mysql" ok 147 - Engine "mysql" should be back ok 148 - Engine "mysql" should have variables ok 149 - Remove ok 150 - Engine "mysql" should be gone again ok 151 - Engine "mysql" should have no variables ok 152 - Run show() ok 153 - Show with no names should emit the list of engines ok 154 - Show sqlite ok 155 - The full "sqlite" engine should have been shown ok 156 - Show three engines ok 157 - All three engines should have been shown ok 158 - 'Simple engine' isa 'App::Sqitch::Command::engine' ok 159 - Execute undef ok 160 - list() should have been called ok 161 - Execute undef with args ok 162 - list() should have been passed args ok 163 - Execute list ok 164 - list() should have been called ok 165 - Execute list with args ok 166 - list() should have been passed args ok 167 - Execute add ok 168 - add() should have been called ok 169 - Execute add with args ok 170 - add() should have been passed args ok 171 - Execute set-target ok 172 - set_target() should have been called ok 173 - Execute set-target with args ok 174 - set_target() should have been passed args ok 175 - Execute set-registry ok 176 - set_registry() should have been called ok 177 - Execute set-registry with args ok 178 - set_registry() should have been passed args ok 179 - Execute set-client ok 180 - set_client() should have been called ok 181 - Execute set-client with args ok 182 - set_client() should have been passed args ok 183 - Execute remove ok 184 - remove() should have been called ok 185 - Execute remove with args ok 186 - remove() should have been passed args ok 187 - Execute rm ok 188 - remove() should have been called ok 189 - Execute rm with args ok 190 - remove() should have been passed args ok 191 - Execute rename ok 192 - rename() should have been called ok 193 - Execute rename with args ok 194 - rename() should have been passed args ok 195 - Execute show ok 196 - show() should have been called ok 197 - Execute show with args ok 198 - show() should have been passed args ok 199 - Should get an exception for a nonexistent action ok 200 - Nonexistent action message should be passed to usage ok 201 - no warnings ok t/exasol.t .......... ok 1 - require App::Sqitch::Engine::exasol; ok 2 - config_vars should return three vars ok 3 - An object of class 'App::Sqitch::Engine::exasol' isa 'App::Sqitch::Engine::exasol' ok 4 - Key should be "exasol" ok 5 - Name should be "Exasol" ok 6 - client should default to exaplus ok 7 - registry default should be "sqitch" ok 8 - DB URI should be "db:exasol:" ok 9 - Destination should default to "db:exasol:" ok 10 - Registry destination should be the same as destination ok 11 - exaplus command should be std opts-only ok 12 - _script should work ok 13 - Set some variables ok 14 - _script should assemble variables ok 15 - Should handle query SSLCertificate=SSL_VERIFY_NONE ok 16 - Should handle query SSLCERTIFICATE=SSL_VERIFY_NONE ok 17 - Should handle query SSLCERTIFICATE=xxx ok 18 - Should handle query SSLCERTIFICATE=SSL_VERIFY_NONE&SSLCERTIFICATE=xyz ok 19 - Should handle query AuthMethod=refreshtoken ok 20 - Should handle query AUTHMETHOD=xyz ok 21 - Should handle query SSLCertificate=SSL_VERIFY_NONE&AUTHMETHOD=xyz ok 22 - Target name should NOT fall back on sysuser ok 23 - Registry target should be the same as destination ok 24 - Create another exasol ok 25 - client should be as configured ok 26 - uri should be as configured ok 27 - registry should be as configured ok 28 - exaplus command should be configured from URI config ok 29 - _script should use registry from config settings ok 30 - App::Sqitch::Engine::exasol->can(...) ok 31 - Call _run ok 32 - EXAplus command should be passed to spool() ok 33 - The script should be spooled ok 34 - Call _capture ok 35 - Command and script should be passed to run3() ok 36 - _capture should actually capture ok 37 - _capture should die when exaplus dies ok 38 - STDERR should be emitted by _capture ok 39 - initialized() should rethrow unexpected DB error ok 40 - _cid should rethrow unexpected DB error ok 41 - App::Sqitch::Engine::exasol->can('_file_for_script') ok 42 - File without special characters should be used directly ok 43 - Double quotes should be SQL-escaped ok 44 - Get temp dir ok 45 - 'Temp dir' isa 'Path::Class::Dir' ok 46 - File with special char should be aliased ok 47 - Should get an error on failure to delete the alias ok 48 - File deletion error ident should be "exasol" ok 49 - File deletion error message should be correct ok 50 - File with special char and quotes should be aliased ok 51 - Run foo/bar.sql ok 52 - File should be passed to capture() ok 53 - Run foo/"bar".sql ok 54 - Double quotes in file passed to capture() should be escaped ok 55 - Spool a "file handle" ok 56 - exaplus command should be passed to spool() ok 57 - 'Array ove handles should be passed to spool' isa 'ARRAY' ok 58 - First file handle should be script ok 59 - Second should be the passed handle ok 60 - Verify foo/bar.sql ok 61 - Verify file should be passed to capture() ok 62 - Verify foo/bar.sql again ok 63 - Verify file should be passed to run() for high verbosity ok 64 - App::Sqitch::Engine::exasol->can('_ts2char_format') ok 65 - _ts2char should work ok 66 - App::Sqitch::Engine::exasol->can('_dt') ok 67 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' ok 68 - DateTime year should be set ok 69 - DateTime month should be set ok 70 - DateTime day should be set ok 71 - DateTime hour should be set ok 72 - DateTime minute should be set ok 73 - DateTime second should be set ok 74 - DateTime TZ should be set ok 75 - _char2ts should present timestamp at UTC w/o tz identifier ok 76 - Should have _listagg_format ok 77 - Should have _ts_default ok 78 - Should have _regex_op ok 79 - Should have _simple_from ok 80 - Should have _limit_default ok 81 - Should have no table error ok 82 - Should have no column error ok 83 - Should now have table error ok 84 - Should now have no column error ok 85 - Unique constraints not supported by Exasol ok 86 - Should get limit and offset ok 87 - Should get limit and offset when offset only ok 88 - Should get only limit with 0 offset ok 89 - Should get only limit with noa offset ok 90 - Should get no limit or offset for 0s ok 91 - Should get no limit or offset for no args ok 92 - Should use regexp_like and prepend wildcard to regex ok 93 - Should use regexp_like and append wildcard to regex ok 94 - Should not chande regex with both anchors ok 95 - Should append wildcards to both ends without anchors ok 96 - App::Sqitch::Engine::exasol->can(...) # Subtest: live database 1..0 # SKIP Unable to live-test Exasol engine: DBD::ODBC 1.59 required to manage Exasol at t/exasol.t line 437. ok 97 # skip Unable to live-test Exasol engine: DBD::ODBC 1.59 required to manage Exasol at t/exasol.t line 437. # 1..97 ok t/firebird.t ........ ok 1 - require App::Sqitch::Engine::firebird; ok 2 - config_vars should return three vars ok 3 - An object of class 'App::Sqitch::Engine::firebird' isa 'App::Sqitch::Engine::firebird' ok 4 - Key should be "firebird" ok 5 - Name should be "Firebird" ok 6 - Should have username from environment ok 7 - Should have password from environment ok 8 - Should have _limit_default ok 9 - dbname should be filled in ok 10 - registry dbname should be "sqitch.fdb" ok 11 - registry_destination should be the same as registry URI ok 12 - An object of class 'App::Sqitch::Engine::firebird' isa 'App::Sqitch::Engine::firebird' ok 13 - Set some variables ok 14 - Create a firebird with environment variables set ok 15 - Should have username from environment ok 16 - Should have password from environment ok 17 - Create another firebird ok 18 - client should be as configured ok 19 - URI should be as configured ok 20 - destination should default to URI without password ok 21 - registry_destination should be URI with configured registry and no password ok 22 - firebird command should be configured ok 23 - App::Sqitch::Engine::firebird->can('connection_string') ok 24 - Connection for db:firebird:foo.fdb ok 25 - Connection for db:firebird:foo.com/foo.fdb ok 26 - Connection for db:firebird:foo.com/foo.fdb:1234 ok 27 - Connection for db:firebird:/blah/hi.fdb ok 28 - Connection for db:firebird:foo.com//blah/hi.fdb ok 29 - Connection for db:firebird:foo.com//blah/hi.fdb:1234 ok 30 - Connection for db:firebird:C:/blah/hi.fdb ok 31 - Connection for db:firebird:foo.com/C:/blah/hi.fdb ok 32 - Connection for db:firebird:foo.com/C:/blah/hi.fdb:1234 ok 33 - Should get an exception for no db name ok 34 - No dbname exception ident should be "firebird" ok 35 - No dbname exception message should be correct ok 36 - App::Sqitch::Engine::firebird->can(...) ok 37 - ISC_PASSWORD should be "s3cr3t" ok 38 - Call _run ok 39 - Command should be passed to run() ok 40 - ISC_PASSWORD should be "s3cr3t" ok 41 - Call _spool ok 42 - Command should be passed to spool() ok 43 - ISC_PASSWORD should be "s3cr3t" ok 44 - Call _capture ok 45 - Command should be passed to capture() ok 46 - Create a firebird with sqitch with no pw ok 47 - ISC_PASSWORD should not exist ok 48 - Call _run again ok 49 - Command should be passed to run() again ok 50 - ISC_PASSWORD should not exist ok 51 - Call _spool again ok 52 - Command should be passed to spool() again ok 53 - ISC_PASSWORD should not exist ok 54 - Call _capture again ok 55 - Command should be passed to capture() again ok 56 - ISC_PASSWORD should not exist ok 57 - Run foo/bar.sql ok 58 - File should be passed to run() ok 59 - ISC_PASSWORD should not exist ok 60 - Spool a "file handle" ok 61 - Handle should be passed to spool() ok 62 - ISC_PASSWORD should not exist ok 63 - Verify foo/bar.sql ok 64 - Verify file should be passed to capture() ok 65 - ISC_PASSWORD should not exist ok 66 - Verify foo/bar.sql again ok 67 - Verify file should be passed to run() for high verbosity ok 68 - App::Sqitch::Engine::firebird->can('_ts2char_format') ok 69 - _ts2char_format should work ok 70 - App::Sqitch::Engine::firebird->can('_dt') ok 71 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' ok 72 - DateTime year should be set ok 73 - DateTime month should be set ok 74 - DateTime day should be set ok 75 - DateTime hour should be set ok 76 - DateTime minute should be set ok 77 - DateTime second should be set ok 78 - DateTime TZ should be set ok 79 - Should have no table error ok 80 - Should have no column error ok 81 - Should now have table error ok 82 - Still should have no column error ok 83 - Should again have table error ok 84 - Still should have no column error ok 85 - Should again have no table error ok 86 - Should now have no column error ok 87 - Should get an error from initialize ok 88 - No creattion exception ident should be "firebird" ok 89 - Creation exception message should be correct ok 90 - Run the upgrade ok 91 - Should have disconnected ok 92 - Should have cleared the database handle ok 93 - Should have run a command ok 94 - _cid should propagate unexpected error ok 95 - _cid should just return on error code -902 ok 96 - current_state should return on no table error ok 97 - current_state should propagate unexpected error ok 98 - Should get undef from change_id_for when no useful params ok 99 - Should get error when no client found ok 100 - Client exception ident should be "firebird" ok 101 - Client exception message should be correct ok 102 - App::Sqitch::Engine::firebird->can(...) # Subtest: live database 1..0 # SKIP Unable to live-test Firebird engine: Unable to locate Firebird ISQL; set "engine.firebird.client" via sqitch config ok 103 # skip Unable to live-test Firebird engine: Unable to locate Firebird ISQL; set "engine.firebird.client" via sqitch config 1..103 ok t/help.t ............ 1..20 ok 1 - Load a sqitch sqitch object ok 2 - 'Load help command' isa 'App::Sqitch::Command::help' ok 3 - 'Help command' isa 'App::Sqitch::Command' ok 4 - App::Sqitch::Command::help->can(...) ok 5 - Options should be correct ok 6 - Should parse options ok 7 - Options should not conflict with core options ok 8 - Execute help ok 9 - Should show sqitch app docs ok 10 - Execute "config" help ok 11 - Should show "config" command docs ok 12 - Execute "changes" help ok 13 - Should show "changes" command docs ok 14 - Execute "tutorial" help ok 15 - Should show "tutorial" command docs ok 16 - Should get an exception for "nonexistent" help ok 17 - Exception ident should be "help" ok 18 - Should get failure message for nonexistent command ok 19 - Exception exit val should be 1 ok 20 - no warnings ok t/init.t ............ 1..196 ok 1 - use App::Sqitch::Command::init; ok 2 - 'App::Sqitch::Command::init' isa 'App::Sqitch::Command' ok 3 - 'Init command' isa 'App::Sqitch::Command::init' ok 4 - 'Init commmand' isa 'App::Sqitch::Command' ok 5 - App::Sqitch::Command::init->can(...) ok 6 - App::Sqitch::Command::init does TargetConfigCommand ok 7 - Options should be correct ok 8 - Should parse options ok 9 - Options should not conflict with core options ok 10 - Default config should contain empty properties ok 11 - Should accept a URI in options ok 12 - Get full config ok 13 - 'uri propertiy' isa 'URI' ok 14 - Should have properties ok 15 - 'plan_file file attribute' isa 'Path::Class::File' ok 16 - 'top_dir directory attribute' isa 'Path::Class::Dir' ok 17 - 'reworked_dir directory attribute' isa 'Path::Class::Dir' ok 18 - 'deploy_dir directory attribute' isa 'Path::Class::Dir' ok 19 - 'reworked_deploy_dir directory attribute' isa 'Path::Class::Dir' ok 20 - 'revert_dir directory attribute' isa 'Path::Class::Dir' ok 21 - 'reworked_revert_dir directory attribute' isa 'Path::Class::Dir' ok 22 - 'verify_dir directory attribute' isa 'Path::Class::Dir' ok 23 - 'reworked_verify_dir directory attribute' isa 'Path::Class::Dir' ok 24 - Should fail on invalid directory name ok 25 - Invalid directory ident should be "init" ok 26 - The invalid directory messsage should be correct ok 27 - Should fail on invalid directory names ok 28 - Invalid directories ident should be "init" ok 29 - The invalid properties messsage should be correct ok 30 - 'default target' isa 'App::Sqitch::Target' ok 31 - App::Sqitch::Command::init->can('make_directories_for') ok 32 - dir init.mkdir does not exist ok 33 - dir init.mkdir/deploy does not exist ok 34 - dir init.mkdir/revert does not exist ok 35 - dir init.mkdir/verify does not exist ok 36 - dir init.mkdir/reworked/deploy does not exist ok 37 - dir init.mkdir/reworked/revert does not exist ok 38 - dir init.mkdir/reworked/verify does not exist ok 39 - Make the directories ok 40 - dir init.mkdir/deploy exists ok 41 - dir init.mkdir/revert exists ok 42 - dir init.mkdir/verify exists ok 43 - dir init.mkdir/reworked/deploy exists ok 44 - dir init.mkdir/reworked/revert exists ok 45 - dir init.mkdir/reworked/verify exists ok 46 - Each should have been sent to info ok 47 - Make the directories again ok 48 - Nothing should have been sent to info ok 49 - Make the directories once more ok 50 - revert dir exists again ok 51 - Should have noted creation of revert dir ok 52 - Should fail on permission issue ok 53 - Permission error should have ident "init" ok 54 - The permission error should be formatted properly ok 55 - App::Sqitch::Command::init->can('write_config') ok 56 - Another init object ok 57 - nonexistent.local does not exist ok 58 - Write the config ok 59 - nonexistent.local exists ok 60 - The configuration file should have no variables ok 61 - The creation should be sent to info ok 62 - All in core section should be commented-out ok 63 - Another init object ok 64 - Write the config ok 65 - nonexistent.local exists ok 66 - The configuration should have been written with the one setting ok 67 - The creation should be sent to info ok 68 - Other settings should be commented-out ok 69 - Write the config again ok 70 - The configuration should be unchanged ok 71 - Nothing should have been sent to info ok 72 - Make an init object with user config ok 73 - nonexistent.local does not exist ok 74 - Write the config with a user conf ok 75 - nonexistent.local exists ok 76 - The configuration should just have core.top_dir ok 77 - The creation should be sent to info again ok 78 - Other settings should be commented-out ok 79 - Make an init object with system config ok 80 - Get target ok 81 - nonexistent.local does not exist ok 82 - Write the config with a system conf ok 83 - nonexistent.local exists ok 84 - The configuration should have local and system config ok 85 - The creation should be sent to info again ok 86 - Other settings should be commented-out ok 87 - Create new init with sqitch non-default attributes ok 88 - Write the config with core attrs ok 89 - The creation should be sent to info once more ok 90 - The configuration should have been written with core and engine values ok 91 - Create new init with sqitch with default engine attributes ok 92 - Write the config with engine attrs ok 93 - The creation should be sent to info again again ok 94 - The configuration should have been written with only the engine var ok 95 - Engine section should be present but commented-out ok 96 - Make an init with sqlite and user config ok 97 - nonexistent.local does not exist ok 98 - Write the config with sqlite config ok 99 - The creation should be sent to info once more ok 100 - New config should have been written with sqlite values ok 101 - Configured client should be included in a comment ok 102 - Configured target should be included in a comment ok 103 - Configured registry should be included in a comment ok 104 - Create new init with sqitch with more non-default engine attributes ok 105 - Write the config with more engine attrs ok 106 - The creation should be sent to info one more time ok 107 - The configuration should have been written with client values ok 108 - registry should be included in a comment ok 109 - Create new init with sqitch with default engine attributes ok 110 - Write the config with engine attrs ok 111 - The creation should be sent to info again again again ok 112 - The configuration should have been written with only the engine var ok 113 - Engine section should be present but commented-out ok 114 - Make an init with pg and user config ok 115 - nonexistent.local does not exist ok 116 - Write the config with pg config ok 117 - The pg config creation should be sent to info ok 118 - The configuration should have been written with pg options ok 119 - Configured registry should be in a comment ok 120 - Configured target should be in a comment ok 121 - App::Sqitch::Command::init->can('write_plan') ok 122 - Plan file should not yet exist ok 123 - Write the plan file ok 124 - The plan creation should be sent to info ok 125 - Plan file should now exist ok 126 - The contents should be correct ok 127 - Write the plan file again ok 128 - Plan file should still exist ok 129 - The contents should be identical ok 130 - Should get an error initialing a different project ok 131 - Initialization error ident should be "init" ok 132 - Initialzation error message should be correct ok 133 - Should get an error initialzing a non-plan file ok 134 - Non-plan file error ident should be "init" ok 135 - Non-plan file error message should be correct ok 136 - The file should not be overwritten ok 137 - Create new init with sqitch with project and URI ok 138 - Write the plan file again ok 139 - The plan creation should be sent to info againq ok 140 - Plan file should again exist ok 141 - The plan should include the project and uri pragmas ok 142 - App::Sqitch::Command::init->can('_validate_project') ok 143 - No project should yield usage ok 144 - No args should be passed to usage ok 145 - Should get error for invalid project name "^foo" ok 146 - Bad project "^foo" ident should be "init" ok 147 - Bad project "^foo" error message should be correct ok 148 - Should get error for invalid project name "foo^" ok 149 - Bad project "foo^" ident should be "init" ok 150 - Bad project "foo^" error message should be correct ok 151 - Should get error for invalid project name "foo^6" ok 152 - Bad project "foo^6" ident should be "init" ok 153 - Bad project "foo^6" error message should be correct ok 154 - Should get error for invalid project name "foo^666" ok 155 - Bad project "foo^666" ident should be "init" ok 156 - Bad project "foo^666" error message should be correct ok 157 - Should get error for invalid project name "%hi" ok 158 - Bad project "%hi" ident should be "init" ok 159 - Bad project "%hi" error message should be correct ok 160 - Should get error for invalid project name "hi!" ok 161 - Bad project "hi!" ident should be "init" ok 162 - Bad project "hi!" error message should be correct ok 163 - Should get error for invalid project name "foo@bar" ok 164 - Bad project "foo@bar" ident should be "init" ok 165 - Bad project "foo@bar" error message should be correct ok 166 - Should get error for invalid project name "foo:bar" ok 167 - Bad project "foo:bar" ident should be "init" ok 168 - Bad project "foo:bar" error message should be correct ok 169 - Should get error for invalid project name "+foo" ok 170 - Bad project "+foo" ident should be "init" ok 171 - Bad project "+foo" error message should be correct ok 172 - Should get error for invalid project name "-foo" ok 173 - Bad project "-foo" ident should be "init" ok 174 - Bad project "-foo" error message should be correct ok 175 - Should get error for invalid project name "@foo" ok 176 - Bad project "@foo" ident should be "init" ok 177 - Bad project "@foo" error message should be correct ok 178 - 'Custom URI target' isa 'App::Sqitch::Target' ok 179 - Shoudl have the custom URI ok 180 - Should have the custom name ok 181 - Should fail on permission issue ok 182 - Permission error should have ident "init" ok 183 - The permission error should be formatted properly ok 184 - Should fail on nonexistent dir name ok 185 - Nonexistant path error should have ident "init" ok 186 - Nonexistant path error should be the message ok 187 - Execute! ok 188 - dir plan.dir exists ok 189 - dir plan.dir/deploy exists ok 190 - dir plan.dir/revert exists ok 191 - dir plan.dir/verify exists ok 192 - nonexistent.local exists ok 193 - plan.dir/sqitch.plan exists ok 194 - Should have status messages ok 195 - The plan should have the --project name ok 196 - no warnings ok t/item_formatter.t .. 1..172 ok 1 - require App::Sqitch::ItemFormatter; ok 2 - App::Sqitch::ItemFormatter->can(...) ok 3 - 'Instantiated object' isa 'App::Sqitch::ItemFormatter' ok 4 - Should not be abbreviated by default ok 5 - Default date format should be "iso" ok 6 - Format "%e" should output "deploy" ok 7 - Format "%e" should output "revert" ok 8 - Format "%e" should output "fail" ok 9 - Format "%L" should output "Deploy" ok 10 - Format "%L" should output "Revert" ok 11 - Format "%L" should output "Fail" ok 12 - Format "%l" should output "deploy" ok 13 - Format "%l" should output "revert" ok 14 - Format "%l" should output "fail" ok 15 - Format "%{event}_" should output "Event: " ok 16 - Format "%{change}_" should output "Change: " ok 17 - Format "%{committer}_" should output "Committer:" ok 18 - Format "%{planner}_" should output "Planner: " ok 19 - Format "%{by}_" should output "By: " ok 20 - Format "%{date}_" should output "Date: " ok 21 - Format "%{committed}_" should output "Committed:" ok 22 - Format "%{planned}_" should output "Planned: " ok 23 - Format "%{name}_" should output "Name: " ok 24 - Format "%{email}_" should output "Email: " ok 25 - Format "%{requires}_" should output "Requires: " ok 26 - Format "%{conflicts}_" should output "Conflicts:" ok 27 - Format "%H" should output "123456789" ok 28 - Format "%h" should output "123456789" ok 29 - Format "%{5}h" should output "12345" ok 30 - Format "%{7}h" should output "1234567" ok 31 - Format "%n" should output "foo" ok 32 - Format "%n" should output "bar" ok 33 - Format "%o" should output "foo" ok 34 - Format "%o" should output "bar" ok 35 - Format "%F" should output "deploy/change_file.sql" ok 36 - Format "%F" should output "deploy/change_file_with_tag@tag.sql" ok 37 - Format "%c" should output "larry " ok 38 - Format "%{n}c" should output "damian" ok 39 - Format "%{name}c" should output "chip" ok 40 - Format "%{e}c" should output "larry@example.com" ok 41 - Format "%{email}c" should output "damian@example.com" ok 42 - Format "%{date}c" should output "2024-10-23 06:59:10 -0500" ok 43 - Format "%{date:rfc}c" should output "Wed, 23 Oct 2024 06:59:10 -0500" ok 44 - Format "%{d:long}c" should output "October 23, 2024, 6:59:10 AM CDT" ok 45 - Format "%{d:cldr:HH'h' mm'm'}c" should output "06h 59m" ok 46 - Format "%{d:strftime:%a at %H:%M:%S}c" should output "Wed at 06:59:10" ok 47 - Format "%p" should output "larry " ok 48 - Format "%{n}p" should output "damian" ok 49 - Format "%{name}p" should output "chip" ok 50 - Format "%{e}p" should output "larry@example.com" ok 51 - Format "%{email}p" should output "damian@example.com" ok 52 - Format "%{date}p" should output "2024-10-22 06:59:10 -0500" ok 53 - Format "%{date:rfc}p" should output "Tue, 22 Oct 2024 06:59:10 -0500" ok 54 - Format "%{d:long}p" should output "October 22, 2024, 6:59:10 AM CDT" ok 55 - Format "%{d:cldr:HH'h' mm'm'}p" should output "06h 59m" ok 56 - Format "%{d:strftime:%a at %H:%M:%S}p" should output "Tue at 06:59:10" ok 57 - Format "%t" should output "" ok 58 - Format "%t" should output " @foo" ok 59 - Format "%t" should output " @foo, @bar" ok 60 - Format "%{|}t" should output "" ok 61 - Format "%{|}t" should output " @foo" ok 62 - Format "%{|}t" should output " @foo|@bar" ok 63 - Format "%{0}t" should output " @foo0@bar" ok 64 - Format "%{}t" should output " @foo@bar" ok 65 - Format "%T" should output "" ok 66 - Format "%T" should output " (@foo)" ok 67 - Format "%T" should output " (@foo, @bar)" ok 68 - Format "%{|}T" should output "" ok 69 - Format "%{|}T" should output " (@foo)" ok 70 - Format "%{|}T" should output " (@foo|@bar)" ok 71 - Format "%{0}T" should output " (@foo0@bar)" ok 72 - Format "%{}T" should output " (@foo@bar)" ok 73 - Format "%r" should output "" ok 74 - Format "%r" should output " foo" ok 75 - Format "%r" should output " foo, bar" ok 76 - Format "%{|}r" should output "" ok 77 - Format "%{|}r" should output " foo" ok 78 - Format "%{|}r" should output " foo|bar" ok 79 - Format "%{0}r" should output " foo0bar" ok 80 - Format "%{}r" should output " foobar" ok 81 - Format "%R" should output "" ok 82 - Format "%R" should output "Requires: foo[newline]" ok 83 - Format "%R" should output "Requires: foo, bar[newline]" ok 84 - Format "%{|}R" should output "" ok 85 - Format "%{|}R" should output "Requires: foo[newline]" ok 86 - Format "%{|}R" should output "Requires: foo|bar[newline]" ok 87 - Format "%{0}R" should output "Requires: foo0bar[newline]" ok 88 - Format "%{}R" should output "Requires: foobar[newline]" ok 89 - Format "%x" should output "" ok 90 - Format "%x" should output " foo" ok 91 - Format "%x" should output " foo, bax" ok 92 - Format "%{|}x" should output "" ok 93 - Format "%{|}x" should output " foo" ok 94 - Format "%{|}x" should output " foo|bax" ok 95 - Format "%{0}x" should output " foo0bax" ok 96 - Format "%{}x" should output " foobax" ok 97 - Format "%X" should output "" ok 98 - Format "%X" should output "Conflicts: foo[newline]" ok 99 - Format "%X" should output "Conflicts: foo, bar[newline]" ok 100 - Format "%{|}X" should output "" ok 101 - Format "%{|}X" should output "Conflicts: foo[newline]" ok 102 - Format "%{|}X" should output "Conflicts: foo|bar[newline]" ok 103 - Format "%{0}X" should output "Conflicts: foo0bar[newline]" ok 104 - Format "%{}X" should output "Conflicts: foobar[newline]" ok 105 - Format "%{yellow}C" should output "" ok 106 - Format "%{:event}C" should output "" ok 107 - Format "%v" should output "[newline]" ok 108 - Format "%%" should output "%" ok 109 - Format "%s" should output "hi there" ok 110 - Format "%s" should output "hi there" ok 111 - Format "%s" should output "subject line" ok 112 - Format "%{ }s" should output " hi there" ok 113 - Format "%{xx}s" should output "xxhi there" ok 114 - Format "%b" should output "" ok 115 - Format "%b" should output "yo" ok 116 - Format "%b" should output "first graph[newline][newline]second graph[newline][newline]" ok 117 - Format "%{ }b" should output "" ok 118 - Format "%{xxx }b" should output "xxx yo" ok 119 - Format "%{x}b" should output "xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" ok 120 - Format "%{ }b" should output " yo" ok 121 - Format "%B" should output "hi there" ok 122 - Format "%B" should output "hi there[newline]yo" ok 123 - Format "%B" should output "subject line[newline][newline]first graph[newline][newline]second graph[newline][newline]" ok 124 - Format "%{ }B" should output " hi there" ok 125 - Format "%{xxx }B" should output "xxx hi there[newline]xxx yo" ok 126 - Format "%{x}B" should output "xsubject line[newline]x[newline]xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" ok 127 - Format "%{ }B" should output " hi there [newline] yo" ok 128 - Format "%{change}a" should output "change lolz[newline]" ok 129 - Format "%{change_id}a" should output "change_id 000011112222333444[newline]" ok 130 - Format "%{event}a" should output "event deploy[newline]" ok 131 - Format "%{tags}a" should output "tags @beta, @gamma[newline]" ok 132 - Format "%{requires}a" should output "requires foo, bar[newline]" ok 133 - Format "%{conflicts}a" should output "" ok 134 - Format "%{committer_name}a" should output "committer_name larry[newline]" ok 135 - Format "%{committed_at}a" should output "committed_at 2024-10-23T11:59:10Z[newline]" ok 136 - Should get exception for format "%_" ok 137 - %_ error ident should be "format" ok 138 - %_ error message should be correct ok 139 - Should get exception for unknown label in format "%_" ok 140 - Invalid %_ label error ident should be "format" ok 141 - Invalid %_ label error message should be correct ok 142 - Instantiate with abbrev => 4 ok 143 - %h should respect abbrev ok 144 - %H should not respect abbrev ok 145 - Instantiate with date_format => "rfc" ok 146 - %{date}c should respect the date_format attribute ok 147 - %{iso}c should override the date_format attribute ok 148 - Should get exception for unknown attribute passed to %a ok 149 - %a error ident should be "log" ok 150 - %a error message should be correct ok 151 - Construct with color "always" ok 152 - Format "%{yellow}C" should output yellow ok 153 - Format "%{red}C" should output red ok 154 - Format "%{blue}C" should output blue ok 155 - Format "%{cyan}C" should output cyan ok 156 - Format "%{magenta}C" should output magenta ok 157 - Format "%{:event}C" on "deploy" should output green ok 158 - Format "%{:event}C" on "revert" should output blue ok 159 - Format "%{:event}C" on "fail" should output red ok 160 - Should get an error for an invalid color ok 161 - Invalid color error ident should be "log" ok 162 - Invalid color error message should be correct ok 163 - Construct with color "never" ok 164 - Format "%{yellow}C" should not output a color ok 165 - Format "%{red}C" should not output a color ok 166 - Format "%{blue}C" should not output a color ok 167 - Format "%{cyan}C" should not output a color ok 168 - Format "%{magenta}C" should not output a color ok 169 - Should get an exception for a bad format code ok 170 - bad format code format error ident should be "log" ok 171 - bad format code format error message should be correct ok 172 - no warnings ok t/linelist.t ........ 1..28 ok 1 - require App::Sqitch::Plan::LineList; ok 2 - Count should be six ok 3 - Lines should be in order ok 4 - Should have foo at 0 ok 5 - Should have bar at 1 ok 6 - Should have yo1 at 2 ok 7 - Should have @alpha at 3 ok 8 - Should have blank at 4 ok 9 - Should have baz at 5 ok 10 - Should have yo2 at 6 ok 11 - Should not find "non" ok 12 - Should find foo at 0 ok 13 - Should find bar at 1 ok 14 - Should find yo1 at 2 ok 15 - Should find @alpha at 3 ok 16 - Should find blank at 4 ok 17 - Should find baz at 5 ok 18 - Should find yo2 at 6 ok 19 - Append hi ok 20 - Count should now be eight ok 21 - Lines should be in order with $hi at the end ok 22 - Insert a change at index 3 ok 23 - Count should now be nine ok 24 - Lines should be in order with $oy at index 3 ok 25 - Should find oy at 3 ok 26 - Should find @alpha at 4 ok 27 - Should find hi at 8 ok 28 - no warnings ok t/log.t ............. 1..253 ok 1 - require App::Sqitch::Command::log; ok 2 - Load a sqitch object ok 3 - 'log command' isa 'App::Sqitch::Command::log' ok 4 - App::Sqitch::Command::log->can(...) ok 5 - App::Sqitch::Command::log does ConnectingCommand ok 6 - Options should be correct ok 7 - Default target should be undef ok 8 - 'new status with target' isa 'App::Sqitch::Command::log' ok 9 - Should have target "foo" ok 10 - 'Formatter' isa 'App::Sqitch::ItemFormatter' ok 11 - Should get empty hash for no config or options ok 12 - Should get error for invalid date format in config ok 13 - Invalid date format error ident should be "datetime" ok 14 - Invalid date format error message should be correct ok 15 - Should get error for invalid date format in optsions ok 16 - Invalid date format error ident should be "log" ok 17 - Invalid date format error message should be correct ok 18 - Should get error for invalid format in config ok 19 - Invalid format error ident should be "log" ok 20 - Invalid format error message should be correct ok 21 - Should get error for invalid format in optsions ok 22 - Invalid format error ident should be "log" ok 23 - Invalid format error message should be correct ok 24 - Configuration should respect --no-color, setting "never" ok 25 - --oneline should set format ok 26 - --oneline should set abbrev to 6 ok 27 - --oneline should not override --format ok 28 - --oneline should not overrride --abbrev ok 29 - Configuration should respect --no-color even when configure is set ok 30 - Configuration should respect color option ok 31 - Configuration should respect color config ok 32 - Configuration should respect color option ok 33 - Configuration should respect color config ok 34 - Configuration should respect color option ok 35 - Configuration should respect color config ok 36 - Configuration should respect color option ok 37 - Configuration should respect color config ok 38 - Instantiate with format "raw" ok 39 - Format "raw" should output correctly ok 40 - Format "raw" should output correctly without tags ok 41 - Instantiate with format "full" ok 42 - Format "full" should output correctly ok 43 - Instantiate with format "full" and date format "rfc" ok 44 - Format "full" and date format "rfc" should output correctly ok 45 - Instantiate with format "full" and date format "long" ok 46 - Format "full" and date format "long" should output correctly ok 47 - Instantiate with format "full" and date format "medium" ok 48 - Format "full" and date format "medium" should output correctly ok 49 - Format "full" should output correctly without tags ok 50 - Instantiate with format "long" ok 51 - Format "long" should output correctly ok 52 - Format "long" should output correctly without tags ok 53 - Instantiate with format "medium" ok 54 - Format "medium" should output correctly ok 55 - Instantiate with format "medium" and date format "rfc" ok 56 - Format "medium" and date format "rfc" should output correctly ok 57 - Instantiate with format "medium" and date format "long" ok 58 - Format "medium" and date format "long" should output correctly ok 59 - Instantiate with format "medium" and date format "medium" ok 60 - Format "medium" and date format "medium" should output correctly ok 61 - Instantiate with format "short" ok 62 - Format "short" should output correctly ok 63 - Instantiate with format "oneline" ok 64 - Format "oneline" should output correctly ok 65 - Format "%e" should output "deploy" ok 66 - Format "%e" should output "revert" ok 67 - Format "%e" should output "fail" ok 68 - Format "%L" should output "Deploy" ok 69 - Format "%L" should output "Revert" ok 70 - Format "%L" should output "Fail" ok 71 - Format "%l" should output "deploy" ok 72 - Format "%l" should output "revert" ok 73 - Format "%l" should output "fail" ok 74 - Format "%{event}_" should output "Event: " ok 75 - Format "%{change}_" should output "Change: " ok 76 - Format "%{committer}_" should output "Committer:" ok 77 - Format "%{planner}_" should output "Planner: " ok 78 - Format "%{by}_" should output "By: " ok 79 - Format "%{date}_" should output "Date: " ok 80 - Format "%{committed}_" should output "Committed:" ok 81 - Format "%{planned}_" should output "Planned: " ok 82 - Format "%{name}_" should output "Name: " ok 83 - Format "%{email}_" should output "Email: " ok 84 - Format "%{requires}_" should output "Requires: " ok 85 - Format "%{conflicts}_" should output "Conflicts:" ok 86 - Format "%H" should output "123456789" ok 87 - Format "%h" should output "123456789" ok 88 - Format "%{5}h" should output "12345" ok 89 - Format "%{7}h" should output "1234567" ok 90 - Format "%n" should output "foo" ok 91 - Format "%n" should output "bar" ok 92 - Format "%o" should output "foo" ok 93 - Format "%o" should output "bar" ok 94 - Format "%c" should output "larry " ok 95 - Format "%{n}c" should output "damian" ok 96 - Format "%{name}c" should output "chip" ok 97 - Format "%{e}c" should output "larry@example.com" ok 98 - Format "%{email}c" should output "damian@example.com" ok 99 - Format "%{date}c" should output "2024-10-23 04:59:13 -0700" ok 100 - Format "%{date:rfc}c" should output "Wed, 23 Oct 2024 04:59:13 -0700" ok 101 - Format "%{d:long}c" should output "October 23, 2024, 4:59:13 AM PDT" ok 102 - Format "%{d:cldr:HH'h' mm'm'}c" should output "04h 59m" ok 103 - Format "%{d:strftime:%a at %H:%M:%S}c" should output "Wed at 04:59:13" ok 104 - Format "%p" should output "larry " ok 105 - Format "%{n}p" should output "damian" ok 106 - Format "%{name}p" should output "chip" ok 107 - Format "%{e}p" should output "larry@example.com" ok 108 - Format "%{email}p" should output "damian@example.com" ok 109 - Format "%{date}p" should output "2024-10-22 04:59:13 -0700" ok 110 - Format "%{date:rfc}p" should output "Tue, 22 Oct 2024 04:59:13 -0700" ok 111 - Format "%{d:long}p" should output "October 22, 2024, 4:59:13 AM PDT" ok 112 - Format "%{d:cldr:HH'h' mm'm'}p" should output "04h 59m" ok 113 - Format "%{d:strftime:%a at %H:%M:%S}p" should output "Tue at 04:59:13" ok 114 - Format "%t" should output "" ok 115 - Format "%t" should output " @foo" ok 116 - Format "%t" should output " @foo, @bar" ok 117 - Format "%{|}t" should output "" ok 118 - Format "%{|}t" should output " @foo" ok 119 - Format "%{|}t" should output " @foo|@bar" ok 120 - Format "%T" should output "" ok 121 - Format "%T" should output " (@foo)" ok 122 - Format "%T" should output " (@foo, @bar)" ok 123 - Format "%{|}T" should output "" ok 124 - Format "%{|}T" should output " (@foo)" ok 125 - Format "%{|}T" should output " (@foo|@bar)" ok 126 - Format "%r" should output "" ok 127 - Format "%r" should output " foo" ok 128 - Format "%r" should output " foo, bar" ok 129 - Format "%{|}r" should output "" ok 130 - Format "%{|}r" should output " foo" ok 131 - Format "%{|}r" should output " foo|bar" ok 132 - Format "%R" should output "" ok 133 - Format "%R" should output "Requires: foo[newline]" ok 134 - Format "%R" should output "Requires: foo, bar[newline]" ok 135 - Format "%{|}R" should output "" ok 136 - Format "%{|}R" should output "Requires: foo[newline]" ok 137 - Format "%{|}R" should output "Requires: foo|bar[newline]" ok 138 - Format "%x" should output "" ok 139 - Format "%x" should output " foo" ok 140 - Format "%x" should output " foo, bax" ok 141 - Format "%{|}x" should output "" ok 142 - Format "%{|}x" should output " foo" ok 143 - Format "%{|}x" should output " foo|bax" ok 144 - Format "%X" should output "" ok 145 - Format "%X" should output "Conflicts: foo[newline]" ok 146 - Format "%X" should output "Conflicts: foo, bar[newline]" ok 147 - Format "%{|}X" should output "" ok 148 - Format "%{|}X" should output "Conflicts: foo[newline]" ok 149 - Format "%{|}X" should output "Conflicts: foo|bar[newline]" ok 150 - Format "%{yellow}C" should output "" ok 151 - Format "%{:event}C" should output "" ok 152 - Format "%v" should output "[newline]" ok 153 - Format "%%" should output "%" ok 154 - Format "%s" should output "hi there" ok 155 - Format "%s" should output "hi there" ok 156 - Format "%s" should output "subject line" ok 157 - Format "%{ }s" should output " hi there" ok 158 - Format "%{xx}s" should output "xxhi there" ok 159 - Format "%b" should output "" ok 160 - Format "%b" should output "yo" ok 161 - Format "%b" should output "first graph[newline][newline]second graph[newline][newline]" ok 162 - Format "%{ }b" should output "" ok 163 - Format "%{xxx }b" should output "xxx yo" ok 164 - Format "%{x}b" should output "xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" ok 165 - Format "%{ }b" should output " yo" ok 166 - Format "%B" should output "hi there" ok 167 - Format "%B" should output "hi there[newline]yo" ok 168 - Format "%B" should output "subject line[newline][newline]first graph[newline][newline]second graph[newline][newline]" ok 169 - Format "%{ }B" should output " hi there" ok 170 - Format "%{xxx }B" should output "xxx hi there[newline]xxx yo" ok 171 - Format "%{x}B" should output "xsubject line[newline]x[newline]xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" ok 172 - Format "%{ }B" should output " hi there [newline] yo" ok 173 - Format "%{change}a" should output "change lolz[newline]" ok 174 - Format "%{change_id}a" should output "change_id 000011112222333444[newline]" ok 175 - Format "%{event}a" should output "event deploy[newline]" ok 176 - Format "%{tags}a" should output "tags @beta, @gamma[newline]" ok 177 - Format "%{requires}a" should output "requires foo, bar[newline]" ok 178 - Format "%{conflicts}a" should output "" ok 179 - Format "%{committer_name}a" should output "committer_name larry[newline]" ok 180 - Format "%{committed_at}a" should output "committed_at 2024-10-23T11:59:13Z[newline]" ok 181 - Should get exception for format "%_" ok 182 - %_ error ident should be "format" ok 183 - %_ error message should be correct ok 184 - Should get exception for unknown label in format "%_" ok 185 - Invalid %_ label error ident should be "format" ok 186 - Invalid %_ label error message should be correct ok 187 - Instantiate with abbrev => 4 ok 188 - %h should respect abbrev ok 189 - %H should not respect abbrev ok 190 - Instantiate with date_format => "rfc" ok 191 - %{date}c should respect the date_format attribute ok 192 - %{iso}c should override the date_format attribute ok 193 - Should get exception for unknown attribute passed to %a ok 194 - %a error ident should be "format" ok 195 - %a error message should be correct ok 196 - Format "%{yellow}C" should output yellow ok 197 - Format "%{red}C" should output red ok 198 - Format "%{blue}C" should output blue ok 199 - Format "%{cyan}C" should output cyan ok 200 - Format "%{magenta}C" should output magenta ok 201 - Format "%{:event}C" on "deploy" should output green ok 202 - Format "%{:event}C" on "revert" should output blue ok 203 - Format "%{:event}C" on "fail" should output red ok 204 - Instantiate with format "full" again ok 205 - Format "full" should output correctly with color ok 206 - Instantiate with format "long" again ok 207 - Format "long" should output correctly with color ok 208 - Instantiate with format "medium" again ok 209 - Format "medium" should output correctly with color ok 210 - Instantiate with format "short" again ok 211 - Format "short" should output correctly with color ok 212 - Instantiate with format "oneline" again ok 213 - Format "oneline" should output correctly with color ok 214 - Should get an error for an invalid color ok 215 - Invalid color error ident should be "format" ok 216 - Invalid color error message should be correct ok 217 - Should get exception for unititialied db ok 218 - Uninit db error ident should be "log" ok 219 - Uninit db exit val should be 1 ok 220 - Uninit db error message should be correct ok 221 - Should have passed undef to Target ok 222 - Should get error for empty event table ok 223 - no events error ident should be "log" ok 224 - no events exit val should be 1 ok 225 - no events error message should be correct ok 226 - Search should have been limited to one row ok 227 - Should have passed undef to Target again ok 228 - Execute log ok 229 - Should have passed undef to Target once more ok 230 - The proper args should have been passed to search_events ok 231 - The change should have been paged ok 232 - Execute with target arg ok 233 - Target name should have been passed to Target ok 234 - The proper args should have been passed to search_events ok 235 - The change should have been paged ok 236 - Execute with plan file arg ok 237 - Default engine target should have been passed to Target ok 238 - The proper args should have been passed to search_events ok 239 - The change should have been paged ok 240 - 'log with attributes' isa 'App::Sqitch::Command::log' ok 241 - Execute log with attributes ok 242 - Should have passed target name to Target ok 243 - All params should have been passed to search_events ok 244 - Both changes should have been paged with no headers ok 245 - Execute log with attributes ok 246 - Should have passed enginetarget to Target ok 247 - Should have got warning for two targets ok 248 - 'log with bad format' isa 'App::Sqitch::Command::log' ok 249 - Should get an exception for a bad format code ok 250 - bad format code format error ident should be "format" ok 251 - bad format code format error message should be correct ok 252 - Should have passed target name to Target ok 253 - no warnings ok t/mooseless.t ....... ok 1 - No moose in App::Sqitch ok 2 - No moose in App::Sqitch::Plan ok 3 - No moose in App::Sqitch::Types ok 4 - No moose in App::Sqitch::DateTime ok 5 - No moose in App::Sqitch::Target ok 6 - No moose in App::Sqitch::Engine ok 7 - No moose in App::Sqitch::X ok 8 - No moose in App::Sqitch::Command ok 9 - No moose in App::Sqitch::Config ok 10 - No moose in App::Sqitch::ItemFormatter ok 11 - No moose in App::Sqitch::Engine::mysql ok 12 - No moose in App::Sqitch::Engine::pg ok 13 - No moose in App::Sqitch::Engine::firebird ok 14 - No moose in App::Sqitch::Engine::snowflake ok 15 - No moose in App::Sqitch::Engine::cockroach ok 16 - No moose in App::Sqitch::Engine::vertica ok 17 - No moose in App::Sqitch::Engine::sqlite ok 18 - No moose in App::Sqitch::Engine::exasol ok 19 - No moose in App::Sqitch::Engine::oracle ok 20 - No moose in App::Sqitch::Plan::Line ok 21 - No moose in App::Sqitch::Plan::Change ok 22 - No moose in App::Sqitch::Plan::Pragma ok 23 - No moose in App::Sqitch::Plan::Tag ok 24 - No moose in App::Sqitch::Plan::LineList ok 25 - No moose in App::Sqitch::Plan::Depend ok 26 - No moose in App::Sqitch::Plan::Blank ok 27 - No moose in App::Sqitch::Plan::ChangeList ok 28 - No moose in App::Sqitch::Role::ConnectingCommand ok 29 - No moose in App::Sqitch::Role::ContextCommand ok 30 - No moose in App::Sqitch::Role::RevertDeployCommand ok 31 - No moose in App::Sqitch::Role::DBIEngine ok 32 - No moose in App::Sqitch::Role::TargetConfigCommand ok 33 - No moose in App::Sqitch::Command::target ok 34 - No moose in App::Sqitch::Command::deploy ok 35 - No moose in App::Sqitch::Command::upgrade ok 36 - No moose in App::Sqitch::Command::revert ok 37 - No moose in App::Sqitch::Command::verify ok 38 - No moose in App::Sqitch::Command::help ok 39 - No moose in App::Sqitch::Command::bundle ok 40 - No moose in App::Sqitch::Command::rework ok 41 - No moose in App::Sqitch::Command::log ok 42 - No moose in App::Sqitch::Command::status ok 43 - No moose in App::Sqitch::Command::config ok 44 - No moose in App::Sqitch::Command::plan ok 45 - No moose in App::Sqitch::Command::add ok 46 - No moose in App::Sqitch::Command::init ok 47 - No moose in App::Sqitch::Command::rebase ok 48 - No moose in App::Sqitch::Command::tag ok 49 - No moose in App::Sqitch::Command::show ok 50 - No moose in App::Sqitch::Command::check ok 51 - No moose in App::Sqitch::Command::checkout ok 52 - No moose in App::Sqitch::Command::engine 1..52 ok t/mysql.t ........... ok 1 - require App::Sqitch::Engine::mysql; ok 2 - config_vars should return three vars ok 3 - An object of class 'App::Sqitch::Engine::mysql' isa 'App::Sqitch::Engine::mysql' ok 4 - Key should be "mysql" ok 5 - Name should be "MySQL" ok 6 - client should default to mysql ok 7 - registry default should be "sqitch" ok 8 - registry_uri should be correct ok 9 - uri should be "db:mysql:mydb" ok 10 - registry_destination should be the same as registry_uri ok 11 - _lock_name should be correct ok 12 - mysql command should be user and std opts-only ok 13 - Should have emitted a warning for no database name ok 14 - An object of class 'App::Sqitch::Engine::mysql' isa 'App::Sqitch::Engine::mysql' ok 15 - Create engine with MYSQL_PWD set ok 16 - Password should be set from environment ok 17 - URI should reflect MYSQL_HOST ok 18 - URI should reflect MYSQL_TCP_PORT ok 19 - Create another mysql ok 20 - client should be as configured ok 21 - URI should be as configured ok 22 - target name should be the URI without the password ok 23 - destination should be the URI without the password ok 24 - registry should be as configured ok 25 - Sqitch DB URI should be the same as uri but with DB name "meta" ok 26 - registry_destination should be the sqitch DB URL without the password ok 27 - mysql command should be configured ok 28 - Create a mysql with query params ok 29 - mysql command should be configured with query vals ok 30 - Create a mysql with disabled query params ok 31 - mysql command should not have disabled param options ok 32 - App::Sqitch::Engine::mysql->can(...) ok 33 - Create a mysql with sqitch with options ok 34 - MYSQL_PWD should be "s3cr3t" ok 35 - Call _run ok 36 - Command should be passed to run() ok 37 - MYSQL_PWD should be "s3cr3t" ok 38 - Call _spool ok 39 - Command should be passed to spool() ok 40 - MYSQL_PWD should be "s3cr3t" ok 41 - Call _spool with variables ok 42 - Get variables file handle ok 43 - Command should be passed to spool() after variables handle ok 44 - Variables should have been escaped and set ok 45 - MYSQL_PWD should be "s3cr3t" ok 46 - Call _capture ok 47 - Command should be passed to capture() ok 48 - Create a mysql with sqitch with no pw ok 49 - MYSQL_PWD should not exist ok 50 - Call _run again ok 51 - Command should be passed to run() again ok 52 - MYSQL_PWD should not exist ok 53 - Call _spool again ok 54 - Command should be passed to spool() again ok 55 - MYSQL_PWD should not exist ok 56 - Call _capture again ok 57 - Command should be passed to capture() again ok 58 - MYSQL_PWD should not exist ok 59 - Run foo/bar.sql ok 60 - File should be passed to run() ok 61 - MYSQL_PWD should not exist ok 62 - Spool a "file handle" ok 63 - Handle should be passed to spool() ok 64 - MYSQL_PWD should not exist ok 65 - Verify foo/bar.sql ok 66 - Verify file should be passed to capture() ok 67 - MYSQL_PWD should not exist ok 68 - Verify foo/bar.sql again ok 69 - Verifile file should be passed to run() for high verbosity ok 70 - MYSQL_PWD should not exist ok 71 - Run foo/bar.sql with vars ok 72 - Variabls and file should be passed to run() ok 73 - MYSQL_PWD should not exist ok 74 - Spool a "file handle" ok 75 - Get variables file handle ok 76 - File handle should be passed to spool() after variables handle ok 77 - Variables should have been escaped and set ok 78 - MYSQL_PWD should not exist ok 79 - Verbosely verify foo/bar.sql with vars ok 80 - Variables and verify file should be passed to run() ok 81 - MYSQL_PWD should not exist ok 82 - Verify foo/bar.sql with vars ok 83 - Verify file should be passed to capture() ok 84 - App::Sqitch::Engine::mysql->can('_ts2char_format') ok 85 - _ts2char_format should work ok 86 - App::Sqitch::Engine::mysql->can('_dt') ok 87 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' ok 88 - DateTime year should be set ok 89 - DateTime month should be set ok 90 - DateTime day should be set ok 91 - DateTime hour should be set ok 92 - DateTime minute should be set ok 93 - DateTime second should be set ok 94 - DateTime TZ should be set ok 95 - Should have _listagg_format ok 96 - Should have _regex_op ok 97 - Should have _simple_from ok 98 - Should have _limit_default ok 99 - Should have _ts_default with fractional seconds ok 100 - Should have _ts_default without fractional seconds on 5.1 ok 101 - Should have _ts_default without fractional seconds on early mariadb ok 102 - Should have _ts_default with fractional secondson mariadb 5.03.05 ok 103 - Should have no table error ok 104 - Should have no column error ok 105 - Should now have table error ok 106 - Still should have no column error ok 107 - Should again have table error ok 108 - Still should have no column error ok 109 - Should again have no table error ok 110 - Should now have no column error ok 111 - Should get limit and offset ok 112 - Should get limit and offset when offset only ok 113 - Should get only limit with 0 offset ok 114 - Should get only limit with noa offset ok 115 - Should get no limit or offset for 0s ok 116 - Should get no limit or offset for no args ok 117 - Should use REGEXP for regex expr ok 118 - initialized() should rethrow unexpected DB error ok 119 - _cid should rethrow unexpected DB error ok 120 - Should just get self when fractional seconds supported ok 121 - Should get no error from _prepare_to_log ok 122 - Should have prepared the statement comparing times ok 123 - Results should have been returned ok 124 - Should have slept once ok 125 - Run the upgrade ok 126 - Should not have created a temp file ok 127 - It should have run the unchanged file ok 128 - Run the upgrade again ok 129 - Should have created a temp file ok 130 - It should have run the temp file ok 131 - Should have removed datetime precision ok 132 - Should not have removed MySQL 5.5-requiring block BEGIN ok 133 - Should not have removed MySQL 5.5-requiring block END ok 134 - Run the upgrade on 5.4 ok 135 - Should have created another temp file ok 136 - It should have the new temp file ok 137 - Should have removed MySQL 5.5-requiring block BEGIN ok 138 - Should have removed MySQL 5.5-requiring block END ok 139 - App::Sqitch::Engine::mysql->can(...) # Subtest: live database 1..0 # SKIP Unable to live-test MySQL engine: DBD::mysql 4.018 required to manage MySQL at t/mysql.t line 630. ok 140 # skip Unable to live-test MySQL engine: DBD::mysql 4.018 required to manage MySQL at t/mysql.t line 630. # 1..140 ok t/options.t ......... ok 1 - use App::Sqitch; ok 2 - Options should be correct ok 3 - App::Sqitch->can('_find_cmd') ok 4 - Should find no command for no args ok 5 - Should have passed "sqitchcommands" to _pod2usage ok 6 - Should have vented nothing ok 7 - Should find no command for invalid command ok 8 - Should have passed "sqitchcommands" to _pod2usage ok 9 - Should have vented an invalid command message ok 10 - Should find no command with option --foo ok 11 - Should have passed "sqitchcommands" to _pod2usage ok 12 - Should not have reported --foo as invalid command ok 13 - Should find no command with option --client=psql ok 14 - Should have passed "sqitchcommands" to _pod2usage ok 15 - Should not have reported --client=psql as invalid command ok 16 - Should find no command with option -R ok 17 - Should have passed "sqitchcommands" to _pod2usage ok 18 - Should not have reported -R as invalid command ok 19 - Should find no command with option -X=yup ok 20 - Should have passed "sqitchcommands" to _pod2usage ok 21 - Should not have reported -X=yup as invalid command ok 22 - Should find no command after -- ok 23 - Should have passed "sqitchcommands" to _pod2usage ok 24 - Should have vented nothing ok 25 - Should find class for "bundle" ok 26 - Should not have called _pod2usage ok 27 - Should have vented nothing ok 28 - Should have removed "bundle" from args ok 29 - Should find class for "bundle" again ok 30 - Should not have called _pod2usage ok 31 - Should have vented nothing ok 32 - Should have left subsequent valid command after "bundle" in args ok 33 - Should find class for "config" ok 34 - Should not have called _pod2usage ok 35 - Should have vented nothing ok 36 - Should have removed "config" from args ok 37 - Should find class for "config" again ok 38 - Should not have called _pod2usage ok 39 - Should have vented nothing ok 40 - Should have left subsequent valid command after "config" in args ok 41 - Should find class for "help" ok 42 - Should not have called _pod2usage ok 43 - Should have vented nothing ok 44 - Should have removed "help" from args ok 45 - Should find class for "help" again ok 46 - Should not have called _pod2usage ok 47 - Should have vented nothing ok 48 - Should have left subsequent valid command after "help" in args ok 49 - Should find class for "plan" ok 50 - Should not have called _pod2usage ok 51 - Should have vented nothing ok 52 - Should have removed "plan" from args ok 53 - Should find class for "plan" again ok 54 - Should not have called _pod2usage ok 55 - Should have vented nothing ok 56 - Should have left subsequent valid command after "plan" in args ok 57 - Should find class for "show" ok 58 - Should not have called _pod2usage ok 59 - Should have vented nothing ok 60 - Should have removed "show" from args ok 61 - Should find class for "show" again ok 62 - Should not have called _pod2usage ok 63 - Should have vented nothing ok 64 - Should have left subsequent valid command after "show" in args ok 65 - Should find class for "tag" ok 66 - Should not have called _pod2usage ok 67 - Should have vented nothing ok 68 - Should have removed "tag" from args ok 69 - Should find class for "tag" again ok 70 - Should not have called _pod2usage ok 71 - Should have vented nothing ok 72 - Should have left subsequent valid command after "tag" in args ok 73 - App::Sqitch->can('_parse_core_opts') ok 74 - Should have default config for no options ok 75 - Ask for help ok 76 - Should have been helped ok 77 - Ask for man ok 78 - Should have been manned ok 79 - Should have exited on --version ok 80 - Should have emitted the version ok 81 - Should have exited on --etc-path ok 82 - Should have emitted the etc path ok 83 - Should parse lots of options ok 84 - --quiet should trump verbosity. ok 85 - Short options should work ok 86 - Run _pod2usage ok 87 - Proper args should have been passed to Pod::Usage ok 88 - Parse --chdir ok 89 - Should have changed to foo/bar ok 90 - Should have preserved no opts ok 91 - Parse --cd ok 92 - Should have changed to go/dir ok 93 - Should have preserved no opts ok 94 - Parse -C ok 95 - Should have changed to hi cramus ok 96 - Should have preserved no opts ok 97 - Should get error when chdir fails ok 98 - Error ident should be "fs" ok 99 - Error message should be correct 1..99 ok t/oracle.t .......... ok 1 - require App::Sqitch::Engine::oracle; ok 2 - config_vars should return three vars ok 3 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' ok 4 - Key should be "oracle" ok 5 - Name should be "Oracle" ok 6 - client should default to sqlplus ok 7 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' ok 8 - client should default to sqlplus ok 9 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' ok 10 - client should use $ORACLE_HOME ok 11 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' ok 12 - client should use $ORACLE_HOME/bin ok 13 - registry default should be empty ok 14 - Default URI should be "db:oracle" ok 15 - Target name should be the uri stringified ok 16 - Destination should fall back on environment variables ok 17 - Registry target should be the same as target ok 18 - sqlplus command should connect to /nolog ok 19 - _script should work ok 20 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' ok 21 - _script should assemble connection string ok 22 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' ok 23 - _script should assemble connection string with host ok 24 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' ok 25 - Set some variables ok 26 - _script should assemble connection string with host, port, and vars ok 27 - Database-only URI should produce proper DSN ok 28 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' ok 29 - _script should assemble connection string with just dbname ok 30 - Database and double-slash URI should produce proper DSN ok 31 - An object of class 'App::Sqitch::Engine::oracle' isa 'App::Sqitch::Engine::oracle' ok 32 - _script should assemble connection string with double-slash and dbname ok 33 - Target name should not read $TWO_TASK ok 34 - Destination should read $TWO_TASK ok 35 - Registry destination should be the same as destination ok 36 - Target name should not read $ORACLE_SID ok 37 - Destination should read $ORACLE_SID ok 38 - Registry destination should be the same as destination ok 39 - Target should be the default ok 40 - Destination should prefer $TWO_TASK to username ok 41 - Registry destination should be the same as destination ok 42 - Create another ora ok 43 - client should be as configured ok 44 - DB URI should be as configured ok 45 - Target name should be the passwordless URI stringified ok 46 - Destination should be the URI without the password ok 47 - registry_destination should replace be the same URI ok 48 - registry should be as configured ok 49 - sqlplus command should be configured ok 50 - Create yet another ora ok 51 - client should be as configured ok 52 - registry should be as configured ok 53 - sqlplus command should be configured ok 54 - App::Sqitch::Engine::oracle->can(...) ok 55 - Call _run ok 56 - SQLPlus command should be passed to spool() ok 57 - The script should be spooled ok 58 - Call _capture ok 59 - Command and script should be passed to run3() ok 60 - _capture should actually capture ok 61 - _capture should die when sqlplus dies ok 62 - STDERR should be emitted by _capture ok 63 - App::Sqitch::Engine::oracle->can('_file_for_script') ok 64 - File without special characters should be used directly ok 65 - Double quotes should be SQL-escaped ok 66 - Get temp dir ok 67 - 'Temp dir' isa 'Path::Class::Dir' ok 68 - File with special char should be aliased ok 69 - Should get an error on failure to delete the alias ok 70 - File deletion error ident should be "oracle" ok 71 - File deletion error message should be correct ok 72 - File with special char and quotes should be aliased ok 73 - initialized() should rethrow unexpected DB error ok 74 - _cid should rethrow unexpected DB error ok 75 - Run foo/bar.sql ok 76 - File should be passed to run() ok 77 - Run foo/"bar".sql ok 78 - Double quotes in file passed to run() should be escaped ok 79 - Spool a "file handle" ok 80 - sqlplus command should be passed to spool() ok 81 - 'Array ove handles should be passed to spool' isa 'ARRAY' ok 82 - First file handle should be script ok 83 - Second should be the passed handle ok 84 - Verify foo/bar.sql ok 85 - Verify file should be passed to capture() ok 86 - Verify foo/bar.sql again ok 87 - Verifile file should be passed to run() for high verbosity ok 88 - App::Sqitch::Engine::oracle->can('_ts2char_format') ok 89 - _ts2char_format should work ok 90 - App::Sqitch::Engine::oracle->can('_dt') ok 91 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' ok 92 - DateTime year should be set ok 93 - DateTime month should be set ok 94 - DateTime day should be set ok 95 - DateTime hour should be set ok 96 - DateTime minute should be set ok 97 - DateTime second should be set ok 98 - DateTime TZ should be set ok 99 - Should have _char2ts ok 100 - Should have _listagg_format ok 101 - Should have _regex_op ok 102 - Should have _simple_from ok 103 - Should have _limit_default ok 104 - Should have _ts_default ok 105 - Should have _can_limit false ok 106 - Should get single expression from _multi_values ok 107 - Should get double expression from _multi_values ok 108 - Should get quadrupal expression from _multi_values ok 109 - Should have no table error ok 110 - Should have no column error ok 111 - Should now have table error ok 112 - Still should have no column error ok 113 - Should again have no table error ok 114 - Should now have no column error ok 115 - _log_tags_param should format tags ok 116 - _log_requires_param should format prereqs ok 117 - _log_conflicts_param should format prereqs ok 118 - App::Sqitch::Engine::oracle->can('_change_id_in') ok 119 - Should get empty string for 0 change IDs ok 120 - Should get single param for 1 change ID ok 121 - Should get 3 params for 3 change IDs ok 122 - Should get 10 params for 10 change IDs ok 123 - Should get 32 params for 32 change IDs ok 124 - Should get 50 params for 50 change IDs ok 125 - Should get 200 params for 200 change IDs ok 126 - Should get 250 params for 250 change IDs ok 127 - Should get 250 and 1 groups for 251 IDs ok 128 - Should get 250 and 3 groups for 253 IDs ok 129 - Should get 250, 240, and 2 groups for 503 IDs ok 130 - Should get 4 x 250 and 42 groups for 1042 IDs ok 131 - App::Sqitch::Engine::oracle->can(...) # Subtest: live database 1..0 # SKIP Unable to live-test Oracle engine: DBD::Oracle 1.23 required to manage Oracle at t/oracle.t line 694. ok 132 # skip Unable to live-test Oracle engine: DBD::Oracle 1.23 required to manage Oracle at t/oracle.t line 694. # 1..132 ok t/pg.t .............. ok 1 - require App::Sqitch::Engine::pg; ok 2 - config_vars should return three vars ok 3 - An object of class 'App::Sqitch::Engine::pg' isa 'App::Sqitch::Engine::pg' ok 4 - Key should be "pg" ok 5 - Name should be "PostgreSQL" ok 6 - client should default to psqle ok 7 - registry default should be "sqitch" ok 8 - DB URI should be "db:pg:" ok 9 - Destination should fall back on environment variables ok 10 - Registry destination should be the same as destination ok 11 - psql command should be conninfo, and std opts-only ok 12 - An object of class 'App::Sqitch::Engine::pg' isa 'App::Sqitch::Engine::pg' ok 13 - Set some variables ok 14 - Variables should be passed to psql via --set ok 15 - Target should not read $PGDATABASE ok 16 - Registry target should be the same as destination ok 17 - Target should not read $PGUSER ok 18 - Registry target should be the same as destination ok 19 - Target should not read $PGPASSWORD ok 20 - Registry target should be the same as destination ok 21 - Target should not fall back on sysuser ok 22 - Registry target should be the same as destination ok 23 - Target should be the default ok 24 - Registry target should be the same as destination ok 25 - Create another pg ok 26 - client should be as configured ok 27 - uri should be as configured ok 28 - registry should be as configured ok 29 - psql command should be configured from URI config ok 30 - App::Sqitch::Engine::pg->can(...) ok 31 - PGPASSWORD should be "s3cr3t" ok 32 - Call _run ok 33 - Command should be passed to run() ok 34 - PGPASSWORD should be "s3cr3t" ok 35 - Call _spool ok 36 - Command should be passed to spool() ok 37 - PGPASSWORD should be "s3cr3t" ok 38 - Call _capture ok 39 - Command should be passed to capture() ok 40 - PGPASSWORD should be "s3cr3t" ok 41 - Call _probe ok 42 ok 43 - Create a pg with sqitch with no pw ok 44 - PGPASSWORD should not exist ok 45 - Call _run again ok 46 - Command should be passed to run() again ok 47 - PGPASSWORD should not exist ok 48 - Call _spool again ok 49 - Command should be passed to spool() again ok 50 - PGPASSWORD should not exist ok 51 - Call _capture again ok 52 - Command should be passed to capture() again ok 53 - PGPASSWORD should not exist ok 54 - Call _probe again ok 55 ok 56 - PGPASSWORD should not exist ok 57 - Run foo/bar.sql ok 58 - File should be passed to run() ok 59 - PGPASSWORD should not exist ok 60 - Spool a "file handle" ok 61 - Handle should be passed to spool() ok 62 - PGPASSWORD should not exist ok 63 - Verify foo/bar.sql ok 64 - Verify file should be passed to capture() ok 65 - PGPASSWORD should not exist ok 66 - Verify foo/bar.sql again ok 67 - Verifile file should be passed to run() for high verbosity ok 68 - App::Sqitch::Engine::pg->can('_ts2char_format') ok 69 - _ts2char_format should work ok 70 - App::Sqitch::Engine::pg->can('_dt') ok 71 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' ok 72 - DateTime year should be set ok 73 - DateTime month should be set ok 74 - DateTime day should be set ok 75 - DateTime hour should be set ok 76 - DateTime minute should be set ok 77 - DateTime second should be set ok 78 - DateTime TZ should be set ok 79 - Should find major version 11 in 11beta3 ok 80 - Should find major version 11 in 11.3 ok 81 - Should find major version 10 in 10 ok 82 - Should find major version 9 in 9.6.3 ok 83 - Should find major version 8 in 8.4.2 ok 84 - Should find major version 9 in 9.0.19 ok 85 - Should have no table error ok 86 - Should have no column error ok 87 - Should again have no table error ok 88 - Should now have no column error ok 89 - Should now have table error ok 90 - Still should have no column error ok 91 - No SQL should have been run ok 92 - Should again have table error ok 93 - Still should have no column error ok 94 - Should have sent an error to the log ok 95 - Should use array_remove and ORDER BY in listagg_format on v11 ok 96 - Should use array_remove and ORDER BY in listagg_format on v9.3 ok 97 - Should use ORDER BY in listagg_format on v9.2 ok 98 - Should use ORDER BY in listagg_format on v9.0 ok 99 - Should not use ORDER BY in listagg_format on v8.4 ok 100 - Run the registry file ok 101 - Should have fetched the server version and checked for XC ok 102 - Shoud have deployed the original SQL file ok 103 - The registry should have been added to the search path ok 104 - Should not have have called selectrow_array ok 105 - Should have no temp file handle ok 106 - Run the registry file again ok 107 - Should have again fetched the server version and checked for XC ok 108 - Should now have a temp file handle ok 109 - Shoud have deployed the temp SQL file ok 110 - Still hould not have have called selectrow_array ok 111 - The registry should have been added to the search path again ok 112 - Should have removed IF NOT EXISTS from CREATE SCHEMA ok 113 - Run the registry file again ok 114 - Should have again fetched the server version and checked for XC ok 115 - Should now have a temp file handle ok 116 - Shoud have deployed the temp SQL file ok 117 - Should have have called quote_ident via selectrow_array ok 118 - The registry should have been added to the search path again ok 119 - Should not have removed IF NOT EXISTS from CREATE SCHEMA ok 120 - Should have removed the :"registry" variable ok 121 - App::Sqitch::Engine::pg->can(...) # Subtest: live database 1..0 # SKIP Unable to live-test PostgreSQL engine: "psql" failed to start: "No such file or directory" ok 122 # skip Unable to live-test PostgreSQL engine: "psql" failed to start: "No such file or directory" # 1..122 ok t/plan.t ............ ok 1 - use App::Sqitch::Plan; ok 2 - App::Sqitch::Plan->can(...) ok 3 - An object of class 'App::Sqitch::Plan' isa 'App::Sqitch::Plan' ok 4 - File should be coopied from Target ok 5 - Should parse simple "widgets.plan" ok 6 - Should have sorted changes ok 7 - 'changes' isa 'ARRAY' ok 8 - 'lines' isa 'ARRAY' ok 9 - All "widgets.plan" changes should be parsed ok 10 - All "widgets.plan" lines should be parsed ok 11 - Should parse multi-tagged "multi.plan" ok 12 - Should have sorted changes twice ok 13 - Should have captured the multi pragmas ok 14 - Should have "multi.plan" lines and changes ok 15 - Should read plan with no tags ok 16 - Should have sorted changes ok 17 - Should have captured the changes-only pragmas ok 18 - Should have lines and changes for tagless plan ok 19 - Should read plan with DOS line endings ok 20 - Should have sorted changes ok 21 - Should have captured the dos pragmas ok 22 - Should die on plan with bad change name ok 23 - Bad change name error ident should be "parse" ok 24 - And the bad change name error message should be correct ok 25 - Should not have sorted changes ok 26 - Should die on plan with bad name "+^foo" ok 27 - Exception ident should be "parse" ok 28 - And "+^foo" should trigger the appropriate message ok 29 - Should not have sorted changes ok 30 - Should die on plan with bad name "@^foo" ok 31 - Exception ident should be "parse" ok 32 - And "@^foo" should trigger the appropriate message ok 33 - Should not have sorted changes ok 34 - Should die on plan with bad name "+foo^" ok 35 - Exception ident should be "parse" ok 36 - And "+foo^" should trigger the appropriate message ok 37 - Should not have sorted changes ok 38 - Should die on plan with bad name "@foo^" ok 39 - Exception ident should be "parse" ok 40 - And "@foo^" should trigger the appropriate message ok 41 - Should not have sorted changes ok 42 - Should die on plan with bad name "+foo^6" ok 43 - Exception ident should be "parse" ok 44 - And "+foo^6" should trigger the appropriate message ok 45 - Should not have sorted changes ok 46 - Should die on plan with bad name "@foo^6" ok 47 - Exception ident should be "parse" ok 48 - And "@foo^6" should trigger the appropriate message ok 49 - Should not have sorted changes ok 50 - Should die on plan with bad name "+foo^666" ok 51 - Exception ident should be "parse" ok 52 - And "+foo^666" should trigger the appropriate message ok 53 - Should not have sorted changes ok 54 - Should die on plan with bad name "@foo^666" ok 55 - Exception ident should be "parse" ok 56 - And "@foo^666" should trigger the appropriate message ok 57 - Should not have sorted changes ok 58 - Should die on plan with bad name "+%hi" ok 59 - Exception ident should be "parse" ok 60 - And "+%hi" should trigger the appropriate message ok 61 - Should not have sorted changes ok 62 - Should die on plan with bad name "@%hi" ok 63 - Exception ident should be "parse" ok 64 - And "@%hi" should trigger the appropriate message ok 65 - Should not have sorted changes ok 66 - Should die on plan with bad name "+hi!" ok 67 - Exception ident should be "parse" ok 68 - And "+hi!" should trigger the appropriate message ok 69 - Should not have sorted changes ok 70 - Should die on plan with bad name "@hi!" ok 71 - Exception ident should be "parse" ok 72 - And "@hi!" should trigger the appropriate message ok 73 - Should not have sorted changes ok 74 - Should die on plan with bad name "+foo@bar" ok 75 - Exception ident should be "parse" ok 76 - And "+foo@bar" should trigger the appropriate message ok 77 - Should not have sorted changes ok 78 - Should die on plan with bad name "@foo@bar" ok 79 - Exception ident should be "parse" ok 80 - And "@foo@bar" should trigger the appropriate message ok 81 - Should not have sorted changes ok 82 - Should die on plan with bad name "+foo:bar" ok 83 - Exception ident should be "parse" ok 84 - And "+foo:bar" should trigger the appropriate message ok 85 - Should not have sorted changes ok 86 - Should die on plan with bad name "@foo:bar" ok 87 - Exception ident should be "parse" ok 88 - And "@foo:bar" should trigger the appropriate message ok 89 - Should not have sorted changes ok 90 - Should die on plan with bad name "+foo\bar" ok 91 - Exception ident should be "parse" ok 92 - And "+foo\bar" should trigger the appropriate message ok 93 - Should not have sorted changes ok 94 - Should die on plan with bad name "@foo\bar" ok 95 - Exception ident should be "parse" ok 96 - And "@foo\bar" should trigger the appropriate message ok 97 - Should not have sorted changes ok 98 - Should die on plan with bad name "++foo" ok 99 - Exception ident should be "parse" ok 100 - And "++foo" should trigger the appropriate message ok 101 - Should not have sorted changes ok 102 - Should die on plan with bad name "@+foo" ok 103 - Exception ident should be "parse" ok 104 - And "@+foo" should trigger the appropriate message ok 105 - Should not have sorted changes ok 106 - Should die on plan with bad name "+-foo" ok 107 - Exception ident should be "parse" ok 108 - And "+-foo" should trigger the appropriate message ok 109 - Should not have sorted changes ok 110 - Should die on plan with bad name "@-foo" ok 111 - Exception ident should be "parse" ok 112 - And "@-foo" should trigger the appropriate message ok 113 - Should not have sorted changes ok 114 - Should die on plan with bad name "+@foo" ok 115 - Exception ident should be "parse" ok 116 - And "+@foo" should trigger the appropriate message ok 117 - Should not have sorted changes ok 118 - Should die on plan with bad name "@@foo" ok 119 - Exception ident should be "parse" ok 120 - And "@@foo" should trigger the appropriate message ok 121 - Should not have sorted changes ok 122 - Should die on plan with bad name "@foo/bar 2012-07-16T17:25:07Z X " ok 123 - Exception ident should be "parse" ok 124 - And "foo/bar" should trigger the appropriate message ok 125 - Should not have sorted changes ok 126 - Should parse "foo" ok 127 - Should have captured the foo pragmas ok 128 - Should have pragmas in plan with change "foo" ok 129 - Should parse "@foo" ok 130 - Should have pragmas in plan with tag "foo" ok 131 - Should have line and change for "@foo" ok 132 - Should parse "12" ok 133 - Should have captured the 12 pragmas ok 134 - Should have pragmas in plan with change "12" ok 135 - Should parse "@12" ok 136 - Should have pragmas in plan with tag "12" ok 137 - Should have line and change for "@12" ok 138 - Should parse "t" ok 139 - Should have captured the t pragmas ok 140 - Should have pragmas in plan with change "t" ok 141 - Should parse "@t" ok 142 - Should have pragmas in plan with tag "t" ok 143 - Should have line and change for "@t" ok 144 - Should parse "6" ok 145 - Should have captured the 6 pragmas ok 146 - Should have pragmas in plan with change "6" ok 147 - Should parse "@6" ok 148 - Should have pragmas in plan with tag "6" ok 149 - Should have line and change for "@6" ok 150 - Should parse "阱阪阬" ok 151 - Should have captured the 阱阪阬 pragmas ok 152 - Should have pragmas in plan with change "阱阪阬" ok 153 - Should parse "@阱阪阬" ok 154 - Should have pragmas in plan with tag "阱阪阬" ok 155 - Should have line and change for "@阱阪阬" ok 156 - Should parse "foo,bar" ok 157 - Should have captured the foo,bar pragmas ok 158 - Should have pragmas in plan with change "foo,bar" ok 159 - Should parse "@foo,bar" ok 160 - Should have pragmas in plan with tag "foo,bar" ok 161 - Should have line and change for "@foo,bar" ok 162 - Should parse "beta1" ok 163 - Should have captured the beta1 pragmas ok 164 - Should have pragmas in plan with change "beta1" ok 165 - Should parse "@beta1" ok 166 - Should have pragmas in plan with tag "beta1" ok 167 - Should have line and change for "@beta1" ok 168 - Should parse "foo_" ok 169 - Should have captured the foo_ pragmas ok 170 - Should have pragmas in plan with change "foo_" ok 171 - Should parse "@foo_" ok 172 - Should have pragmas in plan with tag "foo_" ok 173 - Should have line and change for "@foo_" ok 174 - Should parse "_foo" ok 175 - Should have captured the _foo pragmas ok 176 - Should have pragmas in plan with change "_foo" ok 177 - Should parse "@_foo" ok 178 - Should have pragmas in plan with tag "_foo" ok 179 - Should have line and change for "@_foo" ok 180 - Should parse "v1.0-1b" ok 181 - Should have captured the v1.0-1b pragmas ok 182 - Should have pragmas in plan with change "v1.0-1b" ok 183 - Should parse "@v1.0-1b" ok 184 - Should have pragmas in plan with tag "v1.0-1b" ok 185 - Should have line and change for "@v1.0-1b" ok 186 - Should parse "v1.2-1" ok 187 - Should have captured the v1.2-1 pragmas ok 188 - Should have pragmas in plan with change "v1.2-1" ok 189 - Should parse "@v1.2-1" ok 190 - Should have pragmas in plan with tag "v1.2-1" ok 191 - Should have line and change for "@v1.2-1" ok 192 - Should parse "v1.2+1" ok 193 - Should have captured the v1.2+1 pragmas ok 194 - Should have pragmas in plan with change "v1.2+1" ok 195 - Should parse "@v1.2+1" ok 196 - Should have pragmas in plan with tag "v1.2+1" ok 197 - Should have line and change for "@v1.2+1" ok 198 - Should parse "v1.2_1" ok 199 - Should have captured the v1.2_1 pragmas ok 200 - Should have pragmas in plan with change "v1.2_1" ok 201 - Should parse "@v1.2_1" ok 202 - Should have pragmas in plan with tag "v1.2_1" ok 203 - Should have line and change for "@v1.2_1" ok 204 - Should have sorted changes 26 times ok 205 - Should die on plan with reserved tag "@HEAD" ok 206 - @HEAD exception should have ident "plan" ok 207 - And the @HEAD error message should be correct ok 208 - Should have sorted @HEAD changes nonce ok 209 - Should die on plan with reserved tag "@ROOT" ok 210 - @ROOT exception should have ident "plan" ok 211 - And the @ROOT error message should be correct ok 212 - Should have sorted @ROOT changes nonce ok 213 - Should die on plan with SHA1 change name ok 214 - The SHA1 error ident should be "parse" ok 215 - And the SHA1 error message should be correct ok 216 - Should have sorted changes nonce ok 217 - Should die on plan with tag but no preceding change ok 218 - The missing change error ident should be "parse" ok 219 - And the missing change error message should be correct ok 220 - Should have sorted changes nonce ok 221 - Should die on plan with dupe tag ok 222 - The dupe tag error ident should be "parse" ok 223 - And the missing change error message should be correct ok 224 - Should have sorted changes twice ok 225 - Should die on plan with dupe change ok 226 - The dupe change error ident should be "parse" ok 227 - And the dupe change error message should be correct ok 228 - Should have sorted changes once ok 229 - Should die on invalid dependency ok 230 - The invalid dependency error ident should be "parse" ok 231 - And the invalid dependency error message should be correct ok 232 - Should have sorted changes nonce ok 233 - Should die on dupe dependency ok 234 - The dupe dependency error ident should be "parse" ok 235 - And the dupe dependency error message should be correct ok 236 - Should have sorted changes nonce ok 237 - Should die on change with no timestamp ok 238 - The missing timestamp error ident should be "parse" ok 239 - And the missing timestamp error message should be correct ok 240 - Should have sorted changes nonce ok 241 - Should die on change with no planner ok 242 - The missing parsener error ident should be "parse" ok 243 - And the missing planner error message should be correct ok 244 - Should have sorted changes nonce ok 245 - Should die on change with no timestamp or planner ok 246 - The missing timestamp or parsener error ident should be "parse" ok 247 - And the missing timestamp or planner error message should be correct ok 248 - Should have sorted changes nonce ok 249 - Should parse plan with pragmas" ok 250 - Should have sorted changes once ok 251 - Should have captured all of the pragmas ok 252 - Should have "multi.plan" lines and changes ok 253 - Should parse plan with deploy and revert operators ok 254 - Should have sorted changes twice ok 255 - Should have captured the deploy-and-revert pragmas ok 256 - Should have "deploy-and-revert.plan" lines and changes ok 257 - Should get exception for nonexistent plan file ok 258 - Nonexistent plan file ident should be "plan" ok 259 - Nonexistent plan file message should be correct ok 260 - 'Plan with sqitch with plan file with dependencies' isa 'App::Sqitch::Plan' ok 261 - File should be coopied from Sqitch ok 262 - Load plan with dependencies file ok 263 - The changes should include the dependencies ok 264 - Should have sorted changes twice ok 265 - 'Plan with sqitch with plan file with project deps' isa 'App::Sqitch::Plan' ok 266 - File should be coopied from Sqitch ok 267 - Load plan with project deps file ok 268 - The changes should include the cross-project deps ok 269 - Should have sorted changes twice ok 270 - 'Plan with sqitch with plan with tag dependencies' isa 'App::Sqitch::Plan' ok 271 - File should be coopied from Sqitch ok 272 - Should get an exception for tag with dependencies ok 273 - The tag dependencies error ident should be "plan" ok 274 - And the tag dependencies error message should be correct ok 275 - 'Plan with sqitch with plan file' isa 'App::Sqitch::Plan' ok 276 - File should be coopied from Sqitch ok 277 - Lines should be parsed from file ok 278 - Changes should be parsed from file ok 279 - Should get all tags from tags() ok 280 - Should have sorted changes twice ok 281 - Load should parse plan from file ok 282 - Should have captured the multi pragmas ok 283 - And the parsed file should have lines and changes ok 284 - Should have sorted changes twice ok 285 - App::Sqitch::Plan->can(...) ok 286 - Position should start at -1 ok 287 - Current should be undef ok 288 - Get next change ok 289 - 'First change' isa 'App::Sqitch::Plan::Change' ok 290 - It should be the first change ok 291 - Position should be at 0 ok 292 - Count should be 4 ok 293 - Current should be current ok 294 - Should get first change from change_at(0) ok 295 - Peek to next change ok 296 - 'Peeked change' isa 'App::Sqitch::Plan::Change' ok 297 - Peeked change should be second change ok 298 - last() should return last change ok 299 - Current should still be current ok 300 - Peek should still be next ok 301 - Next should be the second change ok 302 - Position should be at 1 ok 303 - Should get second change from change_at(1) ok 304 - Peek should return an object ok 305 - 'Third change' isa 'App::Sqitch::Plan::Change' ok 306 - It should be the foo tag ok 307 - Current should be the second change ok 308 - Should get third change next ok 309 - Position should be at 2 ok 310 - Current should be third change ok 311 - Should get third change from change_at(1) ok 312 - Get fourth change ok 313 - 'Fourth change' isa 'App::Sqitch::Plan::Change' ok 314 - Fourth change should be "hey-there" ok 315 - Position should be at 3 ok 316 - Peek should return undef ok 317 - Next should return undef ok 318 - Position should be at 7 ok 319 - Next should still return undef ok 320 - Position should still be at 7 ok 321 - Reset the plan ok 322 - Position should be back at -1 ok 323 - Current should still be undef ok 324 - Next should return the first change again ok 325 - Position should be at 0 again ok 326 - Current should be first change ok 327 - Index of change should be 0 ok 328 - Plan should contain change ok 329 - Should be able to get change 0 by name ok 330 - Should be able to find change 0 by name ok 331 - Should be able to get change 0 by ID ok 332 - Should be able to find change 0 by ID ok 333 - Index of @bar should be 3 ok 334 - Plan should contain @bar ok 335 - Should be able to get hey-there via @bar ok 336 - Should be able to get hey-there via @bar ID ok 337 - Should be able to find hey-there via @bar ok 338 - Should be able to find hey-there via @bar ID ok 339 - Seek to the "@bar" change ok 340 - Position should be at 3 again ok 341 - Current should be fourth again ok 342 - Index of you should be 1 ok 343 - Plan should contain "you" ok 344 - Should be able to get change 1 by name ok 345 - Should be able to find change 1 by name ok 346 - Seek to the "you" change ok 347 - Position should be at 1 again ok 348 - Current should be second again ok 349 - Index of baz should be undef ok 350 - Plan should not contain "baz" ok 351 - Index of @baz should be 3 ok 352 - Plan should contain @baz ok 353 - Seek to the "baz" change ok 354 - Position should be at 3 again ok 355 - Current should be fourth again ok 356 - Should still get first change from change_at(0) ok 357 - Should still get second change from change_at(1) ok 358 - Should still get third change from change_at(1) ok 359 - Should die seeking invalid change ok 360 - Invalid seek change error ident should be "plan" ok 361 - And the failure message should be correct ok 362 - All should return all changes ok 363 - Reset the plan again ok 364 - Change hey should be passed to do sub ok 365 - Change hey should be the topic in do sub ok 366 - Change you should be passed to do sub ok 367 - Change you should be the topic in do sub ok 368 - Change this/rocks should be passed to do sub ok 369 - Change this/rocks should be the topic in do sub ok 370 - Change hey-there should be passed to do sub ok 371 - Change hey-there should be the topic in do sub ok 372 - 'search_changes() should return a code ref' isa 'CODE' ok 373 - All the changes should be returned in the proper order ok 374 - Direction "DESC" should work ok 375 - Should get error for invalid direction ok 376 - Invalid direction error ident should be "DEV" ok 377 - Invalid direction error message should be correct ok 378 - Direction "asc" should work ok 379 - Search by change name should work ok 380 - Search by change name should work as a regex ok 381 - Search by change name should with a character class ok 382 - Search by planner should work ok 383 - Search by planner should work as a regex ok 384 - Search by operation "deploy" should work ok 385 - Search by operation "rever" should return nothing ok 386 - Search by operation "DEPLOY" should now return two changes ok 387 - Search by operation "REVERT" should return the other two ok 388 - Should get an error for unknown operation ok 389 - Unknown operation error ident should be "DEV" ok 390 - Unknown operation error message should be correct ok 391 - Search with offset 2 should work ok 392 - Search with offset 2, limit 1 should work ok 393 - Search with offset 3 and direction "desc" should work ok 394 - Search with offset 2, limit 1, direction "desc" should work ok 395 - Search with limit 3, direction "desc" should work ok 396 - App::Sqitch::Plan->can('write_to') ok 397 - plan.out does not exist ok 398 - Write out the file ok 399 - plan.out exists ok 400 - The contents should look right ok 401 - Write out the file from "this/rocks" ok 402 - Plan should have been written from "this/rocks" through tags at end ok 403 - Write the file up to "you" ok 404 - Plan should have been written through "you" and its tags ok 405 - Write from "@foo" to "this/rocks" ok 406 - Plan should have been written from "@foo" to "this/rocks" ok 407 - Write from "hey" to "@foo" ok 408 - Plan should have been written from "hey" through "@foo" ok 409 - App::Sqitch::Plan->can('_is_valid') ok 410 - Should find "^foo" invalid ok 411 - Invalid name "^foo" error ident should be "plan" ok 412 - And the "^foo" error message should be correct ok 413 - Should find "foo^" invalid ok 414 - Invalid name "foo^" error ident should be "plan" ok 415 - And the "foo^" error message should be correct ok 416 - Should find "foo^6" invalid ok 417 - Invalid name "foo^6" error ident should be "plan" ok 418 - And the "foo^6" error message should be correct ok 419 - Should find "foo^666" invalid ok 420 - Invalid name "foo^666" error ident should be "plan" ok 421 - And the "foo^666" error message should be correct ok 422 - Should find "%hi" invalid ok 423 - Invalid name "%hi" error ident should be "plan" ok 424 - And the "%hi" error message should be correct ok 425 - Should find "hi!" invalid ok 426 - Invalid name "hi!" error ident should be "plan" ok 427 - And the "hi!" error message should be correct ok 428 - Should find "foo@bar" invalid ok 429 - Invalid name "foo@bar" error ident should be "plan" ok 430 - And the "foo@bar" error message should be correct ok 431 - Should find "foo:bar" invalid ok 432 - Invalid name "foo:bar" error ident should be "plan" ok 433 - And the "foo:bar" error message should be correct ok 434 - Should find "foo\bar" invalid ok 435 - Invalid name "foo\bar" error ident should be "plan" ok 436 - And the "foo\bar" error message should be correct ok 437 - Should find "+foo" invalid ok 438 - Invalid name "+foo" error ident should be "plan" ok 439 - And the "+foo" error message should be correct ok 440 - Should find "-foo" invalid ok 441 - Invalid name "-foo" error ident should be "plan" ok 442 - And the "-foo" error message should be correct ok 443 - Should find "@foo" invalid ok 444 - Invalid name "@foo" error ident should be "plan" ok 445 - And the "@foo" error message should be correct ok 446 - Name "foo" should be valid ok 447 - Name "12" should be valid ok 448 - Name "t" should be valid ok 449 - Name "6" should be valid ok 450 - Name "阱阪阬" should be valid ok 451 - Name "foo/bar" should be valid ok 452 - Name "beta1" should be valid ok 453 - Name "v1.2-1" should be valid ok 454 - Name "v1.2+1" should be valid ok 455 - Name "v1.2_1" should be valid ok 456 - Add tag "w00t" ok 457 - Should have 4 changes ok 458 - Should find "@w00t" in plan ok 459 - Should find "@w00t" at index 3 ok 460 - Last change should be "hey-there" ok 461 - The w00t tag should be on the last change ok 462 - An object of class 'App::Sqitch::Plan::Tag' isa 'App::Sqitch::Plan::Tag' ok 463 - The returned tag should be @w00t ok 464 - The @w00t change should be the last change ok 465 - Write out the file again ok 466 - The contents should include the "w00t" tag ok 467 - Add tag "@alpha" ok 468 - Should find "@alpha" in plan ok 469 - Should find "@alpha" at index 3 ok 470 - The returned tag should be @alpha ok 471 - The @alpha change should be the last change ok 472 - Tag change "you" ok 473 - Should still have 4 changes ok 474 - Should find "@blarney" in plan ok 475 - Should find "@blarney" at index 1 ok 476 - The blarney tag should be on the second change ok 477 - An object of class 'App::Sqitch::Plan::Tag' isa 'App::Sqitch::Plan::Tag' ok 478 - The returned tag should be @blarney ok 479 - The @blarney change should be the second change ok 480 - Should get error trying to add duplicate tag ok 481 - Duplicate tag error ident should be "plan" ok 482 - And the error message should report it as a dupe ok 483 - Should get error for invalid tag "^foo" ok 484 - Invalid name "^foo" error ident should be "plan" ok 485 - And the "^foo" error message should be correct ok 486 - Should get error for invalid tag "foo^" ok 487 - Invalid name "foo^" error ident should be "plan" ok 488 - And the "foo^" error message should be correct ok 489 - Should get error for invalid tag "foo^6" ok 490 - Invalid name "foo^6" error ident should be "plan" ok 491 - And the "foo^6" error message should be correct ok 492 - Should get error for invalid tag "foo^666" ok 493 - Invalid name "foo^666" error ident should be "plan" ok 494 - And the "foo^666" error message should be correct ok 495 - Should get error for invalid tag "%hi" ok 496 - Invalid name "%hi" error ident should be "plan" ok 497 - And the "%hi" error message should be correct ok 498 - Should get error for invalid tag "hi!" ok 499 - Invalid name "hi!" error ident should be "plan" ok 500 - And the "hi!" error message should be correct ok 501 - Should get error for invalid tag "foo@bar" ok 502 - Invalid name "foo@bar" error ident should be "plan" ok 503 - And the "foo@bar" error message should be correct ok 504 - Should get error for invalid tag "foo:bar" ok 505 - Invalid name "foo:bar" error ident should be "plan" ok 506 - And the "foo:bar" error message should be correct ok 507 - Should get error for invalid tag "foo\bar" ok 508 - Invalid name "foo\bar" error ident should be "plan" ok 509 - And the "foo\bar" error message should be correct ok 510 - Should get error for invalid tag "+foo" ok 511 - Invalid name "+foo" error ident should be "plan" ok 512 - And the "+foo" error message should be correct ok 513 - Should get error for invalid tag "-foo" ok 514 - Invalid name "-foo" error ident should be "plan" ok 515 - And the "-foo" error message should be correct ok 516 - Should get error for invalid tag "foo\#bar" ok 517 - Invalid name "foo\#bar" error ident should be "plan" ok 518 - And the "foo\#bar" error message should be correct ok 519 - Should get error for invalid tag "foo/bar" ok 520 - Invalid name "foo/bar" error ident should be "plan" ok 521 - And the "foo/bar" error message should be correct ok 522 - Should get error for reserved tag "HEAD" ok 523 - Reserved tag "HEAD" error ident should be "plan" ok 524 - And the reserved tag "HEAD" message should be correct ok 525 - Should get error for reserved tag "ROOT" ok 526 - Reserved tag "ROOT" error ident should be "plan" ok 527 - And the reserved tag "ROOT" message should be correct ok 528 - Should get error for a SHA1 tag ok 529 - SHA1 tag error ident should be "plan" ok 530 - And the reserved name error should be output ok 531 - Add change "booyah" ok 532 - Should have 5 changes ok 533 - Should find "booyah" in plan ok 534 - Should find "booyah" at index 4 ok 535 - Last change should be "booyah" ok 536 - An object of class 'App::Sqitch::Plan::Change' isa 'App::Sqitch::Plan::Change' ok 537 - Should have plain stringification of "booya" ok 538 - Write out the file again ok 539 - The contents should include the "booyah" change ok 540 - Add change "blow" ok 541 - Should have 6 changes ok 542 - Should find "blow" in plan ok 543 - Should find "blow" at index 5 ok 544 - Last change should be "blow" ok 545 - Should have nice stringification of "blow [booyah]" ok 546 - The new change should have been appended to the lines, too ok 547 - Add change "jive" with dupe dependency ok 548 - Should have 7 changes ok 549 - Should find "jive" in plan ok 550 - Should find "jive" at index 6 ok 551 - jive change should be "jive" ok 552 - Should have dependency "blow" ok 553 - Should have nice stringification of "jive [blow]" ok 554 - The new change should have been appended to the lines, too ok 555 - Add change "moo" with dupe dependencies ok 556 - Should have 8 changes ok 557 - Should find "moo" in plan ok 558 - Should find "moo" at index 7 ok 559 - moo change should be "moo" ok 560 - Should require "ext:whu" ok 561 - Should conflict with "blow" and "ext:whu" ok 562 - Should have nice stringification of "moo [ext:foo !blow !ext:whu]" ok 563 - The new change should have been appended to the lines, too ok 564 - Should get error trying to add duplicate change ok 565 - Duplicate change error ident should be "plan" ok 566 - And the error message should suggest "rework" ok 567 - Should get error for invalid change "^foo" ok 568 - Invalid name "^foo" error ident should be "plan" ok 569 - And the "^foo" error message should be correct ok 570 - Should get error for invalid change "foo^" ok 571 - Invalid name "foo^" error ident should be "plan" ok 572 - And the "foo^" error message should be correct ok 573 - Should get error for invalid change "foo^6" ok 574 - Invalid name "foo^6" error ident should be "plan" ok 575 - And the "foo^6" error message should be correct ok 576 - Should get error for invalid change "foo^666" ok 577 - Invalid name "foo^666" error ident should be "plan" ok 578 - And the "foo^666" error message should be correct ok 579 - Should get error for invalid change "%hi" ok 580 - Invalid name "%hi" error ident should be "plan" ok 581 - And the "%hi" error message should be correct ok 582 - Should get error for invalid change "hi!" ok 583 - Invalid name "hi!" error ident should be "plan" ok 584 - And the "hi!" error message should be correct ok 585 - Should get error for invalid change "foo@bar" ok 586 - Invalid name "foo@bar" error ident should be "plan" ok 587 - And the "foo@bar" error message should be correct ok 588 - Should get error for invalid change "foo:bar" ok 589 - Invalid name "foo:bar" error ident should be "plan" ok 590 - And the "foo:bar" error message should be correct ok 591 - Should get error for invalid change "foo\bar" ok 592 - Invalid name "foo\bar" error ident should be "plan" ok 593 - And the "foo\bar" error message should be correct ok 594 - Should get error for invalid change "+foo" ok 595 - Invalid name "+foo" error ident should be "plan" ok 596 - And the "+foo" error message should be correct ok 597 - Should get error for invalid change "-foo" ok 598 - Invalid name "-foo" error ident should be "plan" ok 599 - And the "-foo" error message should be correct ok 600 - Should get error for invalid change "@foo" ok 601 - Invalid name "@foo" error ident should be "plan" ok 602 - And the "@foo" error message should be correct ok 603 - Should get error for reserved name "HEAD" ok 604 - Reserved name "HEAD" error ident should be "plan" ok 605 - And the reserved name "HEAD" message should be correct ok 606 - Should get error for reserved name "ROOT" ok 607 - Reserved name "ROOT" error ident should be "plan" ok 608 - And the reserved name "ROOT" message should be correct ok 609 - Should get failure for failed dependency ok 610 - Dependency error ident should be "plan" ok 611 - The dependency error should be correct ok 612 - Should get failure for invalid dependency ok 613 - Invalid dependency error ident should be "plan" ok 614 - The invalid dependency error should be correct ok 615 - Should get failure for invalid conflict ok 616 - Invalid conflict error ident should be "plan" ok 617 - The invalid conflict error should be correct ok 618 - Should get failure for failed tag dependency ok 619 - Tag dependency error ident should be "plan" ok 620 - The tag dependency error should be correct ok 621 - Should get error for a SHA1 change ok 622 - SHA1 tag error ident should be "plan" ok 623 - And the reserved name error should be output ok 624 - App::Sqitch::Plan->can('rework') ok 625 - Rework change "you" ok 626 - An object of class 'App::Sqitch::Plan::Change' isa 'App::Sqitch::Plan::Change' ok 627 - Reworked change should be "you" ok 628 - Get original "you" change ok 629 - It should also be named "you" ok 630 - And it should have the one rework tag ok 631 - The original file should now be named you@bar.sql ok 632 - It should require the previous "you" change ok 633 - The new "you" should have been appended to the lines, too ok 634 - Should find "you@HEAD" in plan ok 635 - It should be at position 8 ok 636 - The plan count should be 9 ok 637 - Tag @beta1 ok 638 - Rework change "you" again ok 639 - An object of class 'App::Sqitch::Plan::Change' isa 'App::Sqitch::Plan::Change' ok 640 - New reworked change should be "you" ok 641 - Get original "you" change again ok 642 - It should still be named "you" ok 643 - And it should have the one rework tag ok 644 - Get you@beta1 ok 645 - The second "you" should be named that ok 646 - And the second change should have the rework_tag "@beta1" ok 647 - But the new reworked change should have no rework tags ok 648 - It should require the previous "you" change ok 649 - The new reworking should have been appended to the lines ok 650 - Should find "you@HEAD" in plan ok 651 - It should be at position 9 ok 652 - The plan count should be 10 ok 653 - rework should die on nonexistent change ok 654 - Nonexistent change error ident should be "plan" ok 655 - And the error should suggest "sqitch add" ok 656 - rework_stpe should die on lack of intervening tag ok 657 - Missing tag error ident should be "plan" ok 658 - And the error should suggest "sqitch tag" ok 659 - rework should die on failed dependency ok 660 - Rework dependency error ident should be "plan" ok 661 - The rework dependency error should be correct ok 662 - Should get failure for invalid dependency ok 663 - Invalid dependency error ident should be "plan" ok 664 - The invalid dependency error should be correct ok 665 - Should get failure for invalid conflict ok 666 - Invalid conflict error ident should be "plan" ok 667 - The invalid conflict error should be correct ok 668 - 'Plan shoud work plan with dupe change across tags' isa 'App::Sqitch::Plan' ok 669 - File should be coopied from Sqitch ok 670 - Project name should be set ok 671 - Lines with dupe change should be read from file ok 672 - Noes with dupe change should be read from file ok 673 - Should have sorted changes three times ok 674 - Should find "whatever" in plan ok 675 - Should get an error trying to find dupe key. ok 676 - Dupe key error ident should be "plan" ok 677 - Dupe key error message should be correct ok 678 - Should have output listing tag-qualified changes ok 679 - Should get 3 for whatever@HEAD ok 680 - Should get 0 for whatever@bar ok 681 - Should get an error seeking dupe key. ok 682 - Dupe key error ident should be "plan" ok 683 - Dupe key error message should be correct ok 684 - Should have output listing tag-qualified changes ok 685 - Should find whatever@HEAD at index 3 ok 686 - Should find whatever@HEAD at index 0 ok 687 - Should find first instance of whatever at index 0 ok 688 - Should find first instance of whatever after @bar at index 5 ok 689 - Seek whatever@HEAD ok 690 - Position should be 3 ok 691 - Seek whatever@bar ok 692 - Position should be 0 ok 693 - Last tagged change should be "hi" ok 694 - App::Sqitch::Plan->can('open_script') ok 695 - Open bar.sql ok 696 - It should be the right file ok 697 - Open baz.sql ok 698 - It should be empty ok 699 - open_script() should die on nonexistent file ok 700 - Nonexistent file error ident should be "io" ok 701 - Nonexistent file error message should be correct ok 702 - App::Sqitch::Plan->can('check_changes') ok 703 - Should get original order when no dependencies ok 704 - Should get original order when no prepreqs ok 705 - Should get original order when that requires this ok 706 - Should get original order when other requires that ok 707 - Should get error for out-of-order dependency ok 708 - Unordered dependency error ident should be "parse" ok 709 - And the unordered dependency error message should be correct ok 710 - Should get error for multiple dependency errors ok 711 - Multiple dependency error ident should be "parse" ok 712 - And the multiple dependency error message should be correct ok 713 - Should get original order when requiring a tag ok 714 - Should get original order when requiring a step as-of a tag ok 715 - Should get failure for a step after a tag ok 716 - Step after tag error ident should be "parse" ok 717 - And we the unknown change as-of a tag message should be correct ok 718 - Should get failure for a cycle ok 719 - Cycle error ident should be "parse" ok 720 - The cycle error message should be correct ok 721 - Should get failure for a two-hop cycle ok 722 - Two-hope cycle error ident should be "parse" ok 723 - The two-hop cycle error message should be correct ok 724 - Should get original order with earlier dependency ok 725 - Should get error with misordered and seen dependencies ok 726 - Misorderd and seen error ident should be "parse" ok 727 - And the misordered and seen error message should be correct ok 728 - Should die on unknown dependency ok 729 - Unknown dependency error ident should be "parse" ok 730 - And the error should point to the offending change ok 731 - Should die on unknown tag dependency ok 732 - Unknown tag dependency error ident should be "parse" ok 733 - And the error should point to the offending change ok 734 - Should get original order with external dependency ok 735 - Should die on self dependency ok 736 - Self dependency error ident should be "parse" ok 737 - And the self dependency error should be correct ok 738 - Should get original order with cascading dependencies ok 739 - Should get original order with multiple cascading dependencies ok 740 - App::Sqitch::Plan->can('_check_dependencies') ok 741 - Depend "hi" should be in project "dupe_change_diff_tag" ok 742 - Dependency on "hi" should succeed ok 743 - Depend "greets" should be in project "dupe_change_diff_tag" ok 744 - Dependency on "greets" should succeed ok 745 - Depend "whatever" should be in project "dupe_change_diff_tag" ok 746 - Dependency on "whatever" should succeed ok 747 - Depend "@foo" should be in project "dupe_change_diff_tag" ok 748 - Dependency on "@foo" should succeed ok 749 - Depend "whatever@foo" should be in project "dupe_change_diff_tag" ok 750 - Dependency on "whatever@foo" should succeed ok 751 - Depend "ext:larry" should be in project "ext" ok 752 - Dependency on "ext:larry" should succeed ok 753 - Depend "ext:greets" should be in project "ext" ok 754 - Dependency on "ext:greets" should succeed ok 755 - Should get error trying to depend on "wanker" ok 756 - Dependency "req" error ident should be "plan" ok 757 - And should get unknown dependency message for "wanker" ok 758 - Should get error trying to depend on "@blah" ok 759 - Dependency "req" error ident should be "plan" ok 760 - And should get unknown dependency message for "@blah" ok 761 - Should get error trying to depend on "greets@foo" ok 762 - Dependency "req" error ident should be "plan" ok 763 - And should get unknown dependency message for "greets@foo" ok 764 - Should have undef URI when no pragma ok 765 - 'Plan with sqitch with plan file with dependencies' isa 'App::Sqitch::Plan' ok 766 - File should be coopied from Sqitch ok 767 - syntax_version should be set ok 768 - Project should be set ok 769 - Should have URI from pragma ok 770 - 'It' isa 'URI' ok 771 - Should die on plan with no project pragma ok 772 - Missing prorject error ident should be "parse" ok 773 - The missing project error message should be correct ok 774 - Should die on invalid project name "^foo" ok 775 - Ident for bad proj "^foo" should be "parse" ok 776 - Error message for bad project "^foo" should be correct ok 777 - Should die on invalid project name "foo^" ok 778 - Ident for bad proj "foo^" should be "parse" ok 779 - Error message for bad project "foo^" should be correct ok 780 - Should die on invalid project name "foo^6" ok 781 - Ident for bad proj "foo^6" should be "parse" ok 782 - Error message for bad project "foo^6" should be correct ok 783 - Should die on invalid project name "foo^666" ok 784 - Ident for bad proj "foo^666" should be "parse" ok 785 - Error message for bad project "foo^666" should be correct ok 786 - Should die on invalid project name "%hi" ok 787 - Ident for bad proj "%hi" should be "parse" ok 788 - Error message for bad project "%hi" should be correct ok 789 - Should die on invalid project name "hi!" ok 790 - Ident for bad proj "hi!" should be "parse" ok 791 - Error message for bad project "hi!" should be correct ok 792 - Should die on invalid project name "foo@bar" ok 793 - Ident for bad proj "foo@bar" should be "parse" ok 794 - Error message for bad project "foo@bar" should be correct ok 795 - Should die on invalid project name "foo:bar" ok 796 - Ident for bad proj "foo:bar" should be "parse" ok 797 - Error message for bad project "foo:bar" should be correct ok 798 - Should die on invalid project name "foo\bar" ok 799 - Ident for bad proj "foo\bar" should be "parse" ok 800 - Error message for bad project "foo\bar" should be correct ok 801 - Should die on invalid project name "+foo" ok 802 - Ident for bad proj "+foo" should be "parse" ok 803 - Error message for bad project "+foo" should be correct ok 804 - Should die on invalid project name "-foo" ok 805 - Ident for bad proj "-foo" should be "parse" ok 806 - Error message for bad project "-foo" should be correct ok 807 - Should die on invalid project name "@foo" ok 808 - Ident for bad proj "@foo" should be "parse" ok 809 - Error message for bad project "@foo" should be correct 1..809 ok t/plan_cmd.t ........ 1..234 ok 1 - require App::Sqitch::Command::plan; ok 2 - Load a sqitch sqitch object ok 3 - 'plan command' isa 'App::Sqitch::Command::plan' ok 4 - App::Sqitch::Command::plan->can(...) ok 5 - Options should be correct ok 6 - Should parse options ok 7 - Options should not conflict with core options ok 8 - 'Formatter' isa 'App::Sqitch::ItemFormatter' ok 9 - Should get empty hash for no config or options ok 10 - Should get error for invalid date format in config ok 11 - Invalid date format error ident should be "datetime" ok 12 - Invalid date format error message should be correct ok 13 - Should get error for invalid date format in optsions ok 14 - Invalid date format error ident should be "plan" ok 15 - Invalid date format error message should be correct ok 16 - Should get error for invalid format in config ok 17 - Invalid format error ident should be "plan" ok 18 - Invalid format error message should be correct ok 19 - Should get error for invalid format in optsions ok 20 - Invalid format error ident should be "plan" ok 21 - Invalid format error message should be correct ok 22 - Configuration should respect --no-color, setting "never" ok 23 - --oneline should set format ok 24 - --oneline should set abbrev to 6 ok 25 - --oneline should not override --format ok 26 - --oneline should not overrride --abbrev ok 27 - Configuration should respect --no-color even when configure is set ok 28 - Configuration should respect color option ok 29 - Configuration should respect color config ok 30 - Configuration should respect color option ok 31 - Configuration should respect color config ok 32 - Configuration should respect color option ok 33 - Configuration should respect color config ok 34 - Configuration should respect color option ok 35 - Configuration should respect color config ok 36 - Instantiate with format "raw" ok 37 - Format "raw" should output correctly ok 38 - Format "raw" should output correctly without tags ok 39 - Instantiate with format "full" ok 40 - Format "full" should output correctly ok 41 - Instantiate with format "full" and date format "rfc" ok 42 - Format "full" and date format "rfc" should output correctly ok 43 - Instantiate with format "full" and date format "long" ok 44 - Format "full" and date format "long" should output correctly ok 45 - Instantiate with format "full" and date format "medium" ok 46 - Format "full" and date format "medium" should output correctly ok 47 - Format "full" should output correctly without tags ok 48 - Instantiate with format "long" ok 49 - Format "long" should output correctly ok 50 - Format "long" should output correctly without tags ok 51 - Instantiate with format "medium" ok 52 - Format "medium" should output correctly ok 53 - Instantiate with format "medium" and date format "rfc" ok 54 - Format "medium" and date format "rfc" should output correctly ok 55 - Instantiate with format "medium" and date format "long" ok 56 - Format "medium" and date format "long" should output correctly ok 57 - Instantiate with format "medium" and date format "medium" ok 58 - Format "medium" and date format "medium" should output correctly ok 59 - Instantiate with format "short" ok 60 - Format "short" should output correctly ok 61 - Instantiate with format "oneline" ok 62 - Format "oneline" should output correctly ok 63 - Format "oneline" should output correctly without tags ok 64 - Format "%e" should output "deploy" ok 65 - Format "%e" should output "revert" ok 66 - Format "%e" should output "fail" ok 67 - Format "%L" should output "Deploy" ok 68 - Format "%L" should output "Revert" ok 69 - Format "%L" should output "Fail" ok 70 - Format "%l" should output "deploy" ok 71 - Format "%l" should output "revert" ok 72 - Format "%l" should output "fail" ok 73 - Format "%{event}_" should output "Event: " ok 74 - Format "%{change}_" should output "Change: " ok 75 - Format "%{planner}_" should output "Planner: " ok 76 - Format "%{by}_" should output "By: " ok 77 - Format "%{date}_" should output "Date: " ok 78 - Format "%{planned}_" should output "Planned: " ok 79 - Format "%{name}_" should output "Name: " ok 80 - Format "%{email}_" should output "Email: " ok 81 - Format "%{requires}_" should output "Requires: " ok 82 - Format "%{conflicts}_" should output "Conflicts:" ok 83 - Format "%H" should output "123456789" ok 84 - Format "%h" should output "123456789" ok 85 - Format "%{5}h" should output "12345" ok 86 - Format "%{7}h" should output "1234567" ok 87 - Format "%n" should output "foo" ok 88 - Format "%n" should output "bar" ok 89 - Format "%o" should output "foo" ok 90 - Format "%o" should output "bar" ok 91 - Format "%F" should output "deploy/change_file.sql" ok 92 - Format "%F" should output "deploy/change_file_with_tag@tag.sql" ok 93 - Format "%p" should output "larry " ok 94 - Format "%{n}p" should output "damian" ok 95 - Format "%{name}p" should output "chip" ok 96 - Format "%{e}p" should output "larry@example.com" ok 97 - Format "%{email}p" should output "damian@example.com" ok 98 - Format "%{date}p" should output "2024-10-22 20:59:20 +0900" ok 99 - Format "%{date:rfc}p" should output "Tue, 22 Oct 2024 20:59:20 +0900" ok 100 - Format "%{d:long}p" should output "October 22, 2024, 8:59:20 PM JST" ok 101 - Format "%{d:cldr:HH'h' mm'm'}p" should output "20h 59m" ok 102 - Format "%{d:strftime:%a at %H:%M:%S}p" should output "Tue at 20:59:20" ok 103 - Format "%t" should output "" ok 104 - Format "%t" should output " @foo" ok 105 - Format "%t" should output " @foo, @bar" ok 106 - Format "%{|}t" should output "" ok 107 - Format "%{|}t" should output " @foo" ok 108 - Format "%{|}t" should output " @foo|@bar" ok 109 - Format "%T" should output "" ok 110 - Format "%T" should output " (@foo)" ok 111 - Format "%T" should output " (@foo, @bar)" ok 112 - Format "%{|}T" should output "" ok 113 - Format "%{|}T" should output " (@foo)" ok 114 - Format "%{|}T" should output " (@foo|@bar)" ok 115 - Format "%r" should output "" ok 116 - Format "%r" should output " foo" ok 117 - Format "%r" should output " foo, bar" ok 118 - Format "%{|}r" should output "" ok 119 - Format "%{|}r" should output " foo" ok 120 - Format "%{|}r" should output " foo|bar" ok 121 - Format "%R" should output "" ok 122 - Format "%R" should output "Requires: foo[newline]" ok 123 - Format "%R" should output "Requires: foo, bar[newline]" ok 124 - Format "%{|}R" should output "" ok 125 - Format "%{|}R" should output "Requires: foo[newline]" ok 126 - Format "%{|}R" should output "Requires: foo|bar[newline]" ok 127 - Format "%x" should output "" ok 128 - Format "%x" should output " foo" ok 129 - Format "%x" should output " foo, bax" ok 130 - Format "%{|}x" should output "" ok 131 - Format "%{|}x" should output " foo" ok 132 - Format "%{|}x" should output " foo|bax" ok 133 - Format "%X" should output "" ok 134 - Format "%X" should output "Conflicts: foo[newline]" ok 135 - Format "%X" should output "Conflicts: foo, bar[newline]" ok 136 - Format "%{|}X" should output "" ok 137 - Format "%{|}X" should output "Conflicts: foo[newline]" ok 138 - Format "%{|}X" should output "Conflicts: foo|bar[newline]" ok 139 - Format "%{yellow}C" should output "" ok 140 - Format "%{:event}C" should output "" ok 141 - Format "%v" should output "[newline]" ok 142 - Format "%%" should output "%" ok 143 - Format "%s" should output "hi there" ok 144 - Format "%s" should output "hi there" ok 145 - Format "%s" should output "subject line" ok 146 - Format "%{ }s" should output " hi there" ok 147 - Format "%{xx}s" should output "xxhi there" ok 148 - Format "%b" should output "" ok 149 - Format "%b" should output "yo" ok 150 - Format "%b" should output "first graph[newline][newline]second graph[newline][newline]" ok 151 - Format "%{ }b" should output "" ok 152 - Format "%{xxx }b" should output "xxx yo" ok 153 - Format "%{x}b" should output "xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" ok 154 - Format "%{ }b" should output " yo" ok 155 - Format "%B" should output "hi there" ok 156 - Format "%B" should output "hi there[newline]yo" ok 157 - Format "%B" should output "subject line[newline][newline]first graph[newline][newline]second graph[newline][newline]" ok 158 - Format "%{ }B" should output " hi there" ok 159 - Format "%{xxx }B" should output "xxx hi there[newline]xxx yo" ok 160 - Format "%{x}B" should output "xsubject line[newline]x[newline]xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" ok 161 - Format "%{ }B" should output " hi there [newline] yo" ok 162 - Format "%{change}a" should output "change lolz[newline]" ok 163 - Format "%{change_id}a" should output "change_id 000011112222333444[newline]" ok 164 - Format "%{event}a" should output "event deploy[newline]" ok 165 - Format "%{tags}a" should output "tags @beta, @gamma[newline]" ok 166 - Format "%{requires}a" should output "requires foo, bar[newline]" ok 167 - Format "%{conflicts}a" should output "" ok 168 - Should get exception for format "%_" ok 169 - %_ error ident should be "format" ok 170 - %_ error message should be correct ok 171 - Should get exception for unknown label in format "%_" ok 172 - Invalid %_ label error ident should be "format" ok 173 - Invalid %_ label error message should be correct ok 174 - Instantiate with abbrev => 4 ok 175 - %h should respect abbrev ok 176 - %H should not respect abbrev ok 177 - Instantiate with date_format => "rfc" ok 178 - %{date}p should respect the date_format attribute ok 179 - %{iso}p should override the date_format attribute ok 180 - Should get exception for unknown attribute passed to %a ok 181 - %a error ident should be "format" ok 182 - %a error message should be correct ok 183 - Format "%{yellow}C" should output yellow ok 184 - Format "%{red}C" should output red ok 185 - Format "%{blue}C" should output blue ok 186 - Format "%{cyan}C" should output cyan ok 187 - Format "%{magenta}C" should output magenta ok 188 - Format "%{:event}C" on "deploy" should output green ok 189 - Format "%{:event}C" on "revert" should output blue ok 190 - Format "%{:event}C" on "fail" should output red ok 191 - Instantiate with format "full" again ok 192 - Format "full" should output correctly with color ok 193 - Instantiate with format "long" again ok 194 - Format "long" should output correctly with color ok 195 - Instantiate with format "medium" again ok 196 - Format "medium" should output correctly with color ok 197 - Instantiate with format "short" again ok 198 - Format "short" should output correctly with color ok 199 - Instantiate with format "oneline" again ok 200 - Format "oneline" should output correctly with color ok 201 - Should get an error for an invalid color ok 202 - Invalid color error ident should be "format" ok 203 - Invalid color error message should be correct ok 204 - Should get error for no changes ok 205 - no changes error ident should be "plan" ok 206 - no changes exit val should be 1 ok 207 - no changes error message should be correct ok 208 - Execute plan ok 209 - The proper args should have been passed to search_events ok 210 - The event should have been paged ok 211 - 'plan with attributes' isa 'App::Sqitch::Command::plan' ok 212 - Execute plan with attributes ok 213 - All params should have been passed to search_events ok 214 - Both events should have been paged without headers ok 215 - Create command with raw format ok 216 - Execute plan with all changes ok 217 - Should have paged all changes ok 218 - 'plan with bad format' isa 'App::Sqitch::Command::plan' ok 219 - Should get an exception for a bad format code ok 220 - bad format code format error ident should be "format" ok 221 - bad format code format error message should be correct ok 222 - Create plan command with unknown target option ok 223 - Should get error for unknown target ok 224 - Unknown target error ident should be "plan" ok 225 - Unknown target changes exit val should be 2 ok 226 - Unknown target error message should be correct ok 227 - Should have passed target for parsing ok 228 - Create plan command with target option ok 229 - Execute with engine arg ok 230 - Should have passed engine for parsing ok 231 - Create plan command with target option ok 232 - Execute with multiple targets ok 233 - Should have got warning for two targets ok 234 - no warnings ok t/pragma.t .......... 1..10 ok 1 - require App::Sqitch::Plan::Pragma; ok 2 - App::Sqitch::Plan::Pragma->can(...) ok 3 - An object of class 'App::Sqitch::Plan::Pragma' isa 'App::Sqitch::Plan::Pragma' ok 4 - An object of class 'App::Sqitch::Plan::Pragma' isa 'App::Sqitch::Plan::Line' ok 5 - Name should format as "%foo" ok 6 - Value should format as "" ok 7 - should stringify to "%foo" ok 8 - Create pragma with more stuff ok 9 - It should stringify correctly ok 10 - no warnings ok t/rebase.t .......... ok 1 - require App::Sqitch::Command::rebase; ok 2 - The class (or class-like) 'App::Sqitch::Command::rebase' isa 'App::Sqitch::Command' ok 3 - App::Sqitch::Command::rebase->can(...) ok 4 - App::Sqitch::Command::rebase does RevertDeployCommand ok 5 - App::Sqitch::Command::rebase does ConnectingCommand ok 6 - App::Sqitch::Command::rebase does ContextCommand ok 7 - Options should be correct ok 8 - Should parse options ok 9 - Options should not conflict with core options ok 10 - Load a sqitch sqitch object ok 11 - Should have empty default configuration with no config or opts ok 12 - Should have set option ok 13 - Should have mode, deploy_variables, verify, no_prompt, log_only, & lock_timeout ok 14 - Should have set_revert option and no_prompt false ok 15 - set_deploy and set_revert should overrid set ok 16 - set_deploy and set_revert should merge with set ok 17 - set_revert should merge with set_deploy ok 18 - Should have deploy configuration ok 19 - Should have merged variables ok 20 - Should have no warnings ok 21 - Should have no_prompt true ok 22 - Should have false no_prompt, verify, and true prompt_accept from rebase config ok 23 - Should have true no_prompt, verify, and false prompt_accept from rebase from deploy ok 24 - Should have no_prompt, prompt_accept false and mode all again ok 25 - Should have no_prompt false and prompt_accept true for revert config ok 26 - Should have no_prompt true with -y ok 27 - revert.strict should die ok 28 - Strict err ident should be "rebase" ok 29 - Should have corect strict error message ok 30 - rebase.strict should die ok 31 - Strict err ident should be "rebase" ok 32 - Should have corect strict error message ok 33 - App::Sqitch::X ok 34 - 'new status with target' isa 'App::Sqitch::Command::rebase' ok 35 - Should have target "foo" ok 36 - An object of class 'App::Sqitch::Command::rebase' isa 'App::Sqitch::Command::rebase' ok 37 - Should have undef target ok 38 - onto_change should be undef ok 39 - upto_change should be undef ok 40 - modified should be false ok 41 - Should collect no variables for deploy ok 42 - Should collect no variables for revert ok 43 - Should collect core deploy vars for deploy ok 44 - Should collect core revert vars for revert ok 45 - Should override core vars with deploy vars for deploy ok 46 - Should override core vars with deploy vars for revert ok 47 - Deploy vars should be unaffected by revert vars ok 48 - Should override deploy vars with revert vars for revert ok 49 - Should override deploy vars with engine vars for deploy ok 50 - Should override rebase vars with engine vars for revert ok 51 - Should override engine vars with deploy vars for deploy ok 52 - Should override engine vars with target vars for revert ok 53 - Should override target vars with --set vars for deploy ok 54 - Should override target vars with --set variables for revert ok 55 - Should override --set vars with --set-deploy variables for deploy ok 56 - Should not override --set vars with --set-deploy variables for revert ok 57 - Should not override --set vars with --set-revert variables for deploy ok 58 - Should override --set vars with --set-revert variables for revert ok 59 - Execute to "@alpha" ok 60 - undef, and "all" should be passed to the engine deploy ok 61 - No vars should have been passed through to the engine ok 62 - "@alpha" should be passed to the engine revert ok 63 - Engine should no be log only ok 64 - The lock timeout should be set to the default ok 65 - Should have no warnings ok 66 - Execute with target ok 67 - undef, and "all" should be passed to the engine deploy ok 68 - undef should be passed to the engine revert ok 69 - No vars should have been passed through to the engine ok 70 - Engine should no be log only ok 71 - The lock timeout should be set to the default ok 72 - The target name should be as passed ok 73 - Should have no warnings ok 74 - Execute with onto and target ok 75 - undef, and "all" should be passed to the engine deploy ok 76 - "widgets" should be passed to the engine revert ok 77 - No vars should have been passed through to the engine ok 78 - Engine should no be log only ok 79 - The lock timeout should be set to the default ok 80 - The target name should be as passed ok 81 - Should have no warnings ok 82 - Execute with three args ok 83 - "widgets", and "all" should be passed to the engine deploy ok 84 - "roles" should be passed to the engine revert ok 85 - No vars should have been passed through to the engine ok 86 - Engine should no be log only ok 87 - The lock timeout should be set to the default ok 88 - The target name should be as passed ok 89 - Should have no warnings ok 90 - Execute ok 91 - undef and "all" should be passed to the engine deploy ok 92 - undef and = should be passed to the engine revert ok 93 - No vars should have been passed through to the engine ok 94 - Should have no warnings ok 95 - 'Object with to and variables' isa 'App::Sqitch::Command::rebase' ok 96 - Execute again ok 97 - Target name should be from option ok 98 - Engine should be log_only ok 99 - The lock timeout should be set to 30 ok 100 - Engine should verify ok 101 - the common ancestor id should be passed to the engine revert ok 102 - 'Object with to and variables' isa 'App::Sqitch::Command::rebase' ok 103 - Execute again ok 104 - Target name should be from option ok 105 - Engine should be log_only ok 106 - The lock timeout should be set to 30 ok 107 - Engine should verify ok 108 - "bar", "tag", and 1 should be passed to the engine deploy ok 109 - "foo" should be passed to the engine revert ok 110 - Variables should have been passed to the engine twice ok 111 - The revert vars should have been passed first ok 112 - The deploy vars should have been next ok 113 - Should have no warnings ok 114 - Execute with three args ok 115 - Target name should be from option ok 116 - Engine should be log_only ok 117 - The lock timeout should be set to 30 ok 118 - Engine should verify ok 119 - "bar", "tag", and 1 should be passed to the engine deploy ok 120 - "foo" should be passed to the engine revert ok 121 - Variables should have been passed to the engine twice ok 122 - The revert vars should have been passed first ok 123 - The deploy vars should have been next ok 124 - Should have two warnings ok 125 - Should get an exception for unknown arg ok 126 - Unknown arg ident should be "rebase" ok 127 - Should get an exception for two unknown arg ok 128 - Should get an exception for unknown args ok 129 - Unknown args ident should be "rebase" ok 130 - Should get an exception for two unknown args ok 131 - Execute once more ok 132 - "bar", "tag", and 1 should be passed to the engine deploy ok 133 - Variables should have been passed to the engine twice ok 134 - The revert vars should have been passed first ok 135 - The deploy vars should have been next ok 136 - Should have emitted info for non-fatal revert exception ok 137 - Should rethrow confirm exception ok 138 - Should rethrow fatal exception ok 139 - Should rethrow unknown exception 1..139 ok t/revert.t .......... ok 1 - require App::Sqitch::Command::revert; ok 2 - The class (or class-like) 'App::Sqitch::Command::revert' isa 'App::Sqitch::Command' ok 3 - App::Sqitch::Command::revert->can(...) ok 4 - App::Sqitch::Command::revert does ContextCommand ok 5 - App::Sqitch::Command::revert does ConnectingCommand ok 6 - Options should be correct ok 7 - Should parse options ok 8 - Options should not conflict with core options ok 9 - Should have empty default configuration with no config or opts ok 10 - Should have set option ok 11 - Should have no_prompt false, prompt_accept true ok 12 - Should have no_prompt true, prompt_accept false ok 13 - Should have no_prompt false again ok 14 - Should have no_prompt false for false config ok 15 - Should have no_prompt true with -y ok 16 - 'new revert with target' isa 'App::Sqitch::Command::revert' ok 17 - Should have target "foo" ok 18 - to_change should be undef ok 19 - modified should be false ok 20 - An object of class 'App::Sqitch::Command::revert' isa 'App::Sqitch::Command::revert' ok 21 - Should have undef default target ok 22 - to_change should be undef ok 23 - modified should be false ok 24 - Should collect no variables ok 25 - Should collect core vars ok 26 - Should override core vars with deploy vars ok 27 - Should override deploy vars with revert vars ok 28 - Should override revert vars with engine vars ok 29 - Should override engine vars with target vars ok 30 - Should override target vars with --set variables ok 31 - Execute to "@alpha" ok 32 - Engine should not be log_only ok 33 - The engine should have the default lock_timeout ok 34 - "@alpha" should be passed to the engine ok 35 - Should have no warnings ok 36 - Execute ok 37 - undef should be passed to the engine ok 38 - No vars should have been passed through to the engine ok 39 - Should still have no warnings ok 40 - Execute to target ok 41 - Engine should not be log_only ok 42 - undef" should be passed to the engine ok 43 - Target name should be as passed ok 44 - Should have no warnings ok 45 - Execute with change and target ok 46 - Engine should not be log_only ok 47 - "widgets" should be passed to the engine ok 48 - Target name should be as passed ok 49 - Should have no warnings ok 50 - Execute with target and change ok 51 - Engine should not be log_only ok 52 - "widgets" should be passed to the engine ok 53 - Target name should be as passed ok 54 - Should have no warnings ok 55 - 'Object with to and variables' isa 'App::Sqitch::Command::revert' ok 56 - Execute again ok 57 - Engine should be log_only ok 58 - The lock timeout should be set to 30 ok 59 - "foo" and 1 should be passed to the engine ok 60 - Vars should have been passed through to the engine ok 61 - Target name should be from option ok 62 - Should have no warnings ok 63 - Execute with options and args ok 64 - Engine should be log_only ok 65 - The lock timeout should be set to 30 ok 66 - "foo" and 1 should be passed to the engine ok 67 - Vars should have been passed through to the engine ok 68 - Target name should be from option ok 69 - Should have two warnings ok 70 - Should get an exception for unknown arg ok 71 - Unknown arg ident should be "revert" ok 72 - Should get an exeption for two unknown arg ok 73 - Should get an exception for unknown args ok 74 - Unknown args ident should be "revert" ok 75 - Should get an exeption for two unknown args ok 76 - 'Object with to and variables' isa 'App::Sqitch::Command::revert' ok 77 - modified should be true ok 78 - Execute again ok 79 - Target name should be from option ok 80 - the common ancestor id should be passed to the engine revert ok 81 - 'new revert with target' isa 'App::Sqitch::Command::revert' ok 82 - In strict mode, cannot revert without a specified change ok 83 - No change in strict mode ident should be "revert:strict" ok 84 - Should have expected message for no changes in strict mode error ok 85 - In strict mode, too many targets is fatal ok 86 - Too many targets ident should be "revert:strict" ok 87 - Should have expected message for too many targets error 1..87 ok t/rework.t .......... 1..256 ok 1 - Load a sqitch object ok 2 - 'rework command' isa 'App::Sqitch::Command::rework' ok 3 - App::Sqitch::Command::rework->can(...) ok 4 - App::Sqitch::Command::rework does ContextCommand ok 5 - Options should be set up ok 6 - Should parse options ok 7 - Options should not conflict with core options ok 8 - Should have default configuration with no config or opts ok 9 - Should have get requires, conflicts, and note options ok 10 - Grabs nothing from config ok 11 - Load Sqitch project ok 12 - 'rework command' isa 'App::Sqitch::Command::rework' ok 13 - Coerces rework.open_editor from config string boolean ok 14 - Requires should be an arrayref ok 15 - Conflicts should be an arrayref ok 16 - Note should be an arrayref ok 17 - Should get an example for nonexistent change ok 18 - Nonexistent change error ident should be "plan" ok 19 - Fail message should say the step does not exist ok 20 - Create another add with template_directory ok 21 - test-rework/deploy/foo.sql does not exist ok 22 - test-rework/revert/foo.sql does not exist ok 23 - test-rework/verify/foo.sql does not exist ok 24 - Execute with the --change option ok 25 - test-rework/deploy/foo.sql exists ok 26 - test-rework/revert/foo.sql exists ok 27 - test-rework/verify/foo.sql exists ok 28 - Get the "foo" change ok 29 - Should get an example for duplicate change ok 30 - Duplicate change error ident should be "plan" ok 31 - Fail message should say a tag is needed ok 32 - Tag it ok 33 - test-rework/deploy/foo@alpha.sql does not exist ok 34 - test-rework/revert/foo@alpha.sql does not exist ok 35 - test-rework/verify/foo@alpha.sql does not exist ok 36 - Rework "foo" ok 37 - test-rework/deploy/foo.sql exists ok 38 - test-rework/revert/foo.sql exists ok 39 - test-rework/verify/foo.sql exists ok 40 - test-rework/deploy/foo@alpha.sql exists ok 41 - test-rework/revert/foo@alpha.sql exists ok 42 - test-rework/verify/foo@alpha.sql exists ok 43 - test-rework/deploy/foo@alpha.sql and test-rework/deploy/foo.sql contents are the same ok 44 - test-rework/verify/foo@alpha.sql and test-rework/verify/foo.sql contents are the same ok 45 - test-rework/revert/foo.sql and test-rework/deploy/foo.sql contents are the same ok 46 - New revert should revert ok 47 - It should have prompted for a note ok 48 - Reload the plan file ok 49 - Get the steps ok 50 - Should have two steps ok 51 - First step should be "foo" ok 52 - Second step should also be "foo" ok 53 - Reworked step should require the previous step ok 54 - And the info message should suggest editing the old files ok 55 - Debug should show file copying ok 56 - Create another add with template_directory ok 57 - test-rework/deploy/bar.sql does not exist ok 58 - test-rework/revert/bar.sql does not exist ok 59 - test-rework/verify/bar.sql does not exist ok 60 - test-rework/deploy/bar.sql exists ok 61 - test-rework/revert/bar.sql does not exist ok 62 - test-rework/verify/bar.sql does not exist ok 63 - Tag it with @beta ok 64 - 'rework command with requirements and conflicts' isa 'App::Sqitch::Command::rework' ok 65 - test-rework/deploy/bar@beta.sql does not exist ok 66 - test-rework/revert/bar@beta.sql does not exist ok 67 - test-rework/verify/bar@beta.sql does not exist ok 68 - Rework "bar" ok 69 - test-rework/deploy/bar.sql exists ok 70 - test-rework/revert/bar.sql does not exist ok 71 - test-rework/verify/bar.sql does not exist ok 72 - test-rework/deploy/bar@beta.sql exists ok 73 - test-rework/revert/bar@beta.sql does not exist ok 74 - test-rework/verify/bar@beta.sql does not exist ok 75 - It should have prompted for a note ok 76 - Reload the plan file again ok 77 - Get the steps ok 78 - Should have four steps ok 79 - First step should be "foo" ok 80 - Second step should also be "foo" ok 81 - First step should be "bar" ok 82 - Second step should also be "bar" ok 83 - Requires should have been passed to reworked change ok 84 - Conflicts should have been passed to reworked change ok 85 - Note should have been passed as comment ok 86 - And the info message should show only the one file to modify ok 87 - Should have debug oputput for missing files ok 88 - Create another add with open_editor ok 89 - Tag it ok 90 - test-rework/deploy/bar@gamma.sql does not exist ok 91 - test-rework/revert/bar@gamma.sql does not exist ok 92 - test-rework/verify/bar@gamma.sql does not exist ok 93 - Rework "bar" ok 94 - test-rework/deploy/bar.sql exists ok 95 - test-rework/deploy/bar@gamma.sql exists ok 96 - test-rework/revert/bar@gamma.sql does not exist ok 97 - test-rework/verify/bar@gamma.sql does not exist ok 98 - It should have prompted to edit sql files ok 99 - And the info message should suggest editing the old files ok 100 - deploy/gadgets.sql exists ok 101 - revert/gadgets.sql exists ok 102 - verify/gadgets.sql exists ok 103 - _reworked does not exist ok 104 - _reworked/deploy/gadgets@foo.sql does not exist ok 105 - _reworked/revert/gadgets@foo.sql does not exist ok 106 - _reworked/verify/gadgets@foo.sql does not exist ok 107 - Create another rework with custom reworked_dir config ok 108 - Rework change "gadgets" ok 109 - Get gadgets@HEAD from the plan ok 110 - Get gadgets@foo from the plan ok 111 - The two gadgets should be different changes ok 112 - _reworked exists ok 113 - deploy/gadgets.sql exists ok 114 - revert/gadgets.sql exists ok 115 - verify/gadgets.sql exists ok 116 - _reworked/deploy/gadgets@foo.sql exists ok 117 - _reworked/revert/gadgets@foo.sql exists ok 118 - _reworked/verify/gadgets@foo.sql exists ok 119 - Should have listed scripts in the note prompt ok 120 - And the info message should suggest editing the old files ok 121 - Debug should show directory creation and file copying ok 122 - Create another rework with custom multiplan config ok 123 - Should have three targets ok 124 - Rework change "widgets" in all plans ok 125 - Get widgets@HEAD from the pg plan ok 126 - Get widgets@foo from the pg plan ok 127 - The two pg widgets should be different changes ok 128 - Get widgets@HEAD from the sqlite plan ok 129 - Get widgets@foo from the sqlite plan ok 130 - The two sqlite widgets should be different changes ok 131 - Get widgets@HEAD from the mysql plan ok 132 - Get widgets@foo from the mysql plan ok 133 - The two mysql widgets should be different changes ok 134 - mysql/deploy/widgets.sql exists ok 135 - mysql/revert/widgets.sql exists ok 136 - mysql/verify/widgets.sql exists ok 137 - mysql/deploy/widgets@foo.sql exists ok 138 - mysql/revert/widgets@foo.sql exists ok 139 - mysql/verify/widgets@foo.sql exists ok 140 - mysql/deploy/widgets.sql and mysql/deploy/widgets@foo.sql contents are the same ok 141 - mysql/verify/widgets.sql and mysql/verify/widgets@foo.sql contents are the same ok 142 - mysql/revert/widgets.sql and mysql/deploy/widgets@foo.sql contents are the same ok 143 - pg/deploy/widgets.sql exists ok 144 - pg/revert/widgets.sql exists ok 145 - pg/verify/widgets.sql exists ok 146 - pg/deploy/widgets@foo.sql exists ok 147 - pg/revert/widgets@foo.sql exists ok 148 - pg/verify/widgets@foo.sql exists ok 149 - pg/deploy/widgets.sql and pg/deploy/widgets@foo.sql contents are the same ok 150 - pg/verify/widgets.sql and pg/verify/widgets@foo.sql contents are the same ok 151 - pg/revert/widgets.sql and pg/deploy/widgets@foo.sql contents are the same ok 152 - sqlite/deploy/widgets.sql exists ok 153 - sqlite/revert/widgets.sql exists ok 154 - sqlite/verify/widgets.sql exists ok 155 - sqlite/deploy/widgets@foo.sql exists ok 156 - sqlite/revert/widgets@foo.sql exists ok 157 - sqlite/verify/widgets@foo.sql exists ok 158 - sqlite/deploy/widgets.sql and sqlite/deploy/widgets@foo.sql contents are the same ok 159 - sqlite/verify/widgets.sql and sqlite/verify/widgets@foo.sql contents are the same ok 160 - sqlite/revert/widgets.sql and sqlite/deploy/widgets@foo.sql contents are the same ok 161 - Should have listed the files in the note prompt ok 162 - And the info message should show the two files to modify ok 163 - Should have debug oputput for all copied files ok 164 - Should get an error for --all and a target arg ok 165 - Mixed arguments error ident should be "rework" ok 166 - Mixed arguments error message should be correct ok 167 - Create yet another rework with custom multiplan config ok 168 - Rework change "gadgets" in the sqlite plan ok 169 - Should still have three targets ok 170 - Get gadgets@HEAD from the pg plan ok 171 - Get gadgets@foo from the pg plan ok 172 - The two pg gadgets should be the same change ok 173 - Get gadgets@HEAD from the mysql plan ok 174 - Get gadgets@foo from the mysql plan ok 175 - The two mysql gadgets should be the same change ok 176 - Get gadgets@HEAD from the sqlite plan ok 177 - Get gadgets@foo from the sqlite plan ok 178 - The two sqlite gadgets should be different changes ok 179 - mysql/deploy/gadgets.sql exists ok 180 - mysql/revert/gadgets.sql exists ok 181 - mysql/verify/gadgets.sql exists ok 182 - pg/deploy/gadgets.sql exists ok 183 - pg/revert/gadgets.sql exists ok 184 - pg/verify/gadgets.sql exists ok 185 - sqlite/deploy/gadgets.sql exists ok 186 - sqlite/revert/gadgets.sql exists ok 187 - sqlite/verify/gadgets.sql exists ok 188 - sqlite/deploy/gadgets@foo.sql exists ok 189 - sqlite/revert/gadgets@foo.sql exists ok 190 - sqlite/verify/gadgets@foo.sql exists ok 191 - sqlite/deploy/gadgets.sql and sqlite/deploy/gadgets@foo.sql contents are the same ok 192 - sqlite/verify/gadgets.sql and sqlite/verify/gadgets@foo.sql contents are the same ok 193 - sqlite/revert/gadgets.sql and sqlite/deploy/gadgets@foo.sql contents are the same ok 194 - Should have listed SQLite scripts in the note prompt ok 195 - Create another rework with custom multiplan config ok 196 - Should have two targets ok 197 - Targets should use the same plan file ok 198 - Rework change "widgets" in all plans ok 199 - Get widgets@HEAD from the plan ok 200 - Get widgets@foo from the plan ok 201 - The two widgets should be different changes ok 202 - pg/deploy/widgets.sql exists ok 203 - pg/revert/widgets.sql exists ok 204 - pg/verify/widgets.sql exists ok 205 - pg/deploy/widgets@foo.sql exists ok 206 - pg/revert/widgets@foo.sql exists ok 207 - pg/verify/widgets@foo.sql exists ok 208 - pg/deploy/widgets.sql and pg/deploy/widgets@foo.sql contents are the same ok 209 - pg/verify/widgets.sql and pg/verify/widgets@foo.sql contents are the same ok 210 - pg/revert/widgets.sql and pg/deploy/widgets@foo.sql contents are the same ok 211 - sqlite/deploy/widgets.sql exists ok 212 - sqlite/revert/widgets.sql exists ok 213 - sqlite/verify/widgets.sql exists ok 214 - sqlite/deploy/widgets@foo.sql exists ok 215 - sqlite/revert/widgets@foo.sql exists ok 216 - sqlite/verify/widgets@foo.sql exists ok 217 - sqlite/deploy/widgets.sql and sqlite/deploy/widgets@foo.sql contents are the same ok 218 - sqlite/verify/widgets.sql and sqlite/verify/widgets@foo.sql contents are the same ok 219 - sqlite/revert/widgets.sql and sqlite/deploy/widgets@foo.sql contents are the same ok 220 - Should have listed all the files to edit in the note prompt ok 221 - And the info message should show the two files to modify ok 222 - Should have debug oputput for all copied files ok 223 - Create another rework with custom multiplan config ok 224 - Should have two targets ok 225 - Rework change "widgets" in all plans ok 226 - Get widgets@HEAD from the pg plan ok 227 - Get widgets@foo from the pg plan ok 228 - The two pg widgets should be different changes ok 229 - Get widgets@HEAD from the sqlite plan ok 230 - Get widgets@bar from the sqlite plan ok 231 - The two sqlite widgets should be different changes ok 232 - Should have listed all the files to edit in the note prompt ok 233 - And the info message should show the two files to modify ok 234 - Should have debug oputput for all copied files ok 235 - Create another rework with custom multiplan config ok 236 - Should have two targets ok 237 - Rework change "widgets" in all plans ok 238 - Get widgets@HEAD from the pg plan ok 239 - Get widgets@foo from the pg plan ok 240 - The two pg widgets should be different changes ok 241 - Get widgets@HEAD from the sqlite plan ok 242 - Get widgets@foo from the sqlite plan ok 243 - The two sqlite widgets should be different changes ok 244 - deploy/widgets.sql exists ok 245 - revert/widgets.sql exists ok 246 - verify/widgets.sql exists ok 247 - deploy/widgets@foo.sql exists ok 248 - revert/widgets@foo.sql exists ok 249 - verify/widgets@foo.sql exists ok 250 - deploy/widgets.sql and deploy/widgets@foo.sql contents are the same ok 251 - verify/widgets.sql and verify/widgets@foo.sql contents are the same ok 252 - revert/widgets.sql and deploy/widgets@foo.sql contents are the same ok 253 - Should have listed the files to edit in the note prompt ok 254 - And the info message should show the two files to modify ok 255 - Should have debug oputput for all copied files ok 256 - no warnings ok t/show.t ............ ok 1 - require App::Sqitch::Command::show; ok 2 - The class (or class-like) 'App::Sqitch::Command::show' isa 'App::Sqitch::Command' ok 3 - App::Sqitch::Command::show->can(...) ok 4 - App::Sqitch::Command::show does ContextCommand ok 5 - Options should be correct ok 6 - Should parse options ok 7 - Options should not conflict with core options ok 8 - An object of class 'App::Sqitch::Command::show' isa 'App::Sqitch::Command::show' ok 9 - exists_only should be false by default ok 10 - Construct with exists_only ok 11 - exists_only should be set ok 12 - Should get empty hash for no config or options ok 13 - Should get exists_only => 1 for exist in options ok 14 - Get a change ok 15 - Find change by id ok 16 - The change info should have been emitted ok 17 - Find change by name ok 18 - The change info should have been emitted again ok 19 - Should get an error for an unknown change ok 20 - Unknown change error ident should be "show" ok 21 - Should get proper error for unknown change ok 22 - Should return false for uknown change and exists_only ok 23 - Nothing should have been emitted ok 24 - Find change by tag id ok 25 - The change info should have been emitted ok 26 - Find change by tag ok 27 - The change info should have been emitted ok 28 - Run exists with ID ok 29 - There should be no output ok 30 - Find tag by id ok 31 - The tag info should have been emitted ok 32 - Find tag by id with exists_only ok 33 - Nothing should have been emitted ok 34 - Find tag by name ok 35 - The tag info should have been emitted ok 36 - Find tag by formatted name ok 37 - The tag info should have been emitted ok 38 - Should get error for non-existent tag ok 39 - Unknown tag error ident should be "show" ok 40 - Should get proper error for unknown tag ok 41 - Should return false for non-existent tag and exists_only ok 42 - Nothing should have been emitted ok 43 - Should get error for non-existent tag ID ok 44 - Unknown tag ID error ident should be "show" ok 45 - Should get proper error for unknown tag ID ok 46 - Show a deploy file ok 47 - The deploy file should have been emitted ok 48 - Show a deploy file with exists_only ok 49 - Nothing should have been emitted ok 50 - Show a revert file ok 51 - The revert file should have been emitted ok 52 - Should get error for nonexistent varify file ok 53 - Nonexistent file error ident should be "show" ok 54 - Should get proper error for nonexistent file ok 55 - Should return false for nonexistent file ok 56 - Nothing should have been emitted ok 57 - Should get error for uknown type ok 58 - Unknown type error ident should be "show" ok 59 - Should get proper error for unknown type ok 60 - Get a change ok 61 - An object of class 'App::Sqitch::Command::show' isa 'App::Sqitch::Command::show' ok 62 - Target should be set ok 63 - Find change by id ok 64 - The change info should have been emitted ok 65 - Should get usage for missing params ok 66 - Nothing should have been passed to usage 1..66 ok t/snowflake.t ....... ok 1 - require App::Sqitch::Engine::snowflake; ok 2 - config_vars should return three vars ok 3 - An object of class 'App::Sqitch::Engine::snowflake' isa 'App::Sqitch::Engine::snowflake' ok 4 - Username should be sysuser ok 5 - Password should be undef ok 6 - Key should be "snowflake" ok 7 - Name should be "Snowflake" ok 8 - Driver should be DBD::ODBC ok 9 - Default client should be snowsql ok 10 - client should default to snowsql ok 11 - Registry default should be "sqitch" ok 12 - DB URI should be filled in ok 13 - Destination should be URI string ok 14 - Registry destination should be the same as destination ok 15 - Should build URI from environment ok 16 - Should read username from environment ok 17 - Should read password from environment ok 18 - Should read account from host ok 19 - Should read warehouse from environment ok 20 - Should build URI host from account and region environment vars ok 21 - Should read account and region from environment ok 22 - Target password should be from SQITCH_PASSWORD ok 23 - Should prefer password from SQITCH_PASSWORD ok 24 - An object of class 'App::Sqitch::Engine::snowflake' isa 'App::Sqitch::Engine::snowflake' ok 25 - Destination should be target name ok 26 - Registry destination should be the same as destination ok 27 - snowsql command should be std opts-only ok 28 - An object of class 'App::Sqitch::Engine::snowflake' isa 'App::Sqitch::Engine::snowflake' ok 29 - Set some variables ok 30 - Variables should be passed to snowsql via --set ok 31 - Target name should not read $SNOWSQL_DATABASE ok 32 - Registry target should be the same as destination ok 33 - Target name should not read $SNOWSQL_USER ok 34 - Registry target should be the same as destination ok 35 - Target name should not fall back on sysuser ok 36 - Registry target should be the same as destination ok 37 - Target name should be the default ok 38 - Registry target should be the same as destination ok 39 - Should have read config from file ok 40 - Should have read config from file ok 41 - Should have read config from file ok 42 - Should read username fron snowsql config file ok 43 - Should read password fron snowsql config file ok 44 - Should read accountname fron snowsql config file ok 45 - Should read dbname from snowsql config file ok 46 - Should read warehousename fron snowsql config file ok 47 - Should read rolename fron snowsql config file ok 48 - Should derive host name from config file accounte name ok 49 - Create another snowflake ok 50 - Should extract account from URI ok 51 - Should extract username from URI ok 52 - Should extract password from URI ok 53 - Should extract warehouse from URI ok 54 - Should extract role from URI ok 55 - registry should be as configured ok 56 - URI should be as configured with full domain name ok 57 - Destination should omit password ok 58 - client should be as configured ok 59 - snowsql command should be configured from URI config ok 60 - Should have _listagg_format ok 61 - Should have _ts_default ok 62 - Should have _regex_op ok 63 - Should have _simple_from ok 64 - Should have _limit_default ok 65 - Should have no table error ok 66 - Should have no column error ok 67 - Should now have table error ok 68 - Still should have no column error ok 69 - Should again have no table error ok 70 - Should now have no column error ok 71 - Unique constraints not supported by Snowflake ok 72 - Should get limit and offset ok 73 - Should get limit and offset when offset only ok 74 - Should get only limit with 0 offset ok 75 - Should get only limit with noa offset ok 76 - Should get no limit or offset for 0s ok 77 - Should get no limit or offset for no args ok 78 - Should use regexp_substr IS NOT NULL for regex expr ok 79 - initialized() should rethrow unexpected DB error ok 80 - _cid should rethrow unexpected DB error ok 81 - App::Sqitch::Engine::snowflake->can(...) ok 82 - Create a snowflake with sqitch with options ok 83 - SNOWSQL_PWD should be "s3cr3t" ok 84 - Call _run ok 85 - Command should be passed to capture() ok 86 - SNOWSQL_PWD should be "s3cr3t" ok 87 - Call _spool ok 88 - Command should be passed to spool() ok 89 - SNOWSQL_PWD should be "s3cr3t" ok 90 - Call _capture ok 91 - Command should be passed to capture() ok 92 - SNOWSQL_PWD should be "s3cr3t" ok 93 - Call _probe ok 94 - Command should be passed to probe() ok 95 - Create a snowflake with sqitch with no pw ok 96 - SNOWSQL_PWD should not exist ok 97 - Call _run again ok 98 - Command should be passed to capture() again ok 99 - SNOWSQL_PWD should not exist ok 100 - Call _spool again ok 101 - Command should be passed to spool() again ok 102 - SNOWSQL_PWD should not exist ok 103 - Call _capture again ok 104 - Command should be passed to capture() again ok 105 - SNOWSQL_PWD should not exist ok 106 - Call _probe again ok 107 - Command should be passed to probe() again ok 108 - SNOWSQL_PWD should not exist ok 109 - Run foo/bar.sql ok 110 - File should be passed to capture() ok 111 - SNOWSQL_PWD should not exist ok 112 - Spool a "file handle" ok 113 - Handle should be passed to spool() ok 114 - SNOWSQL_PWD should not exist ok 115 - Verify foo/bar.sql again ok 116 - Verifile file should be passed to run() for high verbosity ok 117 - App::Sqitch::Engine::snowflake->can('_ts2char_format') ok 118 - _ts2char_format should work ok 119 - App::Sqitch::Engine::snowflake->can('_dt') ok 120 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' ok 121 - DateTime year should be set ok 122 - DateTime month should be set ok 123 - DateTime day should be set ok 124 - DateTime hour should be set ok 125 - DateTime minute should be set ok 126 - DateTime second should be set ok 127 - DateTime TZ should be set ok 128 - Construct a datetime object ok 129 - Should get ISO output from _char2ts ok 130 - App::Sqitch::Engine::snowflake->can(...) # Subtest: live database 1..0 # SKIP Unable to live-test Snowflake engine: DBD::ODBC 1.59 required to manage Snowflake at t/snowflake.t line 560. ok 131 # skip Unable to live-test Snowflake engine: DBD::ODBC 1.59 required to manage Snowflake at t/snowflake.t line 560. # 1..131 ok t/sqlite.t .......... ok 1 - require App::Sqitch::Engine::sqlite; ok 2 - config_vars should return three vars ok 3 - An object of class 'App::Sqitch::Engine::sqlite' isa 'App::Sqitch::Engine::sqlite' ok 4 - Key should be "sqlite" ok 5 - Name should be "SQLite" ok 6 - client should default to sqlite3 ok 7 - dbname should be filled in ok 8 - Target attribute should be specified target ok 9 - Destination should be uri stringified ok 10 - Registry target should be registry_uri stringified ok 11 - sqlite3 command should have the proper opts ok 12 - Create another sqlite ok 13 - client should fall back on config ok 14 - dbname should fall back on config ok 15 - Target should be as specified ok 16 - Destination should be configured target name ok 17 - registry_uri should fall back on config ok 18 - Registry target should be configured registry_uri stringified ok 19 - Create another sqlite ok 20 - dbname should fall back on config with no extension ok 21 - Target should be as specified ok 22 - Destination should be configured target name ok 23 - registry_uri should fall back on config wth extension ok 24 - Registry target should be configured registry_uri stringified ok 25 - Create another sqlite ok 26 - dbname should fall back on config with no extension ok 27 - Target should be as specified ok 28 - Destination should be configured target name ok 29 - registry_uri should fall back on config wth extension ok 30 - Registry target should be configured registry_uri without password ok 31 - Create another sqlite ok 32 - dbname should fall back on config with no extension ok 33 - Target should be as specified ok 34 - Destination should be configured target name ok 35 - registry_uri should fall back on config wth extension ok 36 - Registry target should be configured registry_uri stringified ok 37 - Instantiate with a temporary database file ok 38 - App::Sqitch::Engine::sqlite->can('_read') ok 39 - _read() should work ok 40 - _read() should SQL-quote the file name ok 41 - _read() should SQL-quote quotes, too ok 42 - App::Sqitch::Engine::sqlite->can(...) ok 43 - Call _run ok 44 - Command should be passed to run() ok 45 - Call _spool ok 46 - Command should be passed to spool() ok 47 - Call _capture ok 48 - Command should be passed to capture() ok 49 - Run foo/bar.sql ok 50 - File should be passed to run() ok 51 - Spool a "file handle" ok 52 - Handle should be passed to spool() ok 53 - Verify foo/bar.sql ok 54 - Verify file should be passed to capture() ok 55 - Verify foo/bar.sql again ok 56 - Verifile file should be passed to run() for high verbosity ok 57 - App::Sqitch::Engine::sqlite->can('_ts2char_format') ok 58 - _ts2char should work ok 59 - App::Sqitch::Engine::sqlite->can('_dt') ok 60 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' ok 61 - DateTime year should be set ok 62 - DateTime month should be set ok 63 - DateTime day should be set ok 64 - DateTime hour should be set ok 65 - DateTime minute should be set ok 66 - DateTime second should be set ok 67 - DateTime TZ should be set ok 68 - Create command for v3.3.9 ok 69 - Should be okay with sqlite v3.3.9 ok 70 - Create command for v3.3.10 ok 71 - Should be okay with sqlite v3.3.10 ok 72 - Create command for v3.3.200 ok 73 - Should be okay with sqlite v3.3.200 ok 74 - Create command for v3.4.0 ok 75 - Should be okay with sqlite v3.4.0 ok 76 - Create command for v3.4.8 ok 77 - Should be okay with sqlite v3.4.8 ok 78 - Create command for v3.7.11 ok 79 - Should be okay with sqlite v3.7.11 ok 80 - Create command for v3.8.12 ok 81 - Should be okay with sqlite v3.8.12 ok 82 - Create command for v3.10.0 ok 83 - Should be okay with sqlite v3.10.0 ok 84 - Create command for v4.1.30 ok 85 - Should be okay with sqlite v4.1.30 ok 86 - Create command for v3.3.8 ok 87 - Should not be okay with v3.3.8 ok 88 - Should get ident "sqlite" for v3.3.8 ok 89 - Should get proper error message for v3.3.8 ok 90 - Create command for v3.3.0 ok 91 - Should not be okay with v3.3.0 ok 92 - Should get ident "sqlite" for v3.3.0 ok 93 - Should get proper error message for v3.3.0 ok 94 - Create command for v3.2.8 ok 95 - Should not be okay with v3.2.8 ok 96 - Should get ident "sqlite" for v3.2.8 ok 97 - Should get proper error message for v3.2.8 ok 98 - Create command for v3.0.1 ok 99 - Should not be okay with v3.0.1 ok 100 - Should get ident "sqlite" for v3.0.1 ok 101 - Should get proper error message for v3.0.1 ok 102 - Create command for v3.0.0 ok 103 - Should not be okay with v3.0.0 ok 104 - Should get ident "sqlite" for v3.0.0 ok 105 - Should get proper error message for v3.0.0 ok 106 - Create command for v2.8.1 ok 107 - Should not be okay with v2.8.1 ok 108 - Should get ident "sqlite" for v2.8.1 ok 109 - Should get proper error message for v2.8.1 ok 110 - Create command for v2.20.0 ok 111 - Should not be okay with v2.20.0 ok 112 - Should get ident "sqlite" for v2.20.0 ok 113 - Should get proper error message for v2.20.0 ok 114 - Create command for v1.0.0 ok 115 - Should not be okay with v1.0.0 ok 116 - Should get ident "sqlite" for v1.0.0 ok 117 - Should get proper error message for v1.0.0 ok 118 - Create command for v3.7.12 with newline ok 119 - Should be okay with sqlite version v3.7.12 with newline ok 120 - Should have no table error ok 121 - Should have no column error ok 122 - Should now have table error ok 123 - Still should have no column error ok 124 - Should again have no table error ok 125 - Should now have no column error ok 126 - App::Sqitch::Engine::sqlite->can(...) # Subtest: live database # Detected SQLite CLI 3.46.1 # Connected to SQLite 3.46.1 ok 1 - Engine instantiated ok 2 - Database should not yet be initialized ok 3 - Initialize the database ok 4 - Database should now be initialized ok 5 - Registry should not need upgrading ok 6 - The release should be registered ok 7 - Registry should need upgrading ok 8 - Upgrade the registry ok 9 - Should have info output for upgrade ok 10 - Registry should no longer need upgrading ok 11 - The release should be registered again ok 12 - Create engine with alternate params ok 13 - No init, earliest change ok 14 - No init, no latest change ok 15 - Database should no longer seem initialized ok 16 - Initialize the database again ok 17 - Database should be initialized again ok 18 - Registry should not need upgrading ok 19 - Still no earlist change ok 20 - Still no latest changes ok 21 - Should die on existing schema ok 22 - Mode should be "engine" ok 23 - And it should show the proper schema in the error message ok 24 - Database error should be converted to Sqitch exception ok 25 - Ident should be SQL error state ok 26 - The message should be from the engine ok 27 - The DBI error should be in preview_exception ok 28 - Current state should be undef ok 29 - Should have no current changes ok 30 - Should have no current tags ok 31 - Should have no events ok 32 - The foreign_keys pragma should be enabled ok 33 - App::Sqitch::Engine::sqlite->can('register_project') ok 34 - App::Sqitch::Engine::sqlite->can('registered_projects') ok 35 - Should have no registered projects ok 36 - Register the project ok 37 - Should have one registered project, "engine" ok 38 - The project should be registered ok 39 - Register the project again ok 40 - Should still have one registered project, "engine" ok 41 - The project should still be registered only once ok 42 - Register a second project ok 43 - Should have both registered projects ok 44 - Both projects should now be registered ok 45 - Should get an error for defined URI vs NULL registered URI ok 46 - Defined URI error ident should be "engine" ok 47 - Defined URI error message should be correct ok 48 - Should get an error for different URIs ok 49 - Different URI error ident should be "engine" ok 50 - Different URI error message should be correct ok 51 - Should get an error for NULL plan URI ok 52 - NULL plan URI error ident should be "engine" ok 53 - NULL plan uri error message should be correct ok 54 - Register "groovy" again ok 55 - Should still have two registered projects ok 56 - Both projects should still be registered ok 57 - Should get error for an project with the URI ok 58 - Existing URI error ident should be "engine" ok 59 - Exising URI error message should be correct ok 60 - Should have "users" change ok 61 - The change should not be deployed ok 62 - The change should not be deployed ok 63 - Deploy "users" change ok 64 - The change should now be deployed ok 65 - The change should now be deployed ok 66 - Should get users ID for earliest change ID ok 67 - Should get no change offset 1 from earliest ok 68 - Should get users ID for latest change ID ok 69 - Should get no change offset 1 from latest ok 70 - A record should have been inserted into the changes table ok 71 - Should have no dependencies ok 72 - Change should not be required ok 73 - A record should have been inserted into the events table ok 74 - The tag should have been logged ok 75 - name_for_change_id() should return the change name with tag ok 76 - Get the current state ok 77 - 'committed_at value' isa 'App::Sqitch::DateTime' ok 78 - committed_at TZ should be UTC ok 79 - The rest of the state should look right ok 80 - Should have one current change ok 81 - Should have no current chnages for nonexistent project ok 82 - Should have one current tags ok 83 - Should have no current tags for nonexistent project ok 84 - Should have one event ok 85 - Log new tags for "users" change ok 86 - The tag should be the same ok 87 - Should now have no tags ok 88 - Log new tags for "users" change again ok 89 - The tag should be back ok 90 - Revert "users" change ok 91 - The change should no longer be deployed ok 92 - The change should no longer be deployed ok 93 - Should get undef for earliest change ok 94 - Should get undef for latest change ok 95 - The record should have been deleted from the changes table ok 96 - And the tag record should have been removed ok 97 - Should still have no dependencies ok 98 - Change should not be required ok 99 - The revert event should have been logged ok 100 - name_for_change_id() should no longer return the change name ok 101 - Current state should be undef again ok 102 - Should again have no current changes ok 103 - Should again have no current tags ok 104 - Should have two events ok 105 - Fail "users" change ok 106 - The change still should not be deployed ok 107 - The change still should not be deployed ok 108 - Should still get undef for earliest change ok 109 - Should still get undef for latest change ok 110 - Still should have not changes table record ok 111 - Should still have no tag records ok 112 - Should still have no dependencies ok 113 - Change should not be required ok 114 - The fail event should have been logged ok 115 - Current state should still be undef ok 116 - Should still have no current changes ok 117 - Should still have no current tags ok 118 - Should have 3 events ok 119 - Deploy the change again ok 120 - The tag again should be deployed ok 121 - Should again get users ID for earliest change ID ok 122 - Should still get no change offset 1 from earliest ok 123 - Should again get users ID for latest change ID ok 124 - Should still get no change offset 1 from latest ok 125 - Get the second change ok 126 - Only the first change should be deployed ok 127 - Set resolved ID in required depend ok 128 - Deploy second change ok 129 - Should still get users ID for earliest change ID ok 130 - Should get "widgets" offset 1 from earliest ok 131 - Should get no change offset 2 from earliest ok 132 - Should get "widgets" ID for latest change ID ok 133 - Should get "user" offset 1 from earliest ok 134 - Should get no change offset 2 from latest ok 135 - Should have both changes and requires/conflcits deployed ok 136 - Both changes should be deployed ok 137 - Should still have no dependencies for "users" ok 138 - Should have both dependencies for "widgets" ok 139 - Change "users" should be required by "widgets" ok 140 - Change "widgets" should not be required ok 141 - The new change deploy should have been logged ok 142 - name_for_change_id() should return name with symbolic tag @HEAD ok 143 - Get the current state again ok 144 - 'committed_at value' isa 'App::Sqitch::DateTime' ok 145 - committed_at TZ should be UTC ok 146 - The state should reference new change ok 147 - Should have two current changes in reverse chronological order ok 148 - Should again have one current tags ok 149 - Should have 5 events ok 150 - App::Sqitch::Engine::sqlite->can(...) ok 151 - Should have two deployed changes ok 152 - Should find one deployed since the first one ok 153 - Should find none deployed since the second one ok 154 - Should load change 1 ok 155 - Should load change 2 ok 156 - load() should return undef for uknown change ID ok 157 - Should load change with no offset ok 158 - Should load change with offset 0 ok 159 - Should get change ID with no offset ok 160 - Should get change ID with offset 0 ok 161 - Should find change with offset 1 ok 162 - Should find change with offset -1 ok 163 - Should find undef change with offset 2 ok 164 - Should find change ID with offset 1 ok 165 - Should find change ID with offset -1 ok 166 - Should find undef change ID with offset 2 ok 167 - Revert "widgets" ok 168 - Should now have one deployed change ID ok 169 - Should find none deployed since that one ok 170 - Log another change ok 171 - Should have both deployed change IDs ok 172 - Should find only the second after the first ok 173 - Should find none after the second ok 174 - Get the current state once more ok 175 - 'committed_at value' isa 'App::Sqitch::DateTime' ok 176 - committed_at TZ should be UTC ok 177 - The new state should reference latest change ok 178 - Should still have two current changes in reverse chronological order ok 179 - Should still have one current tags ok 180 - Should have 7 events ok 181 - Get the "fred" change ok 182 - Deploy "fred" ok 183 - Get the "barney" change ok 184 - Deploy "barney" ok 185 - Earliest change should sill be "users" ok 186 - Should still get "widgets" offset 1 from earliest ok 187 - Should get "fred" offset 2 from earliest ok 188 - Should get "barney" offset 3 from earliest ok 189 - Latest change should be "barney" ok 190 - Should get "fred" offset 1 from latest ok 191 - Should get "widgets" offset 2 from latest ok 192 - Should get "users" offset 3 from latest ok 193 - Barney should be in the current state ok 194 - Should have all four current changes in reverse chron order ok 195 - Should now have three current tags in reverse chron order ok 196 - Should have 9 events ok 197 - The limit param to search_events should work ok 198 - The offset param to search_events should work ok 199 - The limit and offset params to search_events should work together ok 200 - Should work to set direction "DESC" in search_events ok 201 - Should work to set direction "desc" in search_events ok 202 - Should work to set direction "descending" in search_events ok 203 - Should work to set direction "ASC" in search_events ok 204 - Should work to set direction "asc" in search_events ok 205 - Should work to set direction "ascending" in search_events ok 206 - Should catch exception for invalid search direction ok 207 - Search direction error ident should be "DEV" ok 208 - Search direction error message should be correct ok 209 - The committer param to search_events should work ok 210 - The committer param to search_events should work as a regex ok 211 - Committer regex should fail to match with "Simpsonized$" ok 212 - The change param to search_events should work with "users" ok 213 - The change param to search_events should work with "widgets" ok 214 - The change param to search_events should work with "fred" ok 215 - The change param to search_events should return nothing for "fre$" ok 216 - The change param to search_events should return match "(er|re)" ok 217 - The event param should work with "deploy" ok 218 - The event param should work with "revert" ok 219 - The event param should work with "fail" ok 220 - The event param should work with "revert" and "fail" ok 221 - The event param should work with "deploy", "revert", and "fail" ok 222 - The event param should return nothing for "foo" ok 223 - Create external plan ok 224 - Create external change ok 225 - Log the external change ok 226 - The project param to search_events should work ok 227 - The project param to search_events should work with external project ok 228 - The project param to search_events should match across projects ok 229 - Project regex should fail to match with "nonexistent" ok 230 - deployed_changes should not include external change ok 231 - deployed_changes_since should not include external change ok 232 - Earliest change should sill be "users" ok 233 - Latest change ID should not be from external project ok 234 - Should catch exception for invalid search param ok 235 - Invalid search param error ident should be "DEV" ok 236 - Invalid search param error message should be correct ok 237 - Should catch exception for invalid search params ok 238 - Invalid search params error ident should be "DEV" ok 239 - Invalid search params error message should be correct ok 240 - Get the "groovy" state ok 241 - 'groofy committed_at value' isa 'App::Sqitch::DateTime' ok 242 - groovy committed_at TZ should be UTC ok 243 - The rest of the state should look right ok 244 - Should find id for change_id only ok 245 - Should find id for change only ok 246 - Should find id for change + tag ok 247 - Should find id for change@HEAD ok 248 - Should find id for tag only ok 249 - Should find id for ROOT ok 250 - Should find id for HEAD ok 251 - Should find id for project:ROOT ok 252 - Should find id for project:HEAD ok 253 - Should find nothing for unkonwn id ok 254 - Should find nothing for unkonwn change ok 255 - Should find nothing for unkonwn tag ok 256 - Should find nothing for change + unkonwn tag ok 257 - Should find nothing for change@ROOT ok 258 - Should find nothing for change + different project ok 259 - Should find nothing for tag + different project ok 260 - Create internal id only change ok 261 - Create internal id only dependency ok 262 - Internal id only depencency should not be satisfied ok 263 - Log internal id only change deployment ok 264 - Internal id only depencency should now be satisfied ok 265 - Log internal id only change reversion ok 266 - Internal id only depencency should again be unsatisfied ok 267 - Create external id only change ok 268 - Create external id only dependency ok 269 - External id only depencency should not be satisfied ok 270 - Log external id only change deployment ok 271 - External id only depencency should now be satisfied ok 272 - Log external id only change reversion ok 273 - External id only depencency should again be unsatisfied ok 274 - Create internal change + tag change ok 275 - Add tag internal @epsilon ok 276 - Create internal change + tag dependency ok 277 - Internal change + tag depencency should not be satisfied ok 278 - Log internal change + tag change deployment ok 279 - Internal change + tag depencency should now be satisfied ok 280 - Log internal change + tag change reversion ok 281 - Internal change + tag depencency should again be unsatisfied ok 282 - Create external change + tag change ok 283 - Add tag external @epsilon ok 284 - Create external change + tag dependency ok 285 - External change + tag depencency should not be satisfied ok 286 - Log external change + tag change deployment ok 287 - External change + tag depencency should now be satisfied ok 288 - Log external change + tag change reversion ok 289 - External change + tag depencency should again be unsatisfied ok 290 - Create internal change only change ok 291 - Create internal change only dependency ok 292 - Internal change only depencency should not be satisfied ok 293 - Log internal change only change deployment ok 294 - Internal change only depencency should now be satisfied ok 295 - Log internal change only change reversion ok 296 - Internal change only depencency should again be unsatisfied ok 297 - Create external change only change ok 298 - Create external change only dependency ok 299 - External change only depencency should not be satisfied ok 300 - Log external change only change deployment ok 301 - External change only depencency should now be satisfied ok 302 - Log external change only change reversion ok 303 - External change only depencency should again be unsatisfied ok 304 - Create internal tag only change ok 305 - Add tag internal @sigma ok 306 - Create internal tag only dependency ok 307 - Internal tag only depencency should not be satisfied ok 308 - Log internal tag only change deployment ok 309 - Internal tag only depencency should now be satisfied ok 310 - Log internal tag only change reversion ok 311 - Internal tag only depencency should again be unsatisfied ok 312 - Create external tag only change ok 313 - Add tag external @sigma ok 314 - Create external tag only dependency ok 315 - External tag only depencency should not be satisfied ok 316 - Log external tag only change deployment ok 317 - External tag only depencency should now be satisfied ok 318 - Log external tag only change reversion ok 319 - External tag only depencency should again be unsatisfied ok 320 - Create another external change ok 321 - Add tag external "meta" ok 322 - Log the external change with tag ok 323 - Delete the engine project tags ok 324 - name_for_change_id() should return "widgets@HEAD" for its ID ok 325 - name_for_change_id() should return "outside_in@meta" for its ID ok 326 - Should have only the "engine" changes from current_changes ok 327 - Should get only requestd project changes from current_changes ok 328 - Should no longer have "engine" project tags ok 329 - Should get groovy tags from current_chages() ok 330 - Create change "hypercritial" in current plan ok 331 - Log change "hyper" ok 332 - No changes should require "hypercritical" ok 333 - Change "hypercritical" should require "fred" ok 334 - Change "hypercritical" should require "groovy:crazyman" ok 335 - Create a third external change ok 336 - Log change "elsewise" ok 337 - Change "fred" should be required by changes in two projects ok 338 - Change "groovy:crazyman" should be required by changes in two projects ok 339 - App::Sqitch::Engine::sqlite->can(...) ok 340 - Begin work ok 341 - Should have started a transaction ok 342 - Finish work ok 343 - Should have committed a transaction ok 344 - Begin work again ok 345 - Should have started another transaction ok 346 - Rollback work ok 347 - Should have rolled back a transaction ok 348 - Revert "elsewise" change ok 349 - Revert "hypercritical" change ok 350 - Revert "outside_in" change ok 351 - Revert "crazyman" change ok 352 - Revert "barney" change ok 353 - Revert "fred" change ok 354 - Revert "widgets" change ok 355 - Revert "users" change ok 356 - Deploy "users" change ok 357 - Deploy "widgets" change ok 358 - Deploy "fred" change ok 359 - Deploy "barney" change ok 360 - Deploy "crazyman" change ok 361 - Deploy "outside_in" change ok 362 - Deploy "hypercritical" change ok 363 - Deploy "elsewise" change ok 364 - Rework change "widgets" ok 365 - It should have the same script hash ok 366 - Should die on unchanged rework deploy script ok 367 - Mode should be "engine" ok 368 - And it should report the script is not unique ok 369 - Should re-throw if not a unique erorr ok 370 - Mode should be the error state ok 371 - Should not have the underlying DB error ok 372 - Back up deploy file ok 373 - It should no longer have the same script hash ok 374 - Deploy the reworked change ok 375 - The deploy should not fail ok 376 - Should die on ambiguous change spec ok 377 - Mode should be "engine" ok 378 - And it should report change lookup failure ok 379 - Should have vented output for lookup failure ok 380 - Should get ID for first of ambiguous change spec ok 381 - Should now have first change id ok 382 - change_id_for() should find the tag-qualified change ID ok 383 - change_id_for() should find the reworked change ID @HEAD ok 384 - Tag the plan "theta" ok 385 - Log new tag ok 386 - Rework change "widgets" again ok 387 - Deploy the reworked change ok 388 - Should not die deploying the reworked change ok 389 - Should find id for beta instance of change ok 390 - Should find id for HEAD instance of change ok 391 - Should find id for second instance of change by tag ok 392 - Update script hashes ok 393 - Should have updated script hash for barney ok 394 - Should have updated script hash for users ok 395 - Should have updated script hash for widgets ok 396 - Should have updated script hash for hypercritical ok 397 - Should have updated script hash for widgets ok 398 - Should have updated script hash for fred ok 399 - Should have updated script hash for widgets ok 400 - Change ID and script hash should be 0c56bb ok 401 - Change ID and script hash should be 7120c6 ok 402 - Change ID and script hash should be 6b0ab0 1..402 ok 127 - live database 1..127 ok t/status.t .......... 1..124 ok 1 - require App::Sqitch::Command::status; ok 2 - Load a sqitch object ok 3 - 'status command' isa 'App::Sqitch::Command::status' ok 4 - App::Sqitch::Command::status->can(...) ok 5 - App::Sqitch::Command::status does ContextCommand ok 6 - App::Sqitch::Command::status does ConnectingCommand ok 7 - Options should be correct ok 8 - Should parse options ok 9 - Options should not conflict with core options ok 10 - Should have error for uninitialized database ok 11 - Uninitialized database error ident should be "status" ok 12 - Uninitialized database error message should be correct ok 13 - 'new status command' isa 'App::Sqitch::Command::status' ok 14 - Should have project "foo" ok 15 - Load a sqitch object with SQLite ok 16 - Create another status command ok 17 - Should get an error for uninitialized db ok 18 - Uninitialized db error ident should be "status" ok 19 - Uninitialized db error message should be correct ok 20 - Should get an error for no registered projects ok 21 - No projects error ident should be "status" ok 22 - No projects error message should be correct ok 23 - Should get an error for too many projects ok 24 - Too many projects error ident should be "status" ok 25 - Too many projects error message should be correct ok 26 - Should find single project ok 27 ok 28 - 'another status command' isa 'App::Sqitch::Command::status' ok 29 - Should have plan project ok 30 - Default target should be undef ok 31 - 'new status with target' isa 'App::Sqitch::Command::status' ok 32 - Should have target "foo" ok 33 - Should get empty hash for no config or options ok 34 - Should get error for invalid date format in config ok 35 - Invalid date format error ident should be "datetime" ok 36 - Invalid date format error message should be correct ok 37 - Should get bool values set from config ok 38 - Should get error for invalid date format in optsions ok 39 - Invalid date format error ident should be "status" ok 40 - Invalid date format error message should be correct ok 41 - Emit the state ok 42 - The state should have been emitted ok 43 - Emit the state with a tag ok 44 - The state should have been emitted with a tag ok 45 - Emit the state with multiple tags ok 46 - The state should have been emitted with multiple tags ok 47 - Create status command with an engine ok 48 - Try to emit changes ok 49 - Should have emitted no changes ok 50 - Create change-showing status command ok 51 - Emit changes again ok 52 - Project "foo" should have been passed to current_changes ok 53 - Should have emitted one change ok 54 - Emit changes thrice ok 55 - Project "foo" again should have been passed to current_changes ok 56 - Should have emitted three changes ok 57 - Try to emit tags ok 58 - No tags should have been emitted ok 59 - Create tag-showing status command ok 60 - Try to emit tags again ok 61 - Project "bar" should be passed to current_tags() ok 62 - Should have emitted a header for no tags ok 63 - Emit tags ok 64 - Project "bar" should again be passed to current_tags() ok 65 - Should have emitted one tag ok 66 - Emit tags again ok 67 - Project "bar" should once more be passed to current_tags() ok 68 - Should have emitted all three tags ok 69 - Create status command with actual plan command ok 70 - Emit status ok 71 - Should have a blank comment line ok 72 - Should emit up-to-date output ok 73 - Emit status again ok 74 - Should have a blank comment line ok 75 - Should emit list of undeployed changes ok 76 - Emit status thrice ok 77 - Should have a blank comment line ok 78 - Should emit list of undeployed changes ok 79 - Die on invalid ID ok 80 - Invalid ID error ident should be "status" ok 81 - The invalid ID error message should be correct ok 82 - Should have a blank comment line ok 83 - Should have a message about inability to find the change ok 84 - Recreate status command ok 85 - Execute ok 86 - The state should have been emitted ok 87 - Should emit list of undeployed changes ok 88 - No target name should have been passed to Target ok 89 - Execute with target arg ok 90 - The state should have been emitted ok 91 - Should emit list of undeployed changes ok 92 - Name "db:sqlite:" should have been passed to Target ok 93 - Create status command with a target option ok 94 - Execute with target attribute ok 95 - The state should have been emitted ok 96 - Should emit list of undeployed changes ok 97 - Name "db:sqlite:" should have been passed to Target ok 98 - Execute with target attribute and arg ok 99 - The state should have been emitted ok 100 - Should emit list of undeployed changes ok 101 - Name "db:sqlite:" should have been passed to Target ok 102 - Should have got warning for two targets ok 103 - Create status command with no target option ok 104 - Execute with plan file ok 105 - The state should have been emitted ok 106 - Should emit list of undeployed changes ok 107 - Name "db:sqlite:" should have been passed to Target ok 108 - Should have no warnings ok 109 - Create status command with specified project ok 110 - Execute for specified project ok 111 - The specified project state should have been emitted ok 112 - Should emit unknown status message for specified project ok 113 - Create status command with external project ok 114 - Execute for external project ok 115 - The external project state should have been emitted ok 116 - Should emit unknown status message for external project ok 117 - Die on no state ok 118 - No state error ident should be "status" ok 119 - No state error message should be correct ok 120 - The "On database" comment should have been emitted ok 121 - Should get an error for uninitialized db ok 122 - Uninitialized db error ident should be "status" ok 123 - Uninitialized db error message should be correct ok 124 - no warnings ok t/tag.t ............. 1..22 ok 1 - require App::Sqitch::Plan::Tag; ok 2 - App::Sqitch::Plan::Tag->can(...) ok 3 - An object of class 'App::Sqitch::Plan::Tag' isa 'App::Sqitch::Plan::Tag' ok 4 - An object of class 'App::Sqitch::Plan::Tag' isa 'App::Sqitch::Plan::Line' ok 5 - Name should format as "@foo" ok 6 - 'Timestamp' isa 'App::Sqitch::DateTime' ok 7 - Planner name shoudld default to user name ok 8 - Planner email shoudld default to user email ok 9 - Planner name and email should format properly ok 10 - Should as_string to "@foo" + timstamp + planner ok 11 - Tag info should incldue the URI ok 12 - Create tag with more stuff ok 13 - It should as_string correctly ok 14 - Change should be correct ok 15 - Planner name and email should format properly ok 16 - Change should be for previous change ok 17 - Tag info should include the change ok 18 - Tag ID should be correct ok 19 - Create tag with UTF-8 name ok 20 - The name should be decoded text in info ok 21 - Tag ID should be hahsed from encoded UTF-8 ok 22 - no warnings ok t/tag_cmd.t ......... 1..86 ok 1 - Load a sqitch sqitch object ok 2 - 'tag command' isa 'App::Sqitch::Command::tag' ok 3 - The all attribute should be false by default ok 4 - App::Sqitch::Command::tag->can(...) ok 5 - App::Sqitch::Command::tag does ContextCommand ok 6 - Should have note option ok 7 - Should parse options ok 8 - Options should not conflict with core options ok 9 - Should get empty hash for no config or options ok 10 - Should not have fetched boolean tag.all config ok 11 - Should get populated hash for no all options ok 12 - Should not have fetched boolean tag.all config ok 13 - Add change "foo" ok 14 - 'new tag command' isa 'App::Sqitch::Command::tag' ok 15 - Tag @alpha ok 16 - Reload plan ok 17 - Should have tagged "foo" ok 18 - New tag should have been written ok 19 - New tag should have empty note ok 20 - Should have requested a note ok 21 - The info message should be correct ok 22 - Execute with no arg ok 23 - The one tag should have been listed ok 24 - Should have requested a note ok 25 - Add tag @beta ok 26 - Execute with no arg again ok 27 - Both tags should have been listed ok 28 - Should have requested a note ok 29 - 'tag command with note' isa 'App::Sqitch::Command::tag' ok 30 - Tag @gamma ok 31 - Gamma tag should be on change "foo" ok 32 - Gamma tag should have note ok 33 - Reload plan ok 34 - Gamma tag should have been written ok 35 - Written tag should have note ok 36 - Should have requested a note ok 37 - The gamma note should be correct ok 38 - 'tag command with note' isa 'App::Sqitch::Command::tag' ok 39 - Add change "bar" ok 40 - Add change "baz" ok 41 - Tag change "bar" with @delta ok 42 - Reload plan ok 43 - Should have tagged "bar" ok 44 - Reload plan ok 45 - New tag should have been written ok 46 - New tag should have the proper note ok 47 - Should have requested a note ok 48 - The info message should be correct ok 49 - 'tag command with change name' isa 'App::Sqitch::Command::tag' ok 50 - Tag change "bar" with @zeta ok 51 - Should have tagged "bar" with @zeta ok 52 - Reload plan ok 53 - Tag @zeta should have been written ok 54 - Tag @zeta should have the proper note ok 55 - Should have requested a note ok 56 - The zeta info message should be correct ok 57 - Load another sqitch sqitch object ok 58 - 'another tag command' isa 'App::Sqitch::Command::tag' ok 59 - Tag with @whacko ok 60 - Should have tagged "baz" with @whacko ok 61 - The whacko info message should be correct ok 62 - Should get an error for --all and a target arg ok 63 - Mixed arguments error ident should be "tag" ok 64 - Mixed arguments error message should be correct ok 65 - Load another sqitch sqitch object ok 66 - 'yet another tag command' isa 'App::Sqitch::Command::tag' ok 67 - Tag with @dubdub ok 68 - Should have two targets ok 69 - Should have tagged pg plan change "pg_change" with @dubdub ok 70 - Should have tagged sqlite plan change "sqlite_change" with @dubdub ok 71 - The dubdub info message should show both plans tagged ok 72 - Tag sqlite plan with @shoot ok 73 - Should still have two targets ok 74 - Should not have tagged pg plan change "sqlite_change" with @shoot ok 75 - Should have tagged sqlite plan change "sqlite_change" with @shoot ok 76 - The shoot info message should the sqlite plan getting tagged ok 77 - 'yet another tag command' isa 'App::Sqitch::Command::tag' ok 78 - Tag with @huwah ok 79 - Should still have two targets ok 80 - Should have tagged pg plan change "pg_change" with @huwah ok 81 - Should not have tagged sqlite plan change "sqlite_change" with @huwah ok 82 - The huwah info message should the pg plan getting tagged ok 83 - Should get an error for conflict with target name ok 84 - Conflicting target error ident should be "tag" ok 85 - Conflicting target error message should be correct ok 86 - no warnings ok t/target.t .......... ok 1 - use App::Sqitch::Target; ok 2 - Load a sqitch sqitch object ok 3 - An object of class 'App::Sqitch::Target' isa 'App::Sqitch::Target' ok 4 - App::Sqitch::Target->can(...) ok 5 - Name should be "db:sqlite:" ok 6 - Target should be alias for name ok 7 - URI should be "db:sqlite:" ok 8 - Sqitch should be as passed ok 9 - Engine key should be "sqlite" ok 10 - 'Engine' isa 'App::Sqitch::Engine::sqlite' ok 11 - Should have default registry ok 12 - Should have default client ok 13 - Should have default top_dir ok 14 - Should have default deploy_dir ok 15 - Should have default revert_dir ok 16 - Should have default verify_dir ok 17 - Should have default reworked_dir ok 18 - Should have default reworked_deploy_dir ok 19 - Should have default reworked_revert_dir ok 20 - Should have default reworked_verify_dir ok 21 - Should have default extension ok 22 - Should have default plan file ok 23 - 'Should get plan' isa 'App::Sqitch::Plan' ok 24 - Plan file should be copied from Target ok 25 - DSN should be from URI ok 26 - Username should be from URI ok 27 - Password should be from URI ok 28 - Variables should be empty ok 29 - An object of class 'App::Sqitch::Target' isa 'App::Sqitch::Target' ok 30 - Username should be from environment variable ok 31 - Password should be from environment variable ok 32 - Should get error for missing params ok 33 - 'Target with name and URI' isa 'App::Sqitch::Target' ok 34 - Name should be "foo" ok 35 - Target should be alias for name ok 36 - URI should be set as passed ok 37 - Sqitch should be as passed ok 38 - Engine key should be "pg" ok 39 - 'Engine' isa 'App::Sqitch::Engine::pg' ok 40 - DSN should be from URI ok 41 - Username should be from URI ok 42 - Password should be from environment ok 43 - Variables should be set ok 44 - 'Target with URI' isa 'App::Sqitch::Target' ok 45 - Name should be URI without password ok 46 - Target should be alias for name ok 47 - Engine key should be "pg" ok 48 - 'Engine' isa 'App::Sqitch::Engine::pg' ok 49 - DSN should be from URI ok 50 - Username should be from URI ok 51 - Password should be from URI ok 52 - 'Target from environment' isa 'App::Sqitch::Target' ok 53 - Name should be set ok 54 - URI should be set ok 55 - Engine key should be "pg" ok 56 - 'Engine' isa 'App::Sqitch::Engine::pg' ok 57 - 'Default target' isa 'App::Sqitch::Target' ok 58 - Name should be "db:sqlite:" ok 59 - URI should be "db:sqlite:" ok 60 - Should have tried to get engine target ok 61 - 'Default target' isa 'App::Sqitch::Target' ok 62 - Name should be "db:mysql:" ok 63 - URI should be "db:mysql" ok 64 - Should have tried to get core.target, core.engine and then the target ok 65 - 'Target with URI in name' isa 'App::Sqitch::Target' ok 66 - Name should be "db:pg:" ok 67 - URI should be "db:pg" ok 68 - Should have fetched no config ok 69 - Should have error for no engine in URI ok 70 - Should have target ident ok 71 - Should have message about no engine-less URI ok 72 - Should have error for no engine or target ok 73 - Should have target ident ok 74 - Should have message about no configuration ok 75 - Should again have error for no engine or target ok 76 - Should have target ident again ok 77 - Should have message about no specified engine ok 78 - 'Engineless target' isa 'App::Sqitch::Target' ok 79 - Name should be "db:" ok 80 - URI should be "db:" ok 81 - Should not have tried to get engine target ok 82 - Sqitch should be as passed ok 83 - Engine key should be undef ok 84 - Should get exception for no engine ok 85 - Should have engine ident ok 86 - Should have message about no engine ok 87 - Should have default top_dir ok 88 - Should have default deploy_dir ok 89 - Should have default revert_dir ok 90 - Should have default verify_dir ok 91 - Should have default reworked_dir ok 92 - Should have default reworked_deploy_dir ok 93 - Should have default reworked_revert_dir ok 94 - Should have default reworked_verify_dir ok 95 - Should have default extension ok 96 - Should have default plan file ok 97 - 'Should get plan' isa 'App::Sqitch::Plan' ok 98 - Plan file should be copied from Target ok 99 - DSN should be empty ok 100 - Username should be undef ok 101 - Password should be undef ok 102 - 'Engine URI target' isa 'App::Sqitch::Target' ok 103 - Name should be "db:pg://a@foo/scat" ok 104 - URI should be "db:pg://a:b@foo/scat" ok 105 - Nothing should have been fetched from config ok 106 - 'Engine URI core.target' isa 'App::Sqitch::Target' ok 107 - Name should be "db:pg://s@ack/shi" ok 108 - URI should be "db:pg://s:b@ack/shi" ok 109 - Should have fetched core.target from config ok 110 - 'Engine name core.target' isa 'App::Sqitch::Target' ok 111 - Name should be "shout" ok 112 - URI should be "db:pg:w:e@we/bar" ok 113 - Should have fetched target.shout.uri from config ok 114 - Should have exception for unknown named target ok 115 - Unknown target error ident should be "target" ok 116 - Unknown target error message should be correct ok 117 - Should have requested target URI from config ok 118 - Should have requested target.foo section ok 119 - Should have exception for URL-less named target ok 120 - URL-less target error ident should be "target" ok 121 - URL-less target error message should be correct ok 122 - Should have requested target URI from config ok 123 - Should have requested target.foo section ok 124 - 'Named target' isa 'App::Sqitch::Target' ok 125 - Name should be "foo" ok 126 - URI should be "db:pg:foo" ok 127 - Should have requested target URI from config ok 128 - Should not have requested deprecated pg section ok 129 - 'Engine named target' isa 'App::Sqitch::Target' ok 130 - Name should be "foo" ok 131 - URI should be "db:sqlite:foo" ok 132 - Should have requested engine target and target URI from config ok 133 - Should have requested no section ok 134 - 'Environment-named target' isa 'App::Sqitch::Target' ok 135 - Name should be "bar" ok 136 - URI should be "db:sqlite:bar" ok 137 - Should have requested target URI from config ok 138 - Should have requested no sections ok 139 - 'URI-munged target' isa 'App::Sqitch::Target' ok 140 - Should have requested no section ok 141 - Name should be passwordless stringified URI ok 142 - URI should be tweaked by URI params ok 143 - 'Foo target' isa 'App::Sqitch::Target' ok 144 - Should have requested target URI ok 145 - Should have fetched no section ok 146 - Name should be as passed ok 147 - URI should be tweaked by URI params ok 148 - 'URI target' isa 'App::Sqitch::Target' ok 149 - Should have requested no config ok 150 - Should have fetched no section ok 151 - Name should tweaked by URI params ok 152 - URI should be tweaked by URI params ok 153 - Registry should be "myreg" ok 154 - Client should be "pgsql" ok 155 - Plan file should be "my.plan" ok 156 - 'Plan file' isa 'Path::Class::File' ok 157 - 'Plan' isa 'App::Sqitch::Plan' ok 158 - Plan should use target plan file ok 159 - Top dir should be "top" ok 160 - 'Top dir' isa 'Path::Class::Dir' ok 161 - Deploy dir should be "dep" ok 162 - 'Deploy dir' isa 'Path::Class::Dir' ok 163 - Revert dir should be "rev" ok 164 - 'Revert dir' isa 'Path::Class::Dir' ok 165 - Verify dir should be "ver" ok 166 - 'Verify dir' isa 'Path::Class::Dir' ok 167 - Reworked dir should be "wrk" ok 168 - 'Reworked dir' isa 'Path::Class::Dir' ok 169 - Reworked deploy dir should be "rdep" ok 170 - 'Reworked deploy dir' isa 'Path::Class::Dir' ok 171 - Reworked revert dir should be "rrev" ok 172 - 'Reworked revert dir' isa 'Path::Class::Dir' ok 173 - Reworked verify dir should be "rver" ok 174 - 'Reworked verify dir' isa 'Path::Class::Dir' ok 175 - Extension should be "ddl" ok 176 - Should have no variables ok 177 - Registry should be "yoreg" ok 178 - Client should be "mycli" ok 179 - Plan file should be "pg.plan" ok 180 - 'Plan file' isa 'Path::Class::File' ok 181 - 'Plan' isa 'App::Sqitch::Plan' ok 182 - Plan should use target plan file ok 183 - Top dir should be "pg" ok 184 - 'Top dir' isa 'Path::Class::Dir' ok 185 - Deploy dir should be "pgdep" ok 186 - 'Deploy dir' isa 'Path::Class::Dir' ok 187 - Revert dir should be "pgrev" ok 188 - 'Revert dir' isa 'Path::Class::Dir' ok 189 - Verify dir should be "pgver" ok 190 - 'Verify dir' isa 'Path::Class::Dir' ok 191 - Reworked dir should be "pg/r" ok 192 - 'Reworked dir' isa 'Path::Class::Dir' ok 193 - Reworked deploy dir should be "pgrdep" ok 194 - 'Reworked deploy dir' isa 'Path::Class::Dir' ok 195 - Reworked revert dir should be "pgrrev" ok 196 - 'Reworked revert dir' isa 'Path::Class::Dir' ok 197 - Reworked verify dir should be "pgrver" ok 198 - 'Reworked verify dir' isa 'Path::Class::Dir' ok 199 - Extension should be "pgddl" ok 200 - Variables should be read from engine.variables ok 201 - Registry should be "fooreg" ok 202 - Client should be "foocli" ok 203 - Plan file should be "foo.plan" ok 204 - 'Plan file' isa 'Path::Class::File' ok 205 - 'Plan' isa 'App::Sqitch::Plan' ok 206 - Plan should use target plan file ok 207 - Top dir should be "foo" ok 208 - 'Top dir' isa 'Path::Class::Dir' ok 209 - Deploy dir should be "foodep" ok 210 - 'Deploy dir' isa 'Path::Class::Dir' ok 211 - Revert dir should be "foorev" ok 212 - 'Revert dir' isa 'Path::Class::Dir' ok 213 - Verify dir should be "foover" ok 214 - 'Verify dir' isa 'Path::Class::Dir' ok 215 - Reworked dir should be "foo/r" ok 216 - 'Reworked dir' isa 'Path::Class::Dir' ok 217 - Reworked deploy dir should be "foodepr" ok 218 - 'Reworked deploy dir' isa 'Path::Class::Dir' ok 219 - Reworked revert dir should be "foorevr" ok 220 - 'Reworked revert dir' isa 'Path::Class::Dir' ok 221 - Reworked verify dir should be "fooverr" ok 222 - 'Reworked verify dir' isa 'Path::Class::Dir' ok 223 - Extension should be "fooddl" ok 224 - Variables should be read from engine., and target.variables ok 225 - Load all targets ok 226 - Should have one target ok 227 - It should be the generic core engine target ok 228 - Load all targets with core target config ok 229 - Should again have one target ok 230 - It should be the named target ok 231 - It should have no variables ok 232 - Load all targets with core engine and target config ok 233 - Should still have one target ok 234 - It should again be the named target ok 235 - It should have no variables ok 236 - Load all user conf targets ok 237 - Should have four user targets ok 238 - Should have all the engine targets ok 239 - MySQL target should have engine variables ok 240 - Load all target conf targets ok 241 - Should have three targets ok 242 - Core engine should be default target ok 243 - Should have the core target plus the named targets ok 244 - Load all local conf targets ok 245 - Should have two local targets ok 246 - Core engine should be lead to default target ok 247 - Should have the core target plus the named targets ok 248 - Load all engine conf targets ok 249 - Should have three engine conf targets ok 250 - Should have the engine and target targets ok 251 - Overload all engine conf targets ok 252 - Should again have three engine conf targets ok 253 - Should have set dbname on all target URIs ok 254 - Should have set the registry on all targets. 1..254 ok t/target_cmd.t ...... 1..243 ok 1 - Load a sqitch sqitch object ok 2 - 'Target command' isa 'App::Sqitch::Command::target' ok 3 - 'Target command' isa 'App::Sqitch::Command' ok 4 - App::Sqitch::Command::target->can(...) ok 5 - App::Sqitch::Command::target does TargetConfigCommand ok 6 - Options should be correct ok 7 - Should parse options ok 8 - Options should not conflict with core options ok 9 - Default properties should be empty ok 10 - configure() should ignore config file ok 11 - Get full config ok 12 - Should have properties ok 13 - 'plan_file file attribute' isa 'Path::Class::File' ok 14 - 'top_dir directory attribute' isa 'Path::Class::Dir' ok 15 - 'reworked_dir directory attribute' isa 'Path::Class::Dir' ok 16 - 'deploy_dir directory attribute' isa 'Path::Class::Dir' ok 17 - 'reworked_deploy_dir directory attribute' isa 'Path::Class::Dir' ok 18 - 'revert_dir directory attribute' isa 'Path::Class::Dir' ok 19 - 'reworked_revert_dir directory attribute' isa 'Path::Class::Dir' ok 20 - 'verify_dir directory attribute' isa 'Path::Class::Dir' ok 21 - 'reworked_verify_dir directory attribute' isa 'Path::Class::Dir' ok 22 - Should fail on invalid directory name ok 23 - Invalid directory ident should be "target" ok 24 - The invalid directory messsage should be correct ok 25 - Should fail on invalid directory names ok 26 - Invalid directories ident should be "target" ok 27 - The invalid properties messsage should be correct ok 28 - Run list() ok 29 - The list of targets should have been output ok 30 - 'Verbose engine' isa 'App::Sqitch::Command::target' ok 31 - Run verbose list() ok 32 - The list of targets and their URIs should have been output ok 33 - No name arg to add() should yield usage ok 34 - No args should be passed to usage ok 35 - No URI arg to add() should yield usage ok 36 - No args should be passed to usage ok 37 - Should get error for existing target ok 38 - Existing target error ident should be "target" ok 39 - Existing target error message should be correct ok 40 - dir deploy does not exist ok 41 - dir revert does not exist ok 42 - dir verify does not exist ok 43 - Add target "test" ok 44 - dir deploy exists ok 45 - dir revert exists ok 46 - dir verify exists ok 47 - Target "test" URI should have been set ok 48 - Target "test" should have no client set ok 49 - Target "test" should have no registry set ok 50 - Target "test" should have no top_dir set ok 51 - Target "test" should have no plan_file set ok 52 - Target "test" should have no deploy_dir set ok 53 - Target "test" should have no revert_dir set ok 54 - Target "test" should have no verify_dir set ok 55 - Target "test" should have no extension set ok 56 - Target "test" should have no variables set ok 57 - 'Target with registry' isa 'App::Sqitch::Command::target' ok 58 - Add target "withreg" ok 59 - Target "withreg" URI should have been set ok 60 - Target "withreg" registry should have been set ok 61 - Target "test" should have no client set ok 62 - Target "test" should have no top_dir set ok 63 - Target "test" should have no plan_file set ok 64 - Target "test" should have no deploy_dir set ok 65 - Target "test" should have no revert_dir set ok 66 - Target "test" should have no verify_dir set ok 67 - Target "test" should have no extension set ok 68 - Target "withreg" should have no variables set ok 69 - 'Target with client' isa 'App::Sqitch::Command::target' ok 70 - Add target "withcli" ok 71 - Target "withcli" URI should have been set ok 72 - Target "withcli" should have client set ok 73 - Target "withcli" should have no registry set ok 74 - Target "withcli" should have no top_dir set ok 75 - Target "withcli" should have no plan_file set ok 76 - Target "withcli" should have no deploy_dir set ok 77 - Target "withcli" should have no revert_dir set ok 78 - Target "withcli" should have no verify_dir set ok 79 - Target "withcli" should have no extension set ok 80 - Target "withcli" should have no variables set ok 81 - 'Target with client and registry' isa 'App::Sqitch::Command::target' ok 82 - Add target "withboth" ok 83 - Target "withboth" URI should have been set ok 84 - Target "withboth" registry should have been set ok 85 - Target "withboth" should have client set ok 86 - Target "withboth" should have no top_dir set ok 87 - Target "withboth" should have no plan_file set ok 88 - Target "withboth" should have no deploy_dir set ok 89 - Target "withboth" should have no revert_dir set ok 90 - Target "withboth" should have no verify_dir set ok 91 - Target "withboth" should have no extension set ok 92 - Target "withboth" should have variables set ok 93 - 'Target with all properties' isa 'App::Sqitch::Command::target' ok 94 - my.plan does not exist ok 95 - dir top/deploy does not exist ok 96 - dir top/revert does not exist ok 97 - dir top/verify does not exist ok 98 - dir r/d does not exist ok 99 - dir r/revert does not exist ok 100 - dir r/verify does not exist ok 101 - Add target "withall" ok 102 - dir top/deploy exists ok 103 - dir top/revert exists ok 104 - dir top/verify exists ok 105 - dir r/d exists ok 106 - dir r/revert exists ok 107 - dir r/verify exists ok 108 - my.plan exists ok 109 - Target "withall" should have uri set ok 110 - Target "withall" should have plan_file set ok 111 - Target "withall" should have reworked_dir set ok 112 - Target "withall" should have extension set ok 113 - Target "withall" should have variables set ok 114 - Target "withall" should have verify_dir set ok 115 - Target "withall" should have deploy_dir set ok 116 - Target "withall" should have client set ok 117 - Target "withall" should have registry set ok 118 - Target "withall" should have revert_dir set ok 119 - Target "withall" should have reworked_deploy_dir set ok 120 - Target "withall" should have top_dir set ok 121 - 'Target with no properties' isa 'App::Sqitch::Command::target' ok 122 - No name arg to alter() should yield usage ok 123 - No args should be passed to usage ok 124 - Should get error for missing target ok 125 - Missing target error ident should be "target" ok 126 - Missing target error message should be correct ok 127 - Should get error for missing target with URI ok 128 - Missing target with URI error ident should be "target" ok 129 - Missing target error message should include URI ok 130 - 'Target with more properties' isa 'App::Sqitch::Command::target' ok 131 - Alter target "withall" ok 132 - Target "withall" should have client set ok 133 - Target "withall" should have deploy_dir set ok 134 - Target "withall" should have verify_dir set ok 135 - Target "withall" should have uri set ok 136 - Target "withall" should have reworked_dir set ok 137 - Target "withall" should have extension set ok 138 - Target "withall" should have registry set ok 139 - Target "withall" should have revert_dir set ok 140 - Target "withall" should have reworked_deploy_dir set ok 141 - Target "withall" should have top_dir set ok 142 - Target "withall" should have plan_file set ok 143 - Target "withall" should have merged variables set ok 144 - 'Target with new top_dir property' isa 'App::Sqitch::Command::target' ok 145 - dir big does not exist ok 146 - dir big/deploy does not exist ok 147 - dir big/revert does not exist ok 148 - dir big/verify does not exist ok 149 - Alter target "withall" ok 150 - dir big exists ok 151 - dir big/deploy exists ok 152 - dir big/revert exists ok 153 - dir big/verify exists ok 154 - The withall top_dir should have been set ok 155 - No name args to rename() should yield usage ok 156 - No args should be passed to usage ok 157 - No second arg to rename() should yield usage ok 158 - No args should be passed to usage ok 159 - Should get error for nonexistent target ok 160 - Nonexistent target error ident should be "target" ok 161 - Nonexistent target error message should be correct ok 162 - Rename ok 163 - Target "àlafois" should now be present ok 164 - Target "àlafois" variables should now be present ok 165 - Target "withboth" should no longer be present ok 166 - Target "withboth" variables should be gone ok 167 - Target "àlafois" should have variables ok 168 - Should get error renaming a target with dependencies ok 169 - Dependency target error ident should be "target" ok 170 - Dependency target error message should be correct ok 171 - Rename "test" ok 172 - Target "funky" should now be present ok 173 - Target "test" should no longer be present ok 174 - Target "funcky" should have no variables ok 175 - No name args to remove() should yield usage ok 176 - No args should be passed to usage ok 177 - Should get error for nonexistent target ok 178 - Nonexistent target error ident should be "target" ok 179 - Nonexistent target error message should be correct ok 180 - Remove ok 181 - Target "àlafois" should now be gone ok 182 - Target "àlafois" variables should be gone, too ok 183 - Should get error removing a target with dependencies ok 184 - Dependency target error ident should be "target" ok 185 - Dependency target error message should be correct ok 186 - Remove "funky" ok 187 - Target "funky" should now be gone ok 188 - Run show() ok 189 - Show with no names should emit the list of targets ok 190 - Show dev ok 191 - The "dev" target should have been shown ok 192 - Show withcli ok 193 - The "with_cli" target should have been shown ok 194 - Show withreg ok 195 - The "withreg" target should have been shown ok 196 - Show withall ok 197 - The "withall" target should have been shown with variables ok 198 - Show three targets ok 199 - All three targets should have been shown ok 200 - 'Simple target' isa 'App::Sqitch::Command::target' ok 201 - Execute undef ok 202 - list() should have been called ok 203 - Execute undef with args ok 204 - list() should have been passed args ok 205 - Execute list ok 206 - list() should have been called ok 207 - Execute list with args ok 208 - list() should have been passed args ok 209 - Execute add ok 210 - add() should have been called ok 211 - Execute add with args ok 212 - add() should have been passed args ok 213 - Execute remove ok 214 - remove() should have been called ok 215 - Execute remove with args ok 216 - remove() should have been passed args ok 217 - Execute rm ok 218 - remove() should have been called ok 219 - Execute rm with args ok 220 - remove() should have been passed args ok 221 - Execute rename ok 222 - rename() should have been called ok 223 - Execute rename with args ok 224 - rename() should have been passed args ok 225 - Execute show ok 226 - show() should have been called ok 227 - Execute show with args ok 228 - show() should have been passed args ok 229 - Should get an exception for a nonexistent action ok 230 - Nonexistent action message should be passed to usage ok 231 - Invalid URI rock should throw an error ok 232 - Invalid URI rock error ident should be "target" ok 233 - Invalid URI rock error message should be correct ok 234 - Invalid URI https://www.google.com/ should throw an error ok 235 - Invalid URI https://www.google.com/ error ident should be "target" ok 236 - Invalid URI https://www.google.com/ error message should be correct ok 237 - Engineless URI should throw an error ok 238 - Engineless URI error ident should be "target" ok 239 - Engineless URI error message should be correct ok 240 - Unknown engine URI should throw an error ok 241 - Unknown engine URI error ident should be "target" ok 242 - Unknown engine URI error message should be correct ok 243 - no warnings ok t/upgrade.t ......... 1..25 ok 1 - require App::Sqitch::Command::upgrade; ok 2 - Load a sqitch object ok 3 - 'upgrade command' isa 'App::Sqitch::Command::upgrade' ok 4 - App::Sqitch::Command::upgrade->can(...) ok 5 - App::Sqitch::Command::upgrade does ConnectingCommand ok 6 - Options should be correct ok 7 - Should parse options ok 8 - Options should not conflict with core options ok 9 - Execute upgrade ok 10 - Upgrade should not have been called ok 11 - Should get output for up-to-date registry ok 12 - Execute upgrade with target ok 13 - Upgrade should again not have been called ok 14 - Should get output for up-to-date registry with target ok 15 - Execute upgrade with engine ok 16 - Upgrade should again not have been called ok 17 - Should get output for up-to-date registry with target ok 18 - 'upgrade command with target' isa 'App::Sqitch::Command::upgrade' ok 19 - Execute upgrade with target option ok 20 - Upgrade should still not have been called ok 21 - Should get output for up-to-date registry with target option ok 22 - Execute upgrade with out-of-date registry ok 23 - Upgrade should now have been called ok 24 - Should get output for the upgrade ok 25 - no warnings ok t/verify.t .......... ok 1 - require App::Sqitch::Command::verify; ok 2 - The class (or class-like) 'App::Sqitch::Command::verify' isa 'App::Sqitch::Command' ok 3 - App::Sqitch::Command::verify->can(...) ok 4 - App::Sqitch::Command::verify does ContextCommand ok 5 - App::Sqitch::Command::verify does ConnectingCommand ok 6 - Options should be correct ok 7 - Should parse options ok 8 - Options should not conflict with core options ok 9 - Should have default configuration with no config or opts ok 10 - Should have changes and variables from options ok 11 - Should have no config if no options ok 12 - 'new status with target' isa 'App::Sqitch::Command::verify' ok 13 - Should have target "foo" ok 14 - An object of class 'App::Sqitch::Command::verify' isa 'App::Sqitch::Command::verify' ok 15 - Default target should be undef ok 16 - from_change should be undef ok 17 - to_change should be undef ok 18 - Should collect no variables ok 19 - Should collect core vars ok 20 - Should override core vars with deploy vars ok 21 - Should override deploy vars with verify vars ok 22 - Should override verify vars with engine vars ok 23 - Should override engine vars with target vars ok 24 - Should override target vars with --set variables ok 25 - Execute with nothing. ok 26 - Two undefs should be passed to the engine ok 27 - Should have no warnings ok 28 - Execute from "@alpha" ok 29 - "@alpha" and undef should be passed to the engine ok 30 - Should again have no warnings ok 31 - Execute from "@alpha" to "@beta" ok 32 - "@alpha" and "@beat" should be passed to the engine ok 33 - Should still have no warnings ok 34 - 'Object with from, to, and variables' isa 'App::Sqitch::Command::verify' ok 35 - Execute again ok 36 - "foo" and "bar" should be passed to the engine ok 37 - Vars should have been passed through to the engine ok 38 - Still should have no warnings ok 39 - Execute with command-line args ok 40 - "foo" and "bar" should be passed to the engine ok 41 - Vars should have been passed through to the engine ok 42 - Should have warning about which roles are used ok 43 - Execute with target arg ok 44 - The target should have been passed to the engine ok 45 - "foo" and "bar" should be passed to the engine ok 46 - Vars should have been passed through to the engine ok 47 - Should once again have no warnings ok 48 - 'Object with target' isa 'App::Sqitch::Command::verify' ok 49 - Execute with no args ok 50 - The target option should have been passed to the engine ok 51 - Undefs should be passed to the engine ok 52 - No vars should have been passed through to the engine ok 53 - Should once again have no warnings ok 54 - Execute with two targegs and two changes ok 55 - The target option should have been passed to the engine ok 56 - The two changes should be passed to the engine ok 57 - No vars should have been passed through to the engine ok 58 - Should have warning about too many targets ok 59 - Should get an exception for unknown arg ok 60 - Unknown arg ident should be "verify" ok 61 - Should get an exeption for two unknown arg ok 62 - Should get an exception for unknown args ok 63 - Unknown args ident should be "verify" ok 64 - Should get an exeption for two unknown args 1..64 ok t/vertica.t ......... ok 1 - require App::Sqitch::Engine::vertica; ok 2 - config_vars should return three vars ok 3 - An object of class 'App::Sqitch::Engine::vertica' isa 'App::Sqitch::Engine::vertica' ok 4 - Key should be "vertica" ok 5 - Name should be "Vertica" ok 6 - client should default to vsql ok 7 - registry default should be "sqitch" ok 8 - DB URI should be "db:vertica:" ok 9 - Destination should fall back on environment variables ok 10 - Registry destination should be the same as destination ok 11 - vsql command should be username and std opts-only ok 12 - An object of class 'App::Sqitch::Engine::vertica' isa 'App::Sqitch::Engine::vertica' ok 13 - Set some variables ok 14 - Variables should be passed to vsql via --set ok 15 - Target name should not read $VSQL_DATABASE ok 16 - Registry target should be the same as destination ok 17 - Should have username when VSQL_DATABASE set ok 18 - Should have password when VSQL_DATABASE set ok 19 - Target name should not read $VSQL_USER ok 20 - Registry target should be the same as destination ok 21 - Should have username when VSQL_USER set ok 22 - Should have password when VSQL_USER set ok 23 - Target name should not read $VSQL_PASSWORD ok 24 - Registry target should be the same as destination ok 25 - Should have username when VSQL_PASSWORD set ok 26 - Should have password when VSQL_PASSWORD set ok 27 - Target name should not fall back on sysuser ok 28 - Registry target should be the same as destination ok 29 - Target name should be the default ok 30 - Registry target should be the same as destination ok 31 - Create another vertica ok 32 - client should be as configured ok 33 - uri should be as configured ok 34 - registry should be as configured ok 35 - vsql command should be configured from URI config ok 36 - App::Sqitch::Engine::vertica->can(...) ok 37 - VSQL_PASSWORD should be "s3cr3t" ok 38 - Call _run ok 39 - Command should be passed to run() ok 40 - VSQL_PASSWORD should be "s3cr3t" ok 41 - Call _spool ok 42 - Command should be passed to spool() ok 43 - VSQL_PASSWORD should be "s3cr3t" ok 44 - Call _capture ok 45 - Command should be passed to capture() ok 46 - VSQL_PASSWORD should be "s3cr3t" ok 47 - Call _probe ok 48 - Should have expected arguments to _probe ok 49 - Create a vertica with sqitch with no pw ok 50 - VSQL_PASSWORD should not exist ok 51 - Call _run again ok 52 - Command should be passed to run() again ok 53 - VSQL_PASSWORD should not exist ok 54 - Call _spool again ok 55 - Command should be passed to spool() again ok 56 - VSQL_PASSWORD should not exist ok 57 - Call _capture again ok 58 - Command should be passed to capture() again ok 59 - VSQL_PASSWORD should not exist ok 60 - Call _probe again ok 61 - Should again have expected arguments to _probe ok 62 - VSQL_PASSWORD should not exist ok 63 - Run foo/bar.sql ok 64 - File should be passed to run() ok 65 - VSQL_PASSWORD should not exist ok 66 - Spool a "file handle" ok 67 - Handle should be passed to spool() ok 68 - VSQL_PASSWORD should not exist ok 69 - Verify foo/bar.sql ok 70 - Verify file should be passed to capture() ok 71 - VSQL_PASSWORD should not exist ok 72 - Verify foo/bar.sql again ok 73 - Verifile file should be passed to run() for high verbosity ok 74 - App::Sqitch::Engine::vertica->can('_ts2char_format') ok 75 - _ts2char_format should work ok 76 - App::Sqitch::Engine::vertica->can('_dt') ok 77 - 'Return value of _dt()' isa 'App::Sqitch::DateTime' ok 78 - DateTime year should be set ok 79 - DateTime month should be set ok 80 - DateTime day should be set ok 81 - DateTime hour should be set ok 82 - DateTime minute should be set ok 83 - DateTime second should be set ok 84 - DateTime TZ should be set ok 85 - Should have no listagg format ok 86 - Should have no table error ok 87 - Should have no column error ok 88 - Should now have table error ok 89 - Still should have no column error ok 90 - Should again have no table error ok 91 - Should now have no column error ok 92 - current_state should propagate an error when it's not a column error ok 93 - _cid should propagate an error when it's not a table or column error ok 94 - App::Sqitch::Engine::vertica->can(...) # Subtest: live database 1..0 # SKIP Unable to live-test Vertica engine: DBD::ODBC 1.59 required to manage Vertica at t/vertica.t line 372. ok 95 # skip Unable to live-test Vertica engine: DBD::ODBC 1.59 required to manage Vertica at t/vertica.t line 372. # 1..95 ok t/win32.t ........... 1..2 ok 1 - Should have "MSWin32" ok 2 - CAN_OUTPUT_COLOR should be set properly ok t/x.t ............... ok 1 - require App::Sqitch::X; ok 2 - 'X object' isa 'App::Sqitch::X' ok 3 - X object does Throwable ok 4 - X object does StackTrace::Auto ok 5 - Create X without ident ok 6 - Default ident should be "DEV" ok 7 - threw App::Sqitch::X ok 8 - 'Thrown object' isa 'App::Sqitch::X' ok 9 - Ident should be "basic" ok 10 - The message should have been passed ok 11 - It should have a stack trace ok 12 - Exit val should be 2 ok 13 - The trace should start in this file ok 14 - threw App::Sqitch::X ok 15 - 'Thrown object' isa 'App::Sqitch::X' ok 16 - Ident should be "DEV" ok 17 - The message should have been passed ok 18 - Exit val should again be 2 ok 19 - Previous exception should have been passed ok 20 - threw App::Sqitch::X ok 21 - 'Thrown object' isa 'App::Sqitch::X' ok 22 - The params should have been passed ok 23 - Exit val should be 1 ok 24 - Stringification should work ok 25 - Stringification should work ok 26 - Should be an "io" exception ok 27 - Should catch error called via &goto 1..27 ok All tests successful. Files=51, Tests=7581, 53 wallclock secs ( 0.44 usr 0.10 sys + 26.36 cusr 1.98 csys = 28.88 CPU) Result: PASS create-stamp debian/debhelper-build-stamp dh_prep dh_auto_install --destdir=debian/sqitch/ /usr/bin/perl Build install --destdir /build/reproducible-path/sqitch-1.4.1/debian/sqitch --create_packlist 0 Building App-Sqitch Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/tools/upgrade-registry-to-mysql-5.6.4.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/tools/upgrade-registry-to-mysql-5.5.0.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/verify/vertica.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/verify/mysql.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/verify/oracle.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/verify/exasol.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/verify/pg.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/verify/firebird.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/verify/sqlite.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/verify/snowflake.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/deploy/vertica.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/deploy/mysql.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/deploy/oracle.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/deploy/exasol.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/deploy/pg.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/deploy/firebird.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/deploy/sqlite.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/deploy/snowflake.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/revert/vertica.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/revert/mysql.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/revert/oracle.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/revert/exasol.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/revert/pg.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/revert/firebird.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/revert/sqlite.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/etc/sqitch/templates/revert/snowflake.tmpl Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-log-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitchtutorial-vertica.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-tag-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-rebase-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-rework.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-status.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-config.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-log.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-check.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitchtutorial-exasol.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-bundle-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-engine-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-rebase.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-bundle.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-init-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-deploy.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-passwords.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-show-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-target-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-checkout-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-status-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-help.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-plan.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-deploy-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-help-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitchtutorial-oracle.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-init.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitchtutorial.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-environment.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-show.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-tag.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitchtutorial-firebird.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-rework-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-config-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-configuration.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-checkout.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-target.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-upgrade-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-check-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitchcommands.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-add-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-verify.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitchtutorial-snowflake.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitchusage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitchguides.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-plan-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-verify-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitchtutorial-mysql.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitchtutorial-sqlite.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-add.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-revert.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-authentication.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-engine.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitchchanges.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-revert-usage.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/sqitch-upgrade.pod Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/LocaleData/fr_FR/LC_MESSAGES/App-Sqitch.mo Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/LocaleData/it_IT/LC_MESSAGES/App-Sqitch.mo Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/LocaleData/de_DE/LC_MESSAGES/App-Sqitch.mo Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Plan.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Types.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/DateTime.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Target.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/X.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Config.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/ItemFormatter.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/mysql.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/pg.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/firebird.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/snowflake.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/exasol.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/oracle.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/pg.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/sqlite.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/firebird.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/cockroach.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/mysql.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/snowflake.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/vertica.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/sqlite.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/vertica.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/exasol.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/cockroach.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/oracle.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/pg-1.1.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/sqlite-1.0.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/exasol-1.0.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/cockroach-1.1.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/oracle-1.0.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/snowflake-1.0.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/pg-1.0.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/vertica-1.1.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/firebird-1.1.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/firebird-1.0.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/mysql-1.0.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/mysql-1.1.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/vertica-1.0.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/oracle-1.1.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/cockroach-1.0.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/exasol-1.1.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/snowflake-1.1.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Engine/Upgrade/sqlite-1.1.sql Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Plan/Line.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Plan/Change.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Plan/Pragma.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Plan/Tag.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Plan/LineList.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Plan/Depend.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Plan/Blank.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Plan/ChangeList.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Role/ConnectingCommand.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Role/ContextCommand.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Role/RevertDeployCommand.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Role/DBIEngine.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Role/TargetConfigCommand.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/target.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/deploy.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/upgrade.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/revert.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/verify.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/help.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/bundle.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/rework.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/log.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/status.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/config.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/plan.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/add.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/init.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/rebase.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/tag.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/show.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/check.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/checkout.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/App/Sqitch/Command/engine.pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::rebase.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-deploy.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Role::DBIEngine.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitchtutorial-oracle.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-log.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::target.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-add-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitchtutorial-vertica.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Role::RevertDeployCommand.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Engine::sqlite.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Role::TargetConfigCommand.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::checkout.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-bundle.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::verify.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-checkout.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Plan::LineList.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::status.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-configuration.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Engine::cockroach.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::ItemFormatter.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-rebase-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-passwords.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-init-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::tag.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-deploy-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-add.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Role::ContextCommand.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Config.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::plan.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Engine::vertica.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Engine::snowflake.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitchcommands.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-environment.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::rework.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Engine.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-checkout-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-tag-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitchtutorial-snowflake.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-rebase.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Role::ConnectingCommand.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::add.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Plan::Change.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::show.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Plan::Blank.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::engine.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-check.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Plan::Pragma.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::upgrade.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-log-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-rework-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitchchanges.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::DateTime.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitchtutorial-sqlite.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-help.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-tag.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-engine-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitchtutorial-exasol.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::X.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Plan::Line.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-revert-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-target-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Engine::exasol.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::init.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-upgrade.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-show.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-authentication.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitchtutorial.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Engine::oracle.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Plan::Tag.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Engine::firebird.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitchtutorial-firebird.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-plan.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::deploy.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-config.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-status-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-help-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Engine::pg.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-verify.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Engine::mysql.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitchusage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::log.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Plan::Depend.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::bundle.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitchtutorial-mysql.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-show-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-plan-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::config.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-config-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-status.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::help.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-revert.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-check-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-rework.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::revert.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Plan::ChangeList.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitchguides.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-engine.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Types.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-bundle-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Target.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-init.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Command::check.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-target.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-upgrade-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/sqitch-verify-usage.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/man/man3/App::Sqitch::Plan.3pm Installing /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/bin/sqitch dh_installdocs dh_installchangelogs dh_installman dh_perl dh_link debian/rules override_dh_strip_nondeterminism make[1]: Entering directory '/build/reproducible-path/sqitch-1.4.1' # dh_strip_nondeterminism: warning: Ignoring unwritable file: App-Sqitch.mo chmod 644 /build/reproducible-path/sqitch-1.4.1/debian/sqitch/usr/share/perl5/LocaleData/*/LC_MESSAGES/App-Sqitch.mo dh_strip_nondeterminism Normalized debian/sqitch/usr/share/perl5/LocaleData/it_IT/LC_MESSAGES/App-Sqitch.mo Normalized debian/sqitch/usr/share/perl5/LocaleData/fr_FR/LC_MESSAGES/App-Sqitch.mo Normalized debian/sqitch/usr/share/perl5/LocaleData/de_DE/LC_MESSAGES/App-Sqitch.mo make[1]: Leaving directory '/build/reproducible-path/sqitch-1.4.1' dh_compress dh_fixperms dh_missing dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'sqitch' in '../sqitch_1.4.1-2_all.deb'. dpkg-genbuildinfo --build=binary -O../sqitch_1.4.1-2_i386.buildinfo dpkg-genchanges --build=binary -O../sqitch_1.4.1-2_i386.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/3790 and its subdirectories I: Current time: Tue Oct 22 23:59:50 -12 2024 I: pbuilder-time-stamp: 1729684790