PATH=/usr/bin:/bin:/Users/fly2000/cpanfly-5.20/var/megalib/bin
Start 2016-12-30T10:11:59
ActivePerl-2000 CPAN-2.10
Reading '/Users/fly2000/cpanfly-5.20/var/cpan/Metadata'
Database was generated on Fri, 30 Dec 2016 06:41:03 GMT
Fetching with LWP:
http://ppm.activestate.com/CPAN/authors/id/P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.68.tar.gz
Fetching with LWP:
http://ppm.activestate.com/CPAN/authors/id/P/PE/PERLANCAR/CHECKSUMS
Checksum for /Users/fly2000/cpanfly-5.20/var/cpan/sources/authors/id/P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.68.tar.gz ok
Perinci-CmdLine-Lite-1.68/
Perinci-CmdLine-Lite-1.68/README
Perinci-CmdLine-Lite-1.68/lib/
Perinci-CmdLine-Lite-1.68/lib/Perinci/
Perinci-CmdLine-Lite-1.68/lib/Perinci/CmdLine/
Perinci-CmdLine-Lite-1.68/lib/Perinci/CmdLine/Lite.pm
Perinci-CmdLine-Lite-1.68/lib/Perinci/CmdLine/Base.pm
Perinci-CmdLine-Lite-1.68/lib/Perinci/CmdLine/Util/
Perinci-CmdLine-Lite-1.68/lib/Perinci/CmdLine/Util/Config.pm
Perinci-CmdLine-Lite-1.68/Makefile.PL
Perinci-CmdLine-Lite-1.68/Changes.new
Perinci-CmdLine-Lite-1.68/share/
Perinci-CmdLine-Lite-1.68/share/templates/
Perinci-CmdLine-Lite-1.68/share/templates/description.txt
Perinci-CmdLine-Lite-1.68/share/templates/synopsis.txt
Perinci-CmdLine-Lite-1.68/Changes
Perinci-CmdLine-Lite-1.68/dist.ini
Perinci-CmdLine-Lite-1.68/LICENSE
Perinci-CmdLine-Lite-1.68/t/
Perinci-CmdLine-Lite-1.68/t/00-compile.t
Perinci-CmdLine-Lite-1.68/t/suite.t
Perinci-CmdLine-Lite-1.68/t/release-rinci.t
Perinci-CmdLine-Lite-1.68/t/author-pod-syntax.t
Perinci-CmdLine-Lite-1.68/t/author-pod-coverage.t
Perinci-CmdLine-Lite-1.68/weaver.ini
Perinci-CmdLine-Lite-1.68/MANIFEST
Perinci-CmdLine-Lite-1.68/META.json
Perinci-CmdLine-Lite-1.68/META.yml
Perinci-CmdLine-Lite-1.68/devscripts/
Perinci-CmdLine-Lite-1.68/devscripts/bench-startup
Configuring P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.68.tar.gz with Makefile.PL
>>> /Users/fly2000/ap2000-298465/bin/perl-dynamic Makefile.PL
Warning: prerequisite Perinci::Result::Format::Lite 0.22 not found. We have 0.21.
Warning: prerequisite Progress::Any::Output::TermProgressBarColor 0.17 not found. We have 0.10.
Checking if your kit is complete...
Looks good
Have /Users/fly2000/cpanfly-5.20/var/megalib
Want /Users/fly2000/ap2000-298465/lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [darwin-thread-multi-2level]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a Unix-style Makefile
Writing Makefile for Perinci::CmdLine::Lite
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Perinci-CmdLine-Lite-1.68.tar.gz
/Users/fly2000/ap2000-298465/bin/perl-dynamic Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.68.tar.gz
---- Unsatisfied dependencies detected during ----
---- PERLANCAR/Perinci-CmdLine-Lite-1.68.tar.gz ----
Progress::Any::Output::TermProgressBarColor [requires]
Perinci::Result::Format::Lite [requires]
Running test for module 'Progress::Any::Output::TermProgressBarColor'
Checksum for /Users/fly2000/cpanfly-5.20/var/cpan/sources/authors/id/P/PE/PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz ok
Progress-Any-Output-TermProgressBarColor-0.22/
Progress-Any-Output-TermProgressBarColor-0.22/README
Progress-Any-Output-TermProgressBarColor-0.22/lib/
Progress-Any-Output-TermProgressBarColor-0.22/lib/Progress/
Progress-Any-Output-TermProgressBarColor-0.22/lib/Progress/Any/
Progress-Any-Output-TermProgressBarColor-0.22/lib/Progress/Any/Output/
Progress-Any-Output-TermProgressBarColor-0.22/lib/Progress/Any/Output/TermProgressBarColor.pm
Progress-Any-Output-TermProgressBarColor-0.22/Makefile.PL
Progress-Any-Output-TermProgressBarColor-0.22/Changes
Progress-Any-Output-TermProgressBarColor-0.22/dist.ini
Progress-Any-Output-TermProgressBarColor-0.22/LICENSE
Progress-Any-Output-TermProgressBarColor-0.22/t/
Progress-Any-Output-TermProgressBarColor-0.22/t/00-compile.t
Progress-Any-Output-TermProgressBarColor-0.22/t/01-basic.t
Progress-Any-Output-TermProgressBarColor-0.22/t/author-pod-syntax.t
Progress-Any-Output-TermProgressBarColor-0.22/t/author-pod-coverage.t
Progress-Any-Output-TermProgressBarColor-0.22/weaver.ini
Progress-Any-Output-TermProgressBarColor-0.22/MANIFEST
Progress-Any-Output-TermProgressBarColor-0.22/META.json
Progress-Any-Output-TermProgressBarColor-0.22/META.yml
Configuring P/PE/PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz with Makefile.PL
>>> /Users/fly2000/ap2000-298465/bin/perl-dynamic Makefile.PL
Checking if your kit is complete...
Looks good
Have /Users/fly2000/cpanfly-5.20/var/megalib
Want /Users/fly2000/ap2000-298465/lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [darwin-thread-multi-2level]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a Unix-style Makefile
Writing Makefile for Progress::Any::Output::TermProgressBarColor
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz
/Users/fly2000/ap2000-298465/bin/perl-dynamic Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz
>>> make
cp lib/Progress/Any/Output/TermProgressBarColor.pm blib/lib/Progress/Any/Output/TermProgressBarColor.pm
Manifying 1 pod document
PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz
make -- OK
Running make test
>>> make test TEST_VERBOSE=1
PERL_DL_NONLAZY=1 "/Users/fly2000/ap2000-298465/bin/perl-dynamic" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t ...........
1..1
ok 1 - Progress/Any/Output/TermProgressBarColor.pm loaded ok
ok
# Failed test at t/01-basic.t line 18.
# ' 10% []1s left [0m'
# doesn't match '(?^:foo)'
# Looks like you failed 1 test of 2.
# Failed test 'default'
# at t/01-basic.t line 20.
# Failed test at t/01-basic.t line 28.
# 'Use of uninitialized value $cd in numeric ge (>=) at /Users/fly2000/cpanfly-5.20/var/megalib/Color/ANSI/Util.pm line 285.
# Use of uninitialized value $cd in numeric ge (>=) at /Users/fly2000/cpanfly-5.20/var/megalib/Color/ANSI/Util.pm line 287.
# Use of uninitialized value $cd in numeric ge (>=) at /Users/fly2000/cpanfly-5.20/var/megalib/Color/ANSI/Util.pm line 289.
# Use of uninitialized value $cd in numeric ge (>=) at /Users/fly2000/cpanfly-5.20/var/megalib/Color/ANSI/Util.pm line 285.
# Use of uninitialized value $cd in numeric ge (>=) at /Users/fly2000/cpanfly-5.20/var/megalib/Color/ANSI/Util.pm line 287.
# Use of uninitialized value $cd in numeric ge (>=) at /Users/fly2000/cpanfly-5.20/var/megalib/Color/ANSI/Util.pm line 289.
# 20% []1s left [0m'
# doesn't match '(?^:foo)'
# Looks like you failed 1 test of 2.
# Failed test 'fh option'
# at t/01-basic.t line 30.
# Failed test at t/01-basic.t line 41.
# ' 30% []1s left [0m'
# doesn't match '(?^:foo)'
# Looks like you failed 1 test of 2.
# Failed test 'default (wide)'
# at t/01-basic.t line 43.
# Looks like you failed 3 tests of 3.
t/01-basic.t .............
# Subtest: default
not ok 1
ok 2
1..2
not ok 1 - default
# Subtest: fh option
not ok 1
ok 2
1..2
not ok 2 - fh option
# Subtest: default (wide)
not ok 1
ok 2
1..2
not ok 3 - default (wide)
1..3
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/3 subtests
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
Test Summary Report
-------------------
t/01-basic.t (Wstat: 768 Tests: 3 Failed: 3)
Failed tests: 1-3
Non-zero exit status: 3
Files=4, Tests=4, 1 wallclock secs ( 0.03 usr 0.01 sys + 0.27 cusr 0.05 csys = 0.36 CPU)
Result: FAIL
Failed 1/4 test programs. 3/4 subtests failed.
make: *** [test_dynamic] Error 255
PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz
make test TEST_VERBOSE=1 -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
reports PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz
Running test for module 'Perinci::Result::Format::Lite'
Fetching with LWP:
http://ppm.activestate.com/CPAN/authors/id/P/PE/PERLANCAR/Perinci-Result-Format-Lite-0.22.tar.gz
Checksum for /Users/fly2000/cpanfly-5.20/var/cpan/sources/authors/id/P/PE/PERLANCAR/Perinci-Result-Format-Lite-0.22.tar.gz ok
Perinci-Result-Format-Lite-0.22/
Perinci-Result-Format-Lite-0.22/README
Perinci-Result-Format-Lite-0.22/lib/
Perinci-Result-Format-Lite-0.22/lib/Perinci/
Perinci-Result-Format-Lite-0.22/lib/Perinci/Result/
Perinci-Result-Format-Lite-0.22/lib/Perinci/Result/Format/
Perinci-Result-Format-Lite-0.22/lib/Perinci/Result/Format/Lite.pm
Perinci-Result-Format-Lite-0.22/Makefile.PL
Perinci-Result-Format-Lite-0.22/Changes
Perinci-Result-Format-Lite-0.22/dist.ini
Perinci-Result-Format-Lite-0.22/LICENSE
Perinci-Result-Format-Lite-0.22/t/
Perinci-Result-Format-Lite-0.22/t/00-compile.t
Perinci-Result-Format-Lite-0.22/t/01-basics.t
Perinci-Result-Format-Lite-0.22/t/author-pod-syntax.t
Perinci-Result-Format-Lite-0.22/t/author-pod-coverage.t
Perinci-Result-Format-Lite-0.22/weaver.ini
Perinci-Result-Format-Lite-0.22/MANIFEST
Perinci-Result-Format-Lite-0.22/META.json
Perinci-Result-Format-Lite-0.22/META.yml
Configuring P/PE/PERLANCAR/Perinci-Result-Format-Lite-0.22.tar.gz with Makefile.PL
>>> /Users/fly2000/ap2000-298465/bin/perl-dynamic Makefile.PL
Checking if your kit is complete...
Looks good
Have /Users/fly2000/cpanfly-5.20/var/megalib
Want /Users/fly2000/ap2000-298465/lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [darwin-thread-multi-2level]
This may or may not cause problems. Please check your installation of perl
if you have problems building this extension.
Generating a Unix-style Makefile
Writing Makefile for Perinci::Result::Format::Lite
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Perinci-Result-Format-Lite-0.22.tar.gz
/Users/fly2000/ap2000-298465/bin/perl-dynamic Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Perinci-Result-Format-Lite-0.22.tar.gz
>>> make
cp lib/Perinci/Result/Format/Lite.pm blib/lib/Perinci/Result/Format/Lite.pm
Manifying 1 pod document
PERLANCAR/Perinci-Result-Format-Lite-0.22.tar.gz
make -- OK
Running make test
>>> make test TEST_VERBOSE=1
PERL_DL_NONLAZY=1 "/Users/fly2000/ap2000-298465/bin/perl-dynamic" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t ...........
1..1
ok 1 - Perinci/Result/Format/Lite.pm loaded ok
ok
Unknown format 'foo', fallback to json-pretty at /Users/fly2000/cpanfly-5.20/var/tmp/cpan_build/Perinci-Result-Format-Lite-0.22-fS7x1f/blib/lib/Perinci/Result/Format/Lite.pm line 432.
Subroutine FatPacked::4305364840::INC redefined at /Users/fly2000/cpanfly-5.20/var/megalib/Data/Clean.pm line 115.
t/01-basics.t ............
ok 1 - unknown format -> fallback to json-pretty
# Subtest: format=text-simple
ok 1
ok 2 - newline appended
ok 3 - newline already exists so not added
ok 4 - error
1..4
ok 2 - format=text-simple
# Subtest: format=text-pretty
ok 1 - hash
1..1
ok 3 - format=text-pretty
# Subtest: format=json-pretty
ok 1
1..1
ok 4 - format=json-pretty
# Subtest: meta:table.fields
ok 1
1..1
ok 5 - meta:table.fields
# Subtest: meta:table.hide_unknown_fields
ok 1
1..1
ok 6 - meta:table.hide_unknown_fields
# Subtest: meta:table.field_units
ok 1
1..1
ok 7 - meta:table.field_units
# Subtest: meta:table.field_formats
ok 1
1..1
ok 8 - meta:table.field_formats
# Subtest: meta:table.field_aligns
ok 1
1..1
ok 9 - meta:table.field_aligns
1..9
ok
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
All tests successful.
Files=4, Tests=10, 0 wallclock secs ( 0.04 usr 0.01 sys + 0.13 cusr 0.04 csys = 0.22 CPU)
Result: PASS
PERLANCAR/Perinci-Result-Format-Lite-0.22.tar.gz
make test TEST_VERBOSE=1 -- OK
perlancar <perlancar@gmail.com>
Format enveloped result
>>> (cd /Users/fly2000/cpanfly-5.20/var/tmp/cpan_build/Perinci-Result-Format-Lite-0.22-fS7x1f && tar cvf - Perinci-Result-Format-Lite-0.22.ppd blib) | gzip -c >/Users/fly2000/cpanfly-5.20/var/REPO/P/PE/PERLANCAR/Perinci-Result-Format-Lite-0.22.tar.gz
Perinci-Result-Format-Lite-0.22.ppd
blib/
blib/lib/
blib/lib/Perinci/
blib/lib/Perinci/Result/
blib/lib/Perinci/Result/Format/
blib/lib/Perinci/Result/Format/Lite.pm
blib/man3/
blib/man3/Perinci::Result::Format::Lite.3
PERLANCAR/Perinci-CmdLine-Lite-1.68.tar.gz
Has already been unwrapped into directory /Users/fly2000/cpanfly-5.20/var/tmp/cpan_build/Perinci-CmdLine-Lite-1.68-Gd8nZZ
PERLANCAR/Perinci-CmdLine-Lite-1.68.tar.gz
Has already been prepared
Running make for P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.68.tar.gz
Prepending /Users/fly2000/cpanfly-5.20/var/tmp/cpan_build/Perinci-Result-Format-Lite-0.22-fS7x1f/blib/arch /Users/fly2000/cpanfly-5.20/var/tmp/cpan_build/Perinci-Result-Format-Lite-0.22-fS7x1f/blib/lib to PERL5LIB for 'make'
Warning: Prerequisite 'Progress::Any::Output::TermProgressBarColor => 0.17' for 'PERLANCAR/Perinci-CmdLine-Lite-1.68.tar.gz' failed when processing 'PERLANCAR/Progress-Any-Output-TermProgressBarColor-0.22.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited.
>>> make
cp share/templates/description.txt blib/lib/auto/share/dist/Perinci-CmdLine-Lite/templates/description.txt
cp share/templates/synopsis.txt blib/lib/auto/share/dist/Perinci-CmdLine-Lite/templates/synopsis.txt
cp lib/Perinci/CmdLine/Lite.pm blib/lib/Perinci/CmdLine/Lite.pm
cp lib/Perinci/CmdLine/Util/Config.pm blib/lib/Perinci/CmdLine/Util/Config.pm
cp lib/Perinci/CmdLine/Base.pm blib/lib/Perinci/CmdLine/Base.pm
Manifying 3 pod documents
PERLANCAR/Perinci-CmdLine-Lite-1.68.tar.gz
make -- OK
Prepending /Users/fly2000/cpanfly-5.20/var/tmp/cpan_build/Perinci-Result-Format-Lite-0.22-fS7x1f/blib/arch /Users/fly2000/cpanfly-5.20/var/tmp/cpan_build/Perinci-Result-Format-Lite-0.22-fS7x1f/blib/lib to PERL5LIB for 'test'
Running make test
>>> make test TEST_VERBOSE=1
Skip blib/lib/auto/share/dist/Perinci-CmdLine-Lite/templates/description.txt (unchanged)
Skip blib/lib/auto/share/dist/Perinci-CmdLine-Lite/templates/synopsis.txt (unchanged)
PERL_DL_NONLAZY=1 "/Users/fly2000/ap2000-298465/bin/perl-dynamic" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t ...........
1..3
ok 1 - Perinci/CmdLine/Base.pm loaded ok
ok 2 - Perinci/CmdLine/Lite.pm loaded ok
ok 3 - Perinci/CmdLine/Util/Config.pm loaded ok
ok
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
t/release-rinci.t ........ skipped: these tests are for release candidate testing
t/suite.t ................
# Subtest: help action
ok 1 - dummy
# Subtest: --help
# Generated CLI script at /tmp/6KSF2bj9RZ/cli123L2Tw_
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli123L2Tw_',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/noop'
# }
# argv: [
# '--help'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - --help
# Subtest: + is not accepted as option starter
# Generated CLI script at /tmp/6KSF2bj9RZ/cliXG3yAgsT
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliXG3yAgsT',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/noop'
# }
# argv: [
# '+h'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 3 - + is not accepted as option starter
# Subtest: + is not accepted as option starter (2)
# Generated CLI script at /tmp/6KSF2bj9RZ/cli2UiXGsOa
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli2UiXGsOa',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/noop'
# }
# argv: [
# '+help'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 4 - + is not accepted as option starter (2)
# Subtest: extra args is okay
# Generated CLI script at /tmp/6KSF2bj9RZ/cli0cAdWs_w
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli0cAdWs_w',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/noop'
# }
# argv: [
# '--help',
# '1',
# '2',
# '3'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 5 - extra args is okay
# Subtest: help for cli with subcommands
# Generated CLI script at /tmp/6KSF2bj9RZ/cli8ULDYmD9
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli8ULDYmD9',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'subcommands' => [
# 'sc1:/Perinci/Examples/Tiny/noop'
# ],
# 'url' => '/Perinci/Examples/Tiny/'
# }
# argv: [
# '--help'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 6 - help for cli with subcommands
# Subtest: help on a subcommand
# Generated CLI script at /tmp/6KSF2bj9RZ/cliPbdGp72s
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliPbdGp72s',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'subcommands' => [
# 'sc1:/Perinci/Examples/Tiny/noop'
# ],
# 'url' => '/Perinci/Examples/Tiny/'
# }
# argv: [
# 'sc1',
# '--help'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
ok 3 - stdout_unlike
1..3
ok 7 - help on a subcommand
1..7
ok 1 - help action
# Subtest: version action
ok 1 - dummy
# Subtest: --version
# Generated CLI script at /tmp/6KSF2bj9RZ/cliqsn5gpjU
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliqsn5gpjU',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/noop'
# }
# argv: [
# '--version'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - --version
1..2
ok 2 - version action
# Subtest: subcommands action
ok 1 - dummy
# Subtest: --subcommands
# Generated CLI script at /tmp/6KSF2bj9RZ/cli6EfwJ1EA
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli6EfwJ1EA',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'subcommands' => [
# 'noop:/Perinci/Examples/Tiny/noop',
# 'odd_even:/Perinci/Examples/Tiny/odd_even'
# ],
# 'url' => '/Perinci/Examples/Tiny/'
# }
# argv: [
# '--subcommands'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - --subcommands
# Subtest: unknown subcommand = error
# Generated CLI script at /tmp/6KSF2bj9RZ/climryTsygZ
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/climryTsygZ',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'subcommands' => [
# 'noop:/Perinci/Examples/Tiny/noop',
# 'odd_even:/Perinci/Examples/Tiny/odd_even'
# ],
# 'url' => '/Perinci/Examples/Tiny/'
# }
# argv: [
# 'foo'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 3 - unknown subcommand = error
# Subtest: default_subcommand
# Generated CLI script at /tmp/6KSF2bj9RZ/cli5kKBKXOZ
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'default_subcommand' => 'noop',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli5kKBKXOZ',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'subcommands' => [
# 'noop:/Perinci/Examples/Tiny/noop',
# 'odd_even:/Perinci/Examples/Tiny/odd_even'
# ],
# 'url' => '/Perinci/Examples/Tiny/'
# }
# argv: []
# Script's stdout: <>
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 4 - default_subcommand
# Subtest: default_subcommand 2
# Generated CLI script at /tmp/6KSF2bj9RZ/cliAel0xBCa
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'default_subcommand' => 'odd_even',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliAel0xBCa',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'subcommands' => [
# 'noop:/Perinci/Examples/Tiny/noop',
# 'odd_even:/Perinci/Examples/Tiny/odd_even'
# ],
# 'url' => '/Perinci/Examples/Tiny/'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 5 - default_subcommand 2
1..5
ok 3 - subcommands action
# Subtest: call action
ok 1 - dummy
# Subtest: embedded function+meta works
# Generated CLI script at /tmp/6KSF2bj9RZ/clit5BBVSu2
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'code_before_instantiate_cmdline' => '
# our %SPEC;
# $SPEC{square} = {v=>1.1, args=>{num=>{schema=>\'num*\', req=>1, pos=>0}}};
# sub square { my %args=@_; [200, "OK", $args{num}**2] }
# ',
# 'output_file' => '/tmp/6KSF2bj9RZ/clit5BBVSu2',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/main/square'
# }
# argv: [
# '12'
# ]
# Script's stdout: <144
# >
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - embedded function+meta works
# Subtest: extra args not allowed
# Generated CLI script at /tmp/6KSF2bj9RZ/cliDgjzQfsz
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliDgjzQfsz',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/noop'
# }
# argv: [
# '1'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 3 - extra args not allowed
# Subtest: missing required args -> error
# Generated CLI script at /tmp/6KSF2bj9RZ/cliq1LgI1Xk
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliq1LgI1Xk',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/odd_even'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 4 - missing required args -> error
# Subtest: common option: --format
# Generated CLI script at /tmp/6KSF2bj9RZ/cli2CXjqWG1
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli2CXjqWG1',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/Args/as_is'
# }
# argv: [
# '--arg',
# 'abc',
# '--format',
# 'json'
# ]
# Script's stdout: <[200,"OK","abc",{"stream":0}]
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 5 - common option: --format
# Subtest: common option: --json
# Generated CLI script at /tmp/6KSF2bj9RZ/cliC5d1e0ia
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliC5d1e0ia',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/Args/as_is'
# }
# argv: [
# '--arg',
# 'abc',
# '--json'
# ]
# Script's stdout: <[200,"OK","abc",{"stream":0}]
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 6 - common option: --json
# Subtest: common option: --naked-res
# Generated CLI script at /tmp/6KSF2bj9RZ/cliwZmrBPoI
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliwZmrBPoI',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/Args/as_is'
# }
# argv: [
# '--arg',
# 'abc',
# '--json',
# '--naked-res'
# ]
# Script's stdout: <"abc"
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 7 - common option: --naked-res
# Subtest: common option: --no-naked-res
# Generated CLI script at /tmp/6KSF2bj9RZ/cliYZrxGgrM
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliYZrxGgrM',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/Args/as_is'
# }
# argv: [
# '--arg',
# 'abc',
# '--json',
# '--no-naked-res'
# ]
# Script's stdout: <[200,"OK","abc",{"stream":0}]
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 8 - common option: --no-naked-res
# Subtest: common option: --cmd
# Generated CLI script at /tmp/6KSF2bj9RZ/cliFaHo7FiZ
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'default_subcommand' => 'noop',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliFaHo7FiZ',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'subcommands' => [
# 'noop:/Perinci/Examples/Tiny/noop',
# 'odd_even:/Perinci/Examples/Tiny/odd_even'
# ],
# 'url' => '/Perinci/Examples/Tiny/'
# }
# argv: [
# '--cmd',
# 'odd_even',
# '5'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 9 - common option: --cmd
# Subtest: json argument
# Generated CLI script at /tmp/6KSF2bj9RZ/cli_9JKsyEP
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli_9JKsyEP',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/Args/as_is'
# }
# argv: [
# '--arg-json',
# '["a","b"]',
# '--json'
# ]
# Script's stdout: <[200,"OK",["a","b"],{"stream":0}]
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 10 - json argument
# Subtest: can handle function which returns naked result
# Generated CLI script at /tmp/6KSF2bj9RZ/clisgSG9_LQ
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clisgSG9_LQ',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/hello_naked'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 11 - can handle function which returns naked result
1..11
ok 4 - call action
# Subtest: cmdline_src (error cases)
ok 1 - dummy
# Subtest: unknown value
# Generated CLI script at /tmp/6KSF2bj9RZ/cliGzKiFyPL
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliGzKiFyPL',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_unknown'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 2 - unknown value
# Subtest: arg type not str/array
# Generated CLI script at /tmp/6KSF2bj9RZ/cliCf7LJOHq
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliCf7LJOHq',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_invalid_arg_type'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 3 - arg type not str/array
# Subtest: multiple stdin
# Generated CLI script at /tmp/6KSF2bj9RZ/cliXP5Z8urq
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliXP5Z8urq',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_multi_stdin'
# }
# argv: [
# 'a',
# 'b'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 4 - multiple stdin
1..4
ok 5 - cmdline_src (error cases)
# Subtest: cmdline_src (file)
ok 1 - dummy
# Subtest: file 1
# Generated CLI script at /tmp/6KSF2bj9RZ/cliDefUtbnr
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliDefUtbnr',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_file'
# }
# argv: [
# '--a1',
# '/tmp/6KSF2bj9RZ/infile1'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - file 1
# Subtest: file 1 (special hint arguments passed)
# Generated CLI script at /tmp/6KSF2bj9RZ/clizODd8oW0
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clizODd8oW0',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_file'
# }
# argv: [
# '--json',
# '--a1',
# '/tmp/6KSF2bj9RZ/infile1'
# ]
# Script's stdout: <[200,"OK","a1=foo\na2=[]",{"func.args":{"-cmdline_src_a1":"file","-cmdline_srcfilenames_a1":["/tmp/6KSF2bj9RZ/infile1"],"a1":"foo"},"stream":0}]
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
ok 3 - stdout_like
1..3
ok 3 - file 1 (special hint arguments passed)
# Subtest: file 2
# Generated CLI script at /tmp/6KSF2bj9RZ/cli5zugzpkU
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli5zugzpkU',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_file'
# }
# argv: [
# '--a1',
# '/tmp/6KSF2bj9RZ/infile1',
# '--a2',
# '/tmp/6KSF2bj9RZ/infile2'
# ]
# Script's stdout:
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 4 - file 2
# Subtest: file 2 (special hint arguments passed)
# Generated CLI script at /tmp/6KSF2bj9RZ/cliRP8QNabZ
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliRP8QNabZ',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_file'
# }
# argv: [
# '--json',
# '--a1',
# '/tmp/6KSF2bj9RZ/infile1',
# '--a2',
# '/tmp/6KSF2bj9RZ/infile2'
# ]
# Script's stdout: <[200,"OK","a1=foo\na2=[bar\n,baz]",{"func.args":{"-cmdline_src_a1":"file","-cmdline_src_a2":"file","-cmdline_srcfilenames_a1":["/tmp/6KSF2bj9RZ/infile1"],"-cmdline_srcfilenames_a2":["/tmp/6KSF2bj9RZ/infile2"],"a1":"foo","a2":["bar\n","baz"]},"stream":0}]
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
ok 3 - stdout_like
ok 4 - stdout_like
ok 5 - stdout_like
1..5
ok 5 - file 2 (special hint arguments passed)
# Subtest: file not found
# Generated CLI script at /tmp/6KSF2bj9RZ/clizWaLD9xy
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clizWaLD9xy',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_file'
# }
# argv: [
# '--a1',
# '/tmp/6KSF2bj9RZ/infile1/x'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 6 - file not found
# Subtest: file, missing required arg
# Generated CLI script at /tmp/6KSF2bj9RZ/clivfTMRSO4
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clivfTMRSO4',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_file'
# }
# argv: [
# '--a2',
# '/tmp/6KSF2bj9RZ/infile2'
# ]
# Script's stdout:
# Script's stderr:
ok 1 - exit_code
1..1
ok 7 - file, missing required arg
1..7
ok 6 - cmdline_src (file)
# Subtest: cmdline_src (stdin)
ok 1 - dummy
# Subtest: stdin str
# Generated CLI script at /tmp/6KSF2bj9RZ/cliZjYrztZe
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliZjYrztZe',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_str'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - stdin str
# Subtest: stdin str (special hint arguments passed)
# Generated CLI script at /tmp/6KSF2bj9RZ/clipPqTblLT
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clipPqTblLT',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_str'
# }
# argv: [
# '--json'
# ]
# Script's stdout: <[200,"OK","a1=bar\nbaz",{"func.args":{"-cmdline_src_a1":"stdin","a1":"bar\nbaz"},"stream":0}]
# >
# Script's stderr: line 1.
# >
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 3 - stdin str (special hint arguments passed)
# Subtest: stdin array
# Generated CLI script at /tmp/6KSF2bj9RZ/cli6z8qhf7S
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli6z8qhf7S',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_array'
# }
# argv: []
# Script's stdout:
# Script's stderr: line 2.
# >
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 4 - stdin array
# Subtest: stdin + arg set to "-"
# Generated CLI script at /tmp/6KSF2bj9RZ/clil6JzyTUE
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clil6JzyTUE',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_str'
# }
# argv: [
# '--a1',
# '-'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 5 - stdin + arg set to "-"
# Subtest: stdin + arg set to non "-"
# Generated CLI script at /tmp/6KSF2bj9RZ/cliyT7Q_cyW
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliyT7Q_cyW',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_str'
# }
# argv: [
# '--a1',
# 'x'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 6 - stdin + arg set to non "-"
1..6
ok 7 - cmdline_src (stdin)
# Subtest: cmdline_src (stdin_line)
ok 1 - dummy
# Subtest: stdin_line + from stdin
# Generated CLI script at /tmp/6KSF2bj9RZ/cliDXFGcKvi
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliDXFGcKvi',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_line'
# }
# argv: [
# '--a2',
# 'bar'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - stdin_line + from stdin
# Subtest: stdin_line + from stdin (special hint arguments passed)
# Generated CLI script at /tmp/6KSF2bj9RZ/cliRWSG4wiM
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliRWSG4wiM',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_line'
# }
# argv: [
# '--json',
# '--a2',
# 'bar'
# ]
# Script's stdout:
# Script's stderr: line 1.
# >
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 3 - stdin_line + from stdin (special hint arguments passed)
# Subtest: stdin_line + from cmdline
# Generated CLI script at /tmp/6KSF2bj9RZ/clid9yql81B
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clid9yql81B',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_line'
# }
# argv: [
# '--a2',
# 'bar',
# '--a1',
# 'qux'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 4 - stdin_line + from cmdline
# Subtest: multi stdin_line
# Generated CLI script at /tmp/6KSF2bj9RZ/clidwT43Kdw
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clidwT43Kdw',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_multi_stdin_line'
# }
# argv: [
# '--a3',
# 'baz'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 5 - multi stdin_line
1..5
ok 8 - cmdline_src (stdin_line)
# Subtest: cmdline_src (stdin_or_file)
ok 1 - dummy
# Subtest: stdin_or_file file
# Generated CLI script at /tmp/6KSF2bj9RZ/cliOEYNrQZ5
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliOEYNrQZ5',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_file_str'
# }
# argv: [
# '/tmp/6KSF2bj9RZ/infile1'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - stdin_or_file file
# Subtest: stdin_or_file file (extra argument)
# Generated CLI script at /tmp/6KSF2bj9RZ/cliC4JWxsvD
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliC4JWxsvD',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_file_str'
# }
# argv: [
# '/tmp/6KSF2bj9RZ/infile1',
# '/tmp/6KSF2bj9RZ/infile1'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 3 - stdin_or_file file (extra argument)
# Subtest: stdin_or_file file (special hint arguments passed)
# Generated CLI script at /tmp/6KSF2bj9RZ/cliyhauzB17
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliyhauzB17',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_file_str'
# }
# argv: [
# '--json',
# '/tmp/6KSF2bj9RZ/infile1'
# ]
# Script's stdout: <[200,"OK","a1=foo",{"func.args":{"-cmdline_src_a1":"stdin_or_file","-cmdline_srcfilenames_a1":["/tmp/6KSF2bj9RZ/infile1"],"a1":"foo"},"stream":0}]
# >
# Script's stderr: line 1.
# >
ok 1 - exit_code
ok 2 - stdout_like
ok 3 - stdout_like
1..3
ok 4 - stdin_or_file file (special hint arguments passed)
# Subtest: stdin_or_files file not found
# Generated CLI script at /tmp/6KSF2bj9RZ/cli4TuYAipG
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli4TuYAipG',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_file_str'
# }
# argv: [
# '/tmp/6KSF2bj9RZ/infile1/x'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 5 - stdin_or_files file not found
# Subtest: stdin_or_file stdin str
# Generated CLI script at /tmp/6KSF2bj9RZ/cli8Y9syiMZ
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli8Y9syiMZ',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_file_str'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 6 - stdin_or_file stdin str
# Subtest: stdin_or_file stdin str
# Generated CLI script at /tmp/6KSF2bj9RZ/cliIQalGKgt
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliIQalGKgt',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_file_array'
# }
# argv: []
# Script's stdout:
# Script's stderr: line 2.
# >
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 7 - stdin_or_file stdin str
1..7
ok 9 - cmdline_src (stdin_or_file)
# Subtest: cmdline_src (stdin_or_files)
ok 1 - dummy
# Subtest: stdin_or_files file
# Generated CLI script at /tmp/6KSF2bj9RZ/clivOCU60fj
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clivOCU60fj',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_files_array'
# }
# argv: [
# '/tmp/6KSF2bj9RZ/infile1',
# '/tmp/6KSF2bj9RZ/infile2'
# ]
# Script's stdout:
# Script's stderr: line 3.
# >
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - stdin_or_files file
# Subtest: stdin_or_files file (special hint arguments passed)
# Generated CLI script at /tmp/6KSF2bj9RZ/cli6jAUAUBH
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli6jAUAUBH',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_files_str'
# }
# argv: [
# '--json',
# '/tmp/6KSF2bj9RZ/infile1'
# ]
# Script's stdout: <[200,"OK","a1=foo",{"func.args":{"-cmdline_src_a1":"stdin_or_files","-cmdline_srcfilenames_a1":["/tmp/6KSF2bj9RZ/infile1"],"a1":"foo"},"stream":0}]
# >
# Script's stderr: line 1.
# >
ok 1 - exit_code
ok 2 - stdout_like
ok 3 - stdout_like
1..3
ok 3 - stdin_or_files file (special hint arguments passed)
# Subtest: stdin_or_files file not found
# Generated CLI script at /tmp/6KSF2bj9RZ/cliyYugDYxC
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliyYugDYxC',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_files_str'
# }
# argv: [
# '/tmp/6KSF2bj9RZ/infile1/x'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 4 - stdin_or_files file not found
# Subtest: stdin_or_files stdin str
# Generated CLI script at /tmp/6KSF2bj9RZ/cli6JPLlsyT
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli6JPLlsyT',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_files_str'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 5 - stdin_or_files stdin str
# Subtest: stdin_or_files stdin str
# Generated CLI script at /tmp/6KSF2bj9RZ/cli2SlSxu9p
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli2SlSxu9p',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_files_array'
# }
# argv: []
# Script's stdout:
# Script's stderr: line 2.
# >
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 6 - stdin_or_files stdin str
1..6
ok 10 - cmdline_src (stdin_or_files)
# Subtest: cmdline_src (stdin_or_args)
ok 1 - dummy
# Subtest: from arg
# Generated CLI script at /tmp/6KSF2bj9RZ/cliryWQUIqE
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliryWQUIqE',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_args_array'
# }
# argv: [
# '--a1',
# 'x'
# ]
# Script's stdout:
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - from arg
# Subtest: from stdin
# Generated CLI script at /tmp/6KSF2bj9RZ/cliEhvYviDF
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliEhvYviDF',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_args_array'
# }
# argv: []
# Script's stdout:
# Script's stderr: line 2.
# >
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 3 - from stdin
1..3
ok 11 - cmdline_src (stdin_or_args)
# Subtest: dry-run
ok 1 - dummy
# Subtest: dry-run (via env, 0)
# Generated CLI script at /tmp/6KSF2bj9RZ/cli70kERuOr
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli70kERuOr',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/test_dry_run'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - dry-run (via env, 0)
# Subtest: dry-run (via env, 1)
# Generated CLI script at /tmp/6KSF2bj9RZ/cli_aBtI6jN
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli_aBtI6jN',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/test_dry_run'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 3 - dry-run (via env, 1)
# Subtest: dry-run (via cmdline opt)
# Generated CLI script at /tmp/6KSF2bj9RZ/cliwV6f3R_0
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliwV6f3R_0',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/test_dry_run'
# }
# argv: [
# '--dry-run'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 4 - dry-run (via cmdline opt)
1..4
ok 12 - dry-run
# Subtest: tx
ok 1 - dummy
# Subtest: dry_run (using tx) (w/o)
1..0 # SKIP Has one of the exclude_tag: tx
ok 2 # skip Has one of the exclude_tag: tx
# Subtest: dry_run (using tx) (w/)
1..0 # SKIP Has one of the exclude_tag: tx
ok 3 # skip Has one of the exclude_tag: tx
1..3
ok 13 - tx
# Subtest: streaming
ok 1 - dummy
# Subtest: stream input, simple type, chomp on
# Generated CLI script at /tmp/6KSF2bj9RZ/clijNIkSaOO
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clijNIkSaOO',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Stream/count_lines'
# }
# argv: [
# '/tmp/6KSF2bj9RZ/infile-str'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - stream input, simple type, chomp on
# Subtest: stream input, simple type, chomp off
# Generated CLI script at /tmp/6KSF2bj9RZ/cliCjNU_0sP
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliCjNU_0sP',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Stream/wc'
# }
# argv: [
# '/tmp/6KSF2bj9RZ/infile-str'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 3 - stream input, simple type, chomp off
# Subtest: stream input, json stream
# Generated CLI script at /tmp/6KSF2bj9RZ/clifKg6yfTv
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clifKg6yfTv',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Stream/wc_keys'
# }
# argv: [
# '/tmp/6KSF2bj9RZ/infile-hash-json'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 4 - stream input, json stream
# Subtest: stream input, simple type, word validation
1..0 # SKIP Has one of the exclude_tag: validate-streaming-input
ok 5 # skip Has one of the exclude_tag: validate-streaming-input
# Subtest: stream input, simple types, word validation, error
1..0 # SKIP Has one of the exclude_tag: validate-streaming-input
ok 6 # skip Has one of the exclude_tag: validate-streaming-input
# Subtest: stream input, simple types, word validation, error
1..0 # SKIP Has one of the exclude_tag: validate-streaming-input
ok 7 # skip Has one of the exclude_tag: validate-streaming-input
# Subtest: stream input, json stream, error
1..0 # SKIP Has one of the exclude_tag: validate-streaming-input
ok 8 # skip Has one of the exclude_tag: validate-streaming-input
# Subtest: stream result, simple types, word validation
1..0 # SKIP Has one of the exclude_tag: validate-streaming-result
ok 9 # skip Has one of the exclude_tag: validate-streaming-result
# Subtest: stream result, simple types, word validation, error
1..0 # SKIP Has one of the exclude_tag: validate-streaming-result
ok 10 # skip Has one of the exclude_tag: validate-streaming-result
# Subtest: stream result, json stream
# Generated CLI script at /tmp/6KSF2bj9RZ/cli0pTXRd3R
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli0pTXRd3R',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Stream/produce_hashes'
# }
# argv: [
# '-n',
# '3'
# ]
# Script's stdout: <{"num":1}
# {"num":2}
# {"num":3}
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 11 - stream result, json stream
# Subtest: stream input+result, simple type, float validation
# Generated CLI script at /tmp/6KSF2bj9RZ/clitJeJX50X
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clitJeJX50X',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Stream/square_nums'
# }
# argv: [
# '/tmp/6KSF2bj9RZ/infile-int'
# ]
# Script's stdout: <1
# 9
# 25
# >
# Script's stderr: line 1.
# >
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 12 - stream input+result, simple type, float validation
# Subtest: stream input+result, simple type, float validation, error
1..0 # SKIP Has one of the exclude_tag: validate-streaming-input
ok 13 # skip Has one of the exclude_tag: validate-streaming-input
1..13
ok 14 - streaming
# Subtest: result metadata
ok 1 - dummy
# Subtest: cmdline.exit_code
# Generated CLI script at /tmp/6KSF2bj9RZ/cliWiMG0SqI
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliWiMG0SqI',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineResMeta/exit_code'
# }
# argv: []
# Script's stdout: <>
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 2 - cmdline.exit_code
# Subtest: cmdline.result
# Generated CLI script at /tmp/6KSF2bj9RZ/cli7cuEeC6p
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli7cuEeC6p',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineResMeta/result'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 3 - cmdline.result
# Subtest: cmdline.default_format
# Generated CLI script at /tmp/6KSF2bj9RZ/clivvRO4eho
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clivvRO4eho',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineResMeta/default_format'
# }
# argv: []
# Script's stdout: <[200,"OK",null,{"cmdline.default_format":"json","stream":0}]
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 4 - cmdline.default_format
# Subtest: cmdline.default_format (overriden by cmdline opt)
# Generated CLI script at /tmp/6KSF2bj9RZ/clicDaHv9_X
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clicDaHv9_X',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineResMeta/default_format'
# }
# argv: [
# '--format',
# 'text'
# ]
# Script's stdout: <>
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 5 - cmdline.default_format (overriden by cmdline opt)
# Subtest: cmdline.skip_format
# Generated CLI script at /tmp/6KSF2bj9RZ/cli5lz0n0Rw
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli5lz0n0Rw',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineResMeta/skip_format'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 6 - cmdline.skip_format
1..6
ok 15 - result metadata
# Subtest: completion
ok 1 - dummy
# Subtest: self-completion works
# Generated CLI script at /tmp/6KSF2bj9RZ/clivdRAMVNd
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clivdRAMVNd',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Tiny/odd_even'
# }
# argv: []
# Script's stdout: <--number
# >
# Script's stderr: <>
ok 1 - exit_code
ok 2 - answer
1..2
ok 2 - self-completion works
# Subtest: completion of subcommand name
# Generated CLI script at /tmp/6KSF2bj9RZ/cliG_u0jAoN
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliG_u0jAoN',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'subcommands' => [
# 'sc1:/Perinci/Examples/Tiny/noop',
# 'sc2:/Perinci/Examples/Tiny/odd_even'
# ],
# 'url' => '/Perinci/Examples/Tiny/'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - answer
1..2
ok 3 - completion of subcommand name
# Subtest: completion of subcommand option
# Generated CLI script at /tmp/6KSF2bj9RZ/cliY_nIJlvL
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliY_nIJlvL',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'subcommands' => [
# 'sc1:/Perinci/Examples/Tiny/noop',
# 'sc2:/Perinci/Examples/Tiny/odd_even'
# ],
# 'url' => '/Perinci/Examples/Tiny/'
# }
# argv: []
# Script's stdout: <--number
# >
# Script's stderr: <>
ok 1 - exit_code
ok 2 - answer
1..2
ok 4 - completion of subcommand option
1..4
ok 16 - completion
# Subtest: env
ok 1 - dummy
# Subtest: env read
# Generated CLI script at /tmp/6KSF2bj9RZ/cli7k65TrM2
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cli7k65TrM2',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 1,
# 'script_name' => 'sum-nums',
# 'url' => '/Perinci/Examples/sum'
# }
# argv: [
# '3'
# ]
# Script's stdout: <6
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - env read
# Subtest: turned off via --no-env
# Generated CLI script at /tmp/6KSF2bj9RZ/clihvAzNusI
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/clihvAzNusI',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 1,
# 'script_name' => 'sum-nums',
# 'url' => '/Perinci/Examples/sum'
# }
# argv: [
# '--no-env',
# '3'
# ]
# Script's stdout: <3
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 3 - turned off via --no-env
# Subtest: attr:env_name
# Generated CLI script at /tmp/6KSF2bj9RZ/cliDS9ZLFZ1
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'env_name' => 'foo_opt',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliDS9ZLFZ1',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 1,
# 'script_name' => 'sum-nums',
# 'url' => '/Perinci/Examples/sum'
# }
# argv: [
# '3'
# ]
# Script's stdout: <18
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 4 - attr:env_name
1..4
ok 17 - env
# Subtest: config file
ok 1 - dummy
# Subtest: attr:config_dirs
# Generated CLI script at /tmp/6KSF2bj9RZ/clixMD8vgoR
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/6KSF2bj9RZ'
# ],
# 'output_file' => '/tmp/6KSF2bj9RZ/clixMD8vgoR',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/noop2'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 2 - attr:config_dirs
# Subtest: attr:config_filename
# Generated CLI script at /tmp/6KSF2bj9RZ/clisR0XcqRn
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/6KSF2bj9RZ'
# ],
# 'config_filename' => 'prog2.conf',
# 'output_file' => '/tmp/6KSF2bj9RZ/clisR0XcqRn',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/noop2'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 3 - attr:config_filename
# Subtest: attr:config_filename (hash record)
# Generated CLI script at /tmp/6KSF2bj9RZ/cliZurjweBa
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/6KSF2bj9RZ'
# ],
# 'config_filename' => [
# {
# 'filename' => 'prog4.conf',
# 'section' => 'prog'
# },
# 'prog2.conf'
# ],
# 'output_file' => '/tmp/6KSF2bj9RZ/cliZurjweBa',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/noop2'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 4 - attr:config_filename (hash record)
# Subtest: attr:config_filename (hash record) + --config-profile
# Generated CLI script at /tmp/6KSF2bj9RZ/clix15N08mC
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/6KSF2bj9RZ'
# ],
# 'config_filename' => [
# {
# 'filename' => 'prog4.conf',
# 'section' => 'prog'
# },
# 'prog2.conf'
# ],
# 'output_file' => '/tmp/6KSF2bj9RZ/clix15N08mC',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/noop2'
# }
# argv: [
# '--config-profile',
# 'profile1'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 5 - attr:config_filename (hash record) + --config-profile
# Subtest: common option: --no-config
# Generated CLI script at /tmp/6KSF2bj9RZ/cli5jri5fSO
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/6KSF2bj9RZ'
# ],
# 'output_file' => '/tmp/6KSF2bj9RZ/cli5jri5fSO',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/noop2'
# }
# argv: [
# '--no-config'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 6 - common option: --no-config
# Subtest: common option: --config-path
# Generated CLI script at /tmp/6KSF2bj9RZ/cliTIhTny5o
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/6KSF2bj9RZ/cliTIhTny5o',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/noop2'
# }
# argv: [
# '--config-path',
# '/tmp/6KSF2bj9RZ/prog.conf'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 7 - common option: --config-path
# Subtest: common option: --config-profile
# Generated CLI script at /tmp/6KSF2bj9RZ/cli1SemSvLH
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/6KSF2bj9RZ'
# ],
# 'output_file' => '/tmp/6KSF2bj9RZ/cli1SemSvLH',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/noop2'
# }
# argv: [
# '--config-profile=profile1'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 8 - common option: --config-profile
# Subtest: unknown config profile -> error
# Generated CLI script at /tmp/6KSF2bj9RZ/cliLG0x2frl
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/6KSF2bj9RZ'
# ],
# 'output_file' => '/tmp/6KSF2bj9RZ/cliLG0x2frl',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/noop2'
# }
# argv: [
# '--config-profile=foo'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
1..1
ok 9 - unknown config profile -> error
# Subtest: unknown config profile but does not read config -> ok
# Generated CLI script at /tmp/6KSF2bj9RZ/cliCYX8QKVj
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/6KSF2bj9RZ'
# ],
# 'output_file' => '/tmp/6KSF2bj9RZ/cliCYX8QKVj',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'foo',
# 'url' => '/Perinci/Examples/noop2'
# }
# argv: [
# '--config-profile=bar'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 10 - unknown config profile but does not read config -> ok
# Subtest: subcommand
# Generated CLI script at /tmp/6KSF2bj9RZ/cli0ihK2uTv
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/6KSF2bj9RZ'
# ],
# 'output_file' => '/tmp/6KSF2bj9RZ/cli0ihK2uTv',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'subcommands' => [
# 'subcommand1:/Perinci/Examples/noop2'
# ],
# 'url' => '/Perinci/Examples/'
# }
# argv: [
# 'subcommand1'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 11 - subcommand
# Subtest: subcommand + --config-profile
# Generated CLI script at /tmp/6KSF2bj9RZ/clio5yUPvve
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/6KSF2bj9RZ'
# ],
# 'output_file' => '/tmp/6KSF2bj9RZ/clio5yUPvve',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'subcommands' => [
# 'subcommand1:/Perinci/Examples/noop2'
# ],
# 'url' => '/Perinci/Examples/'
# }
# argv: [
# '--config-profile=profile1',
# 'subcommand1'
# ]
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 12 - subcommand + --config-profile
# Subtest: array-ify if argument is array
# Generated CLI script at /tmp/6KSF2bj9RZ/cliIOCif67_
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/6KSF2bj9RZ'
# ],
# 'output_file' => '/tmp/6KSF2bj9RZ/cliIOCif67_',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'sum',
# 'url' => '/Perinci/Examples/sum'
# }
# argv: []
# Script's stdout: <0
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 13 - array-ify if argument is array
# Subtest: can also set common option
# Generated CLI script at /tmp/6KSF2bj9RZ/cli5_OsNdO9
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/6KSF2bj9RZ'
# ],
# 'output_file' => '/tmp/6KSF2bj9RZ/cli5_OsNdO9',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog3',
# 'url' => '/Perinci/Examples/noop2'
# }
# argv: []
# Script's stdout: <"a=101\nb=\nc=\nd=\ne="
# >
# Script's stderr:
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 14 - can also set common option
1..14
ok 18 - config file
# all tests successful, deleting tempdir /tmp/6KSF2bj9RZ
1..18
ok
All tests successful.
Files=5, Tests=21, 16 wallclock secs ( 0.18 usr 0.02 sys + 11.62 cusr 2.21 csys = 14.03 CPU)
Result: PASS
PERLANCAR/Perinci-CmdLine-Lite-1.68.tar.gz
make test TEST_VERBOSE=1 -- OK
perlancar <perlancar@gmail.com>
A Rinci/Riap-based command-line application framework
>>> (cd /Users/fly2000/cpanfly-5.20/var/tmp/cpan_build/Perinci-CmdLine-Lite-1.68-Gd8nZZ && tar cvf - Perinci-CmdLine-Lite-1.68.ppd blib) | gzip -c >/Users/fly2000/cpanfly-5.20/var/REPO/P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.68.tar.gz
Perinci-CmdLine-Lite-1.68.ppd
blib/
blib/lib/
blib/lib/auto/
blib/lib/auto/share/
blib/lib/auto/share/dist/
blib/lib/auto/share/dist/Perinci-CmdLine-Lite/
blib/lib/auto/share/dist/Perinci-CmdLine-Lite/templates/
blib/lib/auto/share/dist/Perinci-CmdLine-Lite/templates/description.txt
blib/lib/auto/share/dist/Perinci-CmdLine-Lite/templates/synopsis.txt
blib/lib/Perinci/
blib/lib/Perinci/CmdLine/
blib/lib/Perinci/CmdLine/Base.pm
blib/lib/Perinci/CmdLine/Lite.pm
blib/lib/Perinci/CmdLine/Util/
blib/lib/Perinci/CmdLine/Util/Config.pm
blib/man3/
blib/man3/Perinci::CmdLine::Base.3
blib/man3/Perinci::CmdLine::Lite.3
blib/man3/Perinci::CmdLine::Util::Config.3
Finished 2016-12-30T10:12:29