PATH=/usr/bin:/bin:/data/fly2400/cpanfly-5.24/var/megalib/bin
Start 2019-06-28T02:04:29
ActivePerl-2400 CPAN-2.10
Reading '/data/fly2400/cpanfly-5.24/var/cpan/Metadata'
Database was generated on Thu, 27 Jun 2019 04:29:03 GMT
Checksum for /data/fly2400/cpanfly-5.24/var/cpan/sources/authors/id/P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.822.tar.gz ok
Perinci-CmdLine-Lite-1.822/
Perinci-CmdLine-Lite-1.822/weaver.ini
Perinci-CmdLine-Lite-1.822/META.json
Perinci-CmdLine-Lite-1.822/share/
Perinci-CmdLine-Lite-1.822/share/templates/
Perinci-CmdLine-Lite-1.822/share/templates/synopsis.txt
Perinci-CmdLine-Lite-1.822/share/templates/description.txt
Perinci-CmdLine-Lite-1.822/lib/
Perinci-CmdLine-Lite-1.822/lib/Perinci/
Perinci-CmdLine-Lite-1.822/lib/Perinci/CmdLine/
Perinci-CmdLine-Lite-1.822/lib/Perinci/CmdLine/Base.pm
Perinci-CmdLine-Lite-1.822/lib/Perinci/CmdLine/Lite.pm
Perinci-CmdLine-Lite-1.822/META.yml
Perinci-CmdLine-Lite-1.822/devscripts/
Perinci-CmdLine-Lite-1.822/devscripts/bench-startup
Perinci-CmdLine-Lite-1.822/Makefile.PL
Perinci-CmdLine-Lite-1.822/LICENSE
Perinci-CmdLine-Lite-1.822/MANIFEST
Perinci-CmdLine-Lite-1.822/Changes
Perinci-CmdLine-Lite-1.822/t/
Perinci-CmdLine-Lite-1.822/t/author-critic.t
Perinci-CmdLine-Lite-1.822/t/00-compile.t
Perinci-CmdLine-Lite-1.822/t/suite.t
Perinci-CmdLine-Lite-1.822/t/author-pod-coverage.t
Perinci-CmdLine-Lite-1.822/t/author-pod-syntax.t
Perinci-CmdLine-Lite-1.822/README
Perinci-CmdLine-Lite-1.822/dist.ini
Configuring P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.822.tar.gz with Makefile.PL
>>> /data/fly2400/ap2400-300558/bin/perl-static Makefile.PL
Warning: prerequisite Complete::Bash 0.322 not found. We have 0.321.
Checking if your kit is complete...
Looks good
Have /data/fly2400/cpanfly-5.24/var/megalib
Want /home/fly2400/ap2400-300558/lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [x86_64-linux-thread-multi]
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.822.tar.gz
/data/fly2400/ap2400-300558/bin/perl-static Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.822.tar.gz
---- Unsatisfied dependencies detected during ----
---- PERLANCAR/Perinci-CmdLine-Lite-1.822.tar.gz ----
Complete::Bash [requires]
Getopt::Long [requires]
Running test for module 'Complete::Bash'
Checksum for /data/fly2400/cpanfly-5.24/var/cpan/sources/authors/id/P/PE/PERLANCAR/Complete-Bash-0.323.tar.gz ok
Complete-Bash-0.323/
Complete-Bash-0.323/weaver.ini
Complete-Bash-0.323/META.json
Complete-Bash-0.323/lib/
Complete-Bash-0.323/lib/Complete/
Complete-Bash-0.323/lib/Complete/Bash.pm
Complete-Bash-0.323/META.yml
Complete-Bash-0.323/Makefile.PL
Complete-Bash-0.323/LICENSE
Complete-Bash-0.323/MANIFEST
Complete-Bash-0.323/Changes
Complete-Bash-0.323/t/
Complete-Bash-0.323/t/author-critic.t
Complete-Bash-0.323/t/join_wordbreak_words.t
Complete-Bash-0.323/t/00-compile.t
Complete-Bash-0.323/t/author-pod-coverage.t
Complete-Bash-0.323/t/release-rinci.t
Complete-Bash-0.323/t/author-pod-syntax.t
Complete-Bash-0.323/t/parse_cmdline.t
Complete-Bash-0.323/t/point.t
Complete-Bash-0.323/t/format_completion.t
Complete-Bash-0.323/README
Complete-Bash-0.323/dist.ini
Configuring P/PE/PERLANCAR/Complete-Bash-0.323.tar.gz with Makefile.PL
>>> /data/fly2400/ap2400-300558/bin/perl-static Makefile.PL
Checking if your kit is complete...
Looks good
Have /data/fly2400/cpanfly-5.24/var/megalib
Want /home/fly2400/ap2400-300558/lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [x86_64-linux-thread-multi]
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 Complete::Bash
Writing MYMETA.yml and MYMETA.json
PERLANCAR/Complete-Bash-0.323.tar.gz
/data/fly2400/ap2400-300558/bin/perl-static Makefile.PL -- OK
Running make for P/PE/PERLANCAR/Complete-Bash-0.323.tar.gz
>>> make
cp lib/Complete/Bash.pm blib/lib/Complete/Bash.pm
Manifying 1 pod document
PERLANCAR/Complete-Bash-0.323.tar.gz
make -- OK
Running make test
>>> make test TEST_VERBOSE=1
PERL_DL_NONLAZY=1 "/data/fly2400/ap2400-300558/bin/perl-static" "-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 - Complete/Bash.pm loaded ok
ok
t/author-critic.t ......... skipped: these tests are for testing by the author
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/format_completion.t .....
# Subtest: accepts array of str
ok 1
1..1
ok 1 - accepts array of str
# Subtest: accepts array of hashref
ok 1
1..1
ok 2 - accepts array of hashref
# Subtest: esc_mode default
ok 1
1..1
ok 3 - esc_mode default
# Subtest: esc_mode none
ok 1
1..1
ok 4 - esc_mode none
# Subtest: esc_mode shellvar
ok 1
1..1
ok 5 - esc_mode shellvar
# Subtest: as array
ok 1
1..1
ok 6 - as array
# Subtest: path_sep /
ok 1
ok 2
1..2
ok 7 - path_sep /
# Subtest: path_sep ::
ok 1
ok 2
ok 3
1..3
ok 8 - path_sep ::
1..8
ok
t/join_wordbreak_words.t ..
# Subtest: basic
ok 1
1..1
ok 1 - basic
# Subtest: no join at CWORD
ok 1 - after truncate_current_word = 0
ok 2 - after truncate_current_word = 1
1..2
ok 2 - no join at CWORD
1..2
ok
t/parse_cmdline.t .........
# Subtest: basic
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
1..7
ok 1 - basic
# Subtest: whitespace before command
ok 1
1..1
ok 2 - whitespace before command
# Subtest: middle
ok 1
ok 2
ok 3
1..3
ok 3 - middle
# Subtest: escaped space
ok 1
ok 2
ok 3
ok 4
1..4
ok 4 - escaped space
# Subtest: double quotes
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
1..17
ok 5 - double quotes
# Subtest: single quotes
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
1..16
ok 6 - single quotes
# Subtest: word-breaking characters
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
1..12
ok 7 - word-breaking characters
# Subtest: variable substitution
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
1..7
ok 8 - variable substitution
# Subtest: tilde expansion
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
1..10
ok 9 - tilde expansion
# Subtest: opt:truncate_current_word
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
1..10
ok 10 - opt:truncate_current_word
1..10
ok
t/point.t .................
ok 1 - no marker -> dies
ok 2
ok 3
ok 4
1..4
ok
t/release-rinci.t ......... skipped: these tests are for release candidate testing
All tests successful.
Files=9, Tests=25, 1 wallclock secs ( 0.04 usr 0.04 sys + 0.79 cusr 0.16 csys = 1.03 CPU)
Result: PASS
PERLANCAR/Complete-Bash-0.323.tar.gz
make test TEST_VERBOSE=1 -- OK
perlancar <perlancar@gmail.com>
Completion routines for bash shell
>>> (cd /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Complete-Bash-0.323-mRjRmd && tar cvf - Complete-Bash-0.323.ppd blib) | gzip -c >/data/fly2400/cpanfly-5.24/var/REPO/P/PE/PERLANCAR/Complete-Bash-0.323.tar.gz
Complete-Bash-0.323.ppd
blib/
blib/man3/
blib/man3/Complete::Bash.3
blib/lib/
blib/lib/Complete/
blib/lib/Complete/Bash.pm
Running test for module 'Getopt::Long'
Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Complete-Bash-0.323-mRjRmd/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Complete-Bash-0.323-mRjRmd/blib/lib to PERL5LIB for 'get'
Checksum for /data/fly2400/cpanfly-5.24/var/cpan/sources/authors/id/J/JV/JV/Getopt-Long-2.50.tar.gz ok
Getopt-Long-2.50/
Getopt-Long-2.50/lib/
Getopt-Long-2.50/lib/newgetopt.pl
Getopt-Long-2.50/lib/Getopt/
Getopt-Long-2.50/lib/Getopt/Long.pm
Getopt-Long-2.50/META.json
Getopt-Long-2.50/META.yml
Getopt-Long-2.50/examples/
Getopt-Long-2.50/examples/skel4.pl
Getopt-Long-2.50/examples/skel3.pl
Getopt-Long-2.50/examples/skel1.pl
Getopt-Long-2.50/examples/parsetime.pl
Getopt-Long-2.50/examples/README
Getopt-Long-2.50/examples/skel2.pl
Getopt-Long-2.50/MANIFEST
Getopt-Long-2.50/Makefile.PL
Getopt-Long-2.50/CHANGES
Getopt-Long-2.50/t/
Getopt-Long-2.50/t/gol-compat.t
Getopt-Long-2.50/t/gol-basic.t
Getopt-Long-2.50/t/gol-xargv.t
Getopt-Long-2.50/t/gol-xstring.t
Getopt-Long-2.50/t/gol-linkage.t
Getopt-Long-2.50/t/gol-oo.t
Getopt-Long-2.50/README
Getopt-Long-2.50/INSTALL
Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Complete-Bash-0.323-mRjRmd/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Complete-Bash-0.323-mRjRmd/blib/lib to PERL5LIB for 'prepare'
Configuring J/JV/JV/Getopt-Long-2.50.tar.gz with Makefile.PL
>>> /data/fly2400/ap2400-300558/bin/perl-static Makefile.PL
Checking if your kit is complete...
Looks good
Have /data/fly2400/cpanfly-5.24/var/megalib
Want /home/fly2400/ap2400-300558/lib
Your perl and your Config.pm seem to have different ideas about the
architecture they are running on.
Perl thinks: [megalib]
Config says: [x86_64-linux-thread-multi]
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 Getopt::Long
Writing MYMETA.yml and MYMETA.json
JV/Getopt-Long-2.50.tar.gz
/data/fly2400/ap2400-300558/bin/perl-static Makefile.PL -- OK
Running make for J/JV/JV/Getopt-Long-2.50.tar.gz
Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Complete-Bash-0.323-mRjRmd/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Complete-Bash-0.323-mRjRmd/blib/lib to PERL5LIB for 'make'
>>> make
cp lib/newgetopt.pl blib/lib/newgetopt.pl
cp lib/Getopt/Long.pm blib/lib/Getopt/Long.pm
Manifying 1 pod document
JV/Getopt-Long-2.50.tar.gz
make -- OK
Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Complete-Bash-0.323-mRjRmd/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Complete-Bash-0.323-mRjRmd/blib/lib to PERL5LIB for 'test'
Running make test
>>> make test TEST_VERBOSE=1
PERL_DL_NONLAZY=1 "/data/fly2400/ap2400-300558/bin/perl-static" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
t/gol-basic.t ....
1..9
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok
t/gol-compat.t ...
1..9
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok
t/gol-linkage.t ..
1..37
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
ok 26
ok 27
ok 28
ok 29
ok 30
ok 31
ok 32
ok 33
ok 34
ok 35
ok 36
ok 37
ok
t/gol-oo.t .......
1..14
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok
t/gol-xargv.t ....
1..10
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok
t/gol-xstring.t ..
1..14
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok
All tests successful.
Files=6, Tests=93, 0 wallclock secs ( 0.03 usr 0.02 sys + 0.10 cusr 0.04 csys = 0.19 CPU)
Result: PASS
JV/Getopt-Long-2.50.tar.gz
make test TEST_VERBOSE=1 -- OK
PPD for Getopt-Long-2.50 already made
PERLANCAR/Perinci-CmdLine-Lite-1.822.tar.gz
Has already been unwrapped into directory /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Perinci-CmdLine-Lite-1.822-ReOJqr
PERLANCAR/Perinci-CmdLine-Lite-1.822.tar.gz
Has already been prepared
Running make for P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.822.tar.gz
Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Getopt-Long-2.50-Ef9I2y/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Getopt-Long-2.50-Ef9I2y/blib/lib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Complete-Bash-0.323-mRjRmd/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Complete-Bash-0.323-mRjRmd/blib/lib to PERL5LIB for 'make'
>>> 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/Base.pm blib/lib/Perinci/CmdLine/Base.pm
Manifying 2 pod documents
PERLANCAR/Perinci-CmdLine-Lite-1.822.tar.gz
make -- OK
Prepending /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Getopt-Long-2.50-Ef9I2y/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Getopt-Long-2.50-Ef9I2y/blib/lib /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Complete-Bash-0.323-mRjRmd/blib/arch /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Complete-Bash-0.323-mRjRmd/blib/lib to PERL5LIB for 'test'
Running make test
>>> make test TEST_VERBOSE=1
Skip blib/lib/auto/share/dist/Perinci-CmdLine-Lite/templates/synopsis.txt (unchanged)
Skip blib/lib/auto/share/dist/Perinci-CmdLine-Lite/templates/description.txt (unchanged)
PERL_DL_NONLAZY=1 "/data/fly2400/ap2400-300558/bin/perl-static" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t ...........
1..2
ok 1 - Perinci/CmdLine/Base.pm loaded ok
ok 2 - Perinci/CmdLine/Lite.pm loaded ok
ok
t/author-critic.t ........ skipped: these tests are for testing by the author
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/suite.t ................
# Subtest: help action
ok 1 - dummy
# Subtest: --help
# Generated CLI script at /tmp/Y4M5ISy01W/cliy3mOCbXt
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliy3mOCbXt',
# '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/Y4M5ISy01W/cliDAixtgxX
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliDAixtgxX',
# '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/Y4M5ISy01W/cliDQTYHoFB
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliDQTYHoFB',
# '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/Y4M5ISy01W/cliCZVewhD5
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliCZVewhD5',
# '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/Y4M5ISy01W/cliTKsLaXOe
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliTKsLaXOe',
# '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/Y4M5ISy01W/cliS5IGoSwx
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliS5IGoSwx',
# '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/Y4M5ISy01W/clisK_XgT9A
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clisK_XgT9A',
# '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/Y4M5ISy01W/cli8HjerMME
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cli8HjerMME',
# '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/Y4M5ISy01W/cli8iwWIfaQ
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cli8iwWIfaQ',
# '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/Y4M5ISy01W/climbvEMJLb
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'default_subcommand' => 'noop',
# 'output_file' => '/tmp/Y4M5ISy01W/climbvEMJLb',
# '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/Y4M5ISy01W/cligcXIqZ9P
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'default_subcommand' => 'odd_even',
# 'output_file' => '/tmp/Y4M5ISy01W/cligcXIqZ9P',
# '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/Y4M5ISy01W/clinFSkLokG
# 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/Y4M5ISy01W/clinFSkLokG',
# '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/Y4M5ISy01W/cliJkMW3v5v
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliJkMW3v5v',
# '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/Y4M5ISy01W/cli4vBgRyRT
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cli4vBgRyRT',
# '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/Y4M5ISy01W/clipTjFpnfX
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clipTjFpnfX',
# '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/Y4M5ISy01W/clij8bkEIBO
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clij8bkEIBO',
# '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/Y4M5ISy01W/clihd9n9mNq
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clihd9n9mNq',
# '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/Y4M5ISy01W/cliwipJxvO0
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliwipJxvO0',
# '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/Y4M5ISy01W/cliQLBenFXU
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'default_subcommand' => 'noop',
# 'output_file' => '/tmp/Y4M5ISy01W/cliQLBenFXU',
# '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/Y4M5ISy01W/cliq5WP9Lb0
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliq5WP9Lb0',
# '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/Y4M5ISy01W/cliZiOW2k0Y
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliZiOW2k0Y',
# '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/Y4M5ISy01W/cliIgy1OYDC
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliIgy1OYDC',
# '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/Y4M5ISy01W/cliD9TupOmY
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliD9TupOmY',
# '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/Y4M5ISy01W/clirEJbZHql
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clirEJbZHql',
# '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/Y4M5ISy01W/cliZX5Zwg2b
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliZX5Zwg2b',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_file'
# }
# argv: [
# '--a1',
# '/tmp/Y4M5ISy01W/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/Y4M5ISy01W/cli_iqAJME5
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cli_iqAJME5',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_file'
# }
# argv: [
# '--json',
# '--a1',
# '/tmp/Y4M5ISy01W/infile1'
# ]
# Script's stdout: <[200,"OK","a1=foo\na2=[]",{"func.args":{"-cmdline_src_a1":"file","-cmdline_srcfilenames_a1":["/tmp/Y4M5ISy01W/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/Y4M5ISy01W/cliy33E_1Rp
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliy33E_1Rp',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_file'
# }
# argv: [
# '--a1',
# '/tmp/Y4M5ISy01W/infile1',
# '--a2',
# '/tmp/Y4M5ISy01W/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/Y4M5ISy01W/cliviW7BEZS
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliviW7BEZS',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_file'
# }
# argv: [
# '--json',
# '--a1',
# '/tmp/Y4M5ISy01W/infile1',
# '--a2',
# '/tmp/Y4M5ISy01W/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/Y4M5ISy01W/infile1"],"-cmdline_srcfilenames_a2":["/tmp/Y4M5ISy01W/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/Y4M5ISy01W/cliIaVzNn84
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliIaVzNn84',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_file'
# }
# argv: [
# '--a1',
# '/tmp/Y4M5ISy01W/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/Y4M5ISy01W/clip5Is1qrl
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clip5Is1qrl',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_file'
# }
# argv: [
# '--a2',
# '/tmp/Y4M5ISy01W/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/Y4M5ISy01W/cliyZSFP9SN
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliyZSFP9SN',
# '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/Y4M5ISy01W/cliBu0AmzPa
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliBu0AmzPa',
# '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: <>
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/Y4M5ISy01W/cliQendjOcw
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliQendjOcw',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_array'
# }
# argv: []
# Script's stdout:
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 4 - stdin array
# Subtest: stdin + arg set to "-"
# Generated CLI script at /tmp/Y4M5ISy01W/cliG3a_9Lqr
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliG3a_9Lqr',
# '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/Y4M5ISy01W/cliIAcfLzc5
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliIAcfLzc5',
# '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/Y4M5ISy01W/cliUnMi862c
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliUnMi862c',
# '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/Y4M5ISy01W/clicwWJmI6A
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clicwWJmI6A',
# '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: <>
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/Y4M5ISy01W/clixh64leog
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clixh64leog',
# '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/Y4M5ISy01W/cliF8IxalJz
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliF8IxalJz',
# '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/Y4M5ISy01W/cli0HVEixfD
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cli0HVEixfD',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_file_str'
# }
# argv: [
# '/tmp/Y4M5ISy01W/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/Y4M5ISy01W/cli5jvzD7xt
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cli5jvzD7xt',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_file_str'
# }
# argv: [
# '/tmp/Y4M5ISy01W/infile1',
# '/tmp/Y4M5ISy01W/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/Y4M5ISy01W/clioCHn_ZMa
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clioCHn_ZMa',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_file_str'
# }
# argv: [
# '--json',
# '/tmp/Y4M5ISy01W/infile1'
# ]
# Script's stdout: <[200,"OK","a1=foo",{"func.args":{"-cmdline_src_a1":"stdin_or_file","-cmdline_srcfilenames_a1":["/tmp/Y4M5ISy01W/infile1"],"a1":"foo"},"stream":0}]
# >
# Script's stderr: <>
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/Y4M5ISy01W/cliIvtKmeeM
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliIvtKmeeM',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_file_str'
# }
# argv: [
# '/tmp/Y4M5ISy01W/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/Y4M5ISy01W/cli5RiMO7Uv
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cli5RiMO7Uv',
# '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/Y4M5ISy01W/climpUZBzZ9
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/climpUZBzZ9',
# '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: <>
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/Y4M5ISy01W/clic5YY4AKA
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clic5YY4AKA',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_files_array'
# }
# argv: [
# '/tmp/Y4M5ISy01W/infile1',
# '/tmp/Y4M5ISy01W/infile2'
# ]
# Script's stdout:
# Script's stderr: <>
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/Y4M5ISy01W/cliS1JQrSDR
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliS1JQrSDR',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_files_str'
# }
# argv: [
# '--json',
# '/tmp/Y4M5ISy01W/infile1'
# ]
# Script's stdout: <[200,"OK","a1=foo",{"func.args":{"-cmdline_src_a1":"stdin_or_files","-cmdline_srcfilenames_a1":["/tmp/Y4M5ISy01W/infile1"],"a1":"foo"},"stream":0}]
# >
# Script's stderr: <>
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/Y4M5ISy01W/cliy4oGlUNu
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliy4oGlUNu',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/CmdLineSrc/cmdline_src_stdin_or_files_str'
# }
# argv: [
# '/tmp/Y4M5ISy01W/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/Y4M5ISy01W/cliIV9lmNQo
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliIV9lmNQo',
# '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/Y4M5ISy01W/clie3Pij8hg
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clie3Pij8hg',
# '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: <>
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/Y4M5ISy01W/cli948RfcCc
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cli948RfcCc',
# '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/Y4M5ISy01W/clilvzUZxcB
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clilvzUZxcB',
# '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: <>
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/Y4M5ISy01W/cliVHhXVJlE
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliVHhXVJlE',
# '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/Y4M5ISy01W/clidwPVNagA
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clidwPVNagA',
# '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/Y4M5ISy01W/cliHQvzikCV
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliHQvzikCV',
# '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/Y4M5ISy01W/cliBLYjmhtu
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliBLYjmhtu',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Stream/count_lines'
# }
# argv: [
# '/tmp/Y4M5ISy01W/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/Y4M5ISy01W/clihExVoUGr
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clihExVoUGr',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Stream/wc'
# }
# argv: [
# '/tmp/Y4M5ISy01W/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/Y4M5ISy01W/cliw3YzVDNv
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliw3YzVDNv',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Stream/wc_keys'
# }
# argv: [
# '/tmp/Y4M5ISy01W/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/Y4M5ISy01W/cli9FqJDYRL
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cli9FqJDYRL',
# '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/Y4M5ISy01W/climcU9n1Jy
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/climcU9n1Jy',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 0,
# 'url' => '/Perinci/Examples/Stream/square_nums'
# }
# argv: [
# '/tmp/Y4M5ISy01W/infile-int'
# ]
# Script's stdout: <1
# 9
# 25
# >
# Script's stderr: <>
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/Y4M5ISy01W/clie547U1GV
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clie547U1GV',
# '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/Y4M5ISy01W/cliDgPiXqec
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliDgPiXqec',
# '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/Y4M5ISy01W/cliBoLLMRYP
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliBoLLMRYP',
# '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/Y4M5ISy01W/clibdrSAsns
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clibdrSAsns',
# '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/Y4M5ISy01W/cli3hbdE3wu
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cli3hbdE3wu',
# '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/Y4M5ISy01W/cliA3bZO4bm
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliA3bZO4bm',
# '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/Y4M5ISy01W/clioNAxvKrY
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clioNAxvKrY',
# '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/Y4M5ISy01W/cliZIxdbuBs
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliZIxdbuBs',
# '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/Y4M5ISy01W/cliygmvyr5g
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cliygmvyr5g',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 1,
# 'script_name' => 'sum-nums',
# 'url' => '/Perinci/Examples/Tiny/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: default env name prefixed by _ if script name starts with number
# Generated CLI script at /tmp/Y4M5ISy01W/clilJ8GLgDv
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clilJ8GLgDv',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 1,
# 'script_name' => '0sum-nums',
# 'url' => '/Perinci/Examples/Tiny/sum'
# }
# argv: [
# '3'
# ]
# Script's stdout: <6
# >
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 3 - default env name prefixed by _ if script name starts with number
# Subtest: turned off via --no-env
# Generated CLI script at /tmp/Y4M5ISy01W/cli3RXBn9Bv
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/cli3RXBn9Bv',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 1,
# 'script_name' => 'sum-nums',
# 'url' => '/Perinci/Examples/Tiny/sum'
# }
# argv: [
# '--no-env',
# '3'
# ]
# Script's stdout: <3
# >
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 4 - turned off via --no-env
# Subtest: attr:env_name
# Generated CLI script at /tmp/Y4M5ISy01W/cliPIRNK93J
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'env_name' => 'foo_opt',
# 'output_file' => '/tmp/Y4M5ISy01W/cliPIRNK93J',
# 'overwrite' => 1,
# 'read_config' => 0,
# 'read_env' => 1,
# 'script_name' => 'sum-nums',
# 'url' => '/Perinci/Examples/Tiny/sum'
# }
# argv: [
# '3'
# ]
# Script's stdout: <18
# >
# Script's stderr: <>
ok 1 - exit_code
ok 2 - stdout_like
1..2
ok 5 - attr:env_name
1..5
ok 17 - env
# Subtest: config file
ok 1 - dummy
# Subtest: attr:config_dirs
# Generated CLI script at /tmp/Y4M5ISy01W/clie_O8Myof
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/Y4M5ISy01W'
# ],
# 'output_file' => '/tmp/Y4M5ISy01W/clie_O8Myof',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/Tiny/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/Y4M5ISy01W/clia947m2d4
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/Y4M5ISy01W'
# ],
# 'config_filename' => 'prog2.conf',
# 'output_file' => '/tmp/Y4M5ISy01W/clia947m2d4',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/Tiny/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/Y4M5ISy01W/cli7KQkFaDp
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/Y4M5ISy01W'
# ],
# 'config_filename' => [
# {
# 'filename' => 'prog4.conf',
# 'section' => 'prog'
# },
# 'prog2.conf'
# ],
# 'output_file' => '/tmp/Y4M5ISy01W/cli7KQkFaDp',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/Tiny/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/Y4M5ISy01W/clivY9DvC7K
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/Y4M5ISy01W'
# ],
# 'config_filename' => [
# {
# 'filename' => 'prog4.conf',
# 'section' => 'prog'
# },
# 'prog2.conf'
# ],
# 'output_file' => '/tmp/Y4M5ISy01W/clivY9DvC7K',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/Tiny/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/Y4M5ISy01W/cliHZ44DewY
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/Y4M5ISy01W'
# ],
# 'output_file' => '/tmp/Y4M5ISy01W/cliHZ44DewY',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/Tiny/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/Y4M5ISy01W/clilIzNL1Yp
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'output_file' => '/tmp/Y4M5ISy01W/clilIzNL1Yp',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/Tiny/noop2'
# }
# argv: [
# '--config-path',
# '/tmp/Y4M5ISy01W/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/Y4M5ISy01W/cli2FIBufJd
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/Y4M5ISy01W'
# ],
# 'output_file' => '/tmp/Y4M5ISy01W/cli2FIBufJd',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/Tiny/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/Y4M5ISy01W/cli45sQJHDa
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/Y4M5ISy01W'
# ],
# 'output_file' => '/tmp/Y4M5ISy01W/cli45sQJHDa',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'url' => '/Perinci/Examples/Tiny/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/Y4M5ISy01W/cliAu5ZuW94
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/Y4M5ISy01W'
# ],
# 'output_file' => '/tmp/Y4M5ISy01W/cliAu5ZuW94',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'foo',
# 'url' => '/Perinci/Examples/Tiny/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/Y4M5ISy01W/cliooovw9Lv
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/Y4M5ISy01W'
# ],
# 'output_file' => '/tmp/Y4M5ISy01W/cliooovw9Lv',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'subcommands' => {
# 'subcommand1' => '/Perinci/Examples/Tiny/noop2'
# },
# 'url' => '/Perinci/Examples/Tiny/'
# }
# 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/Y4M5ISy01W/clizqncRKru
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/Y4M5ISy01W'
# ],
# 'output_file' => '/tmp/Y4M5ISy01W/clizqncRKru',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog',
# 'subcommands' => {
# 'subcommand1' => '/Perinci/Examples/Tiny/noop2'
# },
# 'url' => '/Perinci/Examples/Tiny/'
# }
# 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/Y4M5ISy01W/cliNVsKLQCZ
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/Y4M5ISy01W'
# ],
# 'output_file' => '/tmp/Y4M5ISy01W/cliNVsKLQCZ',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'sum',
# 'url' => '/Perinci/Examples/Tiny/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/Y4M5ISy01W/clioiQOgVtL
# gen_pericmd_script args: {
# 'cmdline' => 'Perinci::CmdLine::Lite',
# 'config_dirs' => [
# '/tmp/Y4M5ISy01W'
# ],
# 'output_file' => '/tmp/Y4M5ISy01W/clioiQOgVtL',
# 'overwrite' => 1,
# 'read_config' => 1,
# 'read_env' => 0,
# 'script_name' => 'prog3',
# 'url' => '/Perinci/Examples/Tiny/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/Y4M5ISy01W
1..18
ok
All tests successful.
Files=5, Tests=20, 14 wallclock secs ( 0.11 usr 0.02 sys + 10.23 cusr 2.78 csys = 13.14 CPU)
Result: PASS
PERLANCAR/Perinci-CmdLine-Lite-1.822.tar.gz
make test TEST_VERBOSE=1 -- OK
perlancar <perlancar@gmail.com>
A Rinci/Riap-based command-line application framework
>>> (cd /data/fly2400/cpanfly-5.24/var/tmp/cpan_build/Perinci-CmdLine-Lite-1.822-ReOJqr && tar cvf - Perinci-CmdLine-Lite-1.822.ppd blib) | gzip -c >/data/fly2400/cpanfly-5.24/var/REPO/P/PE/PERLANCAR/Perinci-CmdLine-Lite-1.822.tar.gz
Perinci-CmdLine-Lite-1.822.ppd
blib/
blib/man3/
blib/man3/Perinci::CmdLine::Lite.3
blib/man3/Perinci::CmdLine::Base.3
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
VmSize: 395256 kB
Finished 2019-06-28T02:04:54