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.16\site\bin;C:\Perl-5.16\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-10-13T03:18:56 ActivePerl-1600 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.16/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.16\site\bin;C:\Perl-5.16\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.16\var\cpan\Metadata' Database was generated on Sat, 13 Oct 2012 09:12:10 GMT Running make for D/DW/DWHEELER/App-Sqitch-0.938.tar.gz Fetching with LWP: http://cpan.nas.activestate.com/authors/id/D/DW/DWHEELER/App-Sqitch-0.938.tar.gz Fetching with LWP: http://cpan.nas.activestate.com/authors/id/D/DW/DWHEELER/CHECKSUMS Checksum for C:\cpanfly-5.16\var\cpan\sources\authors\id\D\DW\DWHEELER\App-Sqitch-0.938.tar.gz ok App-Sqitch-0.938/ App-Sqitch-0.938/bin/ App-Sqitch-0.938/Build.PL App-Sqitch-0.938/Changes App-Sqitch-0.938/dist/ App-Sqitch-0.938/etc/ App-Sqitch-0.938/inc/ App-Sqitch-0.938/lib/ App-Sqitch-0.938/LICENSE App-Sqitch-0.938/MANIFEST App-Sqitch-0.938/META.json App-Sqitch-0.938/META.yml App-Sqitch-0.938/README App-Sqitch-0.938/README.md App-Sqitch-0.938/t/ App-Sqitch-0.938/xt/ App-Sqitch-0.938/xt/release/ App-Sqitch-0.938/xt/release/pod-spelling.t App-Sqitch-0.938/t/add.t App-Sqitch-0.938/t/add_change.conf App-Sqitch-0.938/t/base.t App-Sqitch-0.938/t/blank.t App-Sqitch-0.938/t/bundle.t App-Sqitch-0.938/t/change.t App-Sqitch-0.938/t/changelist.t App-Sqitch-0.938/t/command.t App-Sqitch-0.938/t/config.t App-Sqitch-0.938/t/configuration.t App-Sqitch-0.938/t/datetime.t App-Sqitch-0.938/t/depend.t App-Sqitch-0.938/t/deploy.t App-Sqitch-0.938/t/die.pl App-Sqitch-0.938/t/echo.pl App-Sqitch-0.938/t/engine.t App-Sqitch-0.938/t/help.t App-Sqitch-0.938/t/init.t App-Sqitch-0.938/t/lib/ App-Sqitch-0.938/t/linelist.t App-Sqitch-0.938/t/local.conf App-Sqitch-0.938/t/log.t App-Sqitch-0.938/t/options.t App-Sqitch-0.938/t/pg/ App-Sqitch-0.938/t/pg.t App-Sqitch-0.938/t/plan.t App-Sqitch-0.938/t/plans/ App-Sqitch-0.938/t/pod-coverage.t App-Sqitch-0.938/t/pod.t App-Sqitch-0.938/t/pragma.t App-Sqitch-0.938/t/read.pl App-Sqitch-0.938/t/revert.t App-Sqitch-0.938/t/rework.t App-Sqitch-0.938/t/sqitch App-Sqitch-0.938/t/sqitch.conf App-Sqitch-0.938/t/sql/ App-Sqitch-0.938/t/sqlite.t App-Sqitch-0.938/t/status.t App-Sqitch-0.938/t/tag.t App-Sqitch-0.938/t/tag_cmd.t App-Sqitch-0.938/t/user.conf App-Sqitch-0.938/t/x.t App-Sqitch-0.938/t/sql/deploy/ App-Sqitch-0.938/t/sql/sqitch.plan App-Sqitch-0.938/t/sql/deploy/roles.sql App-Sqitch-0.938/t/sql/deploy/users.sql App-Sqitch-0.938/t/sql/deploy/widgets.sql App-Sqitch-0.938/t/plans/bad-change.plan App-Sqitch-0.938/t/plans/changes-only.plan App-Sqitch-0.938/t/plans/dependencies.plan App-Sqitch-0.938/t/plans/deploy-and-revert.plan App-Sqitch-0.938/t/plans/dupe-change-diff-tag.plan App-Sqitch-0.938/t/plans/dupe-change.plan App-Sqitch-0.938/t/plans/dupe-tag.plan App-Sqitch-0.938/t/plans/multi.plan App-Sqitch-0.938/t/plans/pragmas.plan App-Sqitch-0.938/t/plans/project_deps.plan App-Sqitch-0.938/t/plans/reserved-tag.plan App-Sqitch-0.938/t/plans/widgets.plan App-Sqitch-0.938/t/pg/deploy/ App-Sqitch-0.938/t/pg/revert/ App-Sqitch-0.938/t/pg/sqitch.plan App-Sqitch-0.938/t/pg/revert/func/ App-Sqitch-0.938/t/pg/revert/users.sql App-Sqitch-0.938/t/pg/revert/widgets.sql App-Sqitch-0.938/t/pg/revert/func/add_user.sql App-Sqitch-0.938/t/pg/deploy/func/ App-Sqitch-0.938/t/pg/deploy/users.sql App-Sqitch-0.938/t/pg/deploy/widgets.sql App-Sqitch-0.938/t/pg/deploy/func/add_user.sql App-Sqitch-0.938/t/lib/App/ App-Sqitch-0.938/t/lib/MockOutput.pm App-Sqitch-0.938/t/lib/App/Sqitch/ App-Sqitch-0.938/t/lib/App/Sqitch/Command/ App-Sqitch-0.938/t/lib/App/Sqitch/Engine/ App-Sqitch-0.938/t/lib/App/Sqitch/Engine/bad.pm App-Sqitch-0.938/t/lib/App/Sqitch/Engine/good.pm App-Sqitch-0.938/t/lib/App/Sqitch/Command/bad.pm App-Sqitch-0.938/t/lib/App/Sqitch/Command/good.pm App-Sqitch-0.938/lib/App/ App-Sqitch-0.938/lib/LocaleData/ App-Sqitch-0.938/lib/sqitch-add-usage.pod App-Sqitch-0.938/lib/sqitch-add.pod App-Sqitch-0.938/lib/sqitch-bundle-usage.pod App-Sqitch-0.938/lib/sqitch-bundle.pod App-Sqitch-0.938/lib/sqitch-config-usage.pod App-Sqitch-0.938/lib/sqitch-config.pod App-Sqitch-0.938/lib/sqitch-deploy-usage.pod App-Sqitch-0.938/lib/sqitch-deploy.pod App-Sqitch-0.938/lib/sqitch-help-usage.pod App-Sqitch-0.938/lib/sqitch-help.pod App-Sqitch-0.938/lib/sqitch-init-usage.pod App-Sqitch-0.938/lib/sqitch-init.pod App-Sqitch-0.938/lib/sqitch-log-usage.pod App-Sqitch-0.938/lib/sqitch-log.pod App-Sqitch-0.938/lib/sqitch-revert-usage.pod App-Sqitch-0.938/lib/sqitch-revert.pod App-Sqitch-0.938/lib/sqitch-rework-usage.pod App-Sqitch-0.938/lib/sqitch-rework.pod App-Sqitch-0.938/lib/sqitch-status-usage.pod App-Sqitch-0.938/lib/sqitch-status.pod App-Sqitch-0.938/lib/sqitch-tag-usage.pod App-Sqitch-0.938/lib/sqitch-tag.pod App-Sqitch-0.938/lib/sqitch.pod App-Sqitch-0.938/lib/sqitchchanges.pod App-Sqitch-0.938/lib/sqitchcommands.pod App-Sqitch-0.938/lib/sqitchtutorial.pod App-Sqitch-0.938/lib/LocaleData/de/ App-Sqitch-0.938/lib/LocaleData/fr/ App-Sqitch-0.938/lib/LocaleData/fr/LC_MESSAGES/ App-Sqitch-0.938/lib/LocaleData/fr/LC_MESSAGES/App-Sqitch.mo App-Sqitch-0.938/lib/LocaleData/de/LC_MESSAGES/ App-Sqitch-0.938/lib/LocaleData/de/LC_MESSAGES/App-Sqitch.mo App-Sqitch-0.938/lib/App/Sqitch/ App-Sqitch-0.938/lib/App/Sqitch.pm App-Sqitch-0.938/lib/App/Sqitch/Command/ App-Sqitch-0.938/lib/App/Sqitch/Command.pm App-Sqitch-0.938/lib/App/Sqitch/Config.pm App-Sqitch-0.938/lib/App/Sqitch/DateTime.pm App-Sqitch-0.938/lib/App/Sqitch/Engine/ App-Sqitch-0.938/lib/App/Sqitch/Engine.pm App-Sqitch-0.938/lib/App/Sqitch/Plan/ App-Sqitch-0.938/lib/App/Sqitch/Plan.pm App-Sqitch-0.938/lib/App/Sqitch/X.pm App-Sqitch-0.938/lib/App/Sqitch/Plan/Blank.pm App-Sqitch-0.938/lib/App/Sqitch/Plan/Change.pm App-Sqitch-0.938/lib/App/Sqitch/Plan/ChangeList.pm App-Sqitch-0.938/lib/App/Sqitch/Plan/Depend.pm App-Sqitch-0.938/lib/App/Sqitch/Plan/Line.pm App-Sqitch-0.938/lib/App/Sqitch/Plan/LineList.pm App-Sqitch-0.938/lib/App/Sqitch/Plan/Pragma.pm App-Sqitch-0.938/lib/App/Sqitch/Plan/Tag.pm App-Sqitch-0.938/lib/App/Sqitch/Engine/pg.pm App-Sqitch-0.938/lib/App/Sqitch/Engine/pg.sql App-Sqitch-0.938/lib/App/Sqitch/Engine/sqlite.pm App-Sqitch-0.938/lib/App/Sqitch/Command/add.pm App-Sqitch-0.938/lib/App/Sqitch/Command/bundle.pm App-Sqitch-0.938/lib/App/Sqitch/Command/config.pm App-Sqitch-0.938/lib/App/Sqitch/Command/deploy.pm App-Sqitch-0.938/lib/App/Sqitch/Command/help.pm App-Sqitch-0.938/lib/App/Sqitch/Command/init.pm App-Sqitch-0.938/lib/App/Sqitch/Command/log.pm App-Sqitch-0.938/lib/App/Sqitch/Command/revert.pm App-Sqitch-0.938/lib/App/Sqitch/Command/rework.pm App-Sqitch-0.938/lib/App/Sqitch/Command/status.pm App-Sqitch-0.938/lib/App/Sqitch/Command/tag.pm App-Sqitch-0.938/inc/Module/ App-Sqitch-0.938/inc/Module/Build/ App-Sqitch-0.938/inc/Module/Build/Sqitch.pm App-Sqitch-0.938/etc/templates/ App-Sqitch-0.938/etc/templates/deploy.tmpl App-Sqitch-0.938/etc/templates/revert.tmpl App-Sqitch-0.938/etc/templates/test.tmpl App-Sqitch-0.938/dist/sqitch.spec App-Sqitch-0.938/bin/sqitch CPAN.pm: Going to build D/DW/DWHEELER/App-Sqitch-0.938.tar.gz >>> C:\Perl-5.16\bin\perl.exe Build.PL Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'App-Sqitch' version '0.938' >>> C:\Perl-5.16\bin\perl.exe ./Build Building App-Sqitch DWHEELER/App-Sqitch-0.938.tar.gz C:\Perl-5.16\bin\perl.exe ./Build -- OK Running Build test >>> C:\Perl-5.16\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 '--nosuchscript.ply--' is not recognized as an internal or external command, operable program or batch file. t/base.t ........... 1..99 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 - Spool to read.pl ok 91 - Data should have been sent to STDOUT by read.pl ok 92 - Should get error when die.pl dies ok 93 - Error ident should be "io" ok 94 - The error message should be one of the I/O messages ok 95 - The die script STDERR should have passed through ok 96 - Should get an error for a bad command ok 97 - Error ident should be "io" ok 98 - Error message should be about inability to exec ok 99 - no warnings ok 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 t/bundle.t ......... 1..132 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 ok 42 - Should have debugging output ok 43 - Copy sql\deploy\roles.sql to old delete.me\deploy\roles.sql ok 44 - File delete.me\deploy\roles.sql should still be there ok 45 - delete.me\deploy\roles.sql and sql\deploy\roles.sql contents are the same ok 46 - Only copy message should again have been emitted ok 47 - Copy sql\deploy\users.sql to delete.me\deploy\roles.sql ok 48 - File delete.me\deploy\roles.sql should now exist ok 49 - delete.me\deploy\roles.sql and sql\deploy\users.sql contents are the same ok 50 - Again only Copy message should have been emitted ok 51 - Should get exception when source file does not exist ok 52 - Nonexistent file error ident should be "bundle" ok 53 - Nonexistent file error message should be correct ok 54 - Should get exception when copy returns false ok 55 - Copy fail ident should be "bundle" ok 56 - Copy fail error message should be correct ok 57 - _build\sql\sqitch.conf does not exist ok 58 - Bundle the config file ok 59 - _build\sql\sqitch.conf exists ok 60 - _build\sql\sqitch.conf and sqitch.conf contents are the same ok 61 - Should have config notice ok 62 - _build\sql\pg\sqitch.plan does not exist ok 63 - Bundle the plan file ok 64 - _build\sql\pg\sqitch.plan exists ok 65 - _build\sql\pg\sqitch.plan and pg\sqitch.plan contents are the same ok 66 - Should have plan notice ok 67 - --from bundle command isa App::Sqitch::Command::bundle ok 68 - From should be "widgets" ok 69 - Bundle the plan file with --from ok 70 - Statement of the bits written should have been emitted ok 71 - Plan should have written only "widgets" ok 72 - --to bundle command isa App::Sqitch::Command::bundle ok 73 - To should be "users" ok 74 - Bundle the plan file with --to ok 75 - Statement of the bits written should have been emitted ok 76 - Plan should have written only "users" and its tags ok 77 - _build\sql\pg\deploy\users.sql does not exist ok 78 - _build\sql\pg\revert\users.sql does not exist ok 79 - _build\sql\pg\deploy\widgets.sql does not exist ok 80 - _build\sql\pg\revert\widgets.sql does not exist ok 81 - _build\sql\pg\deploy\func\add_user.sql does not exist ok 82 - _build\sql\pg\revert\func\add_user.sql does not exist ok 83 - Load pg sqitch object ok 84 - another bundle command isa App::Sqitch::Command::bundle ok 85 - Bundle scripts ok 86 - _build\sql\pg\deploy\users.sql exists ok 87 - _build\sql\pg\revert\users.sql exists ok 88 - _build\sql\pg\deploy\widgets.sql exists ok 89 - _build\sql\pg\revert\widgets.sql exists ok 90 - _build\sql\pg\deploy\func\add_user.sql exists ok 91 - _build\sql\pg\revert\func\add_user.sql exists ok 92 - Should have change notices ok 93 - bundle from "widgets" isa App::Sqitch::Command::bundle ok 94 - Bundle scripts ok 95 - _build\sql\pg\deploy\users.sql does not exist ok 96 - _build\sql\pg\revert\users.sql does not exist ok 97 - _build\sql\pg\deploy\widgets.sql exists ok 98 - _build\sql\pg\revert\widgets.sql exists ok 99 - Should have only "widets" in change notices ok 100 - bundle to "users" isa App::Sqitch::Command::bundle ok 101 - Bundle scripts ok 102 - _build\sql\pg\deploy\users.sql exists ok 103 - _build\sql\pg\revert\users.sql exists ok 104 - _build\sql\pg\deploy\widgets.sql does not exist ok 105 - _build\sql\pg\revert\widgets.sql does not exist ok 106 - Should have only "users" in change notices ok 107 - Should die on nonexistent from change ok 108 - Nonexistent from change ident should be "bundle" ok 109 - Nonexistent from message change should be correct ok 110 - Should die on nonexistent to change ok 111 - Nonexistent to change ident should be "bundle" ok 112 - Nonexistent to message change should be correct ok 113 - _build\sql\sqitch.conf does not exist ok 114 - _build\sql\pg\sqitch.plan does not exist ok 115 - _build\sql\pg\deploy\users.sql does not exist ok 116 - _build\sql\pg\revert\users.sql does not exist ok 117 - _build\sql\pg\deploy\widgets.sql does not exist ok 118 - _build\sql\pg\revert\widgets.sql does not exist ok 119 - _build\sql\pg\deploy\func\add_user.sql does not exist ok 120 - _build\sql\pg\revert\func\add_user.sql does not exist ok 121 - another bundle command isa App::Sqitch::Command::bundle ok 122 - Execute! ok 123 - _build\sql\sqitch.conf exists ok 124 - _build\sql\pg\sqitch.plan exists ok 125 - _build\sql\pg\deploy\users.sql exists ok 126 - _build\sql\pg\revert\users.sql exists ok 127 - _build\sql\pg\deploy\widgets.sql exists ok 128 - _build\sql\pg\revert\widgets.sql exists ok 129 - _build\sql\pg\deploy\func\add_user.sql exists ok 130 - _build\sql\pg\revert\func\add_user.sql exists ok 131 - Should have all notices ok 132 - no warnings ok 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 - path_segments 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 - path_segments 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 - path_segments should include 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 # Failed test 'no warnings' # at C:\cpanfly-5.16\var\megalib/Test/NoWarnings.pm line 45. # There were 1 warning(s) # Previous test 54 'Should call _pod2usage on no options parse failure' # overload arg '..' is invalid at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153. # at C:/Perl-5.16/lib/overload.pm line 41. # overload::OVERLOAD('Math::BigInt', '=', 'CODE(0x279c224)', '+=', 'CODE(0x279c2e4)', '-=', 'CODE(0x279c3a4)', '*=', 'CODE(0x279c574)', ...) called at C:/Perl-5.16/lib/overload.pm line 59 # overload::import('overload', '=', 'CODE(0x279c224)', '+=', 'CODE(0x279c2e4)', '-=', 'CODE(0x279c3a4)', '*=', 'CODE(0x279c574)', ...) called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # Math::BigInt::BEGIN() called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # eval {...} called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # require Math/BigInt.pm called at C:\cpanfly-5.16\var\megalib/Win32API/File.pm line 23 # Win32API::File::BEGIN() called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # eval {...} called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # require Win32API/File.pm called at C:\cpanfly-5.16\var\megalib/File/Spec/Win32.pm line 92 # eval {...} called at C:\cpanfly-5.16\var\megalib/File/Spec/Win32.pm line 92 # File::Spec::Win32::case_tolerant('File::Spec') called at C:\cpanfly-5.16\var\megalib/Pod/Find.pm line 481 # Pod::Find::pod_where('HASH(0x2561b14)', 'command.t-') called at C:\cpanfly-5.16\var\cpan\build\App-Sqitch-0.938-PNTiYK\blib\lib/App/Sqitch/Command.pm line 128 # App::Sqitch::Command::__ANON__('command.t-') called at C:\cpanfly-5.16\var\cpan\build\App-Sqitch-0.938-PNTiYK\blib\lib/App/Sqitch/Command.pm line 130 # App::Sqitch::Command::_pod2usage('App::Sqitch::Command=HASH(0x26d54fc)') called at t/command.t line 232 # # Looks like you failed 1 test of 85. 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 not ok 85 - no warnings Dubious, test returned 1 (wstat 256, 0x100) Failed 1/85 subtests 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 t/datetime.t ....... 1..33 ok 1 - require App::Sqitch::DateTime; ok 2 - Construct a datetime object ok 3 - as_string_formats should be correct ok 4 - Date format "full" should yield "Saturday, October 13, 2012 3:19:39 AM America/Los_Angeles" ok 5 - Format "full" should be valid ok 6 - Date format "long" should yield "October 13, 2012 3:19:39 AM PDT" ok 7 - Format "long" should be valid ok 8 - Date format "medium" should yield "Oct 13, 2012 3:19:39 AM" ok 9 - Format "medium" should be valid ok 10 - Date format "short" should yield "10/13/12 3:19 AM" ok 11 - Format "short" should be valid ok 12 - Date format "raw" should yield "2012-10-13T10:19:39Z" ok 13 - Format "raw" should be valid ok 14 - Date format "" should yield "2012-10-13T10:19:39Z" ok 15 - Date format "iso" should yield "2012-10-13 03:19:39 -0700" ok 16 - Format "iso" should be valid ok 17 - Date format "iso8601" should yield "2012-10-13 03:19:39 -0700" ok 18 - Format "iso8601" should be valid ok 19 - Date format "rfc" should yield "Sat, 13 Oct 2012 03:19:39 -0700" ok 20 - Format "rfc" should be valid ok 21 - Date format "rfc2822" should yield "Sat, 13 Oct 2012 03:19:39 -0700" ok 22 - Format "rfc2822" should be valid ok 23 - Date format "cldr:HH'h' mm'm'" should yield "03h 19m" ok 24 - Format "cldr:HH'h' mm'm'" should be valid ok 25 - Date format "strftime:%a at %H:%M:%S" should yield "Sat at 03:19:39" ok 26 - Format "strftime:%a at %H:%M:%S" should be valid ok 27 - Should get error for invalid date format ok 28 - Invalid date format error ident should be "datetime" ok 29 - Invalid date format error message should be correct ok 30 - Should get error for invalid as_string format param ok 31 - Invalid date format error ident should be "datetime" ok 32 - Invalid date format error message should be correct ok 33 - no warnings ok t/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 - Options should be correct ok 5 - Should have default configuration with no config or opts ok 6 - Should have mode and set options ok 7 - Should have mode configuration ok 8 - Should have merged variables ok 9 - The object isa App::Sqitch::Command::deploy ok 10 - Should pick up variables from configuration ok 11 - The object isa App::Sqitch::Command::deploy ok 12 - to_target should be undef ok 13 - mode should be "all" ok 14 - Execute to "@alpha" ok 15 - "@alpha" and "all" should be passed to the engine ok 16 - Execute ok 17 - undef and "all" should be passed to the engine ok 18 - Object with to, mode, and variables isa App::Sqitch::Command::deploy ok 19 - Execute again ok 20 - "foo" and "tag" should be passed to the engine ok 21 - Vars should have been passed through to the engine ok 22 - "all" should be a valid mode ok 23 - "tag" should be a valid mode ok 24 - "change" should be a valid mode ok 25 - "foo" should not be a valid mode ok 26 - "bad" should not be a valid mode ok 27 - "gar" should not be a valid mode 1..27 ok t/engine.t ......... 1..255 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 - App::Sqitch::Engine->can(...) ok 29 - Should have no variables ok 30 - Add a variable ok 31 - Should have the variable ok 32 - Set more variables ok 33 - Should have all of the variables ok 34 - Should again have no variables ok 35 - Create a App::Sqitch::Engine object again ok 36 - Should get an unimplemented exception from initialized() ok 37 - Should get an unimplemented exception from initialize() ok 38 - Should get an unimplemented exception from register_project() ok 39 - Should get an unimplemented exception from run_file() ok 40 - Should get an unimplemented exception from run_handle() ok 41 - Should get an unimplemented exception from log_deploy_change() ok 42 - Should get an unimplemented exception from log_fail_change() ok 43 - Should get an unimplemented exception from log_revert_change() ok 44 - Should get an unimplemented exception from is_deployed_tag() ok 45 - Should get an unimplemented exception from is_deployed_change() ok 46 - Should get an unimplemented exception from change_id_for_depend() ok 47 - Should get an unimplemented exception from changes_requiring_change() ok 48 - Should get an unimplemented exception from earliest_change_id() ok 49 - Should get an unimplemented exception from latest_change_id() ok 50 - Should get an unimplemented exception from deployed_change_ids() ok 51 - Should get an unimplemented exception from deployed_change_ids_since() ok 52 - Should get an unimplemented exception from name_for_change_id() ok 53 - Should get an unimplemented exception from current_state() ok 54 - Should get an unimplemented exception from current_changes() ok 55 - Should get an unimplemented exception from current_tags() ok 56 - Should get an unimplemented exception from search_events() ok 57 - Should get an unimplemented exception from registered_projects() ok 58 - Create a subclass name object again ok 59 - App::Sqitch::Engine::whu->can(...) ok 60 - Deploy a change ok 61 - deploy_change should have called the proper methods ok 62 - Output should reflect the deployment ok 63 - Deploy change with error ok 64 - Error should be from run_file ok 65 - Should have logged change failure ok 66 - Output should reflect the deployment, even with failure ok 67 - Revert a change ok 68 - revert_change should have called the proper methods ok 69 - Output should reflect reversion ok 70 - Engine with sqitch with plan file ok 71 - Should get proper change from latest_change() ok 72 - Latest change ID should have been called with no arg ok 73 - Should again get proper change from latest_change() ok 74 - Latest change ID should have been called with offset arg ok 75 - Should get proper change from earliest_change() ok 76 - Earliest change ID should have been called with no arg ok 77 - Should again get proper change from earliest_change() ok 78 - Earliest change ID should have been called with offset arg ok 79 - App::Sqitch::Engine->can('_sync_plan') ok 80 - Plan should start at position -1 ok 81 - start_at should be undef ok 82 - Sync the plan ok 83 - Plan should still be at position -1 ok 84 - start_at should still be undef ok 85 - Sync the plan again ok 86 - Plan should again be at position -1 ok 87 - start_at should again be undef ok 88 - Sync the plan to a tag ok 89 - Plan should now be at position 1 ok 90 - start_at should now be users@alpha ok 91 - App::Sqitch::Engine->can('deploy') ok 92 - Deploy to @alpha ok 93 - Plan should be at position 1 ok 94 - Should have deployed through @alpha ok 95 - Should have called _deploy_all() ok 96 - Should have seen the output of the deploy to @alpha ok 97 - Deploy to @alpha with tag mode ok 98 - Plan should again be at position 1 ok 99 - Should have deployed through @alpha without initialization ok 100 - Should have called _deploy_by_tag() ok 101 - Should have seen the output of the deploy to @alpha ok 102 - Should get an error for an unknown target ok 103 - The exception should report the unknown target ok 104 - Only latest_item() should have been called ok 105 - Deploy to alpha thrice ok 106 - Only latest_item() should have been called ok 107 - Should notify user that already at @alpha ok 108 - Should fail targeting older change ok 109 - Should be a "deploy" error ok 110 - It should suggest using "revert" ok 111 - Should have called latest_item() and latest_tag() ok 112 - Deploy everything by change ok 113 - Plan should be at position 3 ok 114 - Should have deployed everything ok 115 - Should have called _deploy_by_change() ok 116 - Should have seen the output of the deploy to the end ok 117 - Should catch exception for attempt to deploy to up-to-date DB ok 118 - Should be a "deploy" error ok 119 - And the message should reflect up-to-dateness ok 120 - It should have just fetched the latest change ID ok 121 - Should fail on invalid mode ok 122 - Should be a "deploy" error ok 123 - And the message should reflect the unknown mode ok 124 - It should have check for initialization ok 125 - Should have announced destination ok 126 - Engine with sqitch with no file ok 127 - Should die with no changes ok 128 - Should have the localized message ok 129 - It should have checked for the latest item ok 130 - Deploy changewise to index 1 ok 131 - Should changewise deploy to index 2 ok 132 - Should have seen output of each change ok 133 - Deploy changewise to index 2 ok 134 - Should changewise deploy to from index 2 to index 3 ok 135 - Should have seen output of changes 2-3 ok 136 - Die in _deploy_by_change ok 137 - It should have died in run_file ok 138 - It should have logged the failure ok 139 - Should have seen output for first change ok 140 - Deploy tagwise to index 1 ok 141 - Should tagwise deploy to index 1 ok 142 - Should have seen output of each change ok 143 - Deploy tagwise to index 3 ok 144 - Should tagwise deploy from index 2 to index 3 ok 145 - Should have seen output of changes 3-3 ok 146 - Die in log_deploy_change ok 147 - Should get final deploy failure message ok 148 - It should have reverted back to the last deployed tag ok 149 - Should have seen deploy and revert messages ok 150 - The original error should have been vented ok 151 - Die in _deploy_by_tag again ok 152 - Should again get final deploy failure message ok 153 - Should have logged back to the beginning ok 154 - Should have seen deploy and revert messages ok 155 - Should have one vented message ok 156 - And it should be the underlying error ok 157 - And it should had notified that all changes were reverted ok 158 - Die in _deploy_by_tag yet again ok 159 - Should die "Deploy failed" again ok 160 - Should have reverted back to last tag ok 161 - Should have user change reversion messages ok 162 - Should see underlying error and reversion message ok 163 - Die in _deploy_by_tag again ok 164 - Should once again get final deploy failure message ok 165 - Should have tried to revert one change ok 166 - Should have seen revert message ok 167 - Should get reversion failure message ok 168 - Deploy all to index 1 ok 169 - Should tagwise deploy to index 1 ok 170 - Should have seen output of each change ok 171 - Deploy tagwise to index 2 ok 172 - Should tagwise deploy to from index 1 to index 2 ok 173 - Should have seen output of changes 3-4 ok 174 - Die in _deploy_all ok 175 - Should get final deploy failure message ok 176 - It should have logged up to the failure ok 177 - Should have seen deploy and revert messages ok 178 - The original error should have been vented ok 179 - Die in _deploy_all again ok 180 - Should again get final deploy failure message ok 181 - Should have reveted all changes and tags ok 182 - Should see all changes revert ok 183 - Should notifiy user of error and rollback ok 184 - Die in _deploy_all on the last change ok 185 - Should once again get final deploy failure message ok 186 - Should have deployed to dr_evil and revered down to @alpha ok 187 - Should see changes revert back to @alpha ok 188 - Should notifiy user of error and rollback to @alpha ok 189 - Test is_deployed(tag) ok 190 - It should have called is_deployed_tag() ok 191 - Test is_deployed(change) ok 192 - It should have called is_deployed_change() ok 193 - App::Sqitch::Engine::whu->can('deploy_change') ok 194 - Deploy a change ok 195 - It should have been deployed ok 196 - Should have shown change name ok 197 - Conflict should throw exception ok 198 - Should be a "deploy" error ok 199 - Should have localized message about conflicts ok 200 - No other methods should have been called ok 201 - Should again have shown change name ok 202 - Conflicting dependencies should have no resolved IDs ok 203 - Missing dependencies should throw exception ok 204 - Should be another "deploy" error ok 205 - Should have localized message missing dependencies ok 206 - Should have called check_requires ok 207 - Should again have shown change name ok 208 - Missing requirements should not have resolved ok 209 - Shuld die on deploy failure ok 210 - Should be the underlying error ok 211 - It should failed to have been deployed ok 212 - Should have shown change name ok 213 - Non-conflicting dependency should not have resolved ok 214 - Satisffied requirements should have resolved ok 215 - App::Sqitch::Engine::whu->can('revert_change') ok 216 - Revert the change ok 217 - It should have been reverted ok 218 - Should have shown reverted change name ok 219 - Should get error reverting change others depend on ok 220 - Dependent error ident should be "revert" ok 221 - Dependent error message should be correct ok 222 - It should have check for requiring changes ok 223 - Should have shown attempted revert change name ok 224 - App::Sqitch::Engine::whu->can('revert') ok 225 - Should get exception for no changes to revert ok 226 - Should be a revert exception ok 227 - Should have notified that there is nothing to revert ok 228 - Exit val should be 1 ok 229 - It should only have called deployed_change_ids() ok 230 - Nothing should have been output ok 231 - Revert should die on unknown change ok 232 - Should be another "revert" error ok 233 - The message should mention it is an unknown target ok 234 - No other methods should have been called ok 235 - Nothing should have been output ok 236 - Revert should die on undeployed change ok 237 - Should be another "revert" error ok 238 - The message should mention that the target is not deployed ok 239 - Should have called deployed_change_ids_since ok 240 - Nothing should have been output ok 241 - Revert should die on unknown change ID ok 242 - Should be yet another "revert" error ok 243 - The message should mention the unknown ID ok 244 - Should have called deployed_change_ids_since ok 245 - Output should have said it was reverting all changes ok 246 - Revert all changes ok 247 - Should have reverted the changes in reverse order ok 248 - It should have said it was reverting all changes and listed them ok 249 - Revert to @alpha ok 250 - Should have reverted only changes after @alpha ok 251 - Output should show what it reverts to ok 252 - Revert by name rather than ID ok 253 - Should have reverted only @alpha ok 254 - Output should show reverting all, though really only once, thanks to mocking ok 255 - no warnings ok # Failed test 'no warnings' # at C:\cpanfly-5.16\var\megalib/Test/NoWarnings.pm line 45. # There were 1 warning(s) # Previous test 2 'Load help command isa App::Sqitch::Command::help' # overload arg '..' is invalid at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153. # at C:/Perl-5.16/lib/overload.pm line 41. # overload::OVERLOAD('Math::BigInt', '=', 'CODE(0x24cc674)', '+=', 'CODE(0x24cc734)', '-=', 'CODE(0x24cc7f4)', '*=', 'CODE(0x24cc9c4)', ...) called at C:/Perl-5.16/lib/overload.pm line 59 # overload::import('overload', '=', 'CODE(0x24cc674)', '+=', 'CODE(0x24cc734)', '-=', 'CODE(0x24cc7f4)', '*=', 'CODE(0x24cc9c4)', ...) called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # Math::BigInt::BEGIN() called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # eval {...} called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # require Math/BigInt.pm called at C:\cpanfly-5.16\var\megalib/Win32API/File.pm line 23 # Win32API::File::BEGIN() called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # eval {...} called at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153 # require Win32API/File.pm called at C:\cpanfly-5.16\var\megalib/File/Spec/Win32.pm line 92 # eval {...} called at C:\cpanfly-5.16\var\megalib/File/Spec/Win32.pm line 92 # File::Spec::Win32::case_tolerant('File::Spec') called at C:\cpanfly-5.16\var\megalib/Pod/Find.pm line 481 # Pod::Find::pod_where('HASH(0x24a9eec)', 'sqitchcommands') called at C:\cpanfly-5.16\var\cpan\build\App-Sqitch-0.938-PNTiYK\blib\lib/App/Sqitch/Command/help.pm line 25 # App::Sqitch::Command::help::find_and_show('App::Sqitch::Command::help=HASH(0x249f7f4)', 'sqitchcommands') called at C:\cpanfly-5.16\var\cpan\build\App-Sqitch-0.938-PNTiYK\blib\lib/App/Sqitch/Command/help.pm line 19 # App::Sqitch::Command::help::execute('App::Sqitch::Command::help=HASH(0x249f7f4)') called at t/help.t line 30 # # Looks like you failed 1 test of 11. 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 not ok 11 - no warnings Dubious, test returned 1 (wstat 256, 0x100) Failed 1/11 subtests 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 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 - Format "full" and date format "long" should output correctly ok 46 - Instantiate with format "full" and date format "medium" ok 47 - Format "full" and date format "medium" should output correctly ok 48 - Format "full" should output correctly without tags ok 49 - Instantiate with format "long" ok 50 - Format "long" should output correctly ok 51 - Format "long" should output correctly without tags ok 52 - Instantiate with format "medium" ok 53 - Format "medium" should output correctly ok 54 - Instantiate with format "medium" and date format "rfc" ok 55 - Format "medium" and date format "rfc" should output correctly ok 56 - Instantiate with format "medium" and date format "long" ok 57 - Format "medium" and date format "long" should output correctly ok 58 - Instantiate with format "medium" and date format "medium" ok 59 - Format "medium" and date format "medium" should output correctly ok 60 - Instantiate with format "short" ok 61 - Format "short" should output correctly ok 62 - Instantiate with format "oneline" ok 63 - Format "oneline" should output correctly ok 64 - Format "%e" should output "deploy" ok 65 - Format "%e" should output "revert" ok 66 - Format "%e" should output "fail" ok 67 - Format "%L" should output "Deploy" ok 68 - Format "%L" should output "Revert" ok 69 - Format "%L" should output "Fail" ok 70 - Format "%l" should output "deploy" ok 71 - Format "%l" should output "revert" ok 72 - Format "%l" should output "fail" ok 73 - Format "%{event}_" should output "Event: " ok 74 - Format "%{change}_" should output "Change: " ok 75 - Format "%{committer}_" should output "Committer:" ok 76 - Format "%{planner}_" should output "Planner: " ok 77 - Format "%{by}_" should output "By: " ok 78 - Format "%{date}_" should output "Date: " ok 79 - Format "%{committed}_" should output "Committed:" ok 80 - Format "%{planned}_" should output "Planned: " ok 81 - Format "%{name}_" should output "Name: " ok 82 - Format "%{email}_" should output "Email: " ok 83 - Format "%{requires}_" should output "Requires: " ok 84 - Format "%{conflicts}_" should output "Conflicts:" ok 85 - Format "%H" should output "123456789" ok 86 - Format "%h" should output "123456789" ok 87 - Format "%{5}h" should output "12345" ok 88 - Format "%{7}h" should output "1234567" ok 89 - Format "%n" should output "foo" ok 90 - Format "%n" should output "bar" ok 91 - Format "%o" should output "foo" ok 92 - Format "%o" should output "bar" ok 93 - Format "%c" should output "larry " ok 94 - Format "%{n}c" should output "damian" ok 95 - Format "%{name}c" should output "chip" ok 96 - Format "%{e}c" should output "larry@example.com" ok 97 - Format "%{email}c" should output "damian@example.com" ok 98 - Format "%{date}c" should output "2012-10-13 03:19:54 -0700" ok 99 - Format "%{date:rfc}c" should output "Sat, 13 Oct 2012 03:19:54 -0700" ok 100 - Format "%{d:long}c" should output "October 13, 2012 3:19:54 AM PDT" ok 101 - Format "%{d:cldr:HH'h' mm'm'}c" should output "03h 19m" ok 102 - Format "%{d:strftime:%a at %H:%M:%S}c" should output "Sat at 03:19:54" ok 103 - Format "%p" should output "larry " ok 104 - Format "%{n}p" should output "damian" ok 105 - Format "%{name}p" should output "chip" ok 106 - Format "%{e}p" should output "larry@example.com" ok 107 - Format "%{email}p" should output "damian@example.com" ok 108 - Format "%{date}p" should output "2012-10-12 03:19:54 -0700" ok 109 - Format "%{date:rfc}p" should output "Fri, 12 Oct 2012 03:19:54 -0700" ok 110 - Format "%{d:long}p" should output "October 12, 2012 3:19:54 AM PDT" ok 111 - Format "%{d:cldr:HH'h' mm'm'}p" should output "03h 19m" ok 112 - Format "%{d:strftime:%a at %H:%M:%S}p" should output "Fri at 03:19:54" ok 113 - Format "%t" should output "" ok 114 - Format "%t" should output " @foo" ok 115 - Format "%t" should output " @foo, @bar" ok 116 - Format "%{|}t" should output "" ok 117 - Format "%{|}t" should output " @foo" ok 118 - Format "%{|}t" should output " @foo|@bar" ok 119 - Format "%T" should output "" ok 120 - Format "%T" should output " (@foo)" ok 121 - Format "%T" should output " (@foo, @bar)" ok 122 - Format "%{|}T" should output "" ok 123 - Format "%{|}T" should output " (@foo)" ok 124 - Format "%{|}T" should output " (@foo|@bar)" ok 125 - Format "%r" should output "" ok 126 - Format "%r" should output " foo" ok 127 - Format "%r" should output " foo, bar" ok 128 - Format "%{|}r" should output "" ok 129 - Format "%{|}r" should output " foo" ok 130 - Format "%{|}r" should output " foo|bar" ok 131 - Format "%R" should output "" ok 132 - Format "%R" should output "Requires: foo[newline]" ok 133 - Format "%R" should output "Requires: foo, bar[newline]" ok 134 - Format "%{|}R" should output "" ok 135 - Format "%{|}R" should output "Requires: foo[newline]" ok 136 - Format "%{|}R" should output "Requires: foo|bar[newline]" ok 137 - Format "%x" should output "" ok 138 - Format "%x" should output " foo" ok 139 - Format "%x" should output " foo, bax" ok 140 - Format "%{|}x" should output "" ok 141 - Format "%{|}x" should output " foo" ok 142 - Format "%{|}x" should output " foo|bax" ok 143 - Format "%X" should output "" ok 144 - Format "%X" should output "Conflicts: foo[newline]" ok 145 - Format "%X" should output "Conflicts: foo, bar[newline]" ok 146 - Format "%{|}X" should output "" ok 147 - Format "%{|}X" should output "Conflicts: foo[newline]" ok 148 - Format "%{|}X" should output "Conflicts: foo|bar[newline]" ok 149 - Format "%{yellow}C" should output "" ok 150 - Format "%{:event}C" should output "" ok 151 - Format "%v" should output "[newline]" ok 152 - Format "%%" should output "%" ok 153 - Format "%s" should output "hi there" ok 154 - Format "%s" should output "hi there" ok 155 - Format "%s" should output "subject line" ok 156 - Format "%{ }s" should output " hi there" ok 157 - Format "%{xx}s" should output "xxhi there" ok 158 - Format "%b" should output "" ok 159 - Format "%b" should output "yo" ok 160 - Format "%b" should output "first graph[newline][newline]second graph[newline][newline]" ok 161 - Format "%{ }b" should output "" ok 162 - Format "%{xxx }b" should output "xxx yo" ok 163 - Format "%{x}b" should output "xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" ok 164 - Format "%{ }b" should output " yo" ok 165 - Format "%B" should output "hi there" ok 166 - Format "%B" should output "hi there[newline]yo" ok 167 - Format "%B" should output "subject line[newline][newline]first graph[newline][newline]second graph[newline][newline]" ok 168 - Format "%{ }B" should output " hi there" ok 169 - Format "%{xxx }B" should output "xxx hi there[newline]xxx yo" ok 170 - Format "%{x}B" should output "xsubject line[newline]x[newline]xfirst graph[newline]x[newline]xsecond graph[newline]x[newline]" ok 171 - Format "%{ }B" should output " hi there [newline] yo" ok 172 - Format "%{change}a" should output "change lolz[newline]" ok 173 - Format "%{change_id}a" should output "change_id 000011112222333444[newline]" ok 174 - Format "%{event}a" should output "event deploy[newline]" ok 175 - Format "%{tags}a" should output "tags @beta, @gamma[newline]" ok 176 - Format "%{requires}a" should output "requires foo, bar[newline]" ok 177 - Format "%{conflicts}a" should output "" ok 178 - Format "%{committer_name}a" should output "committer_name larry[newline]" ok 179 - Format "%{committed_at}a" should output "committed_at 2012-10-13T10:19:54Z[newline]" ok 180 - Should get exception for format "%_" ok 181 - %_ error ident should be "log" ok 182 - %_ error message should be correct ok 183 - Should get exception for unknown label in format "%_" ok 184 - Invalid %_ label error ident should be "log" ok 185 - Invalid %_ label error message should be correct ok 186 - Instantiate with abbrev => 4 ok 187 - %h should respect abbrev ok 188 - %H should not respect abbrev ok 189 - Instantiate with date_format => "rfc" ok 190 - %{date}c should respect the date_format attribute ok 191 - %{iso}c should override the date_format attribute ok 192 - Should get exception for unknown attribute passed to %a ok 193 - %a error ident should be "log" ok 194 - %a error message should be correct ok 195 - Format "%{yellow}C" should output yellow ok 196 - Format "%{red}C" should output red ok 197 - Format "%{blue}C" should output blue ok 198 - Format "%{cyan}C" should output cyan ok 199 - Format "%{magenta}C" should output magenta ok 200 - Format "%{:event}C" on "deploy" should output green ok 201 - Format "%{:event}C" on "revert" should output blue ok 202 - Format "%{:event}C" on "fail" should output red ok 203 - Instantiate with format "full" again ok 204 - Format "full" should output correctly with color ok 205 - Instantiate with format "long" again ok 206 - Format "long" should output correctly with color ok 207 - Instantiate with format "medium" again ok 208 - Format "medium" should output correctly with color ok 209 - Instantiate with format "short" again ok 210 - Format "short" should output correctly with color ok 211 - Instantiate with format "oneline" again ok 212 - Format "oneline" should output correctly with color ok 213 - Should get an error for an invalid color ok 214 - Invalid color error ident should be "log" ok 215 - Invalid color error message should be correct ok 216 - Should get exception for unititialied db ok 217 - Uninit db error ident should be "log" ok 218 - Uninit db exit val should be 1 ok 219 - Uninit db error message should be correct ok 220 - Should get error for empty event table ok 221 - no events error ident should be "log" ok 222 - no events exit val should be 1 ok 223 - no events error message should be correct ok 224 - Search should have been limited to one row ok 225 - Execute log ok 226 - The proper args should have been passed to search_events ok 227 - The change should have been paged ok 228 - log with attributes isa App::Sqitch::Command::log ok 229 - Execute log with attributes ok 230 - All params should have been passed to search_events ok 231 - Both changes should have been paged ok 232 - log with bad format isa App::Sqitch::Command::log ok 233 - Should get an exception for a bad format code ok 234 - bad format code format error ident should be "log" ok 235 - bad format code format error message should be correct ok 236 - no warnings 1..236 ok overload arg '..' is invalid at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153. 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 - The object isa App::Sqitch::Engine::pg ok 14 - Set some variables ok 15 - Variables should be passed to psql via --set ok 16 - Destination should read $PGDATABASE ok 17 - Destination should read $PGUSER ok 18 - Destination should fall back on sysuser ok 19 - Destination should read username ok 20 - Destination should prefer $PGDATABASE to username ok 21 - Create another pg ok 22 - client should be as configured ok 23 - username should be as configured ok 24 - password should be as configured ok 25 - db_name should be as configured ok 26 - destination should default to db_name ok 27 - host should be as configured ok 28 - port should be as configured ok 29 - sqitch_schema should be as configured ok 30 - psql command should be configured ok 31 - Create a pg with sqitch with options ok 32 - client should be as optioned ok 33 - username should be as optioned ok 34 - password should still be as configured ok 35 - db_name should be as optioned ok 36 - destination should still default to db_name ok 37 - host should be as optioned ok 38 - port should be as optioned ok 39 - sqitch_schema should still be as configured ok 40 - psql command should be as optioned ok 41 - App::Sqitch::Engine::pg->can(...) ok 42 - PGPASSWORD should be "s3cr3t" ok 43 - Call _run ok 44 - Command should be passed to run() ok 45 - PGPASSWORD should be "s3cr3t" ok 46 - Call _spool ok 47 - Command should be passed to spool() ok 48 - Create a pg with sqitch with no pw ok 49 - PGPASSWORD should not exist ok 50 - Call _run again ok 51 - Command should be passed to run() again ok 52 - PGPASSWORD should not exist ok 53 - Call _spool again ok 54 - Command should be passed to spool() again ok 55 - PGPASSWORD should not exist ok 56 - Run foo/bar.sql ok 57 - File should be passed to run() ok 58 - PGPASSWORD should not exist ok 59 - Spool a "file handle" ok 60 - Handle should be passed to spool() ok 61 - App::Sqitch::Engine::pg->can('_ts2char') ok 62 - _ts2char should work ok 63 - App::Sqitch::Engine::pg->can('_dt') ok 64 - Return value of _dt() isa App::Sqitch::DateTime ok 65 - DateTime year should be set ok 66 - DateTime month should be set ok 67 - DateTime day should be set ok 68 - DateTime hour should be set ok 69 - DateTime minute should be set ok 70 - DateTime second should be set ok 71 - DateTime TZ should be set ok 72 - 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 73 # 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..73 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 overload arg '..' is invalid at C:\cpanfly-5.16\var\megalib/Math/BigInt.pm line 153. 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 - Options should be correct ok 5 - Should have empty default configuration with no config or opts ok 6 - Should have set option ok 7 - Should have mode configuration ok 8 - Should have merged variables ok 9 - Should have merged --set, deploy, revert ok 10 - The object isa App::Sqitch::Command::revert ok 11 - Should pick up variables from configuration ok 12 - The object isa App::Sqitch::Command::revert ok 13 - to_target should be undef ok 14 - Execute to "@alpha" ok 15 - "@alpha" and "all" should be passed to the engine ok 16 - Execute ok 17 - undef and "all" should be passed to the engine ok 18 - No vars should have been passed through to the engine ok 19 - Object with to and variables isa App::Sqitch::Command::revert ok 20 - Execute again ok 21 - "foo" and "tag" should be passed to the engine ok 22 - Vars should have been passed through to the engine 1..22 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/command.t (Wstat: 256 Tests: 85 Failed: 1) Failed test: 85 Non-zero exit status: 1 t/help.t (Wstat: 256 Tests: 11 Failed: 1) Failed test: 11 Non-zero exit status: 1 Files=30, Tests=3374, 75 wallclock secs ( 0.36 usr + 0.08 sys = 0.44 CPU) Result: FAIL Failed 2/30 test programs. 2/3374 subtests failed. DWHEELER/App-Sqitch-0.938.tar.gz C:\Perl-5.16\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.938.tar.gz Finished 2012-10-13T03:20:26