PATH=C:\Program Files\Microsoft Platform SDK\Bin;C:\Program Files\Microsoft Platform SDK\Bin\WinNT;C:\Program Files\Microsoft Visual Studio\VC98\Bin;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\Perl-5.14\site\bin;C:\Perl-5.14\bin;C:\cygwin\bin;C:\Program Files\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\instantclient_11_2;C:\cygwin\bin;C:\Program Files\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\mysql\bin Start 2012-09-30T02:53:43 ActivePerl-1400 CPAN-1.9402 LIB=C:\PROGRA~1\MICROS~3\VC98\Lib\PSDK;C:\PROGRA~1\MICROS~2\Lib;C:\PROGRA~1\MICROS~3\VC98\Lib;C:\PROGRA~1\MICROS~3\VC98\MFC\Lib INCLUDE=C:\PROGRA~1\MICROS~2\Include;C:\PROGRA~1\MICROS~3\VC98\ATL\Include;C:\PROGRA~1\MICROS~3\VC98\Include;C:\PROGRA~1\MICROS~3\VC98\MFC\Include PATH=C:/CPANFL~1.14/var/libs/bin;C:\PROGRA~1\MICROS~2\Bin;C:\PROGRA~1\MICROS~2\Bin\WinNT;C:\PROGRA~1\MICROS~3\VC98\Bin;C:\PROGRA~1\MICROS~3\Common\MSDev98\Bin;C:\Perl-5.14\site\bin;C:\Perl-5.14\bin;C:\cygwin\bin;C:\PROGRA~1\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\INSTAN~1;C:\cygwin\bin;C:\PROGRA~1\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\mysql\bin Going to read 'C:\cpanfly-5.14\var\cpan\Metadata' Database was generated on Sun, 30 Sep 2012 08:07:03 GMT Running make for D/DW/DWHEELER/App-Sqitch-0.934.tar.gz Fetching with LWP: http://cpan.nas.activestate.com/authors/id/D/DW/DWHEELER/App-Sqitch-0.934.tar.gz Fetching with LWP: http://cpan.nas.activestate.com/authors/id/D/DW/DWHEELER/CHECKSUMS Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\D\DW\DWHEELER\App-Sqitch-0.934.tar.gz ok App-Sqitch-0.934/ App-Sqitch-0.934/bin/ App-Sqitch-0.934/Build.PL App-Sqitch-0.934/Changes App-Sqitch-0.934/dist/ App-Sqitch-0.934/etc/ App-Sqitch-0.934/inc/ App-Sqitch-0.934/lib/ App-Sqitch-0.934/LICENSE App-Sqitch-0.934/MANIFEST App-Sqitch-0.934/META.json App-Sqitch-0.934/META.yml App-Sqitch-0.934/README App-Sqitch-0.934/README.md App-Sqitch-0.934/t/ App-Sqitch-0.934/xt/ App-Sqitch-0.934/xt/release/ App-Sqitch-0.934/xt/release/pod-spelling.t App-Sqitch-0.934/t/add.t App-Sqitch-0.934/t/add_change.conf App-Sqitch-0.934/t/base.t App-Sqitch-0.934/t/blank.t App-Sqitch-0.934/t/bundle.t App-Sqitch-0.934/t/change.t App-Sqitch-0.934/t/changelist.t App-Sqitch-0.934/t/command.t App-Sqitch-0.934/t/config.t App-Sqitch-0.934/t/configuration.t App-Sqitch-0.934/t/datetime.t App-Sqitch-0.934/t/depend.t App-Sqitch-0.934/t/deploy.t App-Sqitch-0.934/t/die.pl App-Sqitch-0.934/t/echo.pl App-Sqitch-0.934/t/engine.t App-Sqitch-0.934/t/help.t App-Sqitch-0.934/t/init.t App-Sqitch-0.934/t/lib/ App-Sqitch-0.934/t/linelist.t App-Sqitch-0.934/t/local.conf App-Sqitch-0.934/t/log.t App-Sqitch-0.934/t/options.t App-Sqitch-0.934/t/pg/ App-Sqitch-0.934/t/pg.t App-Sqitch-0.934/t/plan.t App-Sqitch-0.934/t/plans/ App-Sqitch-0.934/t/pod-coverage.t App-Sqitch-0.934/t/pod.t App-Sqitch-0.934/t/pragma.t App-Sqitch-0.934/t/read.pl App-Sqitch-0.934/t/revert.t App-Sqitch-0.934/t/rework.t App-Sqitch-0.934/t/sqitch App-Sqitch-0.934/t/sqitch.conf App-Sqitch-0.934/t/sql/ App-Sqitch-0.934/t/sqlite.t App-Sqitch-0.934/t/status.t App-Sqitch-0.934/t/tag.t App-Sqitch-0.934/t/tag_cmd.t App-Sqitch-0.934/t/user.conf App-Sqitch-0.934/t/x.t App-Sqitch-0.934/t/sql/deploy/ App-Sqitch-0.934/t/sql/sqitch.plan App-Sqitch-0.934/t/sql/deploy/roles.sql App-Sqitch-0.934/t/sql/deploy/users.sql App-Sqitch-0.934/t/sql/deploy/widgets.sql App-Sqitch-0.934/t/plans/bad-change.plan App-Sqitch-0.934/t/plans/changes-only.plan App-Sqitch-0.934/t/plans/dependencies.plan App-Sqitch-0.934/t/plans/deploy-and-revert.plan App-Sqitch-0.934/t/plans/dupe-change-diff-tag.plan App-Sqitch-0.934/t/plans/dupe-change.plan App-Sqitch-0.934/t/plans/dupe-tag.plan App-Sqitch-0.934/t/plans/multi.plan App-Sqitch-0.934/t/plans/pragmas.plan App-Sqitch-0.934/t/plans/project_deps.plan App-Sqitch-0.934/t/plans/reserved-tag.plan App-Sqitch-0.934/t/plans/widgets.plan App-Sqitch-0.934/t/pg/deploy/ App-Sqitch-0.934/t/pg/revert/ App-Sqitch-0.934/t/pg/sqitch.plan App-Sqitch-0.934/t/pg/revert/users.sql App-Sqitch-0.934/t/pg/revert/widgets.sql App-Sqitch-0.934/t/pg/deploy/users.sql App-Sqitch-0.934/t/pg/deploy/widgets.sql App-Sqitch-0.934/t/lib/App/ App-Sqitch-0.934/t/lib/MockOutput.pm App-Sqitch-0.934/t/lib/App/Sqitch/ App-Sqitch-0.934/t/lib/App/Sqitch/Command/ App-Sqitch-0.934/t/lib/App/Sqitch/Engine/ App-Sqitch-0.934/t/lib/App/Sqitch/Engine/bad.pm App-Sqitch-0.934/t/lib/App/Sqitch/Engine/good.pm App-Sqitch-0.934/t/lib/App/Sqitch/Command/bad.pm App-Sqitch-0.934/t/lib/App/Sqitch/Command/good.pm App-Sqitch-0.934/lib/App/ App-Sqitch-0.934/lib/LocaleData/ App-Sqitch-0.934/lib/sqitch-add-usage.pod App-Sqitch-0.934/lib/sqitch-add.pod App-Sqitch-0.934/lib/sqitch-bundle-usage.pod App-Sqitch-0.934/lib/sqitch-bundle.pod App-Sqitch-0.934/lib/sqitch-config-usage.pod App-Sqitch-0.934/lib/sqitch-config.pod App-Sqitch-0.934/lib/sqitch-deploy-usage.pod App-Sqitch-0.934/lib/sqitch-deploy.pod App-Sqitch-0.934/lib/sqitch-help-usage.pod App-Sqitch-0.934/lib/sqitch-help.pod App-Sqitch-0.934/lib/sqitch-init-usage.pod App-Sqitch-0.934/lib/sqitch-init.pod App-Sqitch-0.934/lib/sqitch-log-usage.pod App-Sqitch-0.934/lib/sqitch-log.pod App-Sqitch-0.934/lib/sqitch-revert-usage.pod App-Sqitch-0.934/lib/sqitch-revert.pod App-Sqitch-0.934/lib/sqitch-rework-usage.pod App-Sqitch-0.934/lib/sqitch-rework.pod App-Sqitch-0.934/lib/sqitch-status-usage.pod App-Sqitch-0.934/lib/sqitch-status.pod App-Sqitch-0.934/lib/sqitch-tag-usage.pod App-Sqitch-0.934/lib/sqitch-tag.pod App-Sqitch-0.934/lib/sqitch.pod App-Sqitch-0.934/lib/sqitchchanges.pod App-Sqitch-0.934/lib/sqitchcommands.pod App-Sqitch-0.934/lib/sqitchtutorial.pod App-Sqitch-0.934/lib/LocaleData/de/ App-Sqitch-0.934/lib/LocaleData/fr/ App-Sqitch-0.934/lib/LocaleData/fr/LC_MESSAGES/ App-Sqitch-0.934/lib/LocaleData/fr/LC_MESSAGES/App-Sqitch.mo App-Sqitch-0.934/lib/LocaleData/de/LC_MESSAGES/ App-Sqitch-0.934/lib/LocaleData/de/LC_MESSAGES/App-Sqitch.mo App-Sqitch-0.934/lib/App/Sqitch/ App-Sqitch-0.934/lib/App/Sqitch.pm App-Sqitch-0.934/lib/App/Sqitch/Command/ App-Sqitch-0.934/lib/App/Sqitch/Command.pm App-Sqitch-0.934/lib/App/Sqitch/Config.pm App-Sqitch-0.934/lib/App/Sqitch/DateTime.pm App-Sqitch-0.934/lib/App/Sqitch/Engine/ App-Sqitch-0.934/lib/App/Sqitch/Engine.pm App-Sqitch-0.934/lib/App/Sqitch/Plan/ App-Sqitch-0.934/lib/App/Sqitch/Plan.pm App-Sqitch-0.934/lib/App/Sqitch/X.pm App-Sqitch-0.934/lib/App/Sqitch/Plan/Blank.pm App-Sqitch-0.934/lib/App/Sqitch/Plan/Change.pm App-Sqitch-0.934/lib/App/Sqitch/Plan/ChangeList.pm App-Sqitch-0.934/lib/App/Sqitch/Plan/Depend.pm App-Sqitch-0.934/lib/App/Sqitch/Plan/Line.pm App-Sqitch-0.934/lib/App/Sqitch/Plan/LineList.pm App-Sqitch-0.934/lib/App/Sqitch/Plan/Pragma.pm App-Sqitch-0.934/lib/App/Sqitch/Plan/Tag.pm App-Sqitch-0.934/lib/App/Sqitch/Engine/pg.pm App-Sqitch-0.934/lib/App/Sqitch/Engine/pg.sql App-Sqitch-0.934/lib/App/Sqitch/Engine/sqlite.pm App-Sqitch-0.934/lib/App/Sqitch/Command/add.pm App-Sqitch-0.934/lib/App/Sqitch/Command/bundle.pm App-Sqitch-0.934/lib/App/Sqitch/Command/config.pm App-Sqitch-0.934/lib/App/Sqitch/Command/deploy.pm App-Sqitch-0.934/lib/App/Sqitch/Command/help.pm App-Sqitch-0.934/lib/App/Sqitch/Command/init.pm App-Sqitch-0.934/lib/App/Sqitch/Command/log.pm App-Sqitch-0.934/lib/App/Sqitch/Command/revert.pm App-Sqitch-0.934/lib/App/Sqitch/Command/rework.pm App-Sqitch-0.934/lib/App/Sqitch/Command/status.pm App-Sqitch-0.934/lib/App/Sqitch/Command/tag.pm App-Sqitch-0.934/inc/Module/ App-Sqitch-0.934/inc/Module/Build/ App-Sqitch-0.934/inc/Module/Build/Sqitch.pm App-Sqitch-0.934/etc/templates/ App-Sqitch-0.934/etc/templates/deploy.tmpl App-Sqitch-0.934/etc/templates/revert.tmpl App-Sqitch-0.934/etc/templates/test.tmpl App-Sqitch-0.934/dist/sqitch-pg.spec App-Sqitch-0.934/dist/sqitch.spec App-Sqitch-0.934/bin/sqitch CPAN.pm: Going to build D/DW/DWHEELER/App-Sqitch-0.934.tar.gz >>> C:\Perl-5.14\bin\perl.exe Build.PL Checking prerequisites... requires: ! Win32::ShellQuote is not installed ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions of the modules indicated above before proceeding with this installation Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'App-Sqitch' version '0.934' ---- Unsatisfied dependencies detected during ---- ---- DWHEELER/App-Sqitch-0.934.tar.gz ---- Win32::ShellQuote [requires] Running Build test Delayed until after prerequisites Running test for module 'Win32::ShellQuote' Running make for H/HA/HAARG/Win32-ShellQuote-0.001001.tar.gz Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\H\HA\HAARG\Win32-ShellQuote-0.001001.tar.gz ok Win32-ShellQuote-0.001001/ Win32-ShellQuote-0.001001/Changes Win32-ShellQuote-0.001001/lib/ Win32-ShellQuote-0.001001/LICENSE Win32-ShellQuote-0.001001/Makefile.PL Win32-ShellQuote-0.001001/MANIFEST Win32-ShellQuote-0.001001/META.json Win32-ShellQuote-0.001001/META.yml Win32-ShellQuote-0.001001/t/ Win32-ShellQuote-0.001001/t/00_compile.t Win32-ShellQuote-0.001001/t/dump_args.pl Win32-ShellQuote-0.001001/t/quoting.t Win32-ShellQuote-0.001001/lib/Win32/ Win32-ShellQuote-0.001001/lib/Win32/ShellQuote.pm CPAN.pm: Going to build H/HA/HAARG/Win32-ShellQuote-0.001001.tar.gz >>> C:\Perl-5.14\bin\perl.exe Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for Win32-ShellQuote Writing MYMETA.yml and MYMETA.json >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/Win32/ShellQuote.pm blib\lib\Win32\ShellQuote.pm HAARG/Win32-ShellQuote-0.001001.tar.gz nmake -- OK Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl-5.14\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/00_compile.t .. 1..1 ok 1 - require Win32::ShellQuote; ok t/quoting.t ..... 1..18 ok 1 - roundtrip ['a'] as list ok 2 - roundtrip ['a'] as string ok 3 - roundtrip ['a'] as cmd ok 4 - roundtrip ['a','>out'] as list ok 5 - roundtrip ['a','>out'] as string ok 6 - roundtrip ['a','>out'] as cmd ok 7 - roundtrip ['a','%'] as list ok 8 - roundtrip ['a','%'] as string ok 9 - roundtrip ['a','%'] as cmd ok 10 - roundtrip ['a'] as list ok 11 - roundtrip ['a'] as string ok 12 - roundtrip ['a'] as cmd ok 13 - roundtrip ['a','>out'] as list ok 14 - roundtrip ['a','>out'] as string ok 15 - roundtrip ['a','>out'] as cmd ok 16 - roundtrip ['a','%'] as list ok 17 - roundtrip ['a','%'] as string ok 18 - roundtrip ['a','%'] as cmd ok 1 - string: ['a'] 1..18 ok 1 - roundtrip ['a b'] as list ok 2 - roundtrip ['a b'] as string ok 3 - roundtrip ['a b'] as cmd ok 4 - roundtrip ['a b','>out'] as list ok 5 - roundtrip ['a b','>out'] as string ok 6 - roundtrip ['a b','>out'] as cmd ok 7 - roundtrip ['a b','%'] as list ok 8 - roundtrip ['a b','%'] as string ok 9 - roundtrip ['a b','%'] as cmd ok 10 - roundtrip ['a b'] as list ok 11 - roundtrip ['a b'] as string ok 12 - roundtrip ['a b'] as cmd ok 13 - roundtrip ['a b','>out'] as list ok 14 - roundtrip ['a b','>out'] as string ok 15 - roundtrip ['a b','>out'] as cmd ok 16 - roundtrip ['a b','%'] as list ok 17 - roundtrip ['a b','%'] as string ok 18 - roundtrip ['a b','%'] as cmd ok 2 - string: ['a b'] 1..18 ok 1 - roundtrip ['"a b"'] as list ok 2 - roundtrip ['"a b"'] as string ok 3 - roundtrip ['"a b"'] as cmd ok 4 - roundtrip ['"a b"','>out'] as list ok 5 - roundtrip ['"a b"','>out'] as string ok 6 - roundtrip ['"a b"','>out'] as cmd ok 7 - roundtrip ['"a b"','%'] as list ok 8 - roundtrip ['"a b"','%'] as string ok 9 - roundtrip ['"a b"','%'] as cmd ok 10 - roundtrip ['"a b"'] as list ok 11 - roundtrip ['"a b"'] as string ok 12 - roundtrip ['"a b"'] as cmd ok 13 - roundtrip ['"a b"','>out'] as list ok 14 - roundtrip ['"a b"','>out'] as string ok 15 - roundtrip ['"a b"','>out'] as cmd ok 16 - roundtrip ['"a b"','%'] as list ok 17 - roundtrip ['"a b"','%'] as string ok 18 - roundtrip ['"a b"','%'] as cmd ok 3 - string: ['"a b"'] 1..18 ok 1 - roundtrip ['"a" b'] as list ok 2 - roundtrip ['"a" b'] as string ok 3 - roundtrip ['"a" b'] as cmd ok 4 - roundtrip ['"a" b','>out'] as list ok 5 - roundtrip ['"a" b','>out'] as string ok 6 - roundtrip ['"a" b','>out'] as cmd ok 7 - roundtrip ['"a" b','%'] as list ok 8 - roundtrip ['"a" b','%'] as string ok 9 - roundtrip ['"a" b','%'] as cmd ok 10 - roundtrip ['"a" b'] as list ok 11 - roundtrip ['"a" b'] as string ok 12 - roundtrip ['"a" b'] as cmd ok 13 - roundtrip ['"a" b','>out'] as list ok 14 - roundtrip ['"a" b','>out'] as string ok 15 - roundtrip ['"a" b','>out'] as cmd ok 16 - roundtrip ['"a" b','%'] as list ok 17 - roundtrip ['"a" b','%'] as string ok 18 - roundtrip ['"a" b','%'] as cmd ok 4 - string: ['"a" b'] 1..18 ok 1 - roundtrip ['"a" "b"'] as list ok 2 - roundtrip ['"a" "b"'] as string ok 3 - roundtrip ['"a" "b"'] as cmd ok 4 - roundtrip ['"a" "b"','>out'] as list ok 5 - roundtrip ['"a" "b"','>out'] as string ok 6 - roundtrip ['"a" "b"','>out'] as cmd ok 7 - roundtrip ['"a" "b"','%'] as list ok 8 - roundtrip ['"a" "b"','%'] as string ok 9 - roundtrip ['"a" "b"','%'] as cmd ok 10 - roundtrip ['"a" "b"'] as list ok 11 - roundtrip ['"a" "b"'] as string ok 12 - roundtrip ['"a" "b"'] as cmd ok 13 - roundtrip ['"a" "b"','>out'] as list ok 14 - roundtrip ['"a" "b"','>out'] as string ok 15 - roundtrip ['"a" "b"','>out'] as cmd ok 16 - roundtrip ['"a" "b"','%'] as list ok 17 - roundtrip ['"a" "b"','%'] as string ok 18 - roundtrip ['"a" "b"','%'] as cmd ok 5 - string: ['"a" "b"'] 1..18 ok 1 - roundtrip ["'a'"] as list ok 2 - roundtrip ["'a'"] as string ok 3 - roundtrip ["'a'"] as cmd ok 4 - roundtrip ["'a'",">out"] as list ok 5 - roundtrip ["'a'",">out"] as string ok 6 - roundtrip ["'a'",">out"] as cmd ok 7 - roundtrip ["'a'","%"] as list ok 8 - roundtrip ["'a'","%"] as string ok 9 - roundtrip ["'a'","%"] as cmd ok 10 - roundtrip ["'a'"] as list ok 11 - roundtrip ["'a'"] as string ok 12 - roundtrip ["'a'"] as cmd ok 13 - roundtrip ["'a'",">out"] as list ok 14 - roundtrip ["'a'",">out"] as string ok 15 - roundtrip ["'a'",">out"] as cmd ok 16 - roundtrip ["'a'","%"] as list ok 17 - roundtrip ["'a'","%"] as string ok 18 - roundtrip ["'a'","%"] as cmd ok 6 - string: ["'a'"] 1..18 ok 1 - roundtrip ['"a'] as list ok 2 - roundtrip ['"a'] as string ok 3 - roundtrip ['"a'] as cmd ok 4 - roundtrip ['"a','>out'] as list ok 5 - roundtrip ['"a','>out'] as string ok 6 - roundtrip ['"a','>out'] as cmd ok 7 - roundtrip ['"a','%'] as list ok 8 - roundtrip ['"a','%'] as string ok 9 - roundtrip ['"a','%'] as cmd ok 10 - roundtrip ['"a'] as list ok 11 - roundtrip ['"a'] as string ok 12 - roundtrip ['"a'] as cmd ok 13 - roundtrip ['"a','>out'] as list ok 14 - roundtrip ['"a','>out'] as string ok 15 - roundtrip ['"a','>out'] as cmd ok 16 - roundtrip ['"a','%'] as list ok 17 - roundtrip ['"a','%'] as string ok 18 - roundtrip ['"a','%'] as cmd ok 7 - string: ['"a'] 1..18 ok 1 - roundtrip ['"a b'] as list ok 2 - roundtrip ['"a b'] as string ok 3 - roundtrip ['"a b'] as cmd ok 4 - roundtrip ['"a b','>out'] as list ok 5 - roundtrip ['"a b','>out'] as string ok 6 - roundtrip ['"a b','>out'] as cmd ok 7 - roundtrip ['"a b','%'] as list ok 8 - roundtrip ['"a b','%'] as string ok 9 - roundtrip ['"a b','%'] as cmd ok 10 - roundtrip ['"a b'] as list ok 11 - roundtrip ['"a b'] as string ok 12 - roundtrip ['"a b'] as cmd ok 13 - roundtrip ['"a b','>out'] as list ok 14 - roundtrip ['"a b','>out'] as string ok 15 - roundtrip ['"a b','>out'] as cmd ok 16 - roundtrip ['"a b','%'] as list ok 17 - roundtrip ['"a b','%'] as string ok 18 - roundtrip ['"a b','%'] as cmd ok 8 - string: ['"a b'] 1..18 ok 1 - roundtrip ["'a"] as list ok 2 - roundtrip ["'a"] as string ok 3 - roundtrip ["'a"] as cmd ok 4 - roundtrip ["'a",">out"] as list ok 5 - roundtrip ["'a",">out"] as string ok 6 - roundtrip ["'a",">out"] as cmd ok 7 - roundtrip ["'a","%"] as list ok 8 - roundtrip ["'a","%"] as string ok 9 - roundtrip ["'a","%"] as cmd ok 10 - roundtrip ["'a"] as list ok 11 - roundtrip ["'a"] as string ok 12 - roundtrip ["'a"] as cmd ok 13 - roundtrip ["'a",">out"] as list ok 14 - roundtrip ["'a",">out"] as string ok 15 - roundtrip ["'a",">out"] as cmd ok 16 - roundtrip ["'a","%"] as list ok 17 - roundtrip ["'a","%"] as string ok 18 - roundtrip ["'a","%"] as cmd ok 9 - string: ["'a"] 1..18 ok 1 - roundtrip ["'a b"] as list ok 2 - roundtrip ["'a b"] as string ok 3 - roundtrip ["'a b"] as cmd ok 4 - roundtrip ["'a b",">out"] as list ok 5 - roundtrip ["'a b",">out"] as string ok 6 - roundtrip ["'a b",">out"] as cmd ok 7 - roundtrip ["'a b","%"] as list ok 8 - roundtrip ["'a b","%"] as string ok 9 - roundtrip ["'a b","%"] as cmd ok 10 - roundtrip ["'a b"] as list ok 11 - roundtrip ["'a b"] as string ok 12 - roundtrip ["'a b"] as cmd ok 13 - roundtrip ["'a b",">out"] as list ok 14 - roundtrip ["'a b",">out"] as string ok 15 - roundtrip ["'a b",">out"] as cmd ok 16 - roundtrip ["'a b","%"] as list ok 17 - roundtrip ["'a b","%"] as string ok 18 - roundtrip ["'a b","%"] as cmd ok 10 - string: ["'a b"] 1..18 ok 1 - roundtrip ["'a b\""] as list ok 2 - roundtrip ["'a b\""] as string ok 3 - roundtrip ["'a b\""] as cmd ok 4 - roundtrip ["'a b\"",">out"] as list ok 5 - roundtrip ["'a b\"",">out"] as string ok 6 - roundtrip ["'a b\"",">out"] as cmd ok 7 - roundtrip ["'a b\"","%"] as list ok 8 - roundtrip ["'a b\"","%"] as string ok 9 - roundtrip ["'a b\"","%"] as cmd ok 10 - roundtrip ["'a b\""] as list ok 11 - roundtrip ["'a b\""] as string ok 12 - roundtrip ["'a b\""] as cmd ok 13 - roundtrip ["'a b\"",">out"] as list ok 14 - roundtrip ["'a b\"",">out"] as string ok 15 - roundtrip ["'a b\"",">out"] as cmd ok 16 - roundtrip ["'a b\"","%"] as list ok 17 - roundtrip ["'a b\"","%"] as string ok 18 - roundtrip ["'a b\"","%"] as cmd ok 11 - string: ["'a b\""] 1..18 ok 1 - roundtrip ['\\a'] as list ok 2 - roundtrip ['\\a'] as string ok 3 - roundtrip ['\\a'] as cmd ok 4 - roundtrip ['\\a','>out'] as list ok 5 - roundtrip ['\\a','>out'] as string ok 6 - roundtrip ['\\a','>out'] as cmd ok 7 - roundtrip ['\\a','%'] as list ok 8 - roundtrip ['\\a','%'] as string ok 9 - roundtrip ['\\a','%'] as cmd ok 10 - roundtrip ['\\a'] as list ok 11 - roundtrip ['\\a'] as string ok 12 - roundtrip ['\\a'] as cmd ok 13 - roundtrip ['\\a','>out'] as list ok 14 - roundtrip ['\\a','>out'] as string ok 15 - roundtrip ['\\a','>out'] as cmd ok 16 - roundtrip ['\\a','%'] as list ok 17 - roundtrip ['\\a','%'] as string ok 18 - roundtrip ['\\a','%'] as cmd ok 12 - string: ['\\a'] 1..18 ok 1 - roundtrip ['\\"a'] as list ok 2 - roundtrip ['\\"a'] as string ok 3 - roundtrip ['\\"a'] as cmd ok 4 - roundtrip ['\\"a','>out'] as list ok 5 - roundtrip ['\\"a','>out'] as string ok 6 - roundtrip ['\\"a','>out'] as cmd ok 7 - roundtrip ['\\"a','%'] as list ok 8 - roundtrip ['\\"a','%'] as string ok 9 - roundtrip ['\\"a','%'] as cmd ok 10 - roundtrip ['\\"a'] as list ok 11 - roundtrip ['\\"a'] as string ok 12 - roundtrip ['\\"a'] as cmd ok 13 - roundtrip ['\\"a','>out'] as list ok 14 - roundtrip ['\\"a','>out'] as string ok 15 - roundtrip ['\\"a','>out'] as cmd ok 16 - roundtrip ['\\"a','%'] as list ok 17 - roundtrip ['\\"a','%'] as string ok 18 - roundtrip ['\\"a','%'] as cmd ok 13 - string: ['\\"a'] 1..18 ok 1 - roundtrip ['\\ a'] as list ok 2 - roundtrip ['\\ a'] as string ok 3 - roundtrip ['\\ a'] as cmd ok 4 - roundtrip ['\\ a','>out'] as list ok 5 - roundtrip ['\\ a','>out'] as string ok 6 - roundtrip ['\\ a','>out'] as cmd ok 7 - roundtrip ['\\ a','%'] as list ok 8 - roundtrip ['\\ a','%'] as string ok 9 - roundtrip ['\\ a','%'] as cmd ok 10 - roundtrip ['\\ a'] as list ok 11 - roundtrip ['\\ a'] as string ok 12 - roundtrip ['\\ a'] as cmd ok 13 - roundtrip ['\\ a','>out'] as list ok 14 - roundtrip ['\\ a','>out'] as string ok 15 - roundtrip ['\\ a','>out'] as cmd ok 16 - roundtrip ['\\ a','%'] as list ok 17 - roundtrip ['\\ a','%'] as string ok 18 - roundtrip ['\\ a','%'] as cmd ok 14 - string: ['\\ a'] 1..18 ok 1 - roundtrip ["\\ \"' a"] as list ok 2 - roundtrip ["\\ \"' a"] as string ok 3 - roundtrip ["\\ \"' a"] as cmd ok 4 - roundtrip ["\\ \"' a",">out"] as list ok 5 - roundtrip ["\\ \"' a",">out"] as string ok 6 - roundtrip ["\\ \"' a",">out"] as cmd ok 7 - roundtrip ["\\ \"' a","%"] as list ok 8 - roundtrip ["\\ \"' a","%"] as string ok 9 - roundtrip ["\\ \"' a","%"] as cmd ok 10 - roundtrip ["\\ \"' a"] as list ok 11 - roundtrip ["\\ \"' a"] as string ok 12 - roundtrip ["\\ \"' a"] as cmd ok 13 - roundtrip ["\\ \"' a",">out"] as list ok 14 - roundtrip ["\\ \"' a",">out"] as string ok 15 - roundtrip ["\\ \"' a",">out"] as cmd ok 16 - roundtrip ["\\ \"' a","%"] as list ok 17 - roundtrip ["\\ \"' a","%"] as string ok 18 - roundtrip ["\\ \"' a","%"] as cmd ok 15 - string: ["\\ \"' a"] 1..18 ok 1 - roundtrip ["\\ \"' a",">\\"] as list ok 2 - roundtrip ["\\ \"' a",">\\"] as string ok 3 - roundtrip ["\\ \"' a",">\\"] as cmd ok 4 - roundtrip ["\\ \"' a",">\\",">out"] as list ok 5 - roundtrip ["\\ \"' a",">\\",">out"] as string ok 6 - roundtrip ["\\ \"' a",">\\",">out"] as cmd ok 7 - roundtrip ["\\ \"' a",">\\","%"] as list ok 8 - roundtrip ["\\ \"' a",">\\","%"] as string ok 9 - roundtrip ["\\ \"' a",">\\","%"] as cmd ok 10 - roundtrip ["\\ \"' a",">\\"] as list ok 11 - roundtrip ["\\ \"' a",">\\"] as string ok 12 - roundtrip ["\\ \"' a",">\\"] as cmd ok 13 - roundtrip ["\\ \"' a",">\\",">out"] as list ok 14 - roundtrip ["\\ \"' a",">\\",">out"] as string ok 15 - roundtrip ["\\ \"' a",">\\",">out"] as cmd ok 16 - roundtrip ["\\ \"' a",">\\","%"] as list ok 17 - roundtrip ["\\ \"' a",">\\","%"] as string ok 18 - roundtrip ["\\ \"' a",">\\","%"] as cmd ok 16 - string: ["\\ \"' a",">\\"] 1..18 ok 1 - roundtrip ['%a%'] as list ok 2 - roundtrip ['%a%'] as string ok 3 - roundtrip ['%a%'] as cmd ok 4 - roundtrip ['%a%','>out'] as list ok 5 - roundtrip ['%a%','>out'] as string ok 6 - roundtrip ['%a%','>out'] as cmd ok 7 - roundtrip ['%a%','%'] as list ok 8 - roundtrip ['%a%','%'] as string ok 9 - roundtrip ['%a%','%'] as cmd ok 10 - roundtrip ['%a%'] as list ok 11 - roundtrip ['%a%'] as string ok 12 - roundtrip ['%a%'] as cmd ok 13 - roundtrip ['%a%','>out'] as list ok 14 - roundtrip ['%a%','>out'] as string ok 15 - roundtrip ['%a%','>out'] as cmd ok 16 - roundtrip ['%a%','%'] as list ok 17 - roundtrip ['%a%','%'] as string ok 18 - roundtrip ['%a%','%'] as cmd ok 17 - string: ['%a%'] 1..18 ok 1 - roundtrip ['%a b'] as list ok 2 - roundtrip ['%a b'] as string ok 3 - roundtrip ['%a b'] as cmd ok 4 - roundtrip ['%a b','>out'] as list ok 5 - roundtrip ['%a b','>out'] as string ok 6 - roundtrip ['%a b','>out'] as cmd ok 7 - roundtrip ['%a b','%'] as list ok 8 - roundtrip ['%a b','%'] as string ok 9 - roundtrip ['%a b','%'] as cmd ok 10 - roundtrip ['%a b'] as list ok 11 - roundtrip ['%a b'] as string ok 12 - roundtrip ['%a b'] as cmd ok 13 - roundtrip ['%a b','>out'] as list ok 14 - roundtrip ['%a b','>out'] as string ok 15 - roundtrip ['%a b','>out'] as cmd ok 16 - roundtrip ['%a b','%'] as list ok 17 - roundtrip ['%a b','%'] as string ok 18 - roundtrip ['%a b','%'] as cmd ok 18 - string: ['%a b'] 1..18 ok 1 - roundtrip ['\\%a b'] as list ok 2 - roundtrip ['\\%a b'] as string ok 3 - roundtrip ['\\%a b'] as cmd ok 4 - roundtrip ['\\%a b','>out'] as list ok 5 - roundtrip ['\\%a b','>out'] as string ok 6 - roundtrip ['\\%a b','>out'] as cmd ok 7 - roundtrip ['\\%a b','%'] as list ok 8 - roundtrip ['\\%a b','%'] as string ok 9 - roundtrip ['\\%a b','%'] as cmd ok 10 - roundtrip ['\\%a b'] as list ok 11 - roundtrip ['\\%a b'] as string ok 12 - roundtrip ['\\%a b'] as cmd ok 13 - roundtrip ['\\%a b','>out'] as list ok 14 - roundtrip ['\\%a b','>out'] as string ok 15 - roundtrip ['\\%a b','>out'] as cmd ok 16 - roundtrip ['\\%a b','%'] as list ok 17 - roundtrip ['\\%a b','%'] as string ok 18 - roundtrip ['\\%a b','%'] as cmd ok 19 - string: ['\\%a b'] 1..18 ok 1 - roundtrip [' & help & '] as list ok 2 - roundtrip [' & help & '] as string ok 3 - roundtrip [' & help & '] as cmd ok 4 - roundtrip [' & help & ','>out'] as list ok 5 - roundtrip [' & help & ','>out'] as string ok 6 - roundtrip [' & help & ','>out'] as cmd ok 7 - roundtrip [' & help & ','%'] as list ok 8 - roundtrip [' & help & ','%'] as string ok 9 - roundtrip [' & help & ','%'] as cmd ok 10 - roundtrip [' & help & '] as list ok 11 - roundtrip [' & help & '] as string ok 12 - roundtrip [' & help & '] as cmd ok 13 - roundtrip [' & help & ','>out'] as list ok 14 - roundtrip [' & help & ','>out'] as string ok 15 - roundtrip [' & help & ','>out'] as cmd ok 16 - roundtrip [' & help & ','%'] as list ok 17 - roundtrip [' & help & ','%'] as string ok 18 - roundtrip [' & help & ','%'] as cmd ok 20 - string: [' & help & '] 1..18 ok 1 - roundtrip [' > out'] as list ok 2 - roundtrip [' > out'] as string ok 3 - roundtrip [' > out'] as cmd ok 4 - roundtrip [' > out','>out'] as list ok 5 - roundtrip [' > out','>out'] as string ok 6 - roundtrip [' > out','>out'] as cmd ok 7 - roundtrip [' > out','%'] as list ok 8 - roundtrip [' > out','%'] as string ok 9 - roundtrip [' > out','%'] as cmd ok 10 - roundtrip [' > out'] as list ok 11 - roundtrip [' > out'] as string ok 12 - roundtrip [' > out'] as cmd ok 13 - roundtrip [' > out','>out'] as list ok 14 - roundtrip [' > out','>out'] as string ok 15 - roundtrip [' > out','>out'] as cmd ok 16 - roundtrip [' > out','%'] as list ok 17 - roundtrip [' > out','%'] as string ok 18 - roundtrip [' > out','%'] as cmd ok 21 - string: [' > out'] 1..18 ok 1 - roundtrip [' | welp'] as list ok 2 - roundtrip [' | welp'] as string ok 3 - roundtrip [' | welp'] as cmd ok 4 - roundtrip [' | welp','>out'] as list ok 5 - roundtrip [' | welp','>out'] as string ok 6 - roundtrip [' | welp','>out'] as cmd ok 7 - roundtrip [' | welp','%'] as list ok 8 - roundtrip [' | welp','%'] as string ok 9 - roundtrip [' | welp','%'] as cmd ok 10 - roundtrip [' | welp'] as list ok 11 - roundtrip [' | welp'] as string ok 12 - roundtrip [' | welp'] as cmd ok 13 - roundtrip [' | welp','>out'] as list ok 14 - roundtrip [' | welp','>out'] as string ok 15 - roundtrip [' | welp','>out'] as cmd ok 16 - roundtrip [' | welp','%'] as list ok 17 - roundtrip [' | welp','%'] as string ok 18 - roundtrip [' | welp','%'] as cmd ok 22 - string: [' | welp'] 1..18 ok 1 - roundtrip ['" | welp"'] as list ok 2 - roundtrip ['" | welp"'] as string ok 3 - roundtrip ['" | welp"'] as cmd ok 4 - roundtrip ['" | welp"','>out'] as list ok 5 - roundtrip ['" | welp"','>out'] as string ok 6 - roundtrip ['" | welp"','>out'] as cmd ok 7 - roundtrip ['" | welp"','%'] as list ok 8 - roundtrip ['" | welp"','%'] as string ok 9 - roundtrip ['" | welp"','%'] as cmd ok 10 - roundtrip ['" | welp"'] as list ok 11 - roundtrip ['" | welp"'] as string ok 12 - roundtrip ['" | welp"'] as cmd ok 13 - roundtrip ['" | welp"','>out'] as list ok 14 - roundtrip ['" | welp"','>out'] as string ok 15 - roundtrip ['" | welp"','>out'] as cmd ok 16 - roundtrip ['" | welp"','%'] as list ok 17 - roundtrip ['" | welp"','%'] as string ok 18 - roundtrip ['" | welp"','%'] as cmd ok 23 - string: ['" | welp"'] 1..18 ok 1 - roundtrip ['\\" | welp'] as list ok 2 - roundtrip ['\\" | welp'] as string ok 3 - roundtrip ['\\" | welp'] as cmd ok 4 - roundtrip ['\\" | welp','>out'] as list ok 5 - roundtrip ['\\" | welp','>out'] as string ok 6 - roundtrip ['\\" | welp','>out'] as cmd ok 7 - roundtrip ['\\" | welp','%'] as list ok 8 - roundtrip ['\\" | welp','%'] as string ok 9 - roundtrip ['\\" | welp','%'] as cmd ok 10 - roundtrip ['\\" | welp'] as list ok 11 - roundtrip ['\\" | welp'] as string ok 12 - roundtrip ['\\" | welp'] as cmd ok 13 - roundtrip ['\\" | welp','>out'] as list ok 14 - roundtrip ['\\" | welp','>out'] as string ok 15 - roundtrip ['\\" | welp','>out'] as cmd ok 16 - roundtrip ['\\" | welp','%'] as list ok 17 - roundtrip ['\\" | welp','%'] as string ok 18 - roundtrip ['\\" | welp','%'] as cmd ok 24 - string: ['\\" | welp'] 1..18 ok 1 - roundtrip [''] as list ok 2 - roundtrip [''] as string ok 3 - roundtrip [''] as cmd ok 4 - roundtrip ['','>out'] as list ok 5 - roundtrip ['','>out'] as string ok 6 - roundtrip ['','>out'] as cmd ok 7 - roundtrip ['','%'] as list ok 8 - roundtrip ['','%'] as string ok 9 - roundtrip ['','%'] as cmd ok 10 - roundtrip [''] as list ok 11 - roundtrip [''] as string ok 12 - roundtrip [''] as cmd ok 13 - roundtrip ['','>out'] as list ok 14 - roundtrip ['','>out'] as string ok 15 - roundtrip ['','>out'] as cmd ok 16 - roundtrip ['','%'] as list ok 17 - roundtrip ['','%'] as string ok 18 - roundtrip ['','%'] as cmd ok 25 - string: [''] 1..18 ok 1 - roundtrip ["print \"foo'o\", ' bar\"ar'"] as list ok 2 - roundtrip ["print \"foo'o\", ' bar\"ar'"] as string ok 3 - roundtrip ["print \"foo'o\", ' bar\"ar'"] as cmd ok 4 - roundtrip ["print \"foo'o\", ' bar\"ar'",">out"] as list ok 5 - roundtrip ["print \"foo'o\", ' bar\"ar'",">out"] as string ok 6 - roundtrip ["print \"foo'o\", ' bar\"ar'",">out"] as cmd ok 7 - roundtrip ["print \"foo'o\", ' bar\"ar'","%"] as list ok 8 - roundtrip ["print \"foo'o\", ' bar\"ar'","%"] as string ok 9 - roundtrip ["print \"foo'o\", ' bar\"ar'","%"] as cmd ok 10 - roundtrip ["print \"foo'o\", ' bar\"ar'"] as list ok 11 - roundtrip ["print \"foo'o\", ' bar\"ar'"] as string ok 12 - roundtrip ["print \"foo'o\", ' bar\"ar'"] as cmd ok 13 - roundtrip ["print \"foo'o\", ' bar\"ar'",">out"] as list ok 14 - roundtrip ["print \"foo'o\", ' bar\"ar'",">out"] as string ok 15 - roundtrip ["print \"foo'o\", ' bar\"ar'",">out"] as cmd ok 16 - roundtrip ["print \"foo'o\", ' bar\"ar'","%"] as list ok 17 - roundtrip ["print \"foo'o\", ' bar\"ar'","%"] as string ok 18 - roundtrip ["print \"foo'o\", ' bar\"ar'","%"] as cmd ok 26 - string: ["print \"foo'o\", ' bar\"ar'"] 1..18 ok 1 - roundtrip ["\$PATH = 'foo'; print \$PATH"] as list ok 2 - roundtrip ["\$PATH = 'foo'; print \$PATH"] as string ok 3 - roundtrip ["\$PATH = 'foo'; print \$PATH"] as cmd ok 4 - roundtrip ["\$PATH = 'foo'; print \$PATH",">out"] as list ok 5 - roundtrip ["\$PATH = 'foo'; print \$PATH",">out"] as string ok 6 - roundtrip ["\$PATH = 'foo'; print \$PATH",">out"] as cmd ok 7 - roundtrip ["\$PATH = 'foo'; print \$PATH","%"] as list ok 8 - roundtrip ["\$PATH = 'foo'; print \$PATH","%"] as string ok 9 - roundtrip ["\$PATH = 'foo'; print \$PATH","%"] as cmd ok 10 - roundtrip ["\$PATH = 'foo'; print \$PATH"] as list ok 11 - roundtrip ["\$PATH = 'foo'; print \$PATH"] as string ok 12 - roundtrip ["\$PATH = 'foo'; print \$PATH"] as cmd ok 13 - roundtrip ["\$PATH = 'foo'; print \$PATH",">out"] as list ok 14 - roundtrip ["\$PATH = 'foo'; print \$PATH",">out"] as string ok 15 - roundtrip ["\$PATH = 'foo'; print \$PATH",">out"] as cmd ok 16 - roundtrip ["\$PATH = 'foo'; print \$PATH","%"] as list ok 17 - roundtrip ["\$PATH = 'foo'; print \$PATH","%"] as string ok 18 - roundtrip ["\$PATH = 'foo'; print \$PATH","%"] as cmd ok 27 - string: ["\$PATH = 'foo'; print \$PATH"] 1..18 ok 1 - roundtrip ["print 'foo'"] as list ok 2 - roundtrip ["print 'foo'"] as string ok 3 - roundtrip ["print 'foo'"] as cmd ok 4 - roundtrip ["print 'foo'",">out"] as list ok 5 - roundtrip ["print 'foo'",">out"] as string ok 6 - roundtrip ["print 'foo'",">out"] as cmd ok 7 - roundtrip ["print 'foo'","%"] as list ok 8 - roundtrip ["print 'foo'","%"] as string ok 9 - roundtrip ["print 'foo'","%"] as cmd ok 10 - roundtrip ["print 'foo'"] as list ok 11 - roundtrip ["print 'foo'"] as string ok 12 - roundtrip ["print 'foo'"] as cmd ok 13 - roundtrip ["print 'foo'",">out"] as list ok 14 - roundtrip ["print 'foo'",">out"] as string ok 15 - roundtrip ["print 'foo'",">out"] as cmd ok 16 - roundtrip ["print 'foo'","%"] as list ok 17 - roundtrip ["print 'foo'","%"] as string ok 18 - roundtrip ["print 'foo'","%"] as cmd ok 28 - string: ["print 'foo'"] 1..18 ok 1 - roundtrip ['print " \\" "'] as list ok 2 - roundtrip ['print " \\" "'] as string ok 3 - roundtrip ['print " \\" "'] as cmd ok 4 - roundtrip ['print " \\" "','>out'] as list ok 5 - roundtrip ['print " \\" "','>out'] as string ok 6 - roundtrip ['print " \\" "','>out'] as cmd ok 7 - roundtrip ['print " \\" "','%'] as list ok 8 - roundtrip ['print " \\" "','%'] as string ok 9 - roundtrip ['print " \\" "','%'] as cmd ok 10 - roundtrip ['print " \\" "'] as list ok 11 - roundtrip ['print " \\" "'] as string ok 12 - roundtrip ['print " \\" "'] as cmd ok 13 - roundtrip ['print " \\" "','>out'] as list ok 14 - roundtrip ['print " \\" "','>out'] as string ok 15 - roundtrip ['print " \\" "','>out'] as cmd ok 16 - roundtrip ['print " \\" "','%'] as list ok 17 - roundtrip ['print " \\" "','%'] as string ok 18 - roundtrip ['print " \\" "','%'] as cmd ok 29 - string: ['print " \\" "'] 1..18 ok 1 - roundtrip ['print " < \\" "'] as list ok 2 - roundtrip ['print " < \\" "'] as string ok 3 - roundtrip ['print " < \\" "'] as cmd ok 4 - roundtrip ['print " < \\" "','>out'] as list ok 5 - roundtrip ['print " < \\" "','>out'] as string ok 6 - roundtrip ['print " < \\" "','>out'] as cmd ok 7 - roundtrip ['print " < \\" "','%'] as list ok 8 - roundtrip ['print " < \\" "','%'] as string ok 9 - roundtrip ['print " < \\" "','%'] as cmd ok 10 - roundtrip ['print " < \\" "'] as list ok 11 - roundtrip ['print " < \\" "'] as string ok 12 - roundtrip ['print " < \\" "'] as cmd ok 13 - roundtrip ['print " < \\" "','>out'] as list ok 14 - roundtrip ['print " < \\" "','>out'] as string ok 15 - roundtrip ['print " < \\" "','>out'] as cmd ok 16 - roundtrip ['print " < \\" "','%'] as list ok 17 - roundtrip ['print " < \\" "','%'] as string ok 18 - roundtrip ['print " < \\" "','%'] as cmd ok 30 - string: ['print " < \\" "'] 1..18 ok 1 - roundtrip ['print " \\" < "'] as list ok 2 - roundtrip ['print " \\" < "'] as string ok 3 - roundtrip ['print " \\" < "'] as cmd ok 4 - roundtrip ['print " \\" < "','>out'] as list ok 5 - roundtrip ['print " \\" < "','>out'] as string ok 6 - roundtrip ['print " \\" < "','>out'] as cmd ok 7 - roundtrip ['print " \\" < "','%'] as list ok 8 - roundtrip ['print " \\" < "','%'] as string ok 9 - roundtrip ['print " \\" < "','%'] as cmd ok 10 - roundtrip ['print " \\" < "'] as list ok 11 - roundtrip ['print " \\" < "'] as string ok 12 - roundtrip ['print " \\" < "'] as cmd ok 13 - roundtrip ['print " \\" < "','>out'] as list ok 14 - roundtrip ['print " \\" < "','>out'] as string ok 15 - roundtrip ['print " \\" < "','>out'] as cmd ok 16 - roundtrip ['print " \\" < "','%'] as list ok 17 - roundtrip ['print " \\" < "','%'] as string ok 18 - roundtrip ['print " \\" < "','%'] as cmd ok 31 - string: ['print " \\" < "'] 1..18 ok 1 - roundtrip ['print " < \\"\\" < \\" < \\" < "'] as list ok 2 - roundtrip ['print " < \\"\\" < \\" < \\" < "'] as string ok 3 - roundtrip ['print " < \\"\\" < \\" < \\" < "'] as cmd ok 4 - roundtrip ['print " < \\"\\" < \\" < \\" < "','>out'] as list ok 5 - roundtrip ['print " < \\"\\" < \\" < \\" < "','>out'] as string ok 6 - roundtrip ['print " < \\"\\" < \\" < \\" < "','>out'] as cmd ok 7 - roundtrip ['print " < \\"\\" < \\" < \\" < "','%'] as list ok 8 - roundtrip ['print " < \\"\\" < \\" < \\" < "','%'] as string ok 9 - roundtrip ['print " < \\"\\" < \\" < \\" < "','%'] as cmd ok 10 - roundtrip ['print " < \\"\\" < \\" < \\" < "'] as list ok 11 - roundtrip ['print " < \\"\\" < \\" < \\" < "'] as string ok 12 - roundtrip ['print " < \\"\\" < \\" < \\" < "'] as cmd ok 13 - roundtrip ['print " < \\"\\" < \\" < \\" < "','>out'] as list ok 14 - roundtrip ['print " < \\"\\" < \\" < \\" < "','>out'] as string ok 15 - roundtrip ['print " < \\"\\" < \\" < \\" < "','>out'] as cmd ok 16 - roundtrip ['print " < \\"\\" < \\" < \\" < "','%'] as list ok 17 - roundtrip ['print " < \\"\\" < \\" < \\" < "','%'] as string ok 18 - roundtrip ['print " < \\"\\" < \\" < \\" < "','%'] as cmd ok 32 - string: ['print " < \\"\\" < \\" < \\" < "'] 1..18 ok 1 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "'] as list ok 2 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "'] as string ok 3 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "'] as cmd ok 4 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "','>out'] as list ok 5 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "','>out'] as string ok 6 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "','>out'] as cmd ok 7 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "','%'] as list ok 8 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "','%'] as string ok 9 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "','%'] as cmd ok 10 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "'] as list ok 11 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "'] as string ok 12 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "'] as cmd ok 13 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "','>out'] as list ok 14 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "','>out'] as string ok 15 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "','>out'] as cmd ok 16 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "','%'] as list ok 17 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "','%'] as string ok 18 - roundtrip ['print " < \\" | \\" < | \\" < \\" < "','%'] as cmd ok 33 - string: ['print " < \\" | \\" < | \\" < \\" < "'] 1..18 ok 1 - roundtrip ['print q[ &<>^|()@ ! ]'] as list ok 2 - roundtrip ['print q[ &<>^|()@ ! ]'] as string ok 3 - roundtrip ['print q[ &<>^|()@ ! ]'] as cmd ok 4 - roundtrip ['print q[ &<>^|()@ ! ]','>out'] as list ok 5 - roundtrip ['print q[ &<>^|()@ ! ]','>out'] as string ok 6 - roundtrip ['print q[ &<>^|()@ ! ]','>out'] as cmd ok 7 - roundtrip ['print q[ &<>^|()@ ! ]','%'] as list ok 8 - roundtrip ['print q[ &<>^|()@ ! ]','%'] as string ok 9 - roundtrip ['print q[ &<>^|()@ ! ]','%'] as cmd ok 10 - roundtrip ['print q[ &<>^|()@ ! ]'] as list ok 11 - roundtrip ['print q[ &<>^|()@ ! ]'] as string ok 12 - roundtrip ['print q[ &<>^|()@ ! ]'] as cmd ok 13 - roundtrip ['print q[ &<>^|()@ ! ]','>out'] as list ok 14 - roundtrip ['print q[ &<>^|()@ ! ]','>out'] as string ok 15 - roundtrip ['print q[ &<>^|()@ ! ]','>out'] as cmd ok 16 - roundtrip ['print q[ &<>^|()@ ! ]','%'] as list ok 17 - roundtrip ['print q[ &<>^|()@ ! ]','%'] as string ok 18 - roundtrip ['print q[ &<>^|()@ ! ]','%'] as cmd ok 34 - string: ['print q[ &<>^|()@ ! ]'] 1..18 ok 1 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]'] as list ok 2 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]'] as string ok 3 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]'] as cmd ok 4 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]','>out'] as list ok 5 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]','>out'] as string ok 6 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]','>out'] as cmd ok 7 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]','%'] as list ok 8 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]','%'] as string ok 9 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]','%'] as cmd ok 10 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]'] as list ok 11 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]'] as string ok 12 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]'] as cmd ok 13 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]','>out'] as list ok 14 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]','>out'] as string ok 15 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]','>out'] as cmd ok 16 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]','%'] as list ok 17 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]','%'] as string ok 18 - roundtrip ['print q[ &<>^|@()!"&<>^|@()! ]','%'] as cmd ok 35 - string: ['print q[ &<>^|@()!"&<>^|@()! ]'] 1..18 ok 1 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]'] as list ok 2 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]'] as string ok 3 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]'] as cmd ok 4 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]','>out'] as list ok 5 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]','>out'] as string ok 6 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]','>out'] as cmd ok 7 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]','%'] as list ok 8 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]','%'] as string ok 9 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]','%'] as cmd ok 10 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]'] as list ok 11 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]'] as string ok 12 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]'] as cmd ok 13 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]','>out'] as list ok 14 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]','>out'] as string ok 15 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]','>out'] as cmd ok 16 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]','%'] as list ok 17 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]','%'] as string ok 18 - roundtrip ['print q[ "&<>^|@() !"&<>^|@() !" ]','%'] as cmd ok 36 - string: ['print q[ "&<>^|@() !"&<>^|@() !" ]'] 1..18 ok 1 - roundtrip ['print q[ "C:\\TEST A\\" ]'] as list ok 2 - roundtrip ['print q[ "C:\\TEST A\\" ]'] as string ok 3 - roundtrip ['print q[ "C:\\TEST A\\" ]'] as cmd ok 4 - roundtrip ['print q[ "C:\\TEST A\\" ]','>out'] as list ok 5 - roundtrip ['print q[ "C:\\TEST A\\" ]','>out'] as string ok 6 - roundtrip ['print q[ "C:\\TEST A\\" ]','>out'] as cmd ok 7 - roundtrip ['print q[ "C:\\TEST A\\" ]','%'] as list ok 8 - roundtrip ['print q[ "C:\\TEST A\\" ]','%'] as string ok 9 - roundtrip ['print q[ "C:\\TEST A\\" ]','%'] as cmd ok 10 - roundtrip ['print q[ "C:\\TEST A\\" ]'] as list ok 11 - roundtrip ['print q[ "C:\\TEST A\\" ]'] as string ok 12 - roundtrip ['print q[ "C:\\TEST A\\" ]'] as cmd ok 13 - roundtrip ['print q[ "C:\\TEST A\\" ]','>out'] as list ok 14 - roundtrip ['print q[ "C:\\TEST A\\" ]','>out'] as string ok 15 - roundtrip ['print q[ "C:\\TEST A\\" ]','>out'] as cmd ok 16 - roundtrip ['print q[ "C:\\TEST A\\" ]','%'] as list ok 17 - roundtrip ['print q[ "C:\\TEST A\\" ]','%'] as string ok 18 - roundtrip ['print q[ "C:\\TEST A\\" ]','%'] as cmd ok 37 - string: ['print q[ "C:\\TEST A\\" ]'] 1..18 ok 1 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]'] as list ok 2 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]'] as string ok 3 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]'] as cmd ok 4 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]','>out'] as list ok 5 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]','>out'] as string ok 6 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]','>out'] as cmd ok 7 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]','%'] as list ok 8 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]','%'] as string ok 9 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]','%'] as cmd ok 10 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]'] as list ok 11 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]'] as string ok 12 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]'] as cmd ok 13 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]','>out'] as list ok 14 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]','>out'] as string ok 15 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]','>out'] as cmd ok 16 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]','%'] as list ok 17 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]','%'] as string ok 18 - roundtrip ['print q[ "C:\\TEST %&^ A\\" ]','%'] as cmd ok 38 - string: ['print q[ "C:\\TEST %&^ A\\" ]'] 1..18 ok 1 - roundtrip ["\n"] as list ok 2 - roundtrip ["\n"] as string not ok 3 - roundtrip ["\n"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\n"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["\n",">out"] as list ok 5 - roundtrip ["\n",">out"] as string not ok 6 - roundtrip ["\n",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\n",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["\n","%"] as list not ok 8 - roundtrip ["\n","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["\n","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["\n","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\n","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["\n"] as list ok 11 - roundtrip ["\n"] as string not ok 12 - roundtrip ["\n"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\n"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["\n",">out"] as list ok 14 - roundtrip ["\n",">out"] as string not ok 15 - roundtrip ["\n",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\n",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["\n","%"] as list not ok 17 - roundtrip ["\n","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["\n","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["\n","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\n","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 39 - string: ["\n"] 1..18 ok 1 - roundtrip ["a\nb"] as list ok 2 - roundtrip ["a\nb"] as string not ok 3 - roundtrip ["a\nb"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\nb"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["a\nb",">out"] as list ok 5 - roundtrip ["a\nb",">out"] as string not ok 6 - roundtrip ["a\nb",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\nb",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["a\nb","%"] as list not ok 8 - roundtrip ["a\nb","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["a\nb","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["a\nb","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\nb","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["a\nb"] as list ok 11 - roundtrip ["a\nb"] as string not ok 12 - roundtrip ["a\nb"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\nb"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["a\nb",">out"] as list ok 14 - roundtrip ["a\nb",">out"] as string not ok 15 - roundtrip ["a\nb",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\nb",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["a\nb","%"] as list not ok 17 - roundtrip ["a\nb","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["a\nb","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["a\nb","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\nb","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 40 - string: ["a\nb"] 1..18 ok 1 - roundtrip ["a\rb"] as list ok 2 - roundtrip ["a\rb"] as string not ok 3 - roundtrip ["a\rb"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\rb"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["a\rb",">out"] as list ok 5 - roundtrip ["a\rb",">out"] as string not ok 6 - roundtrip ["a\rb",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\rb",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["a\rb","%"] as list not ok 8 - roundtrip ["a\rb","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["a\rb","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["a\rb","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\rb","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["a\rb"] as list ok 11 - roundtrip ["a\rb"] as string not ok 12 - roundtrip ["a\rb"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\rb"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["a\rb",">out"] as list ok 14 - roundtrip ["a\rb",">out"] as string not ok 15 - roundtrip ["a\rb",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\rb",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["a\rb","%"] as list not ok 17 - roundtrip ["a\rb","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["a\rb","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["a\rb","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\rb","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 41 - string: ["a\rb"] 1..18 ok 1 - roundtrip ["a\nb > welp"] as list ok 2 - roundtrip ["a\nb > welp"] as string not ok 3 - roundtrip ["a\nb > welp"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\nb > welp"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["a\nb > welp",">out"] as list ok 5 - roundtrip ["a\nb > welp",">out"] as string not ok 6 - roundtrip ["a\nb > welp",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\nb > welp",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["a\nb > welp","%"] as list not ok 8 - roundtrip ["a\nb > welp","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["a\nb > welp","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["a\nb > welp","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\nb > welp","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["a\nb > welp"] as list ok 11 - roundtrip ["a\nb > welp"] as string not ok 12 - roundtrip ["a\nb > welp"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\nb > welp"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["a\nb > welp",">out"] as list ok 14 - roundtrip ["a\nb > welp",">out"] as string not ok 15 - roundtrip ["a\nb > welp",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\nb > welp",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["a\nb > welp","%"] as list not ok 17 - roundtrip ["a\nb > welp","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["a\nb > welp","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["a\nb > welp","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\nb > welp","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 42 - string: ["a\nb > welp"] 1..18 ok 1 - roundtrip ["a > welp\n219"] as list ok 2 - roundtrip ["a > welp\n219"] as string not ok 3 - roundtrip ["a > welp\n219"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a > welp\n219"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["a > welp\n219",">out"] as list ok 5 - roundtrip ["a > welp\n219",">out"] as string not ok 6 - roundtrip ["a > welp\n219",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a > welp\n219",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["a > welp\n219","%"] as list not ok 8 - roundtrip ["a > welp\n219","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["a > welp\n219","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["a > welp\n219","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a > welp\n219","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["a > welp\n219"] as list ok 11 - roundtrip ["a > welp\n219"] as string not ok 12 - roundtrip ["a > welp\n219"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a > welp\n219"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["a > welp\n219",">out"] as list ok 14 - roundtrip ["a > welp\n219",">out"] as string not ok 15 - roundtrip ["a > welp\n219",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a > welp\n219",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["a > welp\n219","%"] as list not ok 17 - roundtrip ["a > welp\n219","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["a > welp\n219","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["a > welp\n219","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a > welp\n219","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 43 - string: ["a > welp\n219"] 1..18 ok 1 - roundtrip ["a\"b\nc"] as list ok 2 - roundtrip ["a\"b\nc"] as string not ok 3 - roundtrip ["a\"b\nc"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\"b\nc"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["a\"b\nc",">out"] as list not ok 5 - roundtrip ["a\"b\nc",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["a\"b\nc",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 6 - roundtrip ["a\"b\nc",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\"b\nc",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["a\"b\nc","%"] as list not ok 8 - roundtrip ["a\"b\nc","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["a\"b\nc","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["a\"b\nc","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\"b\nc","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["a\"b\nc"] as list ok 11 - roundtrip ["a\"b\nc"] as string not ok 12 - roundtrip ["a\"b\nc"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\"b\nc"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["a\"b\nc",">out"] as list not ok 14 - roundtrip ["a\"b\nc",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["a\"b\nc",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 15 - roundtrip ["a\"b\nc",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\"b\nc",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["a\"b\nc","%"] as list not ok 17 - roundtrip ["a\"b\nc","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["a\"b\nc","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["a\"b\nc","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["a\"b\nc","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 44 - string: ["a\"b\nc"] 1..18 ok 1 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`"] as list not ok 2 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 3 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`",">out"] as list not ok 5 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 6 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`","%"] as list not ok 8 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`"] as list not ok 11 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 12 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`",">out"] as list not ok 14 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 15 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`","%"] as list not ok 17 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 45 - string: ["S{o;mP+\@Gc]eCQ\$Cew^/us!4LBk_O\@,7=U%g\r:sJ>R\"uJ\$px4hy25Q7WL>G%w`"] 1..18 ok 1 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ'] as list ok 2 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ'] as string ok 3 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ'] as cmd ok 4 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ','>out'] as list ok 5 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ','>out'] as string ok 6 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ','>out'] as cmd ok 7 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ','%'] as list ok 8 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ','%'] as string ok 9 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ','%'] as cmd ok 10 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ'] as list ok 11 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ'] as string ok 12 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ'] as cmd ok 13 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ','>out'] as list ok 14 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ','>out'] as string ok 15 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ','>out'] as cmd ok 16 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ','%'] as list ok 17 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ','%'] as string ok 18 - roundtrip ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ','%'] as cmd ok 46 - string: ['i& )[MG2Buz"(\\@so@"v=hCLX"^?nF6J|Ith\\C&o|fn"g+0\\Uhh{<:O[c! -D8b&wz1bJ'] 1..18 ok 1 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ'] as list ok 2 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ'] as string ok 3 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ'] as cmd ok 4 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ','>out'] as list ok 5 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ','>out'] as string ok 6 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ','>out'] as cmd ok 7 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ','%'] as list ok 8 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ','%'] as string ok 9 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ','%'] as cmd ok 10 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ'] as list ok 11 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ'] as string ok 12 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ'] as cmd ok 13 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ','>out'] as list ok 14 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ','>out'] as string ok 15 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ','>out'] as cmd ok 16 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ','%'] as list ok 17 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ','%'] as string ok 18 - roundtrip ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ','%'] as cmd ok 47 - string: ['_N;7C;0X^DK1XlUKv\\0.d0l!:O0JEnI<\#1"~&~7UD,)ITlqd.&\\vo-DJ'] 1..18 ok 1 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI'] as list ok 2 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI'] as string ok 3 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI'] as cmd ok 4 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI','>out'] as list ok 5 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI','>out'] as string ok 6 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI','>out'] as cmd ok 7 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI','%'] as list ok 8 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI','%'] as string ok 9 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI','%'] as cmd ok 10 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI'] as list ok 11 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI'] as string ok 12 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI'] as cmd ok 13 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI','>out'] as list ok 14 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI','>out'] as string ok 15 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI','>out'] as cmd ok 16 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI','%'] as list ok 17 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI','%'] as string ok 18 - roundtrip ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI','%'] as cmd ok 48 - string: ['w:oh(`zOCEQ*IXl\\6Nh$cX t>^- VFI'] 1..18 ok 1 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7"] as list not ok 2 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 3 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7",">out"] as list not ok 5 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 6 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7","%"] as list not ok 8 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7"] as list not ok 11 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 12 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7",">out"] as list not ok 14 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 15 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7","%"] as list not ok 17 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 49 - string: ["WP2&{%\$\rALt(\@N<\$jGDAWo|QbmDsM}E->^{\$l[f~&~2rv6pX\rJUz\"9p:} Y'7"] 1..18 ok 1 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH'] as list ok 2 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH'] as string ok 3 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH'] as cmd ok 4 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH','>out'] as list ok 5 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH','>out'] as string ok 6 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH','>out'] as cmd ok 7 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH','%'] as list ok 8 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH','%'] as string ok 9 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH','%'] as cmd ok 10 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH'] as list ok 11 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH'] as string ok 12 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH'] as cmd ok 13 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH','>out'] as list ok 14 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH','>out'] as string ok 15 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH','>out'] as cmd ok 16 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH','%'] as list ok 17 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH','%'] as string ok 18 - roundtrip ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH','%'] as cmd ok 50 - string: ['Y=mX_zi4r1\#X8 t)kZ-5G\\tH'] 1..18 ok 1 - roundtrip ["w'K^N\$fO(H!*ve}"] as list not ok 2 - roundtrip ["w'K^N\$fO(H!*ve}"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["w'K^N\$fO(H!*ve}"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 3 - roundtrip ["w'K^N\$fO(H!*ve}"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["w'K^N\$fO(H!*ve}"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["w'K^N\$fO(H!*ve}",">out"] as list not ok 5 - roundtrip ["w'K^N\$fO(H!*ve}",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["w'K^N\$fO(H!*ve}",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 6 - roundtrip ["w'K^N\$fO(H!*ve}",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["w'K^N\$fO(H!*ve}",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["w'K^N\$fO(H!*ve}","%"] as list not ok 8 - roundtrip ["w'K^N\$fO(H!*ve}","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["w'K^N\$fO(H!*ve}","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["w'K^N\$fO(H!*ve}","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["w'K^N\$fO(H!*ve}","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["w'K^N\$fO(H!*ve}"] as list not ok 11 - roundtrip ["w'K^N\$fO(H!*ve}"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["w'K^N\$fO(H!*ve}"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 12 - roundtrip ["w'K^N\$fO(H!*ve}"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["w'K^N\$fO(H!*ve}"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["w'K^N\$fO(H!*ve}",">out"] as list not ok 14 - roundtrip ["w'K^N\$fO(H!*ve}",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["w'K^N\$fO(H!*ve}",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 15 - roundtrip ["w'K^N\$fO(H!*ve}",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["w'K^N\$fO(H!*ve}",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["w'K^N\$fO(H!*ve}","%"] as list not ok 17 - roundtrip ["w'K^N\$fO(H!*ve}","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["w'K^N\$fO(H!*ve}","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["w'K^N\$fO(H!*ve}","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["w'K^N\$fO(H!*ve}","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 51 - string: ["w'K^N\$fO(H!*ve}"] 1..18 ok 1 - roundtrip ['e8>Z'] as list ok 2 - roundtrip ['e8>Z'] as string ok 3 - roundtrip ['e8>Z'] as cmd ok 4 - roundtrip ['e8>Z','>out'] as list ok 5 - roundtrip ['e8>Z','>out'] as string ok 6 - roundtrip ['e8>Z','>out'] as cmd ok 7 - roundtrip ['e8>Z','%'] as list ok 8 - roundtrip ['e8>Z','%'] as string ok 9 - roundtrip ['e8>Z','%'] as cmd ok 10 - roundtrip ['e8>Z'] as list ok 11 - roundtrip ['e8>Z'] as string ok 12 - roundtrip ['e8>Z'] as cmd ok 13 - roundtrip ['e8>Z','>out'] as list ok 14 - roundtrip ['e8>Z','>out'] as string ok 15 - roundtrip ['e8>Z','>out'] as cmd ok 16 - roundtrip ['e8>Z','%'] as list ok 17 - roundtrip ['e8>Z','%'] as string ok 18 - roundtrip ['e8>Z','%'] as cmd ok 52 - string: ['e8>Z'] 1..18 ok 1 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A"] as list ok 2 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A"] as string not ok 3 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A",">out"] as list ok 5 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A",">out"] as string not ok 6 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A","%"] as list not ok 8 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A"] as list ok 11 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A"] as string not ok 12 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A",">out"] as list ok 14 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A",">out"] as string not ok 15 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A","%"] as list not ok 17 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 53 - string: ["\24\377\255\31\244\243.5\363e\373\r!G\2243\354\24\317\355\206\303\331\377P\237\336A"] 1..18 ok 1 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>"] as list ok 2 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>"] as string ok 3 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>"] as cmd ok 4 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>",">out"] as list ok 5 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>",">out"] as string ok 6 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>",">out"] as cmd ok 7 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>","%"] as list ok 8 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>","%"] as string ok 9 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>","%"] as cmd ok 10 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>"] as list ok 11 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>"] as string ok 12 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>"] as cmd ok 13 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>",">out"] as list ok 14 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>",">out"] as string ok 15 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>",">out"] as cmd ok 16 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>","%"] as list ok 17 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>","%"] as string ok 18 - roundtrip ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>","%"] as cmd ok 54 - string: ["'(J_?\@t1qWHaIC3[LV|G;&pf80Gti\"R}\$-l(P[-Ag'03\$^*K&GpZ+Ih5>j B&bw:D:5>"] 1..18 ok 1 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#"] as list not ok 2 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 3 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#",">out"] as list not ok 5 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 6 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#","%"] as list not ok 8 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#"] as list not ok 11 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 12 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#",">out"] as list not ok 14 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 15 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#","%"] as list not ok 17 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 55 - string: ["Uum(7~{b[Z!\rtygsxI[:xhiG3atD:nQ&\@O:0;M(~Xv9p{\"Iw%P%=S6d\r8zZR,Mq9dg`\#"] 1..18 ok 1 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii"] as list ok 2 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii"] as string not ok 3 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii",">out"] as list ok 5 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii",">out"] as string not ok 6 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii","%"] as list not ok 8 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii"] as list ok 11 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii"] as string not ok 12 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii",">out"] as list ok 14 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii",">out"] as string not ok 15 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii","%"] as list not ok 17 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 56 - string: ["1^s}!QI\r3cxMl_hAOux`ztHUcUy)kS9DbN?Ii"] 1..18 ok 1 - roundtrip ['TEGBD:p~ZE'] as list ok 2 - roundtrip ['TEGBD:p~ZE'] as string ok 3 - roundtrip ['TEGBD:p~ZE'] as cmd ok 4 - roundtrip ['TEGBD:p~ZE','>out'] as list ok 5 - roundtrip ['TEGBD:p~ZE','>out'] as string ok 6 - roundtrip ['TEGBD:p~ZE','>out'] as cmd ok 7 - roundtrip ['TEGBD:p~ZE','%'] as list ok 8 - roundtrip ['TEGBD:p~ZE','%'] as string ok 9 - roundtrip ['TEGBD:p~ZE','%'] as cmd ok 10 - roundtrip ['TEGBD:p~ZE'] as list ok 11 - roundtrip ['TEGBD:p~ZE'] as string ok 12 - roundtrip ['TEGBD:p~ZE'] as cmd ok 13 - roundtrip ['TEGBD:p~ZE','>out'] as list ok 14 - roundtrip ['TEGBD:p~ZE','>out'] as string ok 15 - roundtrip ['TEGBD:p~ZE','>out'] as cmd ok 16 - roundtrip ['TEGBD:p~ZE','%'] as list ok 17 - roundtrip ['TEGBD:p~ZE','%'] as string ok 18 - roundtrip ['TEGBD:p~ZE','%'] as cmd ok 57 - string: ['TEGBD:p~ZE'] 1..18 ok 1 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K"] as list not ok 2 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 3 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K",">out"] as list not ok 5 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 6 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K","%"] as list not ok 8 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K"] as list not ok 11 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 12 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K",">out"] as list not ok 14 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 15 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K","%"] as list not ok 17 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 58 - string: ["aa&dvywi9atr\rTse+17drfh\\-nY.Ob%]g_UWq&TCX1:x\n3ZYKe}(Sun^,VK72n]?Xl|K"] 1..18 ok 1 - roundtrip ["5U%X}2}t>UO82C7gUO82C7gUO82C7gUO82C7gUO82C7gUO82C7gout"] as list not ok 5 - roundtrip ["5U%X}2}t>UO82C7gout"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["5U%X}2}t>UO82C7gout"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 6 - roundtrip ["5U%X}2}t>UO82C7gout"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["5U%X}2}t>UO82C7gout"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["5U%X}2}t>UO82C7gUO82C7gUO82C7gUO82C7gUO82C7gUO82C7gUO82C7gUO82C7gUO82C7gUO82C7gUO82C7gout"] as list not ok 14 - roundtrip ["5U%X}2}t>UO82C7gout"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["5U%X}2}t>UO82C7gout"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 15 - roundtrip ["5U%X}2}t>UO82C7gout"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["5U%X}2}t>UO82C7gout"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["5U%X}2}t>UO82C7gUO82C7gUO82C7gUO82C7gUO82C7gUO82C7gout'] as list ok 5 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc','>out'] as string ok 6 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc','>out'] as cmd ok 7 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc','%'] as list ok 8 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc','%'] as string ok 9 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc','%'] as cmd ok 10 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc'] as list ok 11 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc'] as string ok 12 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc'] as cmd ok 13 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc','>out'] as list ok 14 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc','>out'] as string ok 15 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc','>out'] as cmd ok 16 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc','%'] as list ok 17 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc','%'] as string ok 18 - roundtrip ['i[Tv;g(\\]:0FZmH5m~:Kc','%'] as cmd ok 60 - string: ['i[Tv;g(\\]:0FZmH5m~:Kc'] 1..18 ok 1 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9'] as list ok 2 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9'] as string ok 3 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9'] as cmd ok 4 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9','>out'] as list ok 5 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9','>out'] as string ok 6 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9','>out'] as cmd ok 7 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9','%'] as list ok 8 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9','%'] as string ok 9 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9','%'] as cmd ok 10 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9'] as list ok 11 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9'] as string ok 12 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9'] as cmd ok 13 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9','>out'] as list ok 14 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9','>out'] as string ok 15 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9','>out'] as cmd ok 16 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9','%'] as list ok 17 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9','%'] as string ok 18 - roundtrip ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9','%'] as cmd ok 61 - string: ['7jzBV5ab6>&i>p*&Oj?|Icn4|u}N-dK\#z@.KS;eY(qKf$r~|S|`e3r)u!G^j9'] 1..18 ok 1 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,"] as list ok 2 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,"] as string not ok 3 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,",">out"] as list ok 5 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,",">out"] as string not ok 6 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,","%"] as list not ok 8 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,"] as list ok 11 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,"] as string not ok 12 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,",">out"] as list ok 14 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,",">out"] as string not ok 15 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,","%"] as list not ok 17 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["\r:*;35}N`Mm^}iWsLl<3|H(n7,","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 62 - string: ["\r:*;35}N`Mm^}iWsLl<3|H(n7,"] 1..18 ok 1 - roundtrip ['us%"w|9!p:\\+c'] as list ok 2 - roundtrip ['us%"w|9!p:\\+c'] as string ok 3 - roundtrip ['us%"w|9!p:\\+c'] as cmd ok 4 - roundtrip ['us%"w|9!p:\\+c','>out'] as list ok 5 - roundtrip ['us%"w|9!p:\\+c','>out'] as string ok 6 - roundtrip ['us%"w|9!p:\\+c','>out'] as cmd ok 7 - roundtrip ['us%"w|9!p:\\+c','%'] as list ok 8 - roundtrip ['us%"w|9!p:\\+c','%'] as string ok 9 - roundtrip ['us%"w|9!p:\\+c','%'] as cmd ok 10 - roundtrip ['us%"w|9!p:\\+c'] as list ok 11 - roundtrip ['us%"w|9!p:\\+c'] as string ok 12 - roundtrip ['us%"w|9!p:\\+c'] as cmd ok 13 - roundtrip ['us%"w|9!p:\\+c','>out'] as list ok 14 - roundtrip ['us%"w|9!p:\\+c','>out'] as string ok 15 - roundtrip ['us%"w|9!p:\\+c','>out'] as cmd ok 16 - roundtrip ['us%"w|9!p:\\+c','%'] as list ok 17 - roundtrip ['us%"w|9!p:\\+c','%'] as string ok 18 - roundtrip ['us%"w|9!p:\\+c','%'] as cmd ok 63 - string: ['us%"w|9!p:\\+c'] 1..18 ok 1 - roundtrip ["*Hvw;6W%DVZ)+\$=\r7zj3Sr{0W{*:oCXTmGaFomQ`0t%83zrW*O[out"] as list not ok 5 - roundtrip ["*Hvw;6W%DVZ)+\$=\r7zj3Sr{0W{*:oCXTmGaFomQ`0t%83zrW*O[out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["*Hvw;6W%DVZ)+\$=\r7zj3Sr{0W{*:oCXTmGaFomQ`0t%83zrW*O[out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 6 - roundtrip ["*Hvw;6W%DVZ)+\$=\r7zj3Sr{0W{*:oCXTmGaFomQ`0t%83zrW*O[out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["*Hvw;6W%DVZ)+\$=\r7zj3Sr{0W{*:oCXTmGaFomQ`0t%83zrW*O[out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["*Hvw;6W%DVZ)+\$=\r7zj3Sr{0W{*:oCXTmGaFomQ`0t%83zrW*O[out"] as list not ok 14 - roundtrip ["*Hvw;6W%DVZ)+\$=\r7zj3Sr{0W{*:oCXTmGaFomQ`0t%83zrW*O[out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["*Hvw;6W%DVZ)+\$=\r7zj3Sr{0W{*:oCXTmGaFomQ`0t%83zrW*O[out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 15 - roundtrip ["*Hvw;6W%DVZ)+\$=\r7zj3Sr{0W{*:oCXTmGaFomQ`0t%83zrW*O[out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["*Hvw;6W%DVZ)+\$=\r7zj3Sr{0W{*:oCXTmGaFomQ`0t%83zrW*O[out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["*Hvw;6W%DVZ)+\$=\r7zj3Sr{0W{*:oCXTmGaFomQ`0t%83zrW*O[MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2"] as list ok 2 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2"] as string not ok 3 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 4 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2",">out"] as list not ok 5 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 6 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 7 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2","%"] as list not ok 8 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 9 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 10 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2"] as list ok 11 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2"] as string not ok 12 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 13 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2",">out"] as list not ok 14 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2",">out"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2",">out"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 15 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2",">out"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2",">out"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 16 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2","%"] as list not ok 17 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2","%"] as string # TODO forced to use cmd, but using non-escapable characters # Failed (TODO) test 'roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2","%"] as string' # at t/quoting.t line 54. # can't quote newlines to pass through cmd.exe at t/quoting.t line 50. not ok 18 - roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2","%"] as cmd # TODO newlines don't play well with cmd # Failed (TODO) test 'roundtrip ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2","%"] as cmd' # at t/quoting.t line 68. # can't quote newlines to pass through cmd.exe at t/quoting.t line 64. ok 65 - string: ["VvZm=z 5c+;&^Nc)YsS>MB]SNmDCn*A[*\\{<\n 8GH\"I^)_u2"] 1..65 ok All tests successful. Files=2, Tests=66, 49 wallclock secs ( 0.25 usr + 0.01 sys = 0.27 CPU) Result: PASS HAARG/Win32-ShellQuote-0.001001.tar.gz nmake test TEST_VERBOSE=1 -- OK PPD for Win32-ShellQuote-0.001001 already made Running Build for D/DW/DWHEELER/App-Sqitch-0.934.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Win32-ShellQuote-0.001001-aU6NLP/blib/arch C:\cpanfly-5.14\var\cpan\build\Win32-ShellQuote-0.001001-aU6NLP/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\App-Sqitch-0.934-pq8wFa Prepending C:\cpanfly-5.14\var\cpan\build\Win32-ShellQuote-0.001001-aU6NLP/blib/arch C:\cpanfly-5.14\var\cpan\build\Win32-ShellQuote-0.001001-aU6NLP/blib/lib to PERL5LIB for 'make' CPAN.pm: Going to build D/DW/DWHEELER/App-Sqitch-0.934.tar.gz >>> C:\Perl-5.14\bin\perl.exe ./Build Building App-Sqitch DWHEELER/App-Sqitch-0.934.tar.gz C:\Perl-5.14\bin\perl.exe ./Build -- OK Prepending C:\cpanfly-5.14\var\cpan\build\Win32-ShellQuote-0.001001-aU6NLP/blib/arch C:\cpanfly-5.14\var\cpan\build\Win32-ShellQuote-0.001001-aU6NLP/blib/lib to PERL5LIB for 'test' Running Build test >>> C:\Perl-5.14\bin\perl.exe ./Build test verbose=1 t/add.t ............ 1..85 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 - Options should be set up ok 5 - Should have default configuration with no config or opts ok 6 - Should have get requires and conflicts options ok 7 - Should set up template directory option ok 8 - Should have get template options ok 9 - Variables should by default not be loaded from config ok 10 - --set should be merged with config variables ok 11 - --set should be override config variables ok 12 - Requires should be an arrayref ok 13 - Conflicts should be an arrayref ok 14 - Notes should be an arrayref ok 15 - Varibles should be a hashref ok 16 - Default dir should be undef ok 17 - with_deploy should be true by default ok 18 - Should die on deploy_template ok 19 - Should be an "add" exception ok 20 - Should get deploy_template failure note ok 21 - with_revert should be true by default ok 22 - Should die on revert_template ok 23 - Should be an "add" exception ok 24 - Should get revert_template failure note ok 25 - with_test should be true by default ok 26 - Should die on test_template ok 27 - Should be an "add" exception ok 28 - Should get test_template failure note ok 29 - Create add with template_directory ok 30 - Should find deploy in templates directory ok 31 - Should find revert in templates directory ok 32 - Should find test in templates directory ok 33 - _find should work with template_directory ok 34 - Create add with no template directory ok 35 - _find should work with user_dir from Config ok 36 - Should die trying to find template ok 37 - Should be an "add" exception ok 38 - Should get unfound test template note ok 39 - _find should work with system_dir from Config ok 40 - _slurp() should load a reference to file contents ok 41 - sql\sqitch_change_test.sql does not exist ok 42 - Write out a script ok 43 - sql\sqitch_change_test.sql exists ok 44 - The template should have been evaluated ok 45 - Info should show $out created ok 46 - Create add cmd with requires and conflicts ok 47 - Write out a script with requires and conflicts ok 48 - Info should show $out created ok 49 - The template should have been evaluated with requires and conflicts ok 50 - Create another add with template_directory ok 51 - Should not have "widgets_table" in plan ok 52 - dir sql\deploy does not exist ok 53 - dir sql\revert does not exist ok 54 - dir sql\test does not exist ok 55 - Add change "widgets_table" ok 56 - Added change isa App::Sqitch::Plan::Change ok 57 - Change name should be set ok 58 - It should have no requires ok 59 - It should have no conflicts ok 60 - It should have prompted for a note ok 61 - sql\deploy\widgets_table.sql exists ok 62 - sql\revert\widgets_table.sql exists ok 63 - sql\test\widgets_table.sql exists ok 64 - Deploy script should look right ok 65 - Revert script should look right ok 66 - Test script should look right ok 67 - Info should have reported file creation ok 68 - Added change in reloaded plan isa App::Sqitch::Plan::Change ok 69 - Create another add with template_directory and no test script ok 70 - sql\deploy\foo_table.sql exists ok 71 - sql\revert\foo_table.sql does not exist ok 72 - sql\test\foo_table.sql does not exist ok 73 - Should not have "foo_table" in plan ok 74 - Add change "foo_table" ok 75 - sql\deploy\foo_table.sql exists ok 76 - sql\revert\foo_table.sql exists ok 77 - sql\test\foo_table.sql does not exist ok 78 - "foo_table" change isa App::Sqitch::Plan::Change ok 79 - It should have prompted for a note ok 80 - Change name should be set to "foo_table" ok 81 - It should have requires ok 82 - It should have conflicts ok 83 - It should have a comment ok 84 - Info should report skipping file and include dependencies ok 85 - no warnings ok '2' is not recognized as an internal or external command, operable program or batch file. Error closing pipe to C:\Perl-5.14\bin\perl.exe: Inappropriate I/O control operation Trace begun at C:\cpanfly-5.14\var\cpan\build\App-Sqitch-0.934-pq8wFa\blib\lib\App\Sqitch.pm line 449 App::Sqitch::spool('App::Sqitch=HASH(0x250269c)', 'GLOB(0x24f362c)', 'C:\Perl-5.14\bin\perl.exe', 'read.pl') called at t\base.t line 304 main::__ANON__ at C:\cpanfly-5.14\var\megalib\Capture\Tiny.pm line 362 eval {...} at C:\cpanfly-5.14\var\megalib\Capture\Tiny.pm line 362 Capture::Tiny::_capture_tee(1, 0, 0, 0, 'CODE(0x169e6d4)') called at t\base.t line 305 # Looks like you planned 95 tests but ran 90. # Looks like your test exited with 1 just after 90. t/base.t ........... 1..95 ok 1 - use App::Sqitch; ok 2 - App::Sqitch->can(...) ok 3 - A new object isa App::Sqitch ok 4 - db_client should be undef ok 5 - db_username should be undef ok 6 - db_name should be undef ok 7 - db_host should be undef ok 8 - db_port should be undef ok 9 - Default plan file should be $top_dir/sqitch.plan ok 10 - verbosity should be 1 ok 11 - Default extension should be sql ok 12 - Default top_dir should be . ok 13 - Default deploy_dir should be ./sql/deploy ok 14 - Default revert_dir should be ./sql/revert ok 15 - Default test_dir should be ./sql/test ok 16 - The object isa App::Sqitch::Plan ok 17 - Default user_name should be set from system ok 18 - Default user_email should be set from system ok 19 - Should get exception for no _engine ok 20 - No _engine error ident should be "core" ok 21 - No _engine error message should be correct ok 22 - Should get exception for no engine ok 23 - No engine error ident should be "core" ok 24 - No engine error message should be correct ok 25 - Should get error for unknown engine ok 26 - Unknown engine error ident should be "core" ok 27 - Unknown No engine error message should be correct ok 28 - Engine "pg" should be valid ok 29 - Engine "sqlite" should be valid ok 30 - Should get error for user name containing "<" ok 31 - Invalid user name error ident should be "user" ok 32 - Invalid user name error message should be correct ok 33 - Should get error for user name starting with "[" ok 34 - Second Invalid user name error ident should be "user" ok 35 - Second Invalid user name error message should be correct ok 36 - Should get error for user email containing ">" ok 37 - Invalid user email error ident should be "user" ok 38 - Invalid user email error message should be correct ok 39 - Should get 0 from go() ok 40 - Command isa App::Sqitch::Command::help ok 41 - Extra args should be passed to execute ok 42 - The object isa App::Sqitch ok 43 - Engine should be set by option ok 44 - ddl should be set by config ok 45 - Get the Sqitch config ok 46 - Should have local config overriding user ok 47 - Should fall back on user config ok 48 - Should have read user name from configuration ok 49 - Should have read user email from configuration ok 50 - Go should return 2 on Sqitch exception ok 51 - The error should have been vented ok 52 - The stack trace should have been sent to trace ok 53 - Go should return exitval on another exception ok 54 - Both the message and the trace should have been vented ok 55 - Nothing should have been traced ok 56 - Go should return 2 on a third Sqitch exception ok 57 - Should have one thing vented ok 58 - And it should include our message ok 59 - editor should use use parameter ok 60 - editor should use $EDITOR ok 61 - editor should prefer $SQITCH_EDITOR ok 62 - editor fall back on vi when not Windows ok 63 - editor fall back on notepad on Windows ok 64 - trace should work ok 65 - Should get no trace output for verbosity 2 ok 66 - debug should work ok 67 - Should get no debug output for verbosity 1 ok 68 - info should work ok 69 - Should get no info output for verbosity 0 ok 70 - comment should work ok 71 - comment should work with verbosity 0 ok 72 - emit should work ok 73 - emit should work even with verbosity 0 ok 74 - warn should work ok 75 - vent should work ok 76 - App::Sqitch->can('run') ok 77 - Should get success back from run echo ok 78 - The echo script should have run ok 79 - Nothign should have gone to STDERR ok 80 - run die should, well, die ok 81 - The die script should have its STDOUT ummolested ok 82 - The die script should have its STDERR unmolested ok 83 - App::Sqitch->can('capture') ok 84 - The echo script output should have been returned ok 85 - Should get an error if the command errors out ok 86 - The die script STDERR should have passed through ok 87 - App::Sqitch->can('probe') ok 88 - Should have just chomped first line of output ok 89 - App::Sqitch->can('spool') ok 90 - no warnings Dubious, test returned 1 (wstat 256, 0x100) Failed 5/95 subtests t/blank.t .......... 1..34 ok 1 - require App::Sqitch::Plan::Blank; ok 2 - App::Sqitch::Plan::Blank->can(...) ok 3 - The object isa App::Sqitch::Plan::Blank ok 4 - The object 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 Laeading and trailing newlines but not spaces from note ok 20 - Should have localized not prompt ok 21 - First arg to run() should be 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 - First arg to run() should be 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 # Failed test 'Should have no mkdir output' # at t/bundle.t line 171. # Structures begin differing at: # $got->[0] = ARRAY(0x246ffe4) # $expected->[0] = Does not exist # Looks like you failed 1 test of 125. t/bundle.t ......... ok 1 - Load a sqitch object ok 2 - bundle command isa App::Sqitch::Command::bundle ok 3 - App::Sqitch::Command::bundle->can(...) ok 4 - Should have dest_dir option ok 5 - Default dest_dir should be bundle/ ok 6 - Should have dest top dir ok 7 - Default config should be empty ok 8 - --dest_dir should be converted to a path object by configure() ok 9 - --from and --to should be passed through configure ok 10 - Load a sqitch object with top_dir ok 11 - bundle.dest_dir config should be converted to a path object by configure() ok 12 - another bundle command isa App::Sqitch::Command::bundle ok 13 - dest_dir should be "_build\sql" ok 14 - Dest top dir should be _build/sql/sql/ ok 15 - Dest deploy dir should be _build/sql/sql/deploy ok 16 - Dest revert dir should be _build/sql/sql/revert ok 17 - Dest test dir should be _build/sql/sql/test ok 18 - Load a sqitch object with pg top_dir ok 19 - pg bundle command isa App::Sqitch::Command::bundle ok 20 - dest_dir should again be "_build\sql" ok 21 - Dest deploy dir should be _build/sql/pg/deploy ok 22 - Dest revert dir should be _build/sql/pg/revert ok 23 - Dest test dir should be _build/sql/pg/test ok 24 - Path delete.me should not exist ok 25 - Create delete.me ok 26 - Path delete.me should now exist ok 27 - The mkdir info should have been output ok 28 - Create delete.me again ok 29 - Path delete.me should still exist ok 30 - Nothing should have been emitted ok 31 - Should fail on permission issue ok 32 - Permission error should have ident "bundle" ok 33 - The permission error should be formatted properly ok 34 - File delete.me\deploy\roles.sql should not exist ok 35 - Copy sql\deploy\roles.sql to delete.me\deploy\roles.sql ok 36 - File delete.me\deploy\roles.sql should now exist ok 37 - delete.me\deploy\roles.sql and sql\deploy\roles.sql contents are the same ok 38 - The mkdir and copy info should have been output ok 39 - Copy sql\deploy\roles.sql to delete.me\deploy\roles.sql again ok 40 - File delete.me\deploy\roles.sql should still exist ok 41 - delete.me\deploy\roles.sql and sql\deploy\roles.sql contents are the same not ok 42 - Should have no mkdir output ok 43 - No copy message should have been emitted ok 44 - Copy sql\deploy\roles.sql to old delete.me\deploy\roles.sql ok 45 - File delete.me\deploy\roles.sql should still be there ok 46 - delete.me\deploy\roles.sql and sql\deploy\roles.sql contents are the same ok 47 - Only copy message should again have been emitted ok 48 - Copy sql\deploy\users.sql to delete.me\deploy\roles.sql ok 49 - File delete.me\deploy\roles.sql should now exist ok 50 - delete.me\deploy\roles.sql and sql\deploy\users.sql contents are the same ok 51 - Again only Copy message should have been emitted ok 52 - Should get exception when source file does not exist ok 53 - Nonexistent file error ident should be "bundle" ok 54 - Nonexistent file error message should be correct ok 55 - Should get exception when copy returns false ok 56 - Copy fail ident should be "bundle" ok 57 - Copy fail error message should be correct ok 58 - _build\sql\sqitch.conf does not exist ok 59 - Bundle the config file ok 60 - _build\sql\sqitch.conf exists ok 61 - _build\sql\sqitch.conf and sqitch.conf contents are the same ok 62 - Should have config notice ok 63 - _build\sql\pg\sqitch.plan does not exist ok 64 - Bundle the plan file ok 65 - _build\sql\pg\sqitch.plan exists ok 66 - _build\sql\pg\sqitch.plan and pg\sqitch.plan contents are the same ok 67 - Should have plan notice ok 68 - --from bundle command isa App::Sqitch::Command::bundle ok 69 - From should be "widgets" ok 70 - Bundle the plan file with --from ok 71 - Statement of the bits written should have been emitted ok 72 - Plan should have written only "widgets" ok 73 - --to bundle command isa App::Sqitch::Command::bundle ok 74 - To should be "users" ok 75 - Bundle the plan file with --to ok 76 - Statement of the bits written should have been emitted ok 77 - Plan should have written only "users" and its tags ok 78 - _build\sql\pg\deploy\users.sql does not exist ok 79 - _build\sql\pg\revert\users.sql does not exist ok 80 - _build\sql\pg\deploy\widgets.sql does not exist ok 81 - _build\sql\pg\revert\widgets.sql does not exist ok 82 - Load pg sqitch object ok 83 - another bundle command isa App::Sqitch::Command::bundle ok 84 - Bundle scripts ok 85 - _build\sql\pg\deploy\users.sql exists ok 86 - _build\sql\pg\revert\users.sql exists ok 87 - _build\sql\pg\deploy\widgets.sql exists ok 88 - _build\sql\pg\revert\widgets.sql exists ok 89 - Should have change notices ok 90 - bundle from "widgets" isa App::Sqitch::Command::bundle ok 91 - Bundle scripts ok 92 - _build\sql\pg\deploy\users.sql does not exist ok 93 - _build\sql\pg\revert\users.sql does not exist ok 94 - _build\sql\pg\deploy\widgets.sql exists ok 95 - _build\sql\pg\revert\widgets.sql exists ok 96 - Should have only "widets" in change notices ok 97 - bundle to "users" isa App::Sqitch::Command::bundle ok 98 - Bundle scripts ok 99 - _build\sql\pg\deploy\users.sql exists ok 100 - _build\sql\pg\revert\users.sql exists ok 101 - _build\sql\pg\deploy\widgets.sql does not exist ok 102 - _build\sql\pg\revert\widgets.sql does not exist ok 103 - Should have only "users" in change notices ok 104 - Should die on nonexistent from change ok 105 - Nonexistent from change ident should be "bundle" ok 106 - Nonexistent from message change should be correct ok 107 - Should die on nonexistent to change ok 108 - Nonexistent to change ident should be "bundle" ok 109 - Nonexistent to message change should be correct ok 110 - _build\sql\sqitch.conf does not exist ok 111 - _build\sql\pg\sqitch.plan does not exist ok 112 - _build\sql\pg\deploy\users.sql does not exist ok 113 - _build\sql\pg\revert\users.sql does not exist ok 114 - _build\sql\pg\deploy\widgets.sql does not exist ok 115 - _build\sql\pg\revert\widgets.sql does not exist ok 116 - another bundle command isa App::Sqitch::Command::bundle ok 117 - Execute! ok 118 - _build\sql\sqitch.conf exists ok 119 - _build\sql\pg\sqitch.plan exists ok 120 - _build\sql\pg\deploy\users.sql exists ok 121 - _build\sql\pg\revert\users.sql exists ok 122 - _build\sql\pg\deploy\widgets.sql exists ok 123 - _build\sql\pg\revert\widgets.sql exists ok 124 - Should have all notices ok 125 - no warnings 1..125 Dubious, test returned 1 (wstat 256, 0x100) Failed 1/125 subtests t/change.t ......... 1..67 ok 1 - require App::Sqitch::Plan::Change; ok 2 - App::Sqitch::Plan::Change->can(...) ok 3 - The object isa App::Sqitch::Plan::Change ok 4 - The object 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 - _fn should have the file name ok 10 - The deploy file should be correct ok 11 - The revert file should be correct ok 12 - The test file should be correct ok 13 - Set the suffix ok 14 - _fn should now include suffix ok 15 - Name should format as "foo" ok 16 - Name should format with tags as "foo" ok 17 - Dependencies should format as "" ok 18 - Name should format with dependencies as "foo" ok 19 - Name should format op without dependencies as "foo" ok 20 - Change content should format correctly without dependencies ok 21 - Planner name shoudld default to user name ok 22 - Planner email shoudld default to user email ok 23 - Planner name and email should format properly ok 24 - should stringify to "foo" + planner ok 25 - Since tag should be undef ok 26 - Change info should be correct ok 27 - Change ID should be correct ok 28 - Create change with more stuff ok 29 - It should stringify correctly ok 30 - It should not be a deploy change ok 31 - It should be a revert change ok 32 - It should say so ok 33 - It should have a since tag ok 34 - Info should include since tag ok 35 - Should have no tags ok 36 - Add a tag ok 37 - Should have the tag ok 38 - Should format name with tags ok 39 - Planner name and email should format properly ok 40 - Dependencies should format as "[foo bar @baz !dr_evil]" ok 41 - Name should format with dependencies as "yo/howdy [foo bar @baz !dr_evil]" ok 42 - Name should format op with dependencies as "yo/howdy [foo bar @baz !dr_evil]" ok 43 - Change content should format correctly with dependencies ok 44 - _fn should separate out directories ok 45 - The deploy file should include the suffix ok 46 - The revert file should include the suffix ok 47 - The test file should include the suffix ok 48 - Create change "baz" ok 49 - Create change "bar" ok 50 - Get deploy handle ok 51 - It should be the deploy file ok 52 - Get revert handle ok 53 - It should be the revert file ok 54 - Get test handle ok 55 - It should be the test file ok 56 - Create a change with explicit requires and conflicts ok 57 - requires should be set ok 58 - conflicts should be set ok 59 - Dependencies should include requires and conflicts ok 60 - Should find changes for requires ok 61 - Should find changes for conflicts ok 62 - Create change with UTF-8 name ok 63 - The name should be decoded text ok 64 - Change ID should be hahsed from encoded UTF-8 ok 65 - note_prompt() should work ok 66 - note_prompt() should work ok 67 - no warnings ok t/changelist.t ..... 1..253 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 find @FIRST at 1 ok 35 - Should find @FIRST^ at 0 ok 36 - Should find @FIRST~ at 2 ok 37 - Should find @FIRST~~ at 3 ok 38 - Should not find @FIRST~~~ ok 39 - Should find @FIRST~2 at 3 ok 40 - Should find @FIRST~3 at 4 ok 41 - Should find @FIRST at firest index of 1 ok 42 - Should find @FIRST^ at firest index of 0 ok 43 - Should find @FIRST~ at firest index of 2 ok 44 - Should find @FIRST~~ at firest index of 3 ok 45 - Should not find @FIRST~~~ ok 46 - Should find @FIRST~2 at firest index of 3 ok 47 - Should find @FIRST~3 at firest index of 4 ok 48 - Should get bar for @FIRST ok 49 - Should get foo for @FIRST^ ok 50 - Should get yo1 for @FIRST~ ok 51 - Should find bar for @FIRST ok 52 - Should find foo for @FIRST^ ok 53 - Should find yo1 for @FIRST~ ok 54 - Should find @LAST at 2 ok 55 - Should find @LAST^ at 1 ok 56 - Should find @LAST^^ at 1 ok 57 - Should not find @LAST^^^ ok 58 - Should find @LAST at firest index of 2 ok 59 - Should find @LAST^ at firest index of 1 ok 60 - Should find @LAST^^ at firest index of 1 ok 61 - Should not find @LAST^^^ ok 62 - Should get yo1 for @LAST ok 63 - should get bar for @LAST^ ok 64 - should get baz for @LAST~ ok 65 - Should find yo1 for @LAST ok 66 - should find bar for @LAST^ ok 67 - should find baz for @LAST~ ok 68 - Should get multiple indexes error looking for index of "yo" ok 69 - Multiple indexes error ident should be "plan" ok 70 - Multiple indexes message should be correct ok 71 - Should unknown tag error for invalid tag ok 72 - Unknown tag error ident should be "plan" ok 73 - Unknown taf message should be correct ok 74 - Should get 2 for yo@alpha ok 75 - Should get 1 for yo@alpha^ ok 76 - Should get 4 for yo@HEAD ok 77 - Should get 3 for yo@HEAD^ ok 78 - Should get undef for yo@HEAD~ ok 79 - Should get undef for yo@HEAD~~ ok 80 - Should get 0 for foo@alpha ok 81 - Should get 0 for foo@HEAD ok 82 - Should get 0 for foo@ROOT ok 83 - Should get undef for baz@alpha ok 84 - Should get 3 for baz@HEAD ok 85 - Should get 4 for @HEAD ok 86 - Should get 0 for @ROOT ok 87 - Should get 3 for @HEAD^ ok 88 - Should get undef for @HEAD~ ok 89 - Should get 1 for @ROOT~ ok 90 - Should get undef for @ROOT^ ok 91 - Should get foo for "foo" ok 92 - Should get bar for "foo~" ok 93 - Should get foo by ID ok 94 - Should get bar for "bar" ok 95 - Should get foo for "bar^" ok 96 - Should get yo1 for "bar~" ok 97 - Should get baz for "bar~~" ok 98 - Should get yo2 for "bar~3" ok 99 - Should get bar by ID ok 100 - Should get "yo" by the @alpha tag ok 101 - Should get baz for "baz" ok 102 - Should get baz by ID ok 103 - Should get baz for "@HEAD^" ok 104 - Should get yo1 for "@HEAD^^" ok 105 - Should get bar for "@HEAD^3" ok 106 - Should get foo for "@ROOT" ok 107 - Should get yo1 for yo@alpha ok 108 - Should get yo2 for yo@HEAD ok 109 - Should get foo for foo@alpha ok 110 - Should get foo for foo@HEAD ok 111 - Should get undef for baz@alpha ok 112 - Should get baz for baz@HEAD ok 113 - Should get yo2 for "yo@HEAD" ok 114 - Should get foo for "foo@ROOT" ok 115 - Should find yo1 with "yo" ok 116 - Should find yo1 with "yo@alpha" ok 117 - Should find yo2 with yo@HEAD ok 118 - Should find foo for "foo" ok 119 - Should find foo for "foo@alpha" ok 120 - Should find foo for "foo@HEAD" ok 121 - Should find bar with "yo^" ok 122 - Should find foo with "yo^^" ok 123 - Should find foo with "yo^2" ok 124 - Should find baz with "yo~" ok 125 - Should find yo2 with "yo~~" ok 126 - Should find yo2 with "yo~2" ok 127 - Should find bar with "yo@alpha^" ok 128 - Should find baz with "yo@alpha^" ok 129 - Should find baz with yo@HEAD^ ok 130 - Should find baz with @HEAD^ ok 131 - Should find bar with @ROOT~^ ok 132 - Should get multiple indexes error looking for index of "yo" ok 133 - Multiple indexes error ident should be "plan" ok 134 - Multiple indexes message should be correct ok 135 - Should unknown tag error for invalid tag ok 136 - Unknown tag error ident should be "plan" ok 137 - Unknown taf message should be correct ok 138 - Push hi ok 139 - Count should now be six ok 140 - Changes should be in order with $hi at the end ok 141 - Should find "hi" at index 5 ok 142 - Should find "hi" by ID at index 5 ok 143 - Index of @ROOT should still be 0 ok 144 - Index of @HEAD should now be 5 ok 145 - First index of "non" should be undef ok 146 - First index of "foo" should be 0 ok 147 - First index of "foo~" should be 1 ok 148 - First index of "foo~~" should be 2 ok 149 - First index of "foo~3" should be 3 ok 150 - Should not find first index of "foo~~~" ok 151 - First index of "foo" since @ROOT should be undef ok 152 - First index of "bar" should be 1 ok 153 - First index of "yo" should be 2 ok 154 - First index of "yo" since @ROOT should be 2 ok 155 - First index of "baz" should be 3 ok 156 - First index of "baz^" should be 2 ok 157 - First index of "baz^^" should be 1 ok 158 - First index of "baz^3" should be 0 ok 159 - Should not find first index of "baz^^^" ok 160 - First index of "yo" since "@alpha" should be 4 ok 161 - First index of "yo" since "baz" should be 4 ok 162 - First index of "yo^" since "baz" should be 4 ok 163 - First index of "yo~" since "baz" should be 5 ok 164 - Should get an exception for an unknown change passed to first_index_of() ok 165 - Unknown change error ident should be "plan" ok 166 - Unknown change message should be correct ok 167 - Push so and fu ok 168 - Count should now be eight ok 169 - Index of @ROOT should remain 0 ok 170 - Index of @HEAD should now be 7 ok 171 - Changes should be in order with $so and $fu at the end ok 172 - Index beta ok 173 - Should find @beta at index 4 ok 174 - Should find yo2 via @beta ok 175 - Should find yo2 via @beta ID ok 176 - Tags should return both tags ok 177 - Should get 2 for last tagged index ok 178 - Should find "yo" as last tagged ok 179 - Should get 8 for count ok 180 - Should find fu as last change ok 181 - Should find last tagged index at 0 ok 182 - Should find last tagged at 0 ok 183 - Should get count 1 ok 184 - Should find last change at 0 ok 185 - Should find last tagged index at 1 ok 186 - Should find last tagged at 1 ok 187 - Should get count 2 ok 188 - Should find last change at 1 ok 189 - Should find last tagged index at 3 ok 190 - Should find last tagged at 3 ok 191 - Should get count 4 ok 192 - Should find last change at 3 ok 193 - Should find last tagged index at 4 ok 194 - Should find last tagged at 4 ok 195 - Should get count 5 ok 196 - Should find last change at 4 ok 197 - Should not find tag index in 0 changes ok 198 - Should not find tag in 0 changes ok 199 - Should find no change in empty plan ok 200 - Should not find tag index in 2 changes ok 201 - Should not find tag in 2 changes ok 202 - Should not find tag index in 4 changes ok 203 - Should not find tag in 4 changes ok 204 - The object isa App::Sqitch::Plan::ChangeList ok 205 - Should not find index of "foo" in empty list ok 206 - Should not find first index of "foo" in empty list ok 207 - Should get undef for "foo" in empty list ok 208 - Should find undef for "foo" in empty list ok 209 - Should not find index of "bar" in empty list ok 210 - Should not find first index of "bar" in empty list ok 211 - Should get undef for "bar" in empty list ok 212 - Should find undef for "bar" in empty list ok 213 - Should not find index of "HEAD" in empty list ok 214 - Should not find first index of "HEAD" in empty list ok 215 - Should get undef for "HEAD" in empty list ok 216 - Should find undef for "HEAD" in empty list ok 217 - Should not find index of "@HEAD" in empty list ok 218 - Should not find first index of "@HEAD" in empty list ok 219 - Should get undef for "@HEAD" in empty list ok 220 - Should find undef for "@HEAD" in empty list ok 221 - Should not find index of "ROOT" in empty list ok 222 - Should not find first index of "ROOT" in empty list ok 223 - Should get undef for "ROOT" in empty list ok 224 - Should find undef for "ROOT" in empty list ok 225 - Should not find index of "@ROOT" in empty list ok 226 - Should not find first index of "@ROOT" in empty list ok 227 - Should get undef for "@ROOT" in empty list ok 228 - Should find undef for "@ROOT" in empty list ok 229 - Should not find index of "alpha" in empty list ok 230 - Should not find first index of "alpha" in empty list ok 231 - Should get undef for "alpha" in empty list ok 232 - Should find undef for "alpha" in empty list ok 233 - Should not find index of "@alpha" in empty list ok 234 - Should not find first index of "@alpha" in empty list ok 235 - Should get undef for "@alpha" in empty list ok 236 - Should find undef for "@alpha" in empty list ok 237 - Should not find index of "FIRST" in empty list ok 238 - Should not find first index of "FIRST" in empty list ok 239 - Should get undef for "FIRST" in empty list ok 240 - Should find undef for "FIRST" in empty list ok 241 - Should not find index of "@FIRST" in empty list ok 242 - Should not find first index of "@FIRST" in empty list ok 243 - Should get undef for "@FIRST" in empty list ok 244 - Should find undef for "@FIRST" in empty list ok 245 - Should not find index of "LAST" in empty list ok 246 - Should not find first index of "LAST" in empty list ok 247 - Should get undef for "LAST" in empty list ok 248 - Should find undef for "LAST" in empty list ok 249 - Should not find index of "@LAST" in empty list ok 250 - Should not find first index of "@LAST" in empty list ok 251 - Should get undef for "@LAST" in empty list ok 252 - Should find undef for "@LAST" in empty list ok 253 - no warnings ok t/command.t ........ 1..85 ok 1 - use App::Sqitch::Command; ok 2 - App::Sqitch::Command->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 array sqitch param ok 6 - Should get an exception for string sqitch param ok 7 - The object 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 - Load a "whu" command ok 13 - The object isa App::Sqitch::Command::whu ok 14 - The sqitch attribute should be set ok 15 - Load a "whu" command with "foo" config ok 16 - The "foo" attribute should be set ok 17 - Should exit ok 18 - Invalid command error ident should be "config" ok 19 - Should get proper mesage for invalid command ok 20 - Should have exitval of 1 ok 21 - No command should yield usage ok 22 - No args should be passed to usage ok 23 - Should die on bad command module ok 24 - Load a "whu" command with "--feathers" optin ok 25 - The "feathers" attribute should be set ok 26 - Load an "add" command ok 27 - It isa App::Sqitch::Command::add ok 28 - command() should return hyphenated name ok 29 - App::Sqitch::Command->can('execute') ok 30 - Create a App::Sqitch::Command object ok 31 - Base class command should be "" ok 32 - Base object command should be "" ok 33 - Should get an error calling execute on command base class ok 34 - Execute exception ident should be "DEV" ok 35 - The execute() error message should be correct ok 36 - Create a subclass command object ok 37 - Subclass oject command should be "whu" ok 38 - Subclass class command should be "whu" ok 39 - Should get an error for un-overridden execute() method ok 40 - Un-overidden execute() exception ident should be "DEV" ok 41 - The unoverridden execute() error message should be correct ok 42 - App::Sqitch::Command->can(...) ok 43 - Create a App::Sqitch::Command object again ok 44 - Base _parse_opts should return an empty hash ok 45 - Create a subclass command object again ok 46 - Subclass should return an empty hash for no args ok 47 - Subclass should use options spec ok 48 - Subclass should parse options spec ok 49 - Args array should be cleared of options ok 50 - Should get warning for unknown option ok 51 - Should call _pod2usage on options parse failure ok 52 - Good command object isa App::Sqitch::Command::good ok 53 - Should get warning for unknown option when there are no options ok 54 - Should call _pod2usage on no options parse failure ok 55 - Call _pod2usage on base object ok 56 - Default params should be passed to Pod::Usage ok 57 - Call _pod2usage on "whu" command object ok 58 - Default params should be passed to Pod::Usage ok 59 - Config command object isa App::Sqitch::Command::config ok 60 - Call _pod2usage on "config" command object ok 61 - Should find sqitch-config docs to pass to Pod::Usage ok 62 - Good command object isa App::Sqitch::Command::good ok 63 - Call _pod2usage on "good" command object ok 64 - Should find App::Sqitch::Command::good docs to pass to Pod::Usage ok 65 - App::Sqitch::Command::good->can('usage') ok 66 - Should find App::Sqitch::Command::good docs to pass to Pod::Usage ok 67 - App::Sqitch::Command->can('verbosity') ok 68 - Verbosity should be from sqitch ok 69 - Verbosity should change with sqitch ok 70 - trace should work ok 71 - Should get no trace output for verbosity 2 ok 72 - debug should work ok 73 - Should get no debug output for verbosity 1 ok 74 - info should work ok 75 - Should get no info output for verbosity 0 ok 76 - comment should work ok 77 - comment should work with verbosity 0 ok 78 - emit should work ok 79 - emit should work even with verbosity 0 ok 80 - warn should work ok 81 - threw Regexp ((?^:EXITED: 2)) ok 82 - usage should work ok 83 - threw Regexp ((?^:EXITED: 2)) ok 84 - usage should prefer sqitch-$command-usage ok 85 - no warnings ok t/config.t ......... 1..344 ok 1 - use App::Sqitch; 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 - Construct with user and system ok 8 - Should get error for multiple config files ok 9 - Construct with user and local ok 10 - Should get error for multiple config files ok 11 - Construct with file and system ok 12 - Should get another error for multiple config files ok 13 - Construct with file and user ok 14 - Should get a third error for multiple config files ok 15 - Construct with file, system, and user ok 16 - Should get one last error for multiple config files ok 17 - Construct with bool and num ok 18 - Should get error for multiple types ok 19 - Construct with int and num ok 20 - Should get another error for multiple types ok 21 - Construct with int and bool ok 22 - Should get a third error for multiple types ok 23 - Construct with int, num, and bool ok 24 - Should get one last error for multiple types ok 25 - Construct with get & unset ok 26 - Should get error for multiple actions ok 27 - Construct with get & unset & edit ok 28 - Should get error for multiple actions ok 29 - Construct with get & unset & edit & list ok 30 - Should get error for multiple actions ok 31 - Construct with unset & edit ok 32 - Should get error for multiple actions ok 33 - Construct with unset & edit & list ok 34 - Should get error for multiple actions ok 35 - Construct with edit & list ok 36 - Should get error for multiple actions ok 37 - Construct with edit & add & list ok 38 - Should get error for multiple actions ok 39 - Construct with edit & add & list & get_all ok 40 - Should get error for multiple actions ok 41 - Construct with edit & add & list & get_regex ok 42 - Should get error for multiple actions ok 43 - Construct with edit & add & list & unset_all ok 44 - Should get error for multiple actions ok 45 - Construct with edit & add & list & get_all & unset_all ok 46 - Should get error for multiple actions ok 47 - Construct with edit & list & remove_section ok 48 - Should get error for multiple actions ok 49 - Construct with edit & list & remove_section & rename_section ok 50 - Should get error for multiple actions ok 51 - Default context should be local context ok 52 - Default action should be undef ok 53 - Default context should be undef ok 54 - Local context should be local ok 55 - User context should be user ok 56 - System context should be system ok 57 - Create config set command ok 58 - Execute the set command ok 59 - The set method should have been called ok 60 - Execute the get command ok 61 - The get method should have been called ok 62 - Create config get-all command ok 63 - An action with a dash should have triggered a method with an underscore ok 64 - Create config get command ok 65 - Get core.engine ok 66 - Should have emitted the merged core.engine ok 67 - Get core.pg.host ok 68 - Should have emitted the merged core.pg.host ok 69 - Get core.pg.client ok 70 - Should have emitted the merged core.pg.client ok 71 - Should get usage for missing get key ok 72 - And the missing get key should trigger a usage message ok 73 - Should get usage for invalid get key ok 74 - And the invalid get key should trigger a usage message ok 75 - Create config get int command ok 76 - Get revert.count as int ok 77 - Should have emitted the revert count ok 78 - Get revert.revision as int ok 79 - Should have emitted the revert revision as an int ok 80 - Get bundle.tags_only as an int should fail ok 81 - Int cast exception ident should be "config" ok 82 - Create config get num command ok 83 - Get revert.count as num ok 84 - Should have emitted the revert count ok 85 - Get revert.revision as num ok 86 - Should have emitted the revert revision as an num ok 87 - Get bundle.tags_only as an num should fail ok 88 - Num cast exception ident should be "config" ok 89 - Create config get bool command ok 90 - Should get failure for invalid bool int ok 91 - Bool int cast exception ident should be "config" ok 92 - Should get failure for invalid bool num ok 93 - Bool num cast exception ident should be "config" ok 94 - Get bundle.tags_only as bool ok 95 - Should have emitted bundle.tags_only as a bool ok 96 - Create config get bool-or-int command ok 97 - Get revert.count as bool-or-int ok 98 - Should have emitted the revert count as an int ok 99 - Get revert.revision as bool-or-int ok 100 - Should have emitted the revert revision as an int ok 101 - Get bundle.tags_only as bool-or-int ok 102 - Should have emitted bundle.tags_only as a bool ok 103 - Create system config get command ok 104 - Get system core.engine ok 105 - Should have emitted the system core.engine ok 106 - Get system core.pg.client ok 107 - Should have emitted the system core.pg.client ok 108 - Attempt to get core.pg.host should fail ok 109 - Error ident should be "config" ok 110 - Error Message should be empty ok 111 - Error exitval should be 1 ok 112 - Nothing should have been emitted ok 113 - Create user config get command ok 114 - Get user core.pg.host ok 115 - Should have emitted the user core.pg.host ok 116 - Get user core.pg.client ok 117 - Should have emitted the user core.pg.client ok 118 - Create local config get command ok 119 - Get local core.pg.db_name ok 120 - Should have emitted the local core.pg.db_name ok 121 - Get local core.engine ok 122 - Should have emitted the local core.engine ok 123 - Create another system config get command ok 124 - There should be no system config file ok 125 - Should fail when no system config file ok 126 - Error ident should be "config" ok 127 - Error Message should be empty ok 128 - Error exitval should be 1 ok 129 - Create another user config get command ok 130 - There should be no user config file ok 131 - Should fail when no user config file ok 132 - Error ident should be "config" ok 133 - Error Message should be empty ok 134 - Error exitval should be 1 ok 135 - Create another local config get command ok 136 - There should be no local config file ok 137 - Should fail when no local config file ok 138 - Error ident should be "config" ok 139 - Error Message should be empty ok 140 - Error exitval should be 1 ok 141 - Create config list command ok 142 - Execute the list action ok 143 - Should have emitted the merged config ok 144 - Create system config list command ok 145 - List the system config ok 146 - Should have emitted the system config list ok 147 - Create user config list command ok 148 - List the user config ok 149 - Should only have emitted the user config list ok 150 - Create local config list command ok 151 - List the local config ok 152 - Should only have emitted the local config list ok 153 - Create system config list command with no file ok 154 - List the system config ok 155 - Nothing should have been emitted ok 156 - Create user config list command with no file ok 157 - List the user config ok 158 - Nothing should have been emitted ok 159 - Create system config set command ok 160 - Write core.foo ok 161 - The property should have been written ok 162 - Write core.engine ok 163 - Both settings should be saved ok 164 - Write core.pg.user ok 165 - Both sections should be saved ok 166 - Should set usage for missing set key ok 167 - And the missing set key should trigger a usage message ok 168 - Should set usage for invalid set key ok 169 - And the invalid set key should trigger a usage message ok 170 - Should set usage for missing set value ok 171 - And the missing set value should trigger a usage message ok 172 - Create system config add command ok 173 - Add to core.foo ok 174 - The value should have been added to the property ok 175 - Should add usage for missing add key ok 176 - And the missing add key should trigger a usage message ok 177 - Should add usage for invalid add key ok 178 - And the invalid add key should trigger a usage message ok 179 - Should add usage for missing add value ok 180 - And the missing add value should trigger a usage message ok 181 - Create system config add command ok 182 - Get core.engine with regex ok 183 - Should have emitted value ok 184 - Get core.foo with regex ok 185 - Should have emitted value ok 186 - Attempt to get core.foo with non-matching regex should fail ok 187 - Error ident should be "config" ok 188 - Error Message should be empty ok 189 - Error exitval should be 1 ok 190 - Nothing should have been emitted ok 191 - Create system config get_all command ok 192 - Call get_all on core.engine ok 193 - The engine should have been emitted ok 194 - Get all core.engine with regex ok 195 - Should have emitted value ok 196 - Call get_all on core.foo ok 197 - Both foos should have been emitted ok 198 - Call get_all on core.foo with regex ok 199 - Both foos should have been emitted ok 200 - Call get_all on core.foo with limiting regex ok 201 - Only the one foo should have been emitted ok 202 - Attempt to get_all core.foo with non-matching regex should fail ok 203 - Error ident should be "config" ok 204 - Error Message should be empty ok 205 - Error exitval should be 1 ok 206 - Nothing should have been emitted ok 207 - Should get_all usage for missing get_all key ok 208 - And the missing get_all key should trigger a usage message ok 209 - Should get_all usage for invalid get_all key ok 210 - And the invalid get_all key should trigger a usage message ok 211 - Create config get_all int command ok 212 - Get revert.count as int ok 213 - Should have emitted the revert count ok 214 - Get revert.revision as int ok 215 - Should have emitted the revert revision as an int ok 216 - Get bundle.tags_only as an int should fail ok 217 - Int cast exception ident should be "config" ok 218 - Create config get_all num command ok 219 - Get revert.count as num ok 220 - Should have emitted the revert count ok 221 - Get revert.revision as num ok 222 - Should have emitted the revert revision as an num ok 223 - Get bundle.tags_only as an num should fail ok 224 - Num cast exception ident should be "config" ok 225 - Create config get_all bool command ok 226 - Should get failure for invalid bool int ok 227 - Bool int cast exception ident should be "config" ok 228 - Should get failure for invalid bool num ok 229 - Num int cast exception ident should be "config" ok 230 - Get bundle.tags_only as bool ok 231 - Should have emitted bundle.tags_only as a bool ok 232 - Create config get_all bool-or-int command ok 233 - Get revert.count as bool-or-int ok 234 - Should have emitted the revert count as an int ok 235 - Get revert.revision as bool-or-int ok 236 - Should have emitted the revert revision as an int ok 237 - Get bundle.tags_only as bool-or-int ok 238 - Should have emitted bundle.tags_only as a bool ok 239 - Create system config get_regex command ok 240 - Call get_regex on core\..+ ok 241 - Should match all core options ok 242 - Call get_regex on core\.pg\..+ ok 243 - Should match all core.pg options ok 244 - Call get_regex on core\.pg\..+ and value regex ok 245 - Should match all core.pg options that match ok 246 - Attempt to get_regex core.foo with non-matching regex should fail ok 247 - Error ident should be "config" ok 248 - Error Message should be empty ok 249 - Error exitval should be 1 ok 250 - Nothing should have been emitted ok 251 - Should get_regex usage for missing get_regex key ok 252 - And the missing get_regex key should trigger a usage message ok 253 - Should get_regex usage for invalid get_regex key ok 254 - And the invalid get_regex key should trigger a usage message ok 255 - Create config get_regex int command ok 256 - Get revert.count as int ok 257 - Should have emitted the revert count ok 258 - Get revert.revision as int ok 259 - Should have emitted the revert revision as an int ok 260 - Get bundle.tags_only as an int should fail ok 261 - Int cast exception ident should be "config" ok 262 - Create config get_regex num command ok 263 - Get revert.count as num ok 264 - Should have emitted the revert count ok 265 - Get revert.revision as num ok 266 - Should have emitted the revert revision as an num ok 267 - Get bundle.tags_only as an num should fail ok 268 - Num cast exception ident should be "config" ok 269 - Create config get_regex bool command ok 270 - Should get failure for invalid bool int ok 271 - Bool int cast exception ident should be "config" ok 272 - Should get failure for invalid bool num ok 273 - Num int cast exception ident should be "config" ok 274 - Get bundle.tags_only as bool ok 275 - Should have emitted bundle.tags_only as a bool ok 276 - Create config get_regex bool-or-int command ok 277 - Get revert.count as bool-or-int ok 278 - Should have emitted the revert count as an int ok 279 - Get revert.revision as bool-or-int ok 280 - Should have emitted the revert revision as an int ok 281 - Get bundle.tags_only as bool-or-int ok 282 - Should have emitted bundle.tags_only as a bool ok 283 - Create system config unset command ok 284 - Unset core.pg.user ok 285 - core.pg.user should be gone ok 286 - Unset core.engine ok 287 - core.engine should have been removed ok 288 - Should get failure trying to delete multivalue key ok 289 - Multiple value exception ident should be "config" ok 290 - And it should have the proper error message ok 291 - Unset core.foo with a regex ok 292 - The core.foo "baz" value should have been removed ok 293 - Should unset usage for missing unset key ok 294 - And the missing unset key should trigger a usage message ok 295 - Should unset usage for invalid unset key ok 296 - And the invalid unset key should trigger a usage message ok 297 - Create system config unset-all command ok 298 - Unset-all core.foo ok 299 - core.foo should have been removed ok 300 - Unset-all core.foo with regex ok 301 - core.foo should have one value left ok 302 - Should unset_all usage for missing unset_all key ok 303 - And the missing unset_all key should trigger a usage message ok 304 - Should unset_all usage for invalid unset_all key ok 305 - And the invalid unset_all key should trigger a usage message ok 306 - Create system config replace-all command ok 307 - Replace all core.bar ok 308 - core.bar should have all its values with one value ok 309 - Replace all core.bar matching /^ba/ ok 310 - core.foo should have had the matching values replaced ok 311 - Create system config rename-section command ok 312 - Rename "core" to "funk" ok 313 - core.foo should have become funk.foo ok 314 - Should fail with no new name ok 315 - Message should be in the usage call ok 316 - Should fail with bad old name ok 317 - Message should be in the usage call ok 318 - Should fail with bad new name ok 319 - Message should be in the usage call ok 320 - Should fail with invalid section ok 321 - Invalid section exception ident should be "config" ok 322 - Invalid section exception message should be set ok 323 - Create system config remove-section command ok 324 - Remove "func" section ok 325 - The "funk" section should be gone ok 326 - Should fail with no name ok 327 - Message should be in the usage call ok 328 - Should fail with invalid name ok 329 - Invalid key name exception ident should be "config" ok 330 - And the invalid key message should be set ok 331 - Should fail fetching multi-value key ok 332 - Multi-value key exception ident should be "config" ok 333 - The multiple value error should be thrown ok 334 - Should fail setting multi-value key ok 335 - Mult-valkue key exception ident should be "config" ok 336 - The multi-value key error should be thrown ok 337 - Create system config edit command ok 338 - Execute the edit comand ok 339 - The editor should have been run ok 340 - Load a new sqitch object ok 341 - Create system config set command with subdirectory config file path ok 342 - Set "my.foo" in subdirectory config file ok 343 - The file should have been written ok 344 - no warnings ok t/configuration.t .. 1..17 ok 1 - use App::Sqitch::Config; ok 2 - New config object isa App::Sqitch::Config ok 3 - confname should be "sqitch.conf" ok 4 # skip System dir can be modified at build time ok 5 - Default user directory should be correct ok 6 - Default global file name should be correct ok 7 - Should preferably get SQITCH_SYSTEM_CONFIG file from global_file ok 8 - system_file should alias global_file ok 9 - Default user file name should be correct ok 10 - Should preferably get SQITCH_USER_CONFIG file from user_file ok 11 - Local file should be correct ok 12 - dir_file should alias local_file ok 13 - local_file should prefer $SQITCH_CONFIG ok 14 - And so should dir_file ok 15 - get_section("core") should work ok 16 - get_section("core.pg") should work ok 17 - no warnings ok Invalid locale name or id: English_United States.1252 # Looks like you planned 33 tests but ran 4. # Looks like your test exited with 255 just after 4. 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 - no warnings Dubious, test returned 255 (wstat 65280, 0xff00) Failed 29/33 subtests 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 + change and tag ok 299 - ID + change and tag error ident ident should be "DEV" ok 300 - ID + change and tag 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 isa App::Sqitch::Command ok 3 - App::Sqitch::Command::deploy->can(...) ok 4 - The object isa App::Sqitch::Command::deploy ok 5 - to_target should be undef ok 6 - mode should be "all" ok 7 - Execute to "@alpha" ok 8 - "@alpha" and "all" should be passed to the engine ok 9 - Execute ok 10 - undef and "all" should be passed to the engine ok 11 - Object with to and mode isa App::Sqitch::Command::deploy ok 12 - Execute again ok 13 - "foo" and "tag" should be passed to the engine ok 14 - "all" should be a valid mode ok 15 - "tag" should be a valid mode ok 16 - "change" should be a valid mode ok 17 - "foo" should not be a valid mode ok 18 - "bad" should not be a valid mode ok 19 - "gar" should not be a valid mode 1..19 ok t/engine.t ......... 1..248 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 array sqitch param ok 6 - Should get an exception for string sqitch param ok 7 - The object isa App::Sqitch::Engine ok 8 - Load a "whu" engine ok 9 - The object isa App::Sqitch::Engine::whu ok 10 - The sqitch attribute should be set ok 11 - Should die on invalid engine ok 12 - Should get load error message ok 13 - Should have relevant previoius exception ok 14 - No engine should die ok 15 - It should be the expected message ok 16 - Should die on bad engine module ok 17 - Should get another load error message ok 18 - Should have relevant previoius exception from the bad module ok 19 - App::Sqitch::Engine->can('name') ok 20 - Create a App::Sqitch::Engine object ok 21 - Base class name should be "" ok 22 - Base object name should be "" ok 23 - Create a subclass name object ok 24 - Subclass oject name should be "whu" ok 25 - Subclass class name should be "whu" ok 26 - App::Sqitch::Engine->can('config_vars') ok 27 - Should have no config vars in engine base class ok 28 - Create a App::Sqitch::Engine object again ok 29 - Should get an unimplemented exception from initialized() ok 30 - Should get an unimplemented exception from initialize() ok 31 - Should get an unimplemented exception from register_project() ok 32 - Should get an unimplemented exception from run_file() ok 33 - Should get an unimplemented exception from run_handle() ok 34 - Should get an unimplemented exception from log_deploy_change() ok 35 - Should get an unimplemented exception from log_fail_change() ok 36 - Should get an unimplemented exception from log_revert_change() ok 37 - Should get an unimplemented exception from is_deployed_tag() ok 38 - Should get an unimplemented exception from is_deployed_change() ok 39 - Should get an unimplemented exception from change_id_for_depend() ok 40 - Should get an unimplemented exception from changes_requiring_change() ok 41 - Should get an unimplemented exception from earliest_change_id() ok 42 - Should get an unimplemented exception from latest_change_id() ok 43 - Should get an unimplemented exception from deployed_change_ids() ok 44 - Should get an unimplemented exception from deployed_change_ids_since() ok 45 - Should get an unimplemented exception from name_for_change_id() ok 46 - Should get an unimplemented exception from current_state() ok 47 - Should get an unimplemented exception from current_changes() ok 48 - Should get an unimplemented exception from current_tags() ok 49 - Should get an unimplemented exception from search_events() ok 50 - Should get an unimplemented exception from registered_projects() ok 51 - Create a subclass name object again ok 52 - App::Sqitch::Engine::whu->can(...) ok 53 - Deploy a change ok 54 - deploy_change should have called the proper methods ok 55 - Output should reflect the deployment ok 56 - Deploy change with error ok 57 - Error should be from run_file ok 58 - Should have logged change failure ok 59 - Output should reflect the deployment, even with failure ok 60 - Revert a change ok 61 - revert_change should have called the proper methods ok 62 - Output should reflect reversion ok 63 - Engine with sqitch with plan file ok 64 - Should get proper change from latest_change() ok 65 - Latest change ID should have been called with no arg ok 66 - Should again get proper change from latest_change() ok 67 - Latest change ID should have been called with offset arg ok 68 - Should get proper change from earliest_change() ok 69 - Earliest change ID should have been called with no arg ok 70 - Should again get proper change from earliest_change() ok 71 - Earliest change ID should have been called with offset arg ok 72 - App::Sqitch::Engine->can('_sync_plan') ok 73 - Plan should start at position -1 ok 74 - start_at should be undef ok 75 - Sync the plan ok 76 - Plan should still be at position -1 ok 77 - start_at should still be undef ok 78 - Sync the plan again ok 79 - Plan should again be at position -1 ok 80 - start_at should again be undef ok 81 - Sync the plan to a tag ok 82 - Plan should now be at position 1 ok 83 - start_at should now be users@alpha ok 84 - App::Sqitch::Engine->can('deploy') ok 85 - Deploy to @alpha ok 86 - Plan should be at position 1 ok 87 - Should have deployed through @alpha ok 88 - Should have called _deploy_all() ok 89 - Should have seen the output of the deploy to @alpha ok 90 - Deploy to @alpha with tag mode ok 91 - Plan should again be at position 1 ok 92 - Should have deployed through @alpha without initialization ok 93 - Should have called _deploy_by_tag() ok 94 - Should have seen the output of the deploy to @alpha ok 95 - Should get an error for an unknown target ok 96 - The exception should report the unknown target ok 97 - Only latest_item() should have been called ok 98 - Deploy to alpha thrice ok 99 - Only latest_item() should have been called ok 100 - Should notify user that already at @alpha ok 101 - Should fail targeting older change ok 102 - Should be a "deploy" error ok 103 - It should suggest using "revert" ok 104 - Should have called latest_item() and latest_tag() ok 105 - Deploy everything by change ok 106 - Plan should be at position 3 ok 107 - Should have deployed everything ok 108 - Should have called _deploy_by_change() ok 109 - Should have seen the output of the deploy to the end ok 110 - Should catch exception for attempt to deploy to up-to-date DB ok 111 - Should be a "deploy" error ok 112 - And the message should reflect up-to-dateness ok 113 - It should have just fetched the latest change ID ok 114 - Should fail on invalid mode ok 115 - Should be a "deploy" error ok 116 - And the message should reflect the unknown mode ok 117 - It should have check for initialization ok 118 - Should have announced destination ok 119 - Engine with sqitch with no file ok 120 - Should die with no changes ok 121 - Should have the localized message ok 122 - It should have checked for the latest item ok 123 - Deploy changewise to index 1 ok 124 - Should changewise deploy to index 2 ok 125 - Should have seen output of each change ok 126 - Deploy changewise to index 2 ok 127 - Should changewise deploy to from index 2 to index 3 ok 128 - Should have seen output of changes 2-3 ok 129 - Die in _deploy_by_change ok 130 - It should have died in run_file ok 131 - It should have logged the failure ok 132 - Should have seen output for first change ok 133 - Deploy tagwise to index 1 ok 134 - Should tagwise deploy to index 1 ok 135 - Should have seen output of each change ok 136 - Deploy tagwise to index 3 ok 137 - Should tagwise deploy from index 2 to index 3 ok 138 - Should have seen output of changes 3-3 ok 139 - Die in log_deploy_change ok 140 - Should get final deploy failure message ok 141 - It should have reverted back to the last deployed tag ok 142 - Should have seen deploy and revert messages ok 143 - The original error should have been vented ok 144 - Die in _deploy_by_tag again ok 145 - Should again get final deploy failure message ok 146 - Should have logged back to the beginning ok 147 - Should have seen deploy and revert messages ok 148 - Should have one vented message ok 149 - And it should be the underlying error ok 150 - And it should had notified that all changes were reverted ok 151 - Die in _deploy_by_tag yet again ok 152 - Should die "Deploy failed" again ok 153 - Should have reverted back to last tag ok 154 - Should have user change reversion messages ok 155 - Should see underlying error and reversion message ok 156 - Die in _deploy_by_tag again ok 157 - Should once again get final deploy failure message ok 158 - Should have tried to revert one change ok 159 - Should have seen revert message ok 160 - Should get reversion failure message ok 161 - Deploy all to index 1 ok 162 - Should tagwise deploy to index 1 ok 163 - Should have seen output of each change ok 164 - Deploy tagwise to index 2 ok 165 - Should tagwise deploy to from index 1 to index 2 ok 166 - Should have seen output of changes 3-4 ok 167 - Die in _deploy_all ok 168 - Should get final deploy failure message ok 169 - It should have logged up to the failure ok 170 - Should have seen deploy and revert messages ok 171 - The original error should have been vented ok 172 - Die in _deploy_all again ok 173 - Should again get final deploy failure message ok 174 - Should have reveted all changes and tags ok 175 - Should see all changes revert ok 176 - Should notifiy user of error and rollback ok 177 - Die in _deploy_all on the last change ok 178 - Should once again get final deploy failure message ok 179 - Should have deployed to dr_evil and revered down to @alpha ok 180 - Should see changes revert back to @alpha ok 181 - Should notifiy user of error and rollback to @alpha ok 182 - Test is_deployed(tag) ok 183 - It should have called is_deployed_tag() ok 184 - Test is_deployed(change) ok 185 - It should have called is_deployed_change() ok 186 - App::Sqitch::Engine::whu->can('deploy_change') ok 187 - Deploy a change ok 188 - It should have been deployed ok 189 - Should have shown change name ok 190 - Conflict should throw exception ok 191 - Should be a "deploy" error ok 192 - Should have localized message about conflicts ok 193 - No other methods should have been called ok 194 - Should again have shown change name ok 195 - Conflicting dependencies should have no resolved IDs ok 196 - Missing dependencies should throw exception ok 197 - Should be another "deploy" error ok 198 - Should have localized message missing dependencies ok 199 - Should have called check_requires ok 200 - Should again have shown change name ok 201 - Missing requirements should not have resolved ok 202 - Shuld die on deploy failure ok 203 - Should be the underlying error ok 204 - It should failed to have been deployed ok 205 - Should have shown change name ok 206 - Non-conflicting dependency should not have resolved ok 207 - Satisffied requirements should have resolved ok 208 - App::Sqitch::Engine::whu->can('revert_change') ok 209 - Revert the change ok 210 - It should have been reverted ok 211 - Should have shown reverted change name ok 212 - Should get error reverting change others depend on ok 213 - Dependent error ident should be "revert" ok 214 - Dependent error message should be correct ok 215 - It should have check for requiring changes ok 216 - Should have shown attempted revert change name ok 217 - App::Sqitch::Engine::whu->can('revert') ok 218 - Should get exception for no changes to revert ok 219 - Should be a revert exception ok 220 - Should have notified that there is nothing to revert ok 221 - Exit val should be 1 ok 222 - It should only have called deployed_change_ids() ok 223 - Nothing should have been output ok 224 - Revert should die on unknown change ok 225 - Should be another "revert" error ok 226 - The message should mention it is an unknown target ok 227 - No other methods should have been called ok 228 - Nothing should have been output ok 229 - Revert should die on undeployed change ok 230 - Should be another "revert" error ok 231 - The message should mention that the target is not deployed ok 232 - Should have called deployed_change_ids_since ok 233 - Nothing should have been output ok 234 - Revert should die on unknown change ID ok 235 - Should be yet another "revert" error ok 236 - The message should mention the unknown ID ok 237 - Should have called deployed_change_ids_since ok 238 - Output should have said it was reverting all changes ok 239 - Revert all changes ok 240 - Should have reverted the changes in reverse order ok 241 - It should have said it was reverting all changes and listed them ok 242 - Revert to @alpha ok 243 - Should have reverted only changes after @alpha ok 244 - Output should show what it reverts to ok 245 - Revert by name rather than ID ok 246 - Should have reverted only @alpha ok 247 - Output should show reverting all, though really only once, thanks to mocking ok 248 - no warnings ok t/help.t ........... 1..11 ok 1 - Load a sqitch sqitch object ok 2 - Load help command isa App::Sqitch::Command::help ok 3 - Execute help ok 4 - Should show sqitch app docs ok 5 - Execute "config" help ok 6 - Should show "config" command docs ok 7 - Should get an exception for "nonexistent" help ok 8 - Exception ident should be "help" ok 9 - Should get failure message for nonexistent command ok 10 - Exception exit val should be 1 ok 11 - no warnings ok t/init.t ........... 1..158 ok 1 - use App::Sqitch::Command::init; ok 2 - App::Sqitch::Command::init isa App::Sqitch::Command ok 3 - New init object isa App::Sqitch::Command::init ok 4 - App::Sqitch::Command::init->can(...) ok 5 - Options should be correct ok 6 - Default config should be empty ok 7 - Should accept a URI in options ok 8 - processed uri option isa URI ok 9 - App::Sqitch::Command::init->can('make_directories') ok 10 - dir init.mkdir does not exist ok 11 - dir init.mkdir\deploy does not exist ok 12 - dir init.mkdir\revert does not exist ok 13 - dir init.mkdir\test does not exist ok 14 - Make the directories ok 15 - dir init.mkdir exists ok 16 - dir init.mkdir\deploy exists ok 17 - dir init.mkdir\revert exists ok 18 - dir init.mkdir\test exists ok 19 - Each should have been sent to info ok 20 - Make the directories again ok 21 - Nothing should have been sent to info ok 22 - Make the directories once more ok 23 - revert dir exists again ok 24 - Should have noted creation of revert dir ok 25 - Should fail on permission issue ok 26 - Permission error should have ident "init" ok 27 - The permission error should be formatted properly ok 28 - App::Sqitch::Command::init->can('write_config') ok 29 - Another init object ok 30 - nonexistent.conf does not exist ok 31 - Write the config ok 32 - nonexistent.conf exists ok 33 - The configuration file should have no variables ok 34 - The creation should be sent to info ok 35 - All in core section should be commented-out ok 36 - Another init object ok 37 - Write the config ok 38 - nonexistent.conf exists ok 39 - The configuration should have been written with the one setting ok 40 - The creation should be sent to info ok 41 - Other settings should be commented-out ok 42 - Write the config again ok 43 - The configuration should be unchanged ok 44 - Nothing should have been sent to info ok 45 - Make an init object with user config ok 46 - nonexistent.conf does not exist ok 47 - Write the config with a user conf ok 48 - nonexistent.conf exists ok 49 - The configuration should just have core.top_dir ok 50 - The creation should be sent to info again ok 51 - Other settings should be commented-out ok 52 - Make an init object with system config ok 53 - nonexistent.conf does not exist ok 54 - Write the config with a system conf ok 55 - nonexistent.conf exists ok 56 - The configuration should have local and system config ok 57 - The creation should be sent to info again ok 58 - Other settings should be commented-out ok 59 - Create new init with sqitch non-default attributes ok 60 - Write the config with core attrs ok 61 - The creation should be sent to info once more ok 62 - The configuration should have been written with all the core values ok 63 - Create new init with sqitch with non-default engine attributes ok 64 - Write the config with engine attrs ok 65 - The creation should be sent to info yet again ok 66 - The configuration should have been written with sqlite values ok 67 - sqitch_prefix should be included in a comment ok 68 - Create new init with sqitch with default engine attributes ok 69 - Write the config with engine attrs ok 70 - The creation should be sent to info again again ok 71 - The configuration should have been written with only the engine var ok 72 - Engine section should be present but commented-out ok 73 - Make an init with sqlite and user config ok 74 - nonexistent.conf does not exist ok 75 - Write the config with sqlite config ok 76 - The creation should be sent to info once more ok 77 - New config should have been written with sqlite values ok 78 - Configured client should be included in a comment ok 79 - Configured sqitch_prefix should be included in a comment ok 80 - Create new init with sqitch with more non-default engine attributes ok 81 - Write the config with more engine attrs ok 82 - The creation should be sent to info one more time ok 83 - The configuration should have been written with pg values ok 84 - sqitch_schema should be included in a comment ok 85 - password should be included in a comment ok 86 - Create new init with sqitch with default engine attributes ok 87 - Write the config with engine attrs ok 88 - The creation should be sent to info again again again ok 89 - The configuration should have been written with only the engine var ok 90 - Engine section should be present but commented-out ok 91 - Make an init with pg and user config ok 92 - nonexistent.conf does not exist ok 93 - Write the config with pg config ok 94 - The pg config creation should be sent to info ok 95 - The configuration should have been written with pg options ok 96 - Configured sqitch_schema should be in a comment ok 97 - password should be included in a comment ok 98 - Configured username should be in a comment ok 99 - Configured host should be in a comment ok 100 - App::Sqitch::Command::init->can('write_plan') ok 101 - Plan file should not yet exist ok 102 - Write the plan file ok 103 - The plan creation should be sent to info ok 104 - Plan file should now exist ok 105 - The contents should be correct ok 106 - Write the plan file again ok 107 - The file should not be overwritten ok 108 - Create new init with sqitch with project and URI ok 109 - Write the plan file again ok 110 - The plan creation should be sent to info againq ok 111 - Plan file should again exist ok 112 - The plan should include the project and uri pragmas ok 113 - App::Sqitch::Command::init->can('_validate_project') ok 114 - No project should yield usage ok 115 - No args should be passed to usage ok 116 - Should get error for invalid project name "^foo" ok 117 - Bad project "^foo" ident should be "init" ok 118 - Bad project "^foo" error message should be correct ok 119 - Should get error for invalid project name "foo^" ok 120 - Bad project "foo^" ident should be "init" ok 121 - Bad project "foo^" error message should be correct ok 122 - Should get error for invalid project name "foo^6" ok 123 - Bad project "foo^6" ident should be "init" ok 124 - Bad project "foo^6" error message should be correct ok 125 - Should get error for invalid project name "foo^666" ok 126 - Bad project "foo^666" ident should be "init" ok 127 - Bad project "foo^666" error message should be correct ok 128 - Should get error for invalid project name "%hi" ok 129 - Bad project "%hi" ident should be "init" ok 130 - Bad project "%hi" error message should be correct ok 131 - Should get error for invalid project name "hi!" ok 132 - Bad project "hi!" ident should be "init" ok 133 - Bad project "hi!" error message should be correct ok 134 - Should get error for invalid project name "foo@bar" ok 135 - Bad project "foo@bar" ident should be "init" ok 136 - Bad project "foo@bar" error message should be correct ok 137 - Should get error for invalid project name "foo:bar" ok 138 - Bad project "foo:bar" ident should be "init" ok 139 - Bad project "foo:bar" error message should be correct ok 140 - Should get error for invalid project name "+foo" ok 141 - Bad project "+foo" ident should be "init" ok 142 - Bad project "+foo" error message should be correct ok 143 - Should get error for invalid project name "-foo" ok 144 - Bad project "-foo" ident should be "init" ok 145 - Bad project "-foo" error message should be correct ok 146 - Should get error for invalid project name "@foo" ok 147 - Bad project "@foo" ident should be "init" ok 148 - Bad project "@foo" error message should be correct ok 149 - Execute! ok 150 - dir plan.dir exists ok 151 - dir plan.dir\deploy exists ok 152 - dir plan.dir\revert exists ok 153 - dir plan.dir\test exists ok 154 - nonexistent.conf exists ok 155 - plan.dir\sqitch.plan exists ok 156 - Should have status messages ok 157 - The plan should have the --project name ok 158 - no warnings ok t/linelist.t ....... 1..22 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 - no warnings ok Invalid locale name or id: English_United States.1252 # Looks like your test exited with 255 just after 45. t/log.t ............ ok 1 - require App::Sqitch::Command::log; ok 2 - Load a sqitch sqitch object ok 3 - log command isa App::Sqitch::Command::log ok 4 - App::Sqitch::Command::log->can(...) ok 5 - Options should be correct ok 6 - Should get empty hash for no config or options ok 7 - Should get error for invalid date format in config ok 8 - Invalid date format error ident should be "datetime" ok 9 - Invalid date format error message should be correct ok 10 - Should get error for invalid date format in optsions ok 11 - Invalid date format error ident should be "log" ok 12 - Invalid date format error message should be correct ok 13 - Should get error for invalid format in config ok 14 - Invalid format error ident should be "log" ok 15 - Invalid format error message should be correct ok 16 - Should get error for invalid format in optsions ok 17 - Invalid format error ident should be "log" ok 18 - Invalid format error message should be correct ok 19 - Configuration should respect --no-color, setting "never" ok 20 - Configuration should respect --no-color even when configure is set ok 21 - Configuration should respect color option ok 22 - Colors should be disabled for "never" ok 23 - Configuration should respect color config ok 24 - Colors should be disabled for "never" ok 25 - Configuration should respect color option ok 26 - Colors should be enabled for "always" ok 27 - Configuration should respect color config ok 28 - Colors should be enabled for "always" ok 29 - Configuration should respect color option ok 30 - Auto color option should change nothing ok 31 - Configuration should respect color config ok 32 - Auto color config should change nothing ok 33 - Configuration should respect color option ok 34 - Auto color option should change nothing ok 35 - Configuration should respect color config ok 36 - Auto color config should change nothing ok 37 - Instantiate with format "raw" ok 38 - Format "raw" should output correctly ok 39 - Format "raw" should output correctly without tags ok 40 - Instantiate with format "full" ok 41 - Format "full" should output correctly ok 42 - Instantiate with format "full" and date format "rfc" ok 43 - Format "full" and date format "rfc" should output correctly ok 44 - Instantiate with format "full" and date format "long" ok 45 - no warnings 1..45 Dubious, test returned 255 (wstat 65280, 0xff00) All 45 subtests passed t/options.t ........ 1..25 ok 1 - use App::Sqitch; ok 2 - App::Sqitch->can('_split_args') ok 3 - Split on command-only ok 4 - Split on core option plus command ok 5 - Split on core option plus command plus command option ok 6 - Option with arg should work ok 7 - Option with arg should work ok 8 - Should handle no command ok 9 - _pod2usage should be called ok 10 - Should exit for invalid option ok 11 - App::Sqitch->can('_parse_core_opts') ok 12 - Should have default config for no options ok 13 - Ask for help ok 14 - Should have been helped ok 15 - Ask for man ok 16 - Should have been manned ok 17 - Should parse lots of options ok 18 - top_dir isa Path::Class::Dir ok 19 - deploy_dir isa Path::Class::Dir ok 20 - revert_dir isa Path::Class::Dir ok 21 - test_dir isa Path::Class::Dir ok 22 - --quiet should trump verbosity. ok 23 - Short options should work ok 24 - Run _pod2usage ok 25 - Proper args should have been passed to Pod::Usage ok t/pg.t ............. ok 1 - require App::Sqitch::Engine::pg; ok 2 - config_vars should return three vars ok 3 - The object isa App::Sqitch::Engine::pg ok 4 - client should default to psql ok 5 - sqitch_schema default should be "sqitch" ok 6 - username default should be undef ok 7 - password default should be undef ok 8 - db_name default should be undef ok 9 - host default should be undef ok 10 - port default should be undef ok 11 - Destination should fall back on environment variables ok 12 - psql command should be std opts-only ok 13 - Destination should read $PGDATABASE ok 14 - Destination should read $PGUSER ok 15 - Destination should fall back on sysuser ok 16 - Destination should read username ok 17 - Destination should prefer $PGDATABASE to username ok 18 - Create another pg ok 19 - client should be as configured ok 20 - username should be as configured ok 21 - password should be as configured ok 22 - db_name should be as configured ok 23 - destination should default to db_name ok 24 - host should be as configured ok 25 - port should be as configured ok 26 - sqitch_schema should be as configured ok 27 - psql command should be configured ok 28 - Create a pg with sqitch with options ok 29 - client should be as optioned ok 30 - username should be as optioned ok 31 - password should still be as configured ok 32 - db_name should be as optioned ok 33 - destination should still default to db_name ok 34 - host should be as optioned ok 35 - port should be as optioned ok 36 - sqitch_schema should still be as configured ok 37 - psql command should be as optioned ok 38 - App::Sqitch::Engine::pg->can(...) ok 39 - PGPASSWORD should be "s3cr3t" ok 40 - Call _run ok 41 - Command should be passed to run() ok 42 - PGPASSWORD should be "s3cr3t" ok 43 - Call _spool ok 44 - Command should be passed to spool() ok 45 - Create a pg with sqitch with no pw ok 46 - PGPASSWORD should not exist ok 47 - Call _run again ok 48 - Command should be passed to run() again ok 49 - PGPASSWORD should not exist ok 50 - Call _spool again ok 51 - Command should be passed to spool() again ok 52 - PGPASSWORD should not exist ok 53 - Run foo/bar.sql ok 54 - File should be passed to run() ok 55 - PGPASSWORD should not exist ok 56 - Spool a "file handle" ok 57 - Handle should be passed to spool() ok 58 - App::Sqitch::Engine::pg->can('_ts2char') ok 59 - _ts2char should work ok 60 - App::Sqitch::Engine::pg->can('_dt') ok 61 - Return value of _dt() isa App::Sqitch::DateTime ok 62 - DateTime year should be set ok 63 - DateTime month should be set ok 64 - DateTime day should be set ok 65 - DateTime hour should be set ok 66 - DateTime minute should be set ok 67 - DateTime second should be set ok 68 - DateTime TZ should be set ok 69 - App::Sqitch::Engine::pg->can(...) 1..0 # SKIP Unable to connect to a database for testing: could not connect to server: Connection refused (0x0000274D/10061) # Is the server running on host "???" and accepting # TCP/IP connections on port 5432? ok 70 # skip Unable to connect to a database for testing: could not connect to server: Connection refused (0x0000274D/10061) # Is the server running on host "???" and accepting # TCP/IP connections on port 5432? 1..70 ok t/plan.t ........... ok 1 - use App::Sqitch::Plan; ok 2 - App::Sqitch::Plan->can(...) ok 3 - The object isa App::Sqitch::Plan ok 4 - Should parse simple "widgets.plan" ok 5 - Should have sorted changes ok 6 - changes isa ARRAY ok 7 - lines isa ARRAY ok 8 - All "widgets.plan" changes should be parsed ok 9 - All "widgets.plan" lines should be parsed ok 10 - Should parse multi-tagged "multi.plan" ok 11 - Should have sorted changes twice ok 12 - Should have captured the multi pragmas ok 13 - Should have "multi.plan" lines and changes ok 14 - Should read plan with no tags ok 15 - Should have sorted changes ok 16 - Should have captured the changes-only pragmas ok 17 - Should have lines and changes for tagless plan ok 18 - Should die on plan with bad change name ok 19 - Bad change name error ident should be "plan" ok 20 - And the bad change name error message should be correct ok 21 - Should not have sorted changes ok 22 - Should die on plan with bad name "+^foo" ok 23 - Exception ident should be "plan" ok 24 - And "+^foo" should trigger the appropriate message ok 25 - Should not have sorted changes ok 26 - Should die on plan with bad name "@^foo" ok 27 - Exception ident should be "plan" 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 "plan" 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 "plan" 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^6" ok 39 - Exception ident should be "plan" ok 40 - And "+foo^6" 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 "plan" 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^666" ok 47 - Exception ident should be "plan" ok 48 - And "+foo^666" 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 "plan" 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 "+%hi" ok 55 - Exception ident should be "plan" ok 56 - And "+%hi" 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 "plan" 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 "plan" 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 "plan" 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 "+foo@bar" ok 71 - Exception ident should be "plan" ok 72 - And "+foo@bar" 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 "plan" 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 "plan" 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 "plan" 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" ok 87 - Exception ident should be "plan" ok 88 - And "++foo" should trigger the appropriate message ok 89 - Should not have sorted changes ok 90 - Should die on plan with bad name "@+foo" ok 91 - Exception ident should be "plan" ok 92 - And "@+foo" should trigger the appropriate message ok 93 - Should not have sorted changes ok 94 - Should die on plan with bad name "+-foo" ok 95 - Exception ident should be "plan" ok 96 - And "+-foo" 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 "plan" 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 "plan" 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 "plan" ok 108 - And "@@foo" should trigger the appropriate message ok 109 - Should not have sorted changes ok 110 - Should parse "foo" ok 111 - Should have captured the foo pragmas ok 112 - Should have pragmas in plan with change "foo" ok 113 - Should parse "@foo" ok 114 - Should have pragmas in plan with tag "foo" ok 115 - Should have line and change for "@foo" ok 116 - Should parse "12" ok 117 - Should have captured the 12 pragmas ok 118 - Should have pragmas in plan with change "12" ok 119 - Should parse "@12" ok 120 - Should have pragmas in plan with tag "12" ok 121 - Should have line and change for "@12" ok 122 - Should parse "t" ok 123 - Should have captured the t pragmas ok 124 - Should have pragmas in plan with change "t" ok 125 - Should parse "@t" ok 126 - Should have pragmas in plan with tag "t" ok 127 - Should have line and change for "@t" ok 128 - Should parse "6" ok 129 - Should have captured the 6 pragmas ok 130 - Should have pragmas in plan with change "6" ok 131 - Should parse "@6" ok 132 - Should have pragmas in plan with tag "6" ok 133 - Should have line and change for "@6" ok 134 - Should parse "阱阪阬" ok 135 - Should have captured the 阱阪阬 pragmas ok 136 - Should have pragmas in plan with change "阱阪阬" ok 137 - Should parse "@阱阪阬" ok 138 - Should have pragmas in plan with tag "阱阪阬" ok 139 - Should have line and change for "@阱阪阬" ok 140 - Should parse "foo/bar" ok 141 - Should have captured the foo/bar pragmas ok 142 - Should have pragmas in plan with change "foo/bar" ok 143 - Should parse "@foo/bar" ok 144 - Should have pragmas in plan with tag "foo/bar" ok 145 - Should have line and change for "@foo/bar" ok 146 - Should parse "beta1" ok 147 - Should have captured the beta1 pragmas ok 148 - Should have pragmas in plan with change "beta1" ok 149 - Should parse "@beta1" ok 150 - Should have pragmas in plan with tag "beta1" ok 151 - Should have line and change for "@beta1" ok 152 - Should parse "foo_" ok 153 - Should have captured the foo_ pragmas ok 154 - Should have pragmas in plan with change "foo_" ok 155 - Should parse "@foo_" ok 156 - Should have pragmas in plan with tag "foo_" ok 157 - Should have line and change for "@foo_" ok 158 - Should parse "_foo" ok 159 - Should have captured the _foo pragmas ok 160 - Should have pragmas in plan with change "_foo" ok 161 - Should parse "@_foo" ok 162 - Should have pragmas in plan with tag "_foo" ok 163 - Should have line and change for "@_foo" ok 164 - Should parse "v1.0-1b" ok 165 - Should have captured the v1.0-1b pragmas ok 166 - Should have pragmas in plan with change "v1.0-1b" ok 167 - Should parse "@v1.0-1b" ok 168 - Should have pragmas in plan with tag "v1.0-1b" ok 169 - Should have line and change for "@v1.0-1b" ok 170 - Should parse "v1.2-1" ok 171 - Should have captured the v1.2-1 pragmas ok 172 - Should have pragmas in plan with change "v1.2-1" ok 173 - Should parse "@v1.2-1" ok 174 - Should have pragmas in plan with tag "v1.2-1" ok 175 - Should have line and change for "@v1.2-1" ok 176 - Should parse "v1.2+1" ok 177 - Should have captured the v1.2+1 pragmas ok 178 - Should have pragmas in plan with change "v1.2+1" ok 179 - Should parse "@v1.2+1" ok 180 - Should have pragmas in plan with tag "v1.2+1" ok 181 - Should have line and change for "@v1.2+1" ok 182 - Should parse "v1.2_1" ok 183 - Should have captured the v1.2_1 pragmas ok 184 - Should have pragmas in plan with change "v1.2_1" ok 185 - Should parse "@v1.2_1" ok 186 - Should have pragmas in plan with tag "v1.2_1" ok 187 - Should have line and change for "@v1.2_1" ok 188 - Should have sorted changes 18 times ok 189 - Should die on plan with reserved tag "@HEAD" ok 190 - @HEAD exception should have ident "plan" ok 191 - And the @HEAD error message should be correct ok 192 - Should have sorted changes once ok 193 - Should die on plan with reserved tag "@ROOT" ok 194 - @ROOT exception should have ident "plan" ok 195 - And the @ROOT error message should be correct ok 196 - Should have sorted @ROOT changes nonce ok 197 - Should die on plan with reserved tag "@FIRST" ok 198 - @FIRST exception should have ident "plan" ok 199 - And the @FIRST error message should be correct ok 200 - Should have sorted @FIRST changes nonce ok 201 - Should die on plan with reserved tag "@LAST" ok 202 - @LAST exception should have ident "plan" ok 203 - And the @LAST error message should be correct ok 204 - Should have sorted @LAST changes nonce ok 205 - Should die on plan with SHA1 change name ok 206 - The SHA1 error ident should be "plan" ok 207 - And the SHA1 error message should be correct ok 208 - Should have sorted changes nonce ok 209 - Should die on plan with tag but no preceding change ok 210 - The missing change error ident should be "plan" ok 211 - And the missing change error message should be correct ok 212 - Should have sorted changes nonce ok 213 - Should die on plan with dupe tag ok 214 - The dupe tag error ident should be "plan" ok 215 - And the missing change error message should be correct ok 216 - Should have sorted changes twice ok 217 - Should die on plan with dupe change ok 218 - The dupe change error ident should be "plan" ok 219 - And the dupe change error message should be correct ok 220 - Should have sorted changes once ok 221 - Should die on invalid dependency ok 222 - The invalid dependency error ident should be "plan" ok 223 - And the invalid dependency error message should be correct ok 224 - Should have sorted changes nonce ok 225 - Should die on change with no timestamp ok 226 - The missing timestamp error ident should be "plan" ok 227 - And the missing timestamp error message should be correct ok 228 - Should have sorted changes nonce ok 229 - Should die on change with no planner ok 230 - The missing planner error ident should be "plan" ok 231 - And the missing planner error message should be correct ok 232 - Should have sorted changes nonce ok 233 - Should die on change with no timestamp or planner ok 234 - The missing timestamp or planner error ident should be "plan" ok 235 - And the missing timestamp or planner error message should be correct ok 236 - Should have sorted changes nonce ok 237 - Should parse plan with pragmas" ok 238 - Should have sorted changes once ok 239 - Should have captured all of the pragmas ok 240 - Should have "multi.plan" lines and changes ok 241 - Should parse plan with deploy and revert operators ok 242 - Should have sorted changes twice ok 243 - Should have captured the deploy-and-revert pragmas ok 244 - Should have "deploy-and-revert.plan" lines and changes ok 245 - Should get exception for nonexistent plan file ok 246 - Nonexistent plan file ident should be "plan" ok 247 - Nonexistent plan file message should be correct ok 248 - Plan with sqitch with plan file with dependencies isa App::Sqitch::Plan ok 249 - Load plan with dependencies file ok 250 - The changes should include the dependencies ok 251 - Should have sorted changes twice ok 252 - Plan with sqitch with plan file with project deps isa App::Sqitch::Plan ok 253 - Load plan with project deps file ok 254 - The changes should include the cross-project deps ok 255 - Should have sorted changes twice ok 256 - Plan with sqitch with plan with tag dependencies isa App::Sqitch::Plan ok 257 - Should get an exception for tag with dependencies ok 258 - The tag dependencies error ident should be "plan" ok 259 - And the tag dependencies error message should be correct ok 260 - Plan with sqitch with plan file isa App::Sqitch::Plan ok 261 - Lines should be parsed from file ok 262 - Changes should be parsed from file ok 263 - Should get all tags from tags() ok 264 - Should have sorted changes twice ok 265 - Load should parse plan from file ok 266 - Should have captured the multi pragmas ok 267 - And the parsed file should have lines and changes ok 268 - Should have sorted changes twice ok 269 - App::Sqitch::Plan->can(...) ok 270 - Position should start at -1 ok 271 - Current should be undef ok 272 - Get next change ok 273 - First change isa App::Sqitch::Plan::Change ok 274 - It should be the first change ok 275 - Position should be at 0 ok 276 - Count should be 4 ok 277 - Current should be current ok 278 - Should get first change from change_at(0) ok 279 - Peek to next change ok 280 - Peeked change isa App::Sqitch::Plan::Change ok 281 - Peeked change should be second change ok 282 - last() should return last change ok 283 - Current should still be current ok 284 - Peek should still be next ok 285 - Next should be the second change ok 286 - Position should be at 1 ok 287 - Should get second change from change_at(1) ok 288 - Peek should return an object ok 289 - Third change isa App::Sqitch::Plan::Change ok 290 - It should be the foo tag ok 291 - Current should be the second change ok 292 - Should get third change next ok 293 - Position should be at 2 ok 294 - Current should be third change ok 295 - Should get third change from change_at(1) ok 296 - Get fourth change ok 297 - Fourth change isa App::Sqitch::Plan::Change ok 298 - Fourth change should be "hey-there" ok 299 - Position should be at 3 ok 300 - Peek should return undef ok 301 - Next should return undef ok 302 - Position should be at 7 ok 303 - Next should still return undef ok 304 - Position should still be at 7 ok 305 - Reset the plan ok 306 - Position should be back at -1 ok 307 - Current should still be undef ok 308 - Next should return the first change again ok 309 - Position should be at 0 again ok 310 - Current should be first change ok 311 - Index of change should be 0 ok 312 - Should be able to get change 0 by name ok 313 - Should be able to find change 0 by name ok 314 - Should be able to get change 0 by ID ok 315 - Should be able to find change 0 by ID ok 316 - Index of @bar should be 3 ok 317 - Should be able to get hey-there via @bar ok 318 - Should be able to get hey-there via @bar ID ok 319 - Should be able to find hey-there via @bar ok 320 - Should be able to find hey-there via @bar ID ok 321 - Seek to the "@bar" change ok 322 - Position should be at 3 again ok 323 - Current should be fourth again ok 324 - Index of you should be 1 ok 325 - Should be able to get change 1 by name ok 326 - Should be able to find change 1 by name ok 327 - Seek to the "you" change ok 328 - Position should be at 1 again ok 329 - Current should be second again ok 330 - Index of baz should be undef ok 331 - Index of @baz should be 3 ok 332 - Seek to the "baz" change ok 333 - Position should be at 3 again ok 334 - Current should be fourth again ok 335 - Should still get first change from change_at(0) ok 336 - Should still get second change from change_at(1) ok 337 - Should still get third change from change_at(1) ok 338 - Should die seeking invalid change ok 339 - Invalid seek change error ident should be "plan" ok 340 - And the failure message should be correct ok 341 - All should return all changes ok 342 - Reset the plan again ok 343 - Change hey should be passed to do sub ok 344 - Change hey should be the topic in do sub ok 345 - Change you should be passed to do sub ok 346 - Change you should be the topic in do sub ok 347 - Change this/rocks should be passed to do sub ok 348 - Change this/rocks should be the topic in do sub ok 349 - Change hey-there should be passed to do sub ok 350 - Change hey-there should be the topic in do sub ok 351 - App::Sqitch::Plan->can('write_to') ok 352 - plan.out does not exist ok 353 - Write out the file ok 354 - plan.out exists ok 355 - The contents should look right ok 356 - Write out the file from "this/rocks" ok 357 - Plan should have been written from "this/rocks" through tags at end ok 358 - Write the file up to "you" ok 359 - Plan should have been written through "you" and its tags ok 360 - Write from "@foo" to "this/rocks" ok 361 - Plan should have been written from "@foo" to "this/rocks" ok 362 - Write from "hey" to "@foo" ok 363 - Plan should have been written from "hey" through "@foo" ok 364 - App::Sqitch::Plan->can('_is_valid') ok 365 - Should find "^foo" invalid ok 366 - Invalid name "^foo" error ident should be "plan" ok 367 - And the "^foo" error message should be correct ok 368 - Should find "foo^" invalid ok 369 - Invalid name "foo^" error ident should be "plan" ok 370 - And the "foo^" error message should be correct ok 371 - Should find "foo^6" invalid ok 372 - Invalid name "foo^6" error ident should be "plan" ok 373 - And the "foo^6" error message should be correct ok 374 - Should find "foo^666" invalid ok 375 - Invalid name "foo^666" error ident should be "plan" ok 376 - And the "foo^666" error message should be correct ok 377 - Should find "%hi" invalid ok 378 - Invalid name "%hi" error ident should be "plan" ok 379 - And the "%hi" error message should be correct ok 380 - Should find "hi!" invalid ok 381 - Invalid name "hi!" error ident should be "plan" ok 382 - And the "hi!" error message should be correct ok 383 - Should find "foo@bar" invalid ok 384 - Invalid name "foo@bar" error ident should be "plan" ok 385 - And the "foo@bar" error message should be correct ok 386 - Should find "foo:bar" invalid ok 387 - Invalid name "foo:bar" error ident should be "plan" ok 388 - And the "foo:bar" error message should be correct ok 389 - Should find "+foo" invalid ok 390 - Invalid name "+foo" error ident should be "plan" ok 391 - And the "+foo" error message should be correct ok 392 - Should find "-foo" invalid ok 393 - Invalid name "-foo" error ident should be "plan" ok 394 - And the "-foo" error message should be correct ok 395 - Should find "@foo" invalid ok 396 - Invalid name "@foo" error ident should be "plan" ok 397 - And the "@foo" error message should be correct ok 398 - Name "foo" sould be valid ok 399 - Name "12" sould be valid ok 400 - Name "t" sould be valid ok 401 - Name "6" sould be valid ok 402 - Name "阱阪阬" sould be valid ok 403 - Name "foo/bar" sould be valid ok 404 - Name "beta1" sould be valid ok 405 - Name "v1.2-1" sould be valid ok 406 - Name "v1.2+1" sould be valid ok 407 - Name "v1.2_1" sould be valid ok 408 - Add tag "w00t" ok 409 - Should have 4 changes ok 410 - Should find "@w00t at index 3 ok 411 - Last change should be "hey-there" ok 412 - The w00t tag should be on the last change ok 413 - The object isa App::Sqitch::Plan::Tag ok 414 - The returned tag should be @w00t ok 415 - The @w00t change should be the last change ok 416 - Write out the file again ok 417 - The contents should include the "w00t" tag ok 418 - Add tag "@alpha" ok 419 - Should find "@alpha at index 3 ok 420 - The returned tag should be @alpha ok 421 - The @alpha change should be the last change ok 422 - Should get error trying to add duplicate tag ok 423 - Duplicate tag error ident should be "plan" ok 424 - And the error message should report it as a dupe ok 425 - Should get error for invalid tag "^foo" ok 426 - Invalid name "^foo" error ident should be "plan" ok 427 - And the "^foo" error message should be correct ok 428 - Should get error for invalid tag "foo^" ok 429 - Invalid name "foo^" error ident should be "plan" ok 430 - And the "foo^" error message should be correct ok 431 - Should get error for invalid tag "foo^6" ok 432 - Invalid name "foo^6" error ident should be "plan" ok 433 - And the "foo^6" error message should be correct ok 434 - Should get error for invalid tag "foo^666" ok 435 - Invalid name "foo^666" error ident should be "plan" ok 436 - And the "foo^666" error message should be correct ok 437 - Should get error for invalid tag "%hi" ok 438 - Invalid name "%hi" error ident should be "plan" ok 439 - And the "%hi" error message should be correct ok 440 - Should get error for invalid tag "hi!" ok 441 - Invalid name "hi!" error ident should be "plan" ok 442 - And the "hi!" error message should be correct ok 443 - Should get error for invalid tag "foo@bar" ok 444 - Invalid name "foo@bar" error ident should be "plan" ok 445 - And the "foo@bar" error message should be correct ok 446 - Should get error for invalid tag "foo:bar" ok 447 - Invalid name "foo:bar" error ident should be "plan" ok 448 - And the "foo:bar" error message should be correct ok 449 - Should get error for invalid tag "+foo" ok 450 - Invalid name "+foo" error ident should be "plan" ok 451 - And the "+foo" error message should be correct ok 452 - Should get error for invalid tag "-foo" ok 453 - Invalid name "-foo" error ident should be "plan" ok 454 - And the "-foo" error message should be correct ok 455 - Should get error for invalid tag "foo\#bar" ok 456 - Invalid name "foo\#bar" error ident should be "plan" ok 457 - And the "foo\#bar" error message should be correct ok 458 - Should get error for reserved tag "HEAD" ok 459 - Reserved tag "HEAD" error ident should be "plan" ok 460 - And the reserved tag "HEAD" message should be correct ok 461 - Should get error for reserved tag "ROOT" ok 462 - Reserved tag "ROOT" error ident should be "plan" ok 463 - And the reserved tag "ROOT" message should be correct ok 464 - Should get error for reserved tag "FIRST" ok 465 - Reserved tag "FIRST" error ident should be "plan" ok 466 - And the reserved tag "FIRST" message should be correct ok 467 - Should get error for reserved tag "LAST" ok 468 - Reserved tag "LAST" error ident should be "plan" ok 469 - And the reserved tag "LAST" message should be correct ok 470 - Should get error for a SHA1 tag ok 471 - SHA1 tag error ident should be "plan" ok 472 - And the reserved name error should be output ok 473 - Add change "booyah" ok 474 - Should have 5 changes ok 475 - Should find "booyah at index 4 ok 476 - Last change should be "booyah" ok 477 - The object isa App::Sqitch::Plan::Change ok 478 - Should have plain stringification of "booya" ok 479 - Write out the file again ok 480 - The contents should include the "booyah" change ok 481 - Add change "blow" ok 482 - Should have 6 changes ok 483 - Should find "blow at index 5 ok 484 - Last change should be "blow" ok 485 - Should have nice stringification of "blow :booyah" ok 486 - The new change should have been appended to the lines, too ok 487 - Should get error trying to add duplicate change ok 488 - Duplicate change error ident should be "plan" ok 489 - And the error message should suggest "rework" ok 490 - Should get error for invalid change "^foo" ok 491 - Invalid name "^foo" error ident should be "plan" ok 492 - And the "^foo" error message should be correct ok 493 - Should get error for invalid change "foo^" ok 494 - Invalid name "foo^" error ident should be "plan" ok 495 - And the "foo^" error message should be correct ok 496 - Should get error for invalid change "foo^6" ok 497 - Invalid name "foo^6" error ident should be "plan" ok 498 - And the "foo^6" error message should be correct ok 499 - Should get error for invalid change "foo^666" ok 500 - Invalid name "foo^666" error ident should be "plan" ok 501 - And the "foo^666" error message should be correct ok 502 - Should get error for invalid change "%hi" ok 503 - Invalid name "%hi" error ident should be "plan" ok 504 - And the "%hi" error message should be correct ok 505 - Should get error for invalid change "hi!" ok 506 - Invalid name "hi!" error ident should be "plan" ok 507 - And the "hi!" error message should be correct ok 508 - Should get error for invalid change "foo@bar" ok 509 - Invalid name "foo@bar" error ident should be "plan" ok 510 - And the "foo@bar" error message should be correct ok 511 - Should get error for invalid change "foo:bar" ok 512 - Invalid name "foo:bar" error ident should be "plan" ok 513 - And the "foo:bar" error message should be correct ok 514 - Should get error for invalid change "+foo" ok 515 - Invalid name "+foo" error ident should be "plan" ok 516 - And the "+foo" error message should be correct ok 517 - Should get error for invalid change "-foo" ok 518 - Invalid name "-foo" error ident should be "plan" ok 519 - And the "-foo" error message should be correct ok 520 - Should get error for invalid change "@foo" ok 521 - Invalid name "@foo" error ident should be "plan" ok 522 - And the "@foo" error message should be correct ok 523 - Should get error for reserved name "HEAD" ok 524 - Reserved name "HEAD" error ident should be "plan" ok 525 - And the reserved name "HEAD" message should be correct ok 526 - Should get error for reserved name "ROOT" ok 527 - Reserved name "ROOT" error ident should be "plan" ok 528 - And the reserved name "ROOT" message should be correct ok 529 - Should get error for reserved name "FIRST" ok 530 - Reserved name "FIRST" error ident should be "plan" ok 531 - And the reserved name "FIRST" message should be correct ok 532 - Should get error for reserved name "LAST" ok 533 - Reserved name "LAST" error ident should be "plan" ok 534 - And the reserved name "LAST" message should be correct ok 535 - Should get failure for failed dependency ok 536 - Dependency error ident should be "plan" ok 537 - The dependency error should be correct ok 538 - Should get failure for invalid dependency ok 539 - Invalid dependency error ident should be "plan" ok 540 - The invalid dependency error should be correct ok 541 - Should get failure for invalid conflict ok 542 - Invalid conflict error ident should be "plan" ok 543 - The invalid conflict error should be correct ok 544 - Should get failure for failed tag dependency ok 545 - Tag dependency error ident should be "plan" ok 546 - The tag dependency error should be correct ok 547 - Should get error for a SHA1 change ok 548 - SHA1 tag error ident should be "plan" ok 549 - And the reserved name error should be output ok 550 - App::Sqitch::Plan->can('rework') ok 551 - Rework change "you" ok 552 - The object isa App::Sqitch::Plan::Change ok 553 - Reworked change should be "you" ok 554 - Get original "you" change ok 555 - It should also be named "you" ok 556 - And its suffix should be "@bar" ok 557 - The original file should now be named you@bar.sql ok 558 - But the reworked change should have no suffix ok 559 - It should require the previous "you" change ok 560 - The new "you" should have been appended to the lines, too ok 561 - It should be at position 6 ok 562 - The plan count should be 7 ok 563 - Tag @beta1 ok 564 - Rework change "you" again ok 565 - The object isa App::Sqitch::Plan::Change ok 566 - New reworked change should be "you" ok 567 - Get original "you" change again ok 568 - It should still be named "you" ok 569 - And it should still have the suffix "@bar" ok 570 - Get you@beta1 ok 571 - The second "you" should be named that ok 572 - And the second change should now have the suffx "@beta1" ok 573 - But the new reworked change should have no suffix ok 574 - It should require the previous "you" change ok 575 - The new reworking should have been appended to the lines ok 576 - It should be at position 7 ok 577 - The plan count should be 8 ok 578 - rework should die on nonexistent change ok 579 - Nonexistent change error ident should be "plan" ok 580 - And the error should suggest "sqitch add" ok 581 - rework_stpe should die on lack of intervening tag ok 582 - Missing tag error ident should be "plan" ok 583 - And the error should suggest "sqitch tag" ok 584 - rework should die on failed dependency ok 585 - Rework dependency error ident should be "plan" ok 586 - The rework dependency error should be correct ok 587 - Should get failure for invalid dependency ok 588 - Invalid dependency error ident should be "plan" ok 589 - The invalid dependency error should be correct ok 590 - Should get failure for invalid conflict ok 591 - Invalid conflict error ident should be "plan" ok 592 - The invalid conflict error should be correct ok 593 - Plan shoud work plan with dupe change across tags isa App::Sqitch::Plan ok 594 - Project name should be set ok 595 - Lines with dupe change should be read from file ok 596 - Noes with dupe change should be read from file ok 597 - Should have sorted changes three times ok 598 - Should get an error trying to find dupe key. ok 599 - Dupe key error ident should be "plan" ok 600 - Dupe key error message should be correct ok 601 - Should get 3 for whatever@HEAD ok 602 - Should get 0 for whatever@bar ok 603 - Should get an error seeking dupe key. ok 604 - Dupe key error ident should be "plan" ok 605 - Dupe key error message should be correct ok 606 - Should find whatever@HEAD at index 3 ok 607 - Should find whatever@HEAD at index 0 ok 608 - Should find first instance of whatever at index 0 ok 609 - Should find first instance of whatever after @bar at index 5 ok 610 - Seek whatever@HEAD ok 611 - Position should be 3 ok 612 - Seek whatever@bar ok 613 - Position should be 0 ok 614 - Last tagged change should be "hi" ok 615 - App::Sqitch::Plan->can('open_script') ok 616 - Open bar.sql ok 617 - It should be the right file ok 618 - Open baz.sql ok 619 - It should be empty ok 620 - App::Sqitch::Plan->can('sort_changes') ok 621 - Should get original order when no dependencies ok 622 - Should get original order when no prepreqs ok 623 - Should get original order when that requires this ok 624 - Should get original order when other requires that ok 625 - Should get other first when this requires it ok 626 - Should get that, other, this now ok 627 - Should get other, that, this now ok 628 - Should get that, other, this again ok 629 - Should get original order when requiring a tag ok 630 - Should get original order when requiring a step as-of a tag ok 631 - Should get failure for a step after a tag ok 632 - Step after tag error ident should be "plan" ok 633 - And we the unknown change as-of a tag message should be correct ok 634 - Should get failure for a cycle ok 635 - Cycle error ident should be "plan" ok 636 - The cycle error message should be correct ok 637 - Should get failure for a two-hop cycle ok 638 - Two-hope cycle error ident should be "plan" ok 639 - The two-hop cycle error message should be correct ok 640 - Should get original order with earlier dependency ok 641 - Should get other, that, this with earlier dependncy ok 642 - Should die on unknown dependency ok 643 - Unknown dependency error ident should be "plan" ok 644 - And the error should point to the offending change ok 645 - Should die on unknown tag dependency ok 646 - Unknown tag dependency error ident should be "plan" ok 647 - And the error should point to the offending change ok 648 - Should get original order with external dependency ok 649 - App::Sqitch::Plan->can('_check_dependencies') ok 650 - Depend "hi" should be in project "dupe_change_diff_tag" ok 651 - Dependency on "hi" should succeed ok 652 - Depend "greets" should be in project "dupe_change_diff_tag" ok 653 - Dependency on "greets" should succeed ok 654 - Depend "whatever" should be in project "dupe_change_diff_tag" ok 655 - Dependency on "whatever" should succeed ok 656 - Depend "@foo" should be in project "dupe_change_diff_tag" ok 657 - Dependency on "@foo" should succeed ok 658 - Depend "whatever@foo" should be in project "dupe_change_diff_tag" ok 659 - Dependency on "whatever@foo" should succeed ok 660 - Depend "ext:larry" should be in project "ext" ok 661 - Dependency on "ext:larry" should succeed ok 662 - Depend "ext:greets" should be in project "ext" ok 663 - Dependency on "ext:greets" should succeed ok 664 - Should get error trying to depend on "wanker" ok 665 - Dependency "req" error ident should be "plan" ok 666 - And should get unknown dependency message for "wanker" ok 667 - Should get error trying to depend on "@blah" ok 668 - Dependency "req" error ident should be "plan" ok 669 - And should get unknown dependency message for "@blah" ok 670 - Should get error trying to depend on "greets@foo" ok 671 - Dependency "req" error ident should be "plan" ok 672 - And should get unknown dependency message for "greets@foo" ok 673 - Should have undef URI when no pragma ok 674 - Plan with sqitch with plan file with dependencies isa App::Sqitch::Plan ok 675 - syntax_version should be set ok 676 - Project should be set ok 677 - Should have URI from pragma ok 678 - It isa URI ok 679 - Should die on plan with no project pragma ok 680 - Missing prorject error ident should be "plan" ok 681 - The missing project error message should be correct ok 682 - Should die on invalid project name "^foo" ok 683 - Ident for bad proj "^foo" should be "plan" ok 684 - Error message for bad project "^foo" should be correct ok 685 - Should die on invalid project name "foo^" ok 686 - Ident for bad proj "foo^" should be "plan" ok 687 - Error message for bad project "foo^" should be correct ok 688 - Should die on invalid project name "foo^6" ok 689 - Ident for bad proj "foo^6" should be "plan" ok 690 - Error message for bad project "foo^6" should be correct ok 691 - Should die on invalid project name "foo^666" ok 692 - Ident for bad proj "foo^666" should be "plan" ok 693 - Error message for bad project "foo^666" should be correct ok 694 - Should die on invalid project name "%hi" ok 695 - Ident for bad proj "%hi" should be "plan" ok 696 - Error message for bad project "%hi" should be correct ok 697 - Should die on invalid project name "hi!" ok 698 - Ident for bad proj "hi!" should be "plan" ok 699 - Error message for bad project "hi!" should be correct ok 700 - Should die on invalid project name "foo@bar" ok 701 - Ident for bad proj "foo@bar" should be "plan" ok 702 - Error message for bad project "foo@bar" should be correct ok 703 - Should die on invalid project name "foo:bar" ok 704 - Ident for bad proj "foo:bar" should be "plan" ok 705 - Error message for bad project "foo:bar" should be correct ok 706 - Should die on invalid project name "+foo" ok 707 - Ident for bad proj "+foo" should be "plan" ok 708 - Error message for bad project "+foo" should be correct ok 709 - Should die on invalid project name "-foo" ok 710 - Ident for bad proj "-foo" should be "plan" ok 711 - Error message for bad project "-foo" should be correct ok 712 - Should die on invalid project name "@foo" ok 713 - Ident for bad proj "@foo" should be "plan" ok 714 - Error message for bad project "@foo" should be correct 1..714 ok t/pod-coverage.t ... 1..28 ok 1 - Pod coverage on App::Sqitch ok 2 - Pod coverage on App::Sqitch::Command ok 3 - Pod coverage on App::Sqitch::Config ok 4 - Pod coverage on App::Sqitch::DateTime ok 5 - Pod coverage on App::Sqitch::Engine ok 6 - Pod coverage on App::Sqitch::Plan ok 7 - Pod coverage on App::Sqitch::X ok 8 - Pod coverage on App::Sqitch::Command::add ok 9 - Pod coverage on App::Sqitch::Command::bundle ok 10 - Pod coverage on App::Sqitch::Command::config ok 11 - Pod coverage on App::Sqitch::Command::deploy ok 12 - Pod coverage on App::Sqitch::Command::help ok 13 - Pod coverage on App::Sqitch::Command::init ok 14 - Pod coverage on App::Sqitch::Command::log ok 15 - Pod coverage on App::Sqitch::Command::revert ok 16 - Pod coverage on App::Sqitch::Command::rework ok 17 - Pod coverage on App::Sqitch::Command::status ok 18 - Pod coverage on App::Sqitch::Command::tag ok 19 - Pod coverage on App::Sqitch::Engine::pg ok 20 - Pod coverage on App::Sqitch::Engine::sqlite ok 21 - Pod coverage on App::Sqitch::Plan::Blank ok 22 - Pod coverage on App::Sqitch::Plan::Change ok 23 - Pod coverage on App::Sqitch::Plan::ChangeList ok 24 - Pod coverage on App::Sqitch::Plan::Depend ok 25 - Pod coverage on App::Sqitch::Plan::Line ok 26 - Pod coverage on App::Sqitch::Plan::LineList ok 27 - Pod coverage on App::Sqitch::Plan::Pragma ok 28 - Pod coverage on App::Sqitch::Plan::Tag ok t/pod.t ............ 1..56 ok 1 - POD test for blib\lib\sqitch-add-usage.pod ok 2 - POD test for blib\lib\sqitch-add.pod ok 3 - POD test for blib\lib\sqitch-bundle-usage.pod ok 4 - POD test for blib\lib\sqitch-bundle.pod ok 5 - POD test for blib\lib\sqitch-config-usage.pod ok 6 - POD test for blib\lib\sqitch-config.pod ok 7 - POD test for blib\lib\sqitch-deploy-usage.pod ok 8 - POD test for blib\lib\sqitch-deploy.pod ok 9 - POD test for blib\lib\sqitch-help-usage.pod ok 10 - POD test for blib\lib\sqitch-help.pod ok 11 - POD test for blib\lib\sqitch-init-usage.pod ok 12 - POD test for blib\lib\sqitch-init.pod ok 13 - POD test for blib\lib\sqitch-log-usage.pod ok 14 - POD test for blib\lib\sqitch-log.pod ok 15 - POD test for blib\lib\sqitch-revert-usage.pod ok 16 - POD test for blib\lib\sqitch-revert.pod ok 17 - POD test for blib\lib\sqitch-rework-usage.pod ok 18 - POD test for blib\lib\sqitch-rework.pod ok 19 - POD test for blib\lib\sqitch-status-usage.pod ok 20 - POD test for blib\lib\sqitch-status.pod ok 21 - POD test for blib\lib\sqitch-tag-usage.pod ok 22 - POD test for blib\lib\sqitch-tag.pod ok 23 - POD test for blib\lib\sqitch.pod ok 24 - POD test for blib\lib\sqitchchanges.pod ok 25 - POD test for blib\lib\sqitchcommands.pod ok 26 - POD test for blib\lib\sqitchtutorial.pod ok 27 - POD test for blib\script\sqitch (no pod) ok 28 - POD test for blib\script\sqitch.bat (no pod) ok 29 - POD test for blib\lib\App\Sqitch.pm ok 30 - POD test for blib\lib\App\Sqitch\Command.pm ok 31 - POD test for blib\lib\App\Sqitch\Config.pm ok 32 - POD test for blib\lib\App\Sqitch\DateTime.pm ok 33 - POD test for blib\lib\App\Sqitch\Engine.pm ok 34 - POD test for blib\lib\App\Sqitch\Plan.pm ok 35 - POD test for blib\lib\App\Sqitch\X.pm ok 36 - POD test for blib\lib\App\Sqitch\Command\add.pm ok 37 - POD test for blib\lib\App\Sqitch\Command\bundle.pm ok 38 - POD test for blib\lib\App\Sqitch\Command\config.pm ok 39 - POD test for blib\lib\App\Sqitch\Command\deploy.pm ok 40 - POD test for blib\lib\App\Sqitch\Command\help.pm ok 41 - POD test for blib\lib\App\Sqitch\Command\init.pm ok 42 - POD test for blib\lib\App\Sqitch\Command\log.pm ok 43 - POD test for blib\lib\App\Sqitch\Command\revert.pm ok 44 - POD test for blib\lib\App\Sqitch\Command\rework.pm ok 45 - POD test for blib\lib\App\Sqitch\Command\status.pm ok 46 - POD test for blib\lib\App\Sqitch\Command\tag.pm ok 47 - POD test for blib\lib\App\Sqitch\Engine\pg.pm ok 48 - POD test for blib\lib\App\Sqitch\Engine\sqlite.pm ok 49 - POD test for blib\lib\App\Sqitch\Plan\Blank.pm ok 50 - POD test for blib\lib\App\Sqitch\Plan\Change.pm ok 51 - POD test for blib\lib\App\Sqitch\Plan\ChangeList.pm ok 52 - POD test for blib\lib\App\Sqitch\Plan\Depend.pm ok 53 - POD test for blib\lib\App\Sqitch\Plan\Line.pm ok 54 - POD test for blib\lib\App\Sqitch\Plan\LineList.pm ok 55 - POD test for blib\lib\App\Sqitch\Plan\Pragma.pm ok 56 - POD test for blib\lib\App\Sqitch\Plan\Tag.pm ok t/pragma.t ......... 1..10 ok 1 - require App::Sqitch::Plan::Pragma; ok 2 - App::Sqitch::Plan::Pragma->can(...) ok 3 - The object isa App::Sqitch::Plan::Pragma ok 4 - The object 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/revert.t ......... ok 1 - require App::Sqitch::Command::revert; ok 2 - The class isa App::Sqitch::Command ok 3 - App::Sqitch::Command::revert->can(...) ok 4 - The object isa App::Sqitch::Command::revert ok 5 - to_target should be undef ok 6 - Execute to "@alpha" ok 7 - "@alpha" and "all" should be passed to the engine ok 8 - Execute ok 9 - undef and "all" should be passed to the engine ok 10 - Object with to isa App::Sqitch::Command::revert ok 11 - Execute again ok 12 - "foo" and "tag" should be passed to the engine 1..12 ok t/rework.t ......... 1..80 ok 1 - Load a sqitch sqitch object ok 2 - rework command isa App::Sqitch::Command::rework ok 3 - App::Sqitch::Command::rework->can(...) ok 4 - Options should be set up ok 5 - Should have default configuration with no config or opts ok 6 - Should have get requires, conflicts, and note options ok 7 - Requires should be an arrayref ok 8 - Conflicts should be an arrayref ok 9 - Note should be an arrayref ok 10 - Should get an example for nonexistent change ok 11 - Nonexistent change error ident should be "plan" ok 12 - Fail message should say the step does not exist ok 13 - Create another add with template_directory ok 14 - sql\deploy\foo.sql does not exist ok 15 - sql\revert\foo.sql does not exist ok 16 - sql\test\foo.sql does not exist ok 17 - sql\deploy\foo.sql exists ok 18 - sql\revert\foo.sql exists ok 19 - sql\test\foo.sql exists ok 20 - Get the "foo" change ok 21 - Should get an example for duplicate change ok 22 - Duplicate change error ident should be "plan" ok 23 - Fail message should say a tag is needed ok 24 - Tag it ok 25 - sql\deploy\foo@alpha.sql does not exist ok 26 - sql\revert\foo@alpha.sql does not exist ok 27 - sql\test\foo@alpha.sql does not exist ok 28 - Rework "foo" ok 29 - sql\deploy\foo.sql exists ok 30 - sql\revert\foo.sql exists ok 31 - sql\test\foo.sql exists ok 32 - sql\deploy\foo@alpha.sql exists ok 33 - sql\revert\foo@alpha.sql exists ok 34 - sql\test\foo@alpha.sql exists ok 35 - sql\deploy\foo@alpha.sql and sql\deploy\foo.sql contents are the same ok 36 - sql\test\foo@alpha.sql and sql\test\foo.sql contents are the same ok 37 - sql\revert\foo.sql and sql\deploy\foo.sql contents are the same ok 38 - New revert should revert ok 39 - It should have prompted for a note ok 40 - Reload the plan file ok 41 - Get the steps ok 42 - Should have two steps ok 43 - First step should be "foo" ok 44 - Second step should also be "foo" ok 45 - Reworked step should require the previous step ok 46 - And the info message should suggest editing the old files ok 47 - Debug should show file copying ok 48 - Create another add with template_directory ok 49 - sql\deploy\bar.sql does not exist ok 50 - sql\revert\bar.sql does not exist ok 51 - sql\test\bar.sql does not exist ok 52 - sql\deploy\bar.sql exists ok 53 - sql\revert\bar.sql does not exist ok 54 - sql\test\bar.sql does not exist ok 55 - Tag it with @beta ok 56 - rework command with requirements and conflicts isa App::Sqitch::Command::rework ok 57 - sql\deploy\bar@beta.sql does not exist ok 58 - sql\revert\bar@beta.sql does not exist ok 59 - sql\test\bar@beta.sql does not exist ok 60 - Rework "bar" ok 61 - sql\deploy\bar.sql exists ok 62 - sql\revert\bar.sql does not exist ok 63 - sql\test\bar.sql does not exist ok 64 - sql\deploy\bar@beta.sql exists ok 65 - sql\revert\bar@beta.sql does not exist ok 66 - sql\test\bar@beta.sql does not exist ok 67 - It should have prompted for a note ok 68 - Reload the plan file again ok 69 - Get the steps ok 70 - Should have four steps ok 71 - First step should be "foo" ok 72 - Second step should also be "foo" ok 73 - First step should be "bar" ok 74 - Second step should also be "bar" ok 75 - Requires should have been passed to reworked change ok 76 - Conflicts should have been passed to reworked change ok 77 - Note should have been passed as comment ok 78 - And the info message should show only the one file to modify ok 79 - Should have debug oputput for missing files ok 80 - no warnings ok t/sqlite.t ......... 1..13 ok 1 - require App::Sqitch::Engine::sqlite; ok 2 - config_vars should return three vars ok 3 - The object isa App::Sqitch::Engine::sqlite ok 4 - client should default to sqlite3 ok 5 - db_name should be required ok 6 - sqitch_prefix should default to "sqitch" ok 7 - Create another sqlite ok 8 - client should fall back on config ok 9 - db_name should fall back on config ok 10 - sqitch_prefix should fall back on config ok 11 - Create sqlite with sqitch with --client and --db-name ok 12 - The client should be grabbed from sqitch ok 13 - The db_name should be grabbed from sqitch ok t/status.t ......... 1..91 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 - Options should be correct ok 6 - Should have error for uninitialized database ok 7 - Uninitialized database error ident should be "status" ok 8 - Uninitialized database error message should be correct ok 9 - new status command isa App::Sqitch::Command::status ok 10 - Should have project "foo" ok 11 - Load a sqitch object with SQLite ok 12 - Create another status command ok 13 - Should get an error for uninitialized db ok 14 - Uninitialized db error ident should be "status" ok 15 - Uninitialized db error message should be correct ok 16 - Should get an error for no registered projects ok 17 - No projects error ident should be "status" ok 18 - No projects error message should be correct ok 19 - Should get an error for too many projects ok 20 - Too many projects error ident should be "status" ok 21 - Too many projects error message should be correct ok 22 - Should find single project ok 23 - Load another sqitch object ok 24 - another status command isa App::Sqitch::Command::status ok 25 - Should have plan project ok 26 - Should get empty hash for no config or options ok 27 - Should get error for invalid date format in config 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 date format in optsions ok 31 - Invalid date format error ident should be "status" ok 32 - Invalid date format error message should be correct ok 33 - Emit the state ok 34 - The state should have been emitted ok 35 - Emit the state with a tag ok 36 - The state should have been emitted with a tag ok 37 - Emit the state with multiple tags ok 38 - The state should have been emitted with multiple tags ok 39 - Create status command with an engine ok 40 - Try to emit changes ok 41 - Should have emitted no changes ok 42 - Create change-showing status command ok 43 - Emit changes again ok 44 - Project "foo" should have been passed to current_changes ok 45 - Should have emitted one change ok 46 - Emit changes thrice ok 47 - Project "foo" again should have been passed to current_changes ok 48 - Should have emitted three changes ok 49 - Try to emit tags ok 50 - No tags should have been emitted ok 51 - Create tag-showing status command ok 52 - Try to emit tags again ok 53 - Project "bar" should be passed to current_tags() ok 54 - Should have emitted a header for no tags ok 55 - Emit tags ok 56 - Project "bar" should again be passed to current_tags() ok 57 - Should have emitted one tag ok 58 - Emit tags again ok 59 - Project "bar" should once more be passed to current_tags() ok 60 - Should have emitted all three tags ok 61 - Create status command with actual plan command ok 62 - Emit status ok 63 - Should have a blank comment line ok 64 - Should emit up-to-date output ok 65 - Emit status again ok 66 - Should have a blank comment line ok 67 - Should emit list of undeployed changes ok 68 - Emit status thrice ok 69 - Should have a blank comment line ok 70 - Should emit list of undeployed changes ok 71 - Die on invalid ID ok 72 - Invalid ID error ident should be "status" ok 73 - The invalid ID error message should be correct ok 74 - Should have a blank comment line ok 75 - Should have a message about inability to find the change ok 76 - Execute ok 77 - The state should have been emitted ok 78 - Should emit list of undeployed changes ok 79 - Create status command with specified project ok 80 - Execute for specified project ok 81 - The specified project state should have been emitted ok 82 - Should emit unknown status message for specified project ok 83 - Create status command with external project ok 84 - Execute for external project ok 85 - The external project state should have been emitted ok 86 - Should emit unknown status message for external project ok 87 - Die on no state ok 88 - No state error ident should be "status" ok 89 - No state error message should be correct ok 90 - The "On database" comment should have been emitted ok 91 - no warnings ok t/tag.t ............ ok 1 - require App::Sqitch::Plan::Tag; ok 2 - App::Sqitch::Plan::Tag->can(...) ok 3 - The object isa App::Sqitch::Plan::Tag ok 4 - The object 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 ok 21 - Tag ID should be hahsed from encoded UTF-8 ok 22 - no warnings 1..22 ok t/tag_cmd.t ........ 1..29 ok 1 - Load a sqitch sqitch object ok 2 - tag command isa App::Sqitch::Command::tag ok 3 - App::Sqitch::Command::tag->can(...) ok 4 - Should have note option ok 5 - Add change "foo" ok 6 - Tag @alpha ok 7 - Should have tagged "foo" ok 8 - Reload plan ok 9 - New tag should have been written ok 10 - New tag should have empty note ok 11 - Should have requested a note ok 12 - The info message should be correct ok 13 - Execute with no arg ok 14 - The one tag should have been listed ok 15 - Should have requested a note ok 16 - Add tag @beta ok 17 - Execute with no arg again ok 18 - Both tags should have been listed ok 19 - Should have requested a note ok 20 - tag command with note isa App::Sqitch::Command::tag ok 21 - Tag @gamma ok 22 - Gamma tag should be on change "foo" ok 23 - Gamma tag should have note ok 24 - Reload plan ok 25 - Gamma tag should have been written ok 26 - Written tag should have note ok 27 - Should have requested a note ok 28 - The gamma note should be correct ok 29 - no warnings 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 Role::HasMessage ok 5 - X object does StackTrace::Auto ok 6 - X object does Role::Identifiable::HasIdent ok 7 - Create X without ident ok 8 - Default ident should be "DEV" ok 9 - threw App::Sqitch::X ok 10 - Thrown object isa App::Sqitch::X ok 11 - Ident should be "basic" ok 12 - The message should have been passed ok 13 - It should have a stack trace ok 14 - Exit val should be 2 ok 15 - The trace should start in this file ok 16 - threw App::Sqitch::X ok 17 - Thrown object isa App::Sqitch::X ok 18 - Ident should be "DEV" ok 19 - The message should have been passed ok 20 - Exit val should again be 2 ok 21 - threw App::Sqitch::X ok 22 - Thrown object isa App::Sqitch::X ok 23 - The params should have been passed ok 24 - Exit val should be 1 ok 25 - Stringification should work ok 26 - Stringification should work ok 27 - Should be an "io" exception 1..27 ok Test Summary Report ------------------- t/base.t (Wstat: 256 Tests: 90 Failed: 0) Non-zero exit status: 1 Parse errors: Bad plan. You planned 95 tests but ran 90. t/bundle.t (Wstat: 256 Tests: 125 Failed: 1) Failed test: 42 Non-zero exit status: 1 t/datetime.t (Wstat: 65280 Tests: 4 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 33 tests but ran 4. t/log.t (Wstat: 65280 Tests: 45 Failed: 0) Non-zero exit status: 255 Files=30, Tests=3110, 58 wallclock secs ( 0.36 usr + 0.06 sys = 0.42 CPU) Result: FAIL Failed 4/30 test programs. 1/3110 subtests failed. DWHEELER/App-Sqitch-0.934.tar.gz C:\Perl-5.14\bin\perl.exe ./Build test verbose=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports DWHEELER/App-Sqitch-0.934.tar.gz Finished 2012-09-30T02:55:44