PATH=/usr/bin:/bin:/home/fly1800/var/megalib/bin Start 2013-10-03T08:03:10 ActivePerl-1800 CPAN-2.00 Reading '/home/fly1800/var/cpan/Metadata' Database was generated on Thu, 03 Oct 2013 14:08:23 GMT Running make for S/SH/SHARYANTO/Perinci-Access-Perl-0.52.tar.gz Checksum for /net/nas/data/cpan/authors/id/S/SH/SHARYANTO/Perinci-Access-Perl-0.52.tar.gz ok Perinci-Access-Perl-0.52/ Perinci-Access-Perl-0.52/Changes Perinci-Access-Perl-0.52/LICENSE Perinci-Access-Perl-0.52/MANIFEST Perinci-Access-Perl-0.52/lib/ Perinci-Access-Perl-0.52/lib/Perinci/ Perinci-Access-Perl-0.52/lib/Perinci/Access/ Perinci-Access-Perl-0.52/lib/Perinci/Access/Perl.pm Perinci-Access-Perl-0.52/lib/Perinci/Access/Schemeless.pm Perinci-Access-Perl-0.52/MANIFEST.SKIP Perinci-Access-Perl-0.52/README Perinci-Access-Perl-0.52/META.json Perinci-Access-Perl-0.52/Makefile.PL Perinci-Access-Perl-0.52/dist.ini Perinci-Access-Perl-0.52/t/ Perinci-Access-Perl-0.52/t/schemeless.t Perinci-Access-Perl-0.52/t/release-rinci.t Perinci-Access-Perl-0.52/t/perl.t Perinci-Access-Perl-0.52/t/opt-disk_cache.t Perinci-Access-Perl-0.52/t/release-pod-coverage.t Perinci-Access-Perl-0.52/t/00-compile.t Perinci-Access-Perl-0.52/t/release-pod-syntax.t Perinci-Access-Perl-0.52/META.yml CPAN.pm: Building S/SH/SHARYANTO/Perinci-Access-Perl-0.52.tar.gz >>> /home/fly1800/ap1800-297235/bin/perl-static Makefile.PL Warning: prerequisite Perinci::Sub::Wrapper 0.46 not found. Warning: prerequisite SHARYANTO::Package::Util 0 not found. Checking if your kit is complete... Looks good Generating a GNU-style Makefile Writing Makefile for Perinci::Access::Perl Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/Perinci-Access-Perl-0.52.tar.gz ---- SHARYANTO::Package::Util [requires] Perinci::Sub::Wrapper [requires] Running make test Delayed until after prerequisites Running test for module 'SHARYANTO::Package::Util' Running make for S/SH/SHARYANTO/SHARYANTO-Package-Util-0.56.tar.gz Checksum for /net/nas/data/cpan/authors/id/S/SH/SHARYANTO/SHARYANTO-Package-Util-0.56.tar.gz ok SHARYANTO-Package-Util-0.56/ SHARYANTO-Package-Util-0.56/Changes SHARYANTO-Package-Util-0.56/LICENSE SHARYANTO-Package-Util-0.56/MANIFEST SHARYANTO-Package-Util-0.56/lib/ SHARYANTO-Package-Util-0.56/lib/SHARYANTO/ SHARYANTO-Package-Util-0.56/lib/SHARYANTO/Package/ SHARYANTO-Package-Util-0.56/lib/SHARYANTO/Package/Util.pm SHARYANTO-Package-Util-0.56/MANIFEST.SKIP SHARYANTO-Package-Util-0.56/README SHARYANTO-Package-Util-0.56/META.json SHARYANTO-Package-Util-0.56/Makefile.PL SHARYANTO-Package-Util-0.56/dist.ini SHARYANTO-Package-Util-0.56/t/ SHARYANTO-Package-Util-0.56/t/release-rinci.t SHARYANTO-Package-Util-0.56/t/release-pod-coverage.t SHARYANTO-Package-Util-0.56/t/00-compile.t SHARYANTO-Package-Util-0.56/t/package_util.t SHARYANTO-Package-Util-0.56/t/release-pod-syntax.t SHARYANTO-Package-Util-0.56/weaver.ini SHARYANTO-Package-Util-0.56/META.yml CPAN.pm: Building S/SH/SHARYANTO/SHARYANTO-Package-Util-0.56.tar.gz >>> /home/fly1800/ap1800-297235/bin/perl-static Makefile.PL Checking if your kit is complete... Looks good Generating a GNU-style Makefile Writing Makefile for SHARYANTO::Package::Util Writing MYMETA.yml and MYMETA.json >>> make cp lib/SHARYANTO/Package/Util.pm blib/lib/SHARYANTO/Package/Util.pm Manifying blib/man3/SHARYANTO::Package::Util.3 SHARYANTO/SHARYANTO-Package-Util-0.56.tar.gz make -- OK Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 /home/fly1800/ap1800-297235/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 ............ ok 1 - SHARYANTO/Package/Util.pm loaded ok 1..1 ok t/package_util.t .......... ok 1 - package_exists 1 ok 2 - package_exists 1b ok 3 - package_exists 2 ok 4 - package_exists 3 ok 5 - list_package_contents 1 ok 6 - list_subpackages 1 ok 7 - list_subpackages 1 ok 8 - list_subpackages 2 1..8 ok t/release-pod-coverage.t .. skipped: these tests are for release candidate testing t/release-pod-syntax.t .... skipped: these tests are for release candidate testing t/release-rinci.t ......... skipped: these tests are for release candidate testing All tests successful. Files=5, Tests=9, 0 wallclock secs ( 0.04 usr 0.01 sys + 0.21 cusr 0.02 csys = 0.28 CPU) Result: PASS SHARYANTO/SHARYANTO-Package-Util-0.56.tar.gz make test TEST_VERBOSE=1 -- OK PPD for SHARYANTO-Package-Util-0.56 already made Running test for module 'Perinci::Sub::Wrapper' Running make for S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.46.tar.gz Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'get' Checksum for /net/nas/data/cpan/authors/id/S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.46.tar.gz ok Perinci-Sub-Wrapper-0.46/ Perinci-Sub-Wrapper-0.46/README Perinci-Sub-Wrapper-0.46/lib/ Perinci-Sub-Wrapper-0.46/lib/Test/ Perinci-Sub-Wrapper-0.46/lib/Test/Perinci/ Perinci-Sub-Wrapper-0.46/lib/Test/Perinci/Sub/ Perinci-Sub-Wrapper-0.46/lib/Test/Perinci/Sub/Wrapper.pm Perinci-Sub-Wrapper-0.46/lib/Perinci/ Perinci-Sub-Wrapper-0.46/lib/Perinci/Sub/ Perinci-Sub-Wrapper-0.46/lib/Perinci/Sub/Wrapper.pm Perinci-Sub-Wrapper-0.46/Makefile.PL Perinci-Sub-Wrapper-0.46/MANIFEST.SKIP Perinci-Sub-Wrapper-0.46/Changes Perinci-Sub-Wrapper-0.46/dist.ini Perinci-Sub-Wrapper-0.46/LICENSE Perinci-Sub-Wrapper-0.46/t/ Perinci-Sub-Wrapper-0.46/t/00-compile.t Perinci-Sub-Wrapper-0.46/t/01-basics.t Perinci-Sub-Wrapper-0.46/t/opt-allow_unknown_args.t Perinci-Sub-Wrapper-0.46/t/release-pod-coverage.t Perinci-Sub-Wrapper-0.46/t/opt-skip.t Perinci-Sub-Wrapper-0.46/t/opt-validate_result.t Perinci-Sub-Wrapper-0.46/t/wrap_all_subs.t Perinci-Sub-Wrapper-0.46/t/release-pod-syntax.t Perinci-Sub-Wrapper-0.46/t/prop-result.t Perinci-Sub-Wrapper-0.46/t/opt-sub_name.t Perinci-Sub-Wrapper-0.46/t/opt-remove_internal_properties.t Perinci-Sub-Wrapper-0.46/t/prop-args.t Perinci-Sub-Wrapper-0.46/t/release-rinci.t Perinci-Sub-Wrapper-0.46/t/opt-validate_args.t Perinci-Sub-Wrapper-0.46/t/prop-features.t Perinci-Sub-Wrapper-0.46/t/prop-deps.t Perinci-Sub-Wrapper-0.46/t/opt-allow_invalid_args.t Perinci-Sub-Wrapper-0.46/weaver.ini Perinci-Sub-Wrapper-0.46/MANIFEST Perinci-Sub-Wrapper-0.46/META.json Perinci-Sub-Wrapper-0.46/META.yml Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.46.tar.gz >>> /home/fly1800/ap1800-297235/bin/perl-static Makefile.PL Warning: prerequisite Data::Sah 0.14 not found. Checking if your kit is complete... Looks good Generating a GNU-style Makefile Writing Makefile for Perinci::Sub::Wrapper Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/Perinci-Sub-Wrapper-0.46.tar.gz ---- Data::Sah [requires] Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'test' Running make test Delayed until after prerequisites Running test for module 'Data::Sah' Running make for S/SH/SHARYANTO/Data-Sah-0.18.tar.gz Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'get' Checksum for /net/nas/data/cpan/authors/id/S/SH/SHARYANTO/Data-Sah-0.18.tar.gz ok Data-Sah-0.18/ Data-Sah-0.18/README Data-Sah-0.18/lib/ Data-Sah-0.18/lib/Data/ Data-Sah-0.18/lib/Data/Sah/ Data-Sah-0.18/lib/Data/Sah/Lang/ Data-Sah-0.18/lib/Data/Sah/Lang/zh_CN.pm Data-Sah-0.18/lib/Data/Sah/Lang/fr_FR.pm Data-Sah-0.18/lib/Data/Sah/Lang/id_ID.pm Data-Sah-0.18/lib/Data/Sah/Type/ Data-Sah-0.18/lib/Data/Sah/Type/undef.pm Data-Sah-0.18/lib/Data/Sah/Type/hash.pm Data-Sah-0.18/lib/Data/Sah/Type/re.pm Data-Sah-0.18/lib/Data/Sah/Type/any.pm Data-Sah-0.18/lib/Data/Sah/Type/code.pm Data-Sah-0.18/lib/Data/Sah/Type/bool.pm Data-Sah-0.18/lib/Data/Sah/Type/all.pm Data-Sah-0.18/lib/Data/Sah/Type/num.pm Data-Sah-0.18/lib/Data/Sah/Type/Comparable.pm Data-Sah-0.18/lib/Data/Sah/Type/array.pm Data-Sah-0.18/lib/Data/Sah/Type/Sortable.pm Data-Sah-0.18/lib/Data/Sah/Type/BaseType.pm Data-Sah-0.18/lib/Data/Sah/Type/str.pm Data-Sah-0.18/lib/Data/Sah/Type/obj.pm Data-Sah-0.18/lib/Data/Sah/Type/buf.pm Data-Sah-0.18/lib/Data/Sah/Type/HasElems.pm Data-Sah-0.18/lib/Data/Sah/Type/float.pm Data-Sah-0.18/lib/Data/Sah/Type/int.pm Data-Sah-0.18/lib/Data/Sah/Compiler.pm Data-Sah-0.18/lib/Data/Sah/Manual/ Data-Sah-0.18/lib/Data/Sah/Manual/Extending.pod Data-Sah-0.18/lib/Data/Sah/Schema/ Data-Sah-0.18/lib/Data/Sah/Schema/Common.pm Data-Sah-0.18/lib/Data/Sah/Schema/sah.pm Data-Sah-0.18/lib/Data/Sah/Util/ Data-Sah-0.18/lib/Data/Sah/Util/Role.pm Data-Sah-0.18/lib/Data/Sah/Util/Func.pm Data-Sah-0.18/lib/Data/Sah/Util/TypeX.pm Data-Sah-0.18/lib/Data/Sah/Compiler/ Data-Sah-0.18/lib/Data/Sah/Compiler/human/ Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/ Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/hash.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/re.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/any.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/code.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/bool.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/all.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/num.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/Comparable.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/array.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/Sortable.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/str.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/obj.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/HasElems.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/float.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH/int.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human/TH.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/ Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/ Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/hash.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/re.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/any.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/code.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/bool.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/all.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/num.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/array.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/str.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/obj.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/float.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH/int.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js/TH.pm Data-Sah-0.18/lib/Data/Sah/Compiler/human.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl.pm Data-Sah-0.18/lib/Data/Sah/Compiler/Prog/ Data-Sah-0.18/lib/Data/Sah/Compiler/Prog/TH/ Data-Sah-0.18/lib/Data/Sah/Compiler/Prog/TH/any.pm Data-Sah-0.18/lib/Data/Sah/Compiler/Prog/TH/all.pm Data-Sah-0.18/lib/Data/Sah/Compiler/Prog/TH.pm Data-Sah-0.18/lib/Data/Sah/Compiler/Prog.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/ Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/ Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/hash.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/re.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/any.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/code.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/bool.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/all.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/num.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/array.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/str.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/obj.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/float.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH/int.pm Data-Sah-0.18/lib/Data/Sah/Compiler/perl/TH.pm Data-Sah-0.18/lib/Data/Sah/Compiler/TH.pm Data-Sah-0.18/lib/Data/Sah/Compiler/TextResultRole.pm Data-Sah-0.18/lib/Data/Sah/Compiler/js.pm Data-Sah-0.18/lib/Data/Sah/Lang.pm Data-Sah-0.18/lib/Data/Sah.pm Data-Sah-0.18/Makefile.PL Data-Sah-0.18/MANIFEST.SKIP Data-Sah-0.18/Changes Data-Sah-0.18/dist.ini Data-Sah-0.18/LICENSE Data-Sah-0.18/t/ Data-Sah-0.18/t/00-compile.t Data-Sah-0.18/t/01-basics.t Data-Sah-0.18/t/testlib.pl Data-Sah-0.18/t/perl-type-re.t Data-Sah-0.18/t/spectest-perl.t Data-Sah-0.18/t/human-id_ID.t Data-Sah-0.18/t/release-pod-coverage.t Data-Sah-0.18/t/spectest-js.t Data-Sah-0.18/t/human-en_US.t Data-Sah-0.18/t/perl-type-obj.t Data-Sah-0.18/t/release-pod-syntax.t Data-Sah-0.18/t/perl-type-code.t Data-Sah-0.18/t/spectest-human.t- Data-Sah-0.18/t/perl-type-str.t Data-Sah-0.18/t/perl-type-float.t Data-Sah-0.18/t/release-rinci.t Data-Sah-0.18/t/perl-type-bool.t Data-Sah-0.18/MANIFEST Data-Sah-0.18/META.json Data-Sah-0.18/META.yml Data-Sah-0.18/devscripts/ Data-Sah-0.18/devscripts/list-missing-translations Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Data-Sah-0.18.tar.gz >>> /home/fly1800/ap1800-297235/bin/perl-static Makefile.PL Warning: prerequisite Language::Expr 0.13 not found. Warning: prerequisite Language::Expr::Interpreter::VarEnumer 0.13 not found. Checking if your kit is complete... Looks good Generating a GNU-style Makefile Writing Makefile for Data::Sah Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/Data-Sah-0.18.tar.gz ---- Language::Expr [requires] Language::Expr::Interpreter::VarEnumer [requires] Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'test' Running make test Delayed until after prerequisites Running test for module 'Language::Expr' Running make for S/SH/SHARYANTO/Language-Expr-0.21.tar.gz Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'get' Checksum for /net/nas/data/cpan/authors/id/S/SH/SHARYANTO/Language-Expr-0.21.tar.gz ok Language-Expr-0.21/ Language-Expr-0.21/Changes Language-Expr-0.21/LICENSE Language-Expr-0.21/MANIFEST Language-Expr-0.21/lib/ Language-Expr-0.21/lib/Language/ Language-Expr-0.21/lib/Language/Expr/ Language-Expr-0.21/lib/Language/Expr/Parser.pm Language-Expr-0.21/lib/Language/Expr/EvaluatorRole.pm Language-Expr-0.21/lib/Language/Expr/Interpreter/ Language-Expr-0.21/lib/Language/Expr/Interpreter/VarEnumer.pm Language-Expr-0.21/lib/Language/Expr/Interpreter/Dummy.pm Language-Expr-0.21/lib/Language/Expr/Interpreter/Default.pm Language-Expr-0.21/lib/Language/Expr/Compiler/ Language-Expr-0.21/lib/Language/Expr/Compiler/Perl.pm Language-Expr-0.21/lib/Language/Expr/Compiler/JS.pm Language-Expr-0.21/lib/Language/Expr/Compiler/PHP.pm Language-Expr-0.21/lib/Language/Expr/Compiler/Base.pm Language-Expr-0.21/lib/Language/Expr/Manual/ Language-Expr-0.21/lib/Language/Expr/Manual/Syntax.pod Language-Expr-0.21/lib/Language/Expr/Evaluator.pm Language-Expr-0.21/lib/Language/Expr.pm Language-Expr-0.21/MANIFEST.SKIP Language-Expr-0.21/README Language-Expr-0.21/META.json Language-Expr-0.21/dist.ini Language-Expr-0.21/t-disabled/ Language-Expr-0.21/t-disabled/eval-js.t Language-Expr-0.21/t-disabled/eval-php.t Language-Expr-0.21/t/ Language-Expr-0.21/t/release-rinci.t Language-Expr-0.21/t/01-basics.t Language-Expr-0.21/t/release-pod-coverage.t Language-Expr-0.21/t/hook_var.t Language-Expr-0.21/t/hook_func.t Language-Expr-0.21/t/00-compile.t Language-Expr-0.21/t/stdtests.pl Language-Expr-0.21/t/testlib.pl Language-Expr-0.21/t/release-pod-syntax.t Language-Expr-0.21/t/enum_vars.t Language-Expr-0.21/t/eval.t Language-Expr-0.21/Build.PL Language-Expr-0.21/META.yml Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Language-Expr-0.21.tar.gz >>> /home/fly1800/ap1800-297235/bin/perl-static Build.PL Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Language-Expr' version '0.21' >>> ./Build Building Language-Expr SHARYANTO/Language-Expr-0.21.tar.gz ./Build -- OK Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'test' Running Build test >>> ./Build test verbose=1 Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. t/00-compile.t ............ ok 1 - Language/Expr.pm loaded ok ok 2 - Language/Expr/Compiler/Base.pm loaded ok ok 3 - Language/Expr/Compiler/JS.pm loaded ok ok 4 - Language/Expr/Compiler/PHP.pm loaded ok ok 5 - Language/Expr/Compiler/Perl.pm loaded ok ok 6 - Language/Expr/Evaluator.pm loaded ok ok 7 - Language/Expr/EvaluatorRole.pm loaded ok ok 8 - Language/Expr/Interpreter/Default.pm loaded ok ok 9 - Language/Expr/Interpreter/Dummy.pm loaded ok ok 10 - Language/Expr/Interpreter/VarEnumer.pm loaded ok ok 11 - Language/Expr/Parser.pm loaded ok 1..11 ok Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. Can't call method "rule_dquotestr" on an undefined value at (eval 31) line 994. # Looks like your test exited with 255 before it could output anything. t/01-basics.t ............. 1..8 Dubious, test returned 255 (wstat 65280, 0xff00) Failed 8/8 subtests Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. Can't call method "rule_array" on an undefined value at (eval 27) line 809. # Looks like your test exited with 255 before it could output anything. t/enum_vars.t ............. 1..9 Dubious, test returned 255 (wstat 65280, 0xff00) Failed 9/9 subtests Name "Language::Expr::Compiler::Perl::a" used only once: possible typo at t/eval.t line 14. Name "Language::Expr::Compiler::Perl::hash1" used only once: possible typo at t/eval.t line 17. Name "Language::Expr::Compiler::Perl::b" used only once: possible typo at t/eval.t line 15. Name "Language::Expr::Compiler::Perl::ary1" used only once: possible typo at t/eval.t line 16. Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. Can't call method "rule_num" on an undefined value at (eval 31) line 903. # Looks like your test exited with 255 before it could output anything. t/eval.t .................. 1..354 Dubious, test returned 255 (wstat 65280, 0xff00) Failed 354/354 subtests Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. Can't call method "rule_var" on an undefined value at (eval 27) line 1006. # Looks like your test exited with 255 before it could output anything. t/hook_func.t ............. 1..6 Dubious, test returned 255 (wstat 65280, 0xff00) Failed 6/6 subtests Warning: Regexp::Grammars is unsupported under Perl 5.18. Perl 5.18 changed how 'qr' constant overloadings are parsed and the scope in which they are subsequently compiled. This change appears to make it impossible to reliably create 'qr' overloadings that inject code blocks into a regex, as it prevents the overloaded regexes from compiling properly in many cases, even with an explicit 'use re "eval"' in scope. In a few cases, the use of a 'qr' overloading causes Perl 5.18 to segfault. Because Regexp::Grammars relies on 'qr' overloads to inject code blocks into regexes, the module is not compatible with Perl 5.18. It may continue to work in some limited cases, but is no longer reliable. So far we have been unable to find a workaround for this fundamental incompatibility, and there seems little prospect of a fix unless the behaviour of regex parsing/compilation is changed again in some future release of Perl. At present, if you rely on Regexp::Grammars for your parsing needs, your alternatives are either not to upgrade to Perl 5.18, or else to consider switching to another parsing system, such as Marpa. We deeply regret that Regexp::Grammars can no longer be maintained due to these backwards-incompatible changes in Perl 5.18. at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 24. Useless use of '\'; doesn't escape metacharacter '{' at /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL/blib/lib/Language/Expr/Parser.pm line 266. Can't call method "rule_var" on an undefined value at (eval 27) line 1006. # Looks like your test exited with 255 before it could output anything. t/hook_var.t .............. 1..6 Dubious, test returned 255 (wstat 65280, 0xff00) Failed 6/6 subtests t/release-pod-coverage.t .. skipped: these tests are for release candidate testing t/release-pod-syntax.t .... skipped: these tests are for release candidate testing t/release-rinci.t ......... skipped: these tests are for release candidate testing Test Summary Report ------------------- t/01-basics.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 8 tests but ran 0. t/enum_vars.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 9 tests but ran 0. t/eval.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 354 tests but ran 0. t/hook_func.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 6 tests but ran 0. t/hook_var.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 6 tests but ran 0. Files=9, Tests=11, 3 wallclock secs ( 0.05 usr 0.03 sys + 3.06 cusr 0.26 csys = 3.40 CPU) Result: FAIL Failed 5/9 test programs. 0/11 subtests failed. SHARYANTO/Language-Expr-0.21.tar.gz ./Build test verbose=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Language-Expr-0.21.tar.gz Running test for module 'Language::Expr::Interpreter::VarEnumer' Running Build for S/SH/SHARYANTO/Language-Expr-0.21.tar.gz Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory /home/fly1800/var/cpan/build/Language-Expr-0.21-9UPrhL Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'make' Has already been made Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'test' Running Build test Won't repeat unsuccessful test during this command Has already been tested within this command Running make for S/SH/SHARYANTO/Data-Sah-0.18.tar.gz Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Data-Sah-0.18.tar.gz Warning: Prerequisite 'Language::Expr::Interpreter::VarEnumer => 0.13' for 'SHARYANTO/Data-Sah-0.18.tar.gz' failed when processing 'SHARYANTO/Language-Expr-0.21.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Language::Expr => 0.13' for 'SHARYANTO/Data-Sah-0.18.tar.gz' failed when processing 'SHARYANTO/Language-Expr-0.21.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. >>> make cp lib/Data/Sah/Compiler/perl.pm blib/lib/Data/Sah/Compiler/perl.pm cp lib/Data/Sah/Compiler/js/TH/all.pm blib/lib/Data/Sah/Compiler/js/TH/all.pm cp lib/Data/Sah/Type/num.pm blib/lib/Data/Sah/Type/num.pm cp lib/Data/Sah/Util/Role.pm blib/lib/Data/Sah/Util/Role.pm cp lib/Data/Sah/Compiler/human/TH.pm blib/lib/Data/Sah/Compiler/human/TH.pm cp lib/Data/Sah.pm blib/lib/Data/Sah.pm cp lib/Data/Sah/Compiler/js.pm blib/lib/Data/Sah/Compiler/js.pm cp lib/Data/Sah/Compiler/human/TH/code.pm blib/lib/Data/Sah/Compiler/human/TH/code.pm cp lib/Data/Sah/Compiler/perl/TH.pm blib/lib/Data/Sah/Compiler/perl/TH.pm cp lib/Data/Sah/Compiler/perl/TH/num.pm blib/lib/Data/Sah/Compiler/perl/TH/num.pm cp lib/Data/Sah/Lang.pm blib/lib/Data/Sah/Lang.pm cp lib/Data/Sah/Util/Func.pm blib/lib/Data/Sah/Util/Func.pm cp lib/Data/Sah/Compiler/human/TH/num.pm blib/lib/Data/Sah/Compiler/human/TH/num.pm cp lib/Data/Sah/Compiler/js/TH/str.pm blib/lib/Data/Sah/Compiler/js/TH/str.pm cp lib/Data/Sah/Compiler/js/TH/bool.pm blib/lib/Data/Sah/Compiler/js/TH/bool.pm cp lib/Data/Sah/Compiler/Prog/TH/any.pm blib/lib/Data/Sah/Compiler/Prog/TH/any.pm cp lib/Data/Sah/Compiler/human/TH/int.pm blib/lib/Data/Sah/Compiler/human/TH/int.pm cp lib/Data/Sah/Type/array.pm blib/lib/Data/Sah/Type/array.pm cp lib/Data/Sah/Manual/Extending.pod blib/lib/Data/Sah/Manual/Extending.pod cp lib/Data/Sah/Compiler/human/TH/Comparable.pm blib/lib/Data/Sah/Compiler/human/TH/Comparable.pm cp lib/Data/Sah/Compiler/perl/TH/re.pm blib/lib/Data/Sah/Compiler/perl/TH/re.pm cp lib/Data/Sah/Type/code.pm blib/lib/Data/Sah/Type/code.pm cp lib/Data/Sah/Compiler/TextResultRole.pm blib/lib/Data/Sah/Compiler/TextResultRole.pm cp lib/Data/Sah/Compiler/perl/TH/int.pm blib/lib/Data/Sah/Compiler/perl/TH/int.pm cp lib/Data/Sah/Compiler/Prog.pm blib/lib/Data/Sah/Compiler/Prog.pm cp lib/Data/Sah/Compiler/js/TH/code.pm blib/lib/Data/Sah/Compiler/js/TH/code.pm cp lib/Data/Sah/Type/bool.pm blib/lib/Data/Sah/Type/bool.pm cp lib/Data/Sah/Compiler/TH.pm blib/lib/Data/Sah/Compiler/TH.pm cp lib/Data/Sah/Type/hash.pm blib/lib/Data/Sah/Type/hash.pm cp lib/Data/Sah/Compiler/js/TH.pm blib/lib/Data/Sah/Compiler/js/TH.pm cp lib/Data/Sah/Type/all.pm blib/lib/Data/Sah/Type/all.pm cp lib/Data/Sah/Type/any.pm blib/lib/Data/Sah/Type/any.pm cp lib/Data/Sah/Schema/sah.pm blib/lib/Data/Sah/Schema/sah.pm cp lib/Data/Sah/Util/TypeX.pm blib/lib/Data/Sah/Util/TypeX.pm cp lib/Data/Sah/Compiler/js/TH/int.pm blib/lib/Data/Sah/Compiler/js/TH/int.pm cp lib/Data/Sah/Compiler/human/TH/any.pm blib/lib/Data/Sah/Compiler/human/TH/any.pm cp lib/Data/Sah/Type/BaseType.pm blib/lib/Data/Sah/Type/BaseType.pm cp lib/Data/Sah/Compiler/perl/TH/float.pm blib/lib/Data/Sah/Compiler/perl/TH/float.pm cp lib/Data/Sah/Compiler/human/TH/re.pm blib/lib/Data/Sah/Compiler/human/TH/re.pm cp lib/Data/Sah/Compiler/perl/TH/all.pm blib/lib/Data/Sah/Compiler/perl/TH/all.pm cp lib/Data/Sah/Compiler/human/TH/hash.pm blib/lib/Data/Sah/Compiler/human/TH/hash.pm cp lib/Data/Sah/Compiler/js/TH/hash.pm blib/lib/Data/Sah/Compiler/js/TH/hash.pm cp lib/Data/Sah/Compiler/perl/TH/any.pm blib/lib/Data/Sah/Compiler/perl/TH/any.pm cp lib/Data/Sah/Compiler/human.pm blib/lib/Data/Sah/Compiler/human.pm cp lib/Data/Sah/Compiler/human/TH/HasElems.pm blib/lib/Data/Sah/Compiler/human/TH/HasElems.pm cp lib/Data/Sah/Type/HasElems.pm blib/lib/Data/Sah/Type/HasElems.pm cp lib/Data/Sah/Compiler/human/TH/Sortable.pm blib/lib/Data/Sah/Compiler/human/TH/Sortable.pm cp lib/Data/Sah/Type/Sortable.pm blib/lib/Data/Sah/Type/Sortable.pm cp lib/Data/Sah/Lang/id_ID.pm blib/lib/Data/Sah/Lang/id_ID.pm cp lib/Data/Sah/Compiler/perl/TH/code.pm blib/lib/Data/Sah/Compiler/perl/TH/code.pm cp lib/Data/Sah/Type/re.pm blib/lib/Data/Sah/Type/re.pm cp lib/Data/Sah/Compiler/js/TH/num.pm blib/lib/Data/Sah/Compiler/js/TH/num.pm cp lib/Data/Sah/Compiler/js/TH/float.pm blib/lib/Data/Sah/Compiler/js/TH/float.pm cp lib/Data/Sah/Compiler/human/TH/bool.pm blib/lib/Data/Sah/Compiler/human/TH/bool.pm cp lib/Data/Sah/Schema/Common.pm blib/lib/Data/Sah/Schema/Common.pm cp lib/Data/Sah/Compiler/human/TH/float.pm blib/lib/Data/Sah/Compiler/human/TH/float.pm cp lib/Data/Sah/Compiler/human/TH/str.pm blib/lib/Data/Sah/Compiler/human/TH/str.pm cp lib/Data/Sah/Compiler/human/TH/all.pm blib/lib/Data/Sah/Compiler/human/TH/all.pm cp lib/Data/Sah/Compiler/perl/TH/bool.pm blib/lib/Data/Sah/Compiler/perl/TH/bool.pm cp lib/Data/Sah/Type/int.pm blib/lib/Data/Sah/Type/int.pm cp lib/Data/Sah/Compiler/js/TH/any.pm blib/lib/Data/Sah/Compiler/js/TH/any.pm cp lib/Data/Sah/Lang/zh_CN.pm blib/lib/Data/Sah/Lang/zh_CN.pm cp lib/Data/Sah/Compiler/perl/TH/hash.pm blib/lib/Data/Sah/Compiler/perl/TH/hash.pm cp lib/Data/Sah/Compiler/perl/TH/str.pm blib/lib/Data/Sah/Compiler/perl/TH/str.pm cp lib/Data/Sah/Type/Comparable.pm blib/lib/Data/Sah/Type/Comparable.pm cp lib/Data/Sah/Compiler/js/TH/re.pm blib/lib/Data/Sah/Compiler/js/TH/re.pm cp lib/Data/Sah/Type/str.pm blib/lib/Data/Sah/Type/str.pm cp lib/Data/Sah/Compiler/perl/TH/obj.pm blib/lib/Data/Sah/Compiler/perl/TH/obj.pm cp lib/Data/Sah/Compiler.pm blib/lib/Data/Sah/Compiler.pm cp lib/Data/Sah/Lang/fr_FR.pm blib/lib/Data/Sah/Lang/fr_FR.pm cp lib/Data/Sah/Compiler/human/TH/obj.pm blib/lib/Data/Sah/Compiler/human/TH/obj.pm cp lib/Data/Sah/Compiler/js/TH/array.pm blib/lib/Data/Sah/Compiler/js/TH/array.pm cp lib/Data/Sah/Compiler/Prog/TH.pm blib/lib/Data/Sah/Compiler/Prog/TH.pm cp lib/Data/Sah/Type/float.pm blib/lib/Data/Sah/Type/float.pm cp lib/Data/Sah/Compiler/Prog/TH/all.pm blib/lib/Data/Sah/Compiler/Prog/TH/all.pm cp lib/Data/Sah/Compiler/perl/TH/array.pm blib/lib/Data/Sah/Compiler/perl/TH/array.pm cp lib/Data/Sah/Compiler/human/TH/array.pm blib/lib/Data/Sah/Compiler/human/TH/array.pm cp lib/Data/Sah/Type/buf.pm blib/lib/Data/Sah/Type/buf.pm cp lib/Data/Sah/Type/undef.pm blib/lib/Data/Sah/Type/undef.pm cp lib/Data/Sah/Type/obj.pm blib/lib/Data/Sah/Type/obj.pm cp lib/Data/Sah/Compiler/js/TH/obj.pm blib/lib/Data/Sah/Compiler/js/TH/obj.pm Manifying blib/man3/Data::Sah.3 Manifying blib/man3/Data::Sah::Compiler.3 Manifying blib/man3/Data::Sah::Compiler::Prog.3 Manifying blib/man3/Data::Sah::Compiler::Prog::TH.3 Manifying blib/man3/Data::Sah::Compiler::Prog::TH::all.3 Manifying blib/man3/Data::Sah::Compiler::Prog::TH::any.3 Manifying blib/man3/Data::Sah::Compiler::TH.3 Manifying blib/man3/Data::Sah::Compiler::TextResultRole.3 Manifying blib/man3/Data::Sah::Compiler::human.3 Manifying blib/man3/Data::Sah::Compiler::human::TH.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::Comparable.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::HasElems.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::Sortable.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::all.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::any.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::array.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::bool.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::code.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::float.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::hash.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::int.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::num.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::obj.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::re.3 Manifying blib/man3/Data::Sah::Compiler::human::TH::str.3 Manifying blib/man3/Data::Sah::Compiler::js.3 Manifying blib/man3/Data::Sah::Compiler::js::TH.3 Manifying blib/man3/Data::Sah::Compiler::js::TH::all.3 Manifying blib/man3/Data::Sah::Compiler::js::TH::any.3 Manifying blib/man3/Data::Sah::Compiler::js::TH::array.3 Manifying blib/man3/Data::Sah::Compiler::js::TH::bool.3 Manifying blib/man3/Data::Sah::Compiler::js::TH::code.3 Manifying blib/man3/Data::Sah::Compiler::js::TH::float.3 Manifying blib/man3/Data::Sah::Compiler::js::TH::hash.3 Manifying blib/man3/Data::Sah::Compiler::js::TH::int.3 Manifying blib/man3/Data::Sah::Compiler::js::TH::num.3 Manifying blib/man3/Data::Sah::Compiler::js::TH::obj.3 Manifying blib/man3/Data::Sah::Compiler::js::TH::re.3 Manifying blib/man3/Data::Sah::Compiler::js::TH::str.3 Manifying blib/man3/Data::Sah::Compiler::perl.3 Manifying blib/man3/Data::Sah::Compiler::perl::TH.3 Manifying blib/man3/Data::Sah::Compiler::perl::TH::all.3 Manifying blib/man3/Data::Sah::Compiler::perl::TH::any.3 Manifying blib/man3/Data::Sah::Compiler::perl::TH::array.3 Manifying blib/man3/Data::Sah::Compiler::perl::TH::bool.3 Manifying blib/man3/Data::Sah::Compiler::perl::TH::code.3 Manifying blib/man3/Data::Sah::Compiler::perl::TH::float.3 Manifying blib/man3/Data::Sah::Compiler::perl::TH::hash.3 Manifying blib/man3/Data::Sah::Compiler::perl::TH::int.3 Manifying blib/man3/Data::Sah::Compiler::perl::TH::num.3 Manifying blib/man3/Data::Sah::Compiler::perl::TH::obj.3 Manifying blib/man3/Data::Sah::Compiler::perl::TH::re.3 Manifying blib/man3/Data::Sah::Compiler::perl::TH::str.3 Manifying blib/man3/Data::Sah::Lang.3 Manifying blib/man3/Data::Sah::Lang::fr_FR.3 Manifying blib/man3/Data::Sah::Lang::id_ID.3 Manifying blib/man3/Data::Sah::Lang::zh_CN.3 Manifying blib/man3/Data::Sah::Manual::Extending.3 Manifying blib/man3/Data::Sah::Schema::Common.3 Manifying blib/man3/Data::Sah::Schema::sah.3 Manifying blib/man3/Data::Sah::Type::BaseType.3 Manifying blib/man3/Data::Sah::Type::Comparable.3 Manifying blib/man3/Data::Sah::Type::HasElems.3 Manifying blib/man3/Data::Sah::Type::Sortable.3 Manifying blib/man3/Data::Sah::Type::all.3 Manifying blib/man3/Data::Sah::Type::any.3 Manifying blib/man3/Data::Sah::Type::array.3 Manifying blib/man3/Data::Sah::Type::bool.3 Manifying blib/man3/Data::Sah::Type::buf.3 Manifying blib/man3/Data::Sah::Type::code.3 Manifying blib/man3/Data::Sah::Type::float.3 Manifying blib/man3/Data::Sah::Type::hash.3 Manifying blib/man3/Data::Sah::Type::int.3 Manifying blib/man3/Data::Sah::Type::num.3 Manifying blib/man3/Data::Sah::Type::obj.3 Manifying blib/man3/Data::Sah::Type::re.3 Manifying blib/man3/Data::Sah::Type::str.3 Manifying blib/man3/Data::Sah::Type::undef.3 Manifying blib/man3/Data::Sah::Util::Func.3 Manifying blib/man3/Data::Sah::Util::Role.3 Manifying blib/man3/Data::Sah::Util::TypeX.3 SHARYANTO/Data-Sah-0.18.tar.gz make -- OK Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'test' Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 /home/fly1800/ap1800-297235/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..80 ok 1 - Data::Sah loaded ok ok 2 - Data::Sah::Compiler loaded ok ok 3 - Data::Sah::Compiler::Prog loaded ok ok 4 - Data::Sah::Compiler::Prog::TH loaded ok ok 5 - Data::Sah::Compiler::Prog::TH::all loaded ok ok 6 - Data::Sah::Compiler::Prog::TH::any loaded ok ok 7 - Data::Sah::Compiler::TH loaded ok ok 8 - Data::Sah::Compiler::TextResultRole loaded ok ok 9 - Data::Sah::Compiler::human loaded ok ok 10 - Data::Sah::Compiler::human::TH loaded ok ok 11 - Data::Sah::Compiler::human::TH::Comparable loaded ok ok 12 - Data::Sah::Compiler::human::TH::HasElems loaded ok ok 13 - Data::Sah::Compiler::human::TH::Sortable loaded ok ok 14 - Data::Sah::Compiler::human::TH::all loaded ok ok 15 - Data::Sah::Compiler::human::TH::any loaded ok ok 16 - Data::Sah::Compiler::human::TH::array loaded ok ok 17 - Data::Sah::Compiler::human::TH::bool loaded ok ok 18 - Data::Sah::Compiler::human::TH::code loaded ok ok 19 - Data::Sah::Compiler::human::TH::float loaded ok ok 20 - Data::Sah::Compiler::human::TH::hash loaded ok ok 21 - Data::Sah::Compiler::human::TH::int loaded ok ok 22 - Data::Sah::Compiler::human::TH::num loaded ok ok 23 - Data::Sah::Compiler::human::TH::obj loaded ok ok 24 - Data::Sah::Compiler::human::TH::re loaded ok ok 25 - Data::Sah::Compiler::human::TH::str loaded ok ok 26 - Data::Sah::Compiler::js loaded ok ok 27 - Data::Sah::Compiler::js::TH loaded ok ok 28 - Data::Sah::Compiler::js::TH::all loaded ok ok 29 - Data::Sah::Compiler::js::TH::any loaded ok ok 30 - Data::Sah::Compiler::js::TH::array loaded ok ok 31 - Data::Sah::Compiler::js::TH::bool loaded ok ok 32 - Data::Sah::Compiler::js::TH::code loaded ok ok 33 - Data::Sah::Compiler::js::TH::float loaded ok ok 34 - Data::Sah::Compiler::js::TH::hash loaded ok ok 35 - Data::Sah::Compiler::js::TH::int loaded ok ok 36 - Data::Sah::Compiler::js::TH::num loaded ok ok 37 - Data::Sah::Compiler::js::TH::obj loaded ok ok 38 - Data::Sah::Compiler::js::TH::re loaded ok ok 39 - Data::Sah::Compiler::js::TH::str loaded ok ok 40 - Data::Sah::Compiler::perl loaded ok ok 41 - Data::Sah::Compiler::perl::TH loaded ok ok 42 - Data::Sah::Compiler::perl::TH::all loaded ok ok 43 - Data::Sah::Compiler::perl::TH::any loaded ok ok 44 - Data::Sah::Compiler::perl::TH::array loaded ok ok 45 - Data::Sah::Compiler::perl::TH::bool loaded ok ok 46 - Data::Sah::Compiler::perl::TH::code loaded ok ok 47 - Data::Sah::Compiler::perl::TH::float loaded ok ok 48 - Data::Sah::Compiler::perl::TH::hash loaded ok ok 49 - Data::Sah::Compiler::perl::TH::int loaded ok ok 50 - Data::Sah::Compiler::perl::TH::num loaded ok ok 51 - Data::Sah::Compiler::perl::TH::obj loaded ok ok 52 - Data::Sah::Compiler::perl::TH::re loaded ok ok 53 - Data::Sah::Compiler::perl::TH::str loaded ok ok 54 - Data::Sah::Lang loaded ok ok 55 - Data::Sah::Lang::fr_FR loaded ok ok 56 - Data::Sah::Lang::id_ID loaded ok ok 57 - Data::Sah::Lang::zh_CN loaded ok ok 58 - Data::Sah::Schema::Common loaded ok ok 59 - Data::Sah::Schema::sah loaded ok ok 60 - Data::Sah::Type::BaseType loaded ok ok 61 - Data::Sah::Type::Comparable loaded ok ok 62 - Data::Sah::Type::HasElems loaded ok ok 63 - Data::Sah::Type::Sortable loaded ok ok 64 - Data::Sah::Type::all loaded ok ok 65 - Data::Sah::Type::any loaded ok ok 66 - Data::Sah::Type::array loaded ok ok 67 - Data::Sah::Type::bool loaded ok ok 68 - Data::Sah::Type::buf loaded ok ok 69 - Data::Sah::Type::code loaded ok ok 70 - Data::Sah::Type::float loaded ok ok 71 - Data::Sah::Type::hash loaded ok ok 72 - Data::Sah::Type::int loaded ok ok 73 - Data::Sah::Type::num loaded ok ok 74 - Data::Sah::Type::obj loaded ok ok 75 - Data::Sah::Type::re loaded ok ok 76 - Data::Sah::Type::str loaded ok ok 77 - Data::Sah::Type::undef loaded ok ok 78 - Data::Sah::Util::Func loaded ok ok 79 - Data::Sah::Util::Role loaded ok ok 80 - Data::Sah::Util::TypeX loaded ok ok t/01-basics.t ............. ok 1 - die (default) ok 2 - warn ok 3 - ignore 1..3 ok 1 - on_unhandled_clause option ok 1 - die (default) ok 2 - warn ok 3 - ignore 1..3 ok 2 - on_unhandled_attr option ok 1 ok 2 - skip_clause in gen_validator() 1 ok 3 - skip_clause in gen_validator() 2 ok 4 - skip_clause in gen_validator() 3 1..4 ok 3 - skip_clause option 1..3 ok 1 - compile() 1..1 ok t/human-en_US.t ........... ok 1 - result 1..1 ok 1 - integer ok 1 - result 1..1 ok 2 - integer ok 1 - result 1..1 ok 3 - integer, must be at least 1 ok 1 - result 1..1 ok 4 - integer, must be at least 1, must be at most 10 ok 1 - result 1..1 ok 5 - integer, must be divisible by 2 and 5 ok 1 - result 1..1 ok 6 - integer, must be divisible by all of [2,3,5] ok 1 - result 1..1 ok 7 - integer, must be divisible by 2 or 5 ok 1 - result 1..1 ok 8 - integer, must be divisible by one of [2,3,5] ok 1 - result 1..1 ok 9 - integer, must not be divisible by 5 ok 1 - result 1..1 ok 10 - array of integers ok 1 - result 1..1 ok 11 - (?^x:array .+ each\sarray\selement\smust\sbe: .+ # integer .+ at\sleast\s1) ok 1 - result 1..1 ok 12 - array, 1st element must be: integer ok 1 - result 1..1 ok 13 - (?^x:must\sbe\sall\sof\sthe\sfollowing: .+ # integer.+even .+ # integer.+divisible\sby\s5 .+ # ) ok 1 - result 1..1 ok 14 - hash, field f must be: decimal number, field i must be: (integer, must be at least 0) 1..14 ok t/human-id_ID.t ........... ok 1 - result 1..1 ok 1 - bilangan bulat ok 1 - result 1..1 ok 2 - larik, elemen ke-1 harus: bilangan bulat 1..2 ok t/perl-type-bool.t ........ ok 1 ok 2 ok 3 1..3 ok t/perl-type-code.t ........ ok 1 ok 2 1..2 ok t/perl-type-float.t ....... ok 1 - 1 vs ["float", "is_nan", 1] ok 2 - Inf vs ["float", "is_nan", 1] ok 3 - NaN vs ["float", "is_nan", 1] ok 4 - 1 vs ["float", "is_inf", 1] ok 5 - NaN vs ["float", "is_inf", 1] ok 6 - -Inf vs ["float", "is_inf", 1] ok 7 - Inf vs ["float", "is_inf", 1] ok 8 - 1 vs ["float", "is_pos_inf", 1] ok 9 - NaN vs ["float", "is_pos_inf", 1] ok 10 - -Inf vs ["float", "is_pos_inf", 1] ok 11 - Inf vs ["float", "is_pos_inf", 1] ok 12 - 1 vs ["float", "is_neg_inf", 1] ok 13 - NaN vs ["float", "is_neg_inf", 1] ok 14 - -Inf vs ["float", "is_neg_inf", 1] ok 15 - Inf vs ["float", "is_neg_inf", 1] 1..15 ok t/perl-type-obj.t ......... ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 1..11 ok t/perl-type-re.t .......... ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 1..6 ok t/perl-type-str.t ......... ok 1 ok 2 1..2 ok t/release-pod-coverage.t .. skipped: these tests are for release candidate testing t/release-pod-syntax.t .... skipped: these tests are for release candidate testing t/release-rinci.t ......... skipped: these tests are for release candidate testing Unknown option: e Usage: node -p 8888 [-m somehost:8000] [-w 4] [-r 1000] [-q 50] [-c 2] Options: -[p]ort port on which to listen -[w]orkers number of worker processes to maintain (default 4) -[r]equests max requests before restarting worker (optional; default -) -[m]anager host:port of manager (optional; default none) -[l]limit max items permitted to queue (optional; default 64) -[c]heck seconds before queue reprioritization (optional; default 2) -[i]include include path where workers will look for perl libs -[h]elp prints this help message t/spectest-js.t ........... skipped: node.js is not available # Loading 10-type-all.json ... # Loading 10-type-any.json ... # Loading 10-type-array.json ... # Loading 10-type-bool.json ... # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3155) line 14. # Looks like you failed 1 test of 1. # Failed test 'in: must accept valid choices' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3159) line 14. # Looks like you failed 1 test of 1. # Failed test 'in: must reject empty choices' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3163) line 14. # Looks like you failed 1 test of 1. # Failed test '!in (nok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3167) line 14. # Looks like you failed 1 test of 1. # Failed test '!in (ok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3171) line 14. # Looks like you failed 1 test of 1. # Failed test 'in.op=not (nok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3175) line 14. # Looks like you failed 1 test of 1. # Failed test 'in.op=not (ok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3195) line 14. # Looks like you failed 1 test of 1. # Failed test 'in& (ok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3199) line 14. # Looks like you failed 1 test of 1. # Failed test 'in& (nok + ok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3203) line 14. # Looks like you failed 1 test of 1. # Failed test 'in& (ok + nok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3207) line 14. # Looks like you failed 1 test of 1. # Failed test 'in& (nok + nok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3227) line 14. # Looks like you failed 1 test of 1. # Failed test 'in.op=and (ok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3231) line 14. # Looks like you failed 1 test of 1. # Failed test 'in.op=and (nok + ok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3235) line 14. # Looks like you failed 1 test of 1. # Failed test 'in.op=and (ok + nok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3239) line 14. # Looks like you failed 1 test of 1. # Failed test 'in.op=and (nok + nok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3259) line 19. # Looks like you failed 1 test of 1. # Failed test 'in| (ok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3263) line 19. # Looks like you failed 1 test of 1. # Failed test 'in| (nok + ok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3267) line 19. # Looks like you failed 1 test of 1. # Failed test 'in| (ok + nok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3271) line 19. # Looks like you failed 1 test of 1. # Failed test 'in| (nok + nok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3291) line 19. # Looks like you failed 1 test of 1. # Failed test 'in.op=or (ok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3295) line 19. # Looks like you failed 1 test of 1. # Failed test 'in.op=or (nok + ok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3299) line 19. # Looks like you failed 1 test of 1. # Failed test 'in.op=or (ok + nok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3303) line 19. # Looks like you failed 1 test of 1. # Failed test 'in.op=or (nok + nok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3323) line 14. # Looks like you failed 1 test of 1. # Failed test 'in.op=none (nok + nok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3327) line 14. # Looks like you failed 1 test of 1. # Failed test 'in.op=none (nok + ok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3331) line 14. # Looks like you failed 1 test of 1. # Failed test 'in.op=none (ok + nok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Failed test 'compile success' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 314. # Can't compile validator: Smartmatch is experimental at (eval 3335) line 14. # Looks like you failed 1 test of 1. # Failed test 'in.op=none (ok + ok)' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 111. # Looks like you failed 26 tests of 108. # Failed test '10-type-bool.json' # at /home/fly1800/var/cpan/build/Data-Sah-0.18-C6fAyo/t/testlib.pl line 101. # Loading 10-type-float.json ... # Loading 10-type-hash.json ... # Loading 10-type-int.json ... # Loading 10-type-str.json ... # Looks like you failed 1 test of 10. t/spectest-perl.t ......... ok 1 - dies 1..1 ok 1 - schema must be defined ok 1 - dies 1..1 ok 2 - string: type name must not be blank ok 1 - result ok 2 - doesn't die 1..2 ok 3 - string: type name must be valid (ok) ok 1 - result ok 2 - doesn't die 1..2 ok 4 - string: type name must be valid (ok, has namespace) ok 1 - dies 1..1 ok 5 - string: type name must be valid (fail, has whitespace) ok 1 - dies 1..1 ok 6 - string: type name must be valid (fail, starts with number) ok 1 - result ok 2 - doesn't die 1..2 ok 7 - string: * suffix is allowed and normalized to req clause ok 1 - dies 1..1 ok 8 - string: multiple * suffix is not allowed ok 1 - dies 1..1 ok 9 - array: must not be empty ok 1 - result ok 2 - doesn't die 1..2 ok 10 - array: type name must be valid (ok) ok 1 - dies 1..1 ok 11 - array: type name must be valid (fail, has whitespace) ok 1 - result ok 2 - doesn't die 1..2 ok 12 - array: * suffix is allowed and normalized to req clause ok 1 - result ok 2 - doesn't die 1..2 ok 13 - array: clause set must be hash (ok, empty) ok 1 - result ok 2 - doesn't die 1..2 ok 14 - array: clause set must be hash (ok, has some clauses) ok 1 - dies 1..1 ok 15 - array: clause set must be hash (fail, string) ok 1 - dies 1..1 ok 16 - array: clause set must be hash (fail, array) ok 1 - dies 1..1 ok 17 - array: clause name must be valid (fail, has whitespace) ok 1 - dies 1..1 ok 18 - array: clause name must be valid (fail, starts with number) ok 1 - result ok 2 - doesn't die 1..2 ok 19 - array: * suffix is allowed and normalized to req clause (2-element-array schema) ok 1 - result ok 2 - doesn't die 1..2 ok 20 - array: * suffix is allowed and normalized to req clause (overrides existing req clause) ok 1 - result ok 2 - doesn't die 1..2 ok 21 - array: clause attribute name must be valid (ok) ok 1 - dies 1..1 ok 22 - array: clause attribute name must be valid (fail, has whitespace) ok 1 - result ok 2 - doesn't die 1..2 ok 23 - array: setting attribute on clause "" is permitted ok 1 - dies 1..1 ok 24 - array: setting value attribute on clause "" using syntax "" is not permitted ok 1 - result ok 2 - doesn't die 1..2 ok 25 - array: flattened clause set is permitted ok 1 - result ok 2 - doesn't die 1..2 ok 26 - array: flattened clause set is permitted (with * suffix) ok 1 - dies 1..1 ok 27 - array: flattened clause set is permitted (fail, odd number of elements) ok 1 - result ok 2 - doesn't die 1..2 ok 28 - array: expression (clause=) is allowed on clause and normalized ok 1 - result ok 2 - doesn't die 1..2 ok 29 - array: expression (clause=) is allowed on clause.attr and normalized ok 1 - dies 1..1 ok 30 - array: expression (clause=) must not conflict with literal value (fail) ok 1 - dies 1..1 ok 31 - array: expression (clause.attr=) must not conflict with literal value (fail) ok 1 - result ok 2 - doesn't die 1..2 ok 32 - array: !clause is normalized ok 1 - dies 1..1 ok 33 - array: !clause.attr is not allowed ok 1 - result ok 2 - doesn't die 1..2 ok 34 - array: clause| is normalized ok 1 - dies 1..1 ok 35 - array: clause.attr| is not allowed ok 1 - dies 1..1 ok 36 - array: clause| value must be array (fail, not array) ok 1 - result ok 2 - doesn't die 1..2 ok 37 - array: clause& is normalized ok 1 - dies 1..1 ok 38 - array: clause.attr& is not allowed ok 1 - dies 1..1 ok 39 - array: clause& value must be array (fail, not array) ok 1 - dies 1..1 ok 40 - array: !clause cannot be mixed with merge prefix ok 1 - dies 1..1 ok 41 - array: !clause cannot be mixed with expression ok 1 - dies 1..1 ok 42 - array: clause| cannot be mixed with merge prefix ok 1 - dies 1..1 ok 43 - array: clause| cannot be mixed with expression ok 1 - dies 1..1 ok 44 - array: clause& cannot be mixed with merge prefix ok 1 - dies 1..1 ok 45 - array: clause& cannot be mixed with expression ok 1 - dies 1..1 ok 46 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & !c) ok 1 - dies 1..1 ok 47 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & c|) ok 1 - dies 1..1 ok 48 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & c&) ok 1 - dies 1..1 ok 49 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, !c & c|) ok 1 - dies 1..1 ok 50 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, !c & c&) ok 1 - dies 1..1 ok 51 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c| & c&) ok 1 - result ok 2 - doesn't die 1..2 ok 52 - array: merge prefix in clause is allowed ok 1 - result ok 2 - doesn't die 1..2 ok 53 - array: clause(LANG) shortcut is allowed and normalized ok 1 - result ok 2 - doesn't die 1..2 ok 54 - array: clause.attr(LANG) shortcut is allowed and normalized ok 1 - dies 1..1 ok 55 - array: clause(LANG) shortcut must not conflict with existing attribute ok 1 - dies 1..1 ok 56 - array: invalid clause(LANG) shortcut is not allowed (1) ok 1 - dies 1..1 ok 57 - array: invalid clause(LANG) shortcut is not allowed (2) ok 1 - result ok 2 - doesn't die 1..2 ok 58 - array: extras must be hash (ok) ok 1 - dies 1..1 ok 59 - array: extras must be hash (fail, not hash) ok 1 - result ok 2 - doesn't die 1..2 ok 60 - array: def in extras must be hash (ok) ok 1 - dies 1..1 ok 61 - array: def in extras must be hash (fail) ok 1 - dies 1..1 ok 62 - array: extra elements are not permitted ok 1 - dies 1..1 ok 63 - hash form (old DS syntax) is no longer recognized 1..63 ok 1 - 00-normalize_schema.json ok 1 - result ok 2 - doesn't die 1..2 ok 1 - no clause sets results in nothing done ok 1 - result ok 2 - doesn't die 1..2 ok 2 - a single clause set results in nothing done ok 1 - result ok 2 - doesn't die 1..2 ok 3 - no merge prefixes results in appending clause sets ok 1 - result ok 2 - doesn't die 1..2 ok 4 - normal mode merging replaces clauses on the left ok 1 - result ok 2 - doesn't die 1..2 ok 5 - additive mode merging adds values (array) ok 1 - result ok 2 - doesn't die 1..2 ok 6 - concative mode merging concatenates values (string) ok 1 - result ok 2 - doesn't die 1..2 ok 7 - subtractive mode merging concatenates values (int) ok 1 - result ok 2 - doesn't die 1..2 ok 8 - delete mode merging deletes values ok 1 - result ok 2 - doesn't die 1..2 ok 9 - keep mode prevents overriding of values 1..9 ok 2 - 01-merge_clause_sets.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => 3, # 'name' => 'of (nok + nok)', # 'schema' => [ # 'all', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - of (nok + nok) # { # 'input' => 2, # 'name' => 'of (ok + nok)', # 'schema' => [ # 'all', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - of (ok + nok) # { # 'input' => 5, # 'name' => 'of (nok + ok)', # 'schema' => [ # 'all', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - of (nok + ok) # { # 'input' => 10, # 'name' => 'of (ok + ok)', # 'schema' => [ # 'all', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - of (ok + ok) 1..4 ok 3 - 10-type-all.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => 3, # 'name' => 'of (nok + nok)', # 'schema' => [ # 'any', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - of (nok + nok) # { # 'input' => 2, # 'name' => 'of (ok + nok)', # 'schema' => [ # 'any', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - of (ok + nok) # { # 'input' => 5, # 'name' => 'of (nok + ok)', # 'schema' => [ # 'any', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - of (nok + ok) # { # 'input' => 10, # 'name' => 'of (ok + ok)', # 'schema' => [ # 'any', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - of (ok + ok) 1..4 ok 4 - 10-type-any.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => [], # 'name' => 'type check: must accept []', # 'schema' => 'array', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - type check: must accept [] # { # 'input' => [ # '1', # 'a' # ], # 'name' => 'type check: must accept [1, "a"]', # 'schema' => 'array', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - type check: must accept [1, "a"] # { # 'input' => [ # [] # ], # 'name' => 'type check: must accept [[]]', # 'schema' => 'array', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - type check: must accept [[]] # { # 'input' => 1, # 'name' => 'type check: must reject 1', # 'schema' => 'array', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - type check: must reject 1 # { # 'input' => 'a', # 'name' => 'type check: must reject a', # 'schema' => 'array', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 5 - type check: must reject a # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'array', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 6 - type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'array', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 7 - must accept undefined value # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'array', # 'req', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 8 - req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'array', # 'req', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 9 - req=1 must reject undefined value # { # 'input' => [ # 1 # ], # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'array', # 'forbidden', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 10 - forbidden=0 must accept defined value # { # 'input' => [ # 1 # ], # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'array', # 'forbidden', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 11 - forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default []', # 'schema' => [ # 'array*', # 'default', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 12 - default: must accept valid default [] # { # 'input' => undef, # 'name' => 'default: must reject invalid default a', # 'schema' => [ # 'array*', # 'default', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 13 - default: must reject invalid default a # { # 'dies' => 1, # 'input' => [ # 1 # ], # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'array*', # 'clause', # [ # 'foo', # 1 # ] # ] # } ok 1 - compile error 1..1 ok 14 - clause (dies, unknown clause) # { # 'input' => [ # 1 # ], # 'name' => 'clause (ok)', # 'schema' => [ # 'array*', # 'clause', # [ # 'min_len', # 0 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 15 - clause (ok) # { # 'input' => [ # 1 # ], # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'array*', # 'clause', # [ # 'min_len', # 0 # ], # 'max_len', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 16 - clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'clause (nok)', # 'schema' => [ # 'array*', # 'clause', # [ # 'min_len', # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 17 - clause (nok) # { # 'dies' => 1, # 'input' => [ # 1 # ], # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'array*', # 'clset', # { # 'foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 18 - clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => [ # 1 # ], # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'array*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 19 - clset (dies, unknown attr) # { # 'input' => [ # 1 # ], # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'array*', # 'clset', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 20 - clset (empty = ok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'array*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - clset (ignored clause/attr = ok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'array*', # 'clset', # { # 'max_len' => 1, # 'min_len' => 0 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 22 - clset (ok + ok = ok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'array*', # 'clset', # { # 'min_len' => 0 # }, # 'max_len', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 23 - clset (ok) + clause nok = nok # { # 'input' => [ # 1 # ], # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'array*', # 'clset', # { # 'max_len' => 0, # 'min_len' => 0 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 24 - clset (ok + nok = nok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'array*', # 'clset', # { # 'max_len' => 1, # 'min_len' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - clset (nok + ok = nok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'array*', # 'clset', # { # 'max_len' => 0, # 'min_len' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 26 - clset (nok + nok = nok) # { # 'input' => [], # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'array', # 'is', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 27 - .err_level=error (clause=is, ok) # { # 'input' => [ # 0 # ], # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'array', # 'is', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 28 - .err_level=error (clause=is, nok) # { # 'input' => [], # 'name' => '.err_level=warn (clause=is, ok)', # 'schema' => [ # 'array', # 'is', # [], # 'is.err_level', # 'warn' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 29 - .err_level=warn (clause=is, ok) # { # 'input' => [ # 0 # ], # 'name' => '.err_level=warn (clause=is, nok)', # 'schema' => [ # 'array*', # 'is', # [], # 'is.err_level', # 'warn' # ], # 'valid' => 1, # 'warnings' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 30 - .err_level=warn (clause=is, nok) # { # 'input' => [ # 1 # ], # 'name' => 'is: must accept same value', # 'schema' => [ # 'array', # 'is', # [ # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 31 - is: must accept same value # { # 'input' => [ # 1 # ], # 'name' => 'is: must reject different value', # 'schema' => [ # 'array', # 'is', # [ # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 32 - is: must reject different value # { # 'input' => [ # 1 # ], # 'name' => '!is (nok)', # 'schema' => [ # 'array', # '!is', # [ # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 33 - !is (nok) # { # 'input' => [ # 1 # ], # 'name' => '!is (ok)', # 'schema' => [ # 'array', # '!is', # [ # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 34 - !is (ok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'array', # 'is', # [ # 1 # ], # 'is.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 35 - is.op=not (nok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'array', # 'is', # [ # 2 # ], # 'is.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 36 - is.op=not (ok) # { # 'input' => [ # 1 # ], # 'name' => 'is& (no items)', # 'schema' => [ # 'array', # 'is&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 37 - is& (no items) # { # 'input' => [ # 1 # ], # 'name' => 'is& (ok)', # 'schema' => [ # 'array', # 'is&', # [ # [ # 1 # ], # [ # 1 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - is& (ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'array', # 'is&', # [ # [ # 2 # ], # [ # 1 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 39 - is& (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'array', # 'is&', # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 40 - is& (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'array', # 'is&', # [ # [ # 2 # ], # [ # 2 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - is& (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'array', # 'is', # [], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 42 - is.op=and (no items) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 1 # ] # ], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 43 - is.op=and (ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 1 # ] # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 44 - is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 2 # ] # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 45 - is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 2 # ] # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - is.op=and (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'is| (no items)', # 'schema' => [ # 'array', # 'is|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 47 - is| (no items) # { # 'input' => [ # 1 # ], # 'name' => 'is| (ok)', # 'schema' => [ # 'array', # 'is|', # [ # [ # 1 # ], # [ # 1 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 48 - is| (ok) # { # 'input' => [ # 1 # ], # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'array', # 'is|', # [ # [ # 2 # ], # [ # 1 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 49 - is| (nok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'array', # 'is|', # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 50 - is| (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'array', # 'is|', # [ # [ # 2 # ], # [ # 2 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 51 - is| (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'array', # 'is', # [], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 52 - is.op=or (no items) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 1 # ] # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 53 - is.op=or (ok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 1 # ] # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - is.op=or (nok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 2 # ] # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 2 # ] # ], # 'is.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 56 - is.op=or (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'array', # 'is', # [], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 57 - is.op=none (empty items) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 2 # ] # ], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 58 - is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 1 # ] # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 59 - is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 2 # ] # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 60 - is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 1 # ] # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - is.op=none (ok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'array', # 'in', # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 62 - in: must accept valid choices # { # 'input' => [ # 1 # ], # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'array', # 'in', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 63 - in: must reject empty choices # { # 'input' => [ # 1 # ], # 'name' => '!in (nok)', # 'schema' => [ # 'array', # '!in', # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 64 - !in (nok) # { # 'input' => [ # 1 # ], # 'name' => '!in (ok)', # 'schema' => [ # 'array', # '!in', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 65 - !in (ok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'array', # 'in', # [ # [ # 1 # ], # [ # 2 # ] # ], # 'in.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 66 - in.op=not (nok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'array', # 'in', # [], # 'in.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 67 - in.op=not (ok) # { # 'input' => [ # 1 # ], # 'name' => 'in& (no items)', # 'schema' => [ # 'array', # 'in&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 68 - in& (no items) # { # 'input' => [ # 1 # ], # 'name' => 'in& (ok)', # 'schema' => [ # 'array', # 'in&', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - in& (ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'array', # 'in&', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 70 - in& (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'array', # 'in&', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 71 - in& (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'array', # 'in&', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - in& (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'array', # 'in', # [], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 73 - in.op=and (no items) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 74 - in.op=and (ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 75 - in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 76 - in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - in.op=and (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'in| (no items)', # 'schema' => [ # 'array', # 'in|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 78 - in| (no items) # { # 'input' => [ # 1 # ], # 'name' => 'in| (ok)', # 'schema' => [ # 'array', # 'in|', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 79 - in| (ok) # { # 'input' => [ # 1 # ], # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'array', # 'in|', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - in| (nok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'array', # 'in|', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - in| (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'array', # 'in|', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 82 - in| (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'array', # 'in', # [], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 83 - in.op=or (no items) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 84 - in.op=or (ok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 85 - in.op=or (nok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 87 - in.op=or (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'array', # 'in', # [], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 88 - in.op=none (empty items) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 89 - in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 90 - in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 91 - in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - in.op=none (ok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'len (ok)', # 'schema' => [ # 'array', # 'len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 93 - len (ok) # { # 'input' => [ # 1 # ], # 'name' => 'len (nok)', # 'schema' => [ # 'array', # 'len', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 94 - len (nok) # { # 'input' => [ # 1 # ], # 'name' => 'min_len (ok)', # 'schema' => [ # 'array', # 'min_len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 95 - min_len (ok) # { # 'input' => [ # 1 # ], # 'name' => 'min_len (nok)', # 'schema' => [ # 'array', # 'min_len', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 96 - min_len (nok) # { # 'input' => [ # 1 # ], # 'name' => 'max_len (ok)', # 'schema' => [ # 'array', # 'min_len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 97 - max_len (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'max_len (nok)', # 'schema' => [ # 'array', # 'max_len', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 98 - max_len (nok) # { # 'input' => [ # 1 # ], # 'name' => 'len_between (ok)', # 'schema' => [ # 'array', # 'len_between', # [ # 1, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 99 - len_between (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'len_between (nok)', # 'schema' => [ # 'array', # 'len_between', # [ # 1, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 100 - len_between (nok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'each_index (ok)', # 'schema' => [ # 'array', # 'each_index', # [ # 'int', # 'max', # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 101 - each_index (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'each_index (nok)', # 'schema' => [ # 'array', # 'each_index', # [ # 'int', # 'xmax', # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 102 - each_index (nok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'each_elem (ok)', # 'schema' => [ # 'array', # 'each_elem', # 'float' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 103 - each_elem (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'each_elem (nok)', # 'schema' => [ # 'array', # 'each_elem', # 'int' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 104 - each_elem (nok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'elems (ok)', # 'schema' => [ # 'array', # 'elems', # [ # 'int', # 'float' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 105 - elems (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'elems (nok)', # 'schema' => [ # 'array', # 'elems', # [ # 'int', # 'int' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 106 - elems (nok) # { # 'input' => [ # undef, # 1 # ], # 'name' => 'elems (nok, first elem required)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 107 - elems (nok, first elem required) # { # 'input' => [ # 1 # ], # 'name' => 'elems (ok, missing elem set to undef)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 108 - elems (ok, missing elem set to undef) # { # 'input' => [ # 1, # undef # ], # 'name' => 'elems (ok, second elem optional)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 109 - elems (ok, second elem optional) # { # 'input' => [ # 1, # '1.1' # ], # 'name' => 'elems (ok 2)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 110 - elems (ok 2) # { # 'input' => [ # 1, # '1.1', # undef # ], # 'name' => 'elems (ok, extra elems ignored)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 111 - elems (ok, extra elems ignored) # { # 'input' => [ # 1, # '1.1', # 'foo' # ], # 'name' => 'elems (ok, extra elems ignored 2)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 112 - elems (ok, extra elems ignored 2) # { # 'input' => [ # 1 # ], # 'name' => 'elems (ok, create_default=0)', # 'output' => [ # 1 # ], # 'schema' => [ # 'array', # { # 'elems' => [ # 'int', # [ # 'int', # 'default', # 2 # ] # ], # 'elems.create_default' => 0 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - output ok 4 - valid (rt=str) ok 5 - validator (rt=full) returns hash ok 6 - errors (rt=full) ok 7 - warnings (rt=full) 1..7 ok 113 - elems (ok, create_default=0) # { # 'input' => [ # 1, # undef # ], # 'name' => 'elems (ok 2, create_default=0)', # 'output' => [ # 1, # 2 # ], # 'schema' => [ # 'array', # { # 'elems' => [ # 'int', # [ # 'int', # 'default', # 2 # ] # ], # 'elems.create_default' => 0 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - output ok 4 - valid (rt=str) ok 5 - validator (rt=full) returns hash ok 6 - errors (rt=full) ok 7 - warnings (rt=full) 1..7 ok 114 - elems (ok 2, create_default=0) 1..114 ok 5 - 10-type-array.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'bool', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - type check: must accept 0 # { # 'input' => 1, # 'name' => 'type check: must accept 1', # 'schema' => 'bool', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - type check: must accept 1 # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'bool', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'bool', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'bool', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 5 - must accept undefined value # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'bool', # 'req', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 6 - req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'bool', # 'req', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 7 - req=1 must reject undefined value # { # 'input' => 1, # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'bool', # 'forbidden', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 8 - forbidden=0 must accept defined value # { # 'input' => 1, # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'bool', # 'forbidden', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 9 - forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default 1', # 'schema' => [ # 'bool*', # 'default', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 10 - default: must accept valid default 1 # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'bool*', # 'default', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 11 - default: must reject invalid default [] # { # 'dies' => 1, # 'input' => 1, # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'bool*', # 'clause', # [ # 'foo', # 1 # ] # ] # } ok 1 - compile error 1..1 ok 12 - clause (dies, unknown clause) # { # 'dies' => 1, # 'input' => 1, # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'bool*', # 'clset', # { # 'foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 13 - clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => 1, # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'bool*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 14 - clset (dies, unknown attr) # { # 'input' => 1, # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'bool*', # 'clset', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 15 - clset (empty = ok) # { # 'input' => 1, # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'bool*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 16 - clset (ignored clause/attr = ok) # { # 'input' => 1, # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'bool', # 'is', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 17 - .err_level=error (clause=is, ok) # { # 'input' => 0, # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'bool', # 'is', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - .err_level=error (clause=is, nok) # { # 'input' => 1, # 'name' => '.err_level=warn (clause=is, ok)', # 'schema' => [ # 'bool', # 'is', # 1, # 'is.err_level', # 'warn' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 19 - .err_level=warn (clause=is, ok) # { # 'input' => 0, # 'name' => '.err_level=warn (clause=is, nok)', # 'schema' => [ # 'bool*', # 'is', # 1, # 'is.err_level', # 'warn' # ], # 'valid' => 1, # 'warnings' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 20 - .err_level=warn (clause=is, nok) # { # 'input' => 0, # 'name' => 'is: must accept same value', # 'schema' => [ # 'bool', # 'is', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - is: must accept same value # { # 'input' => 0, # 'name' => 'is: must reject different value', # 'schema' => [ # 'bool', # 'is', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 22 - is: must reject different value # { # 'input' => 0, # 'name' => '!is (nok)', # 'schema' => [ # 'bool', # '!is', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 23 - !is (nok) # { # 'input' => 0, # 'name' => '!is (ok)', # 'schema' => [ # 'bool', # '!is', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 24 - !is (ok) # { # 'input' => 0, # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'bool', # 'is', # 0, # 'is.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - is.op=not (nok) # { # 'input' => 0, # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'bool', # 'is', # 1, # 'is.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 26 - is.op=not (ok) # { # 'input' => 0, # 'name' => 'is& (no items)', # 'schema' => [ # 'bool', # 'is&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 27 - is& (no items) # { # 'input' => 0, # 'name' => 'is& (ok)', # 'schema' => [ # 'bool', # 'is&', # [ # 0, # 0 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 28 - is& (ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'bool', # 'is&', # [ # 1, # 0 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 29 - is& (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'bool', # 'is&', # [ # 0, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 30 - is& (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'bool', # 'is&', # [ # 1, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 31 - is& (nok + nok) # { # 'input' => 0, # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'bool', # 'is', # [], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 32 - is.op=and (no items) # { # 'input' => 0, # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 0 # ], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 33 - is.op=and (ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 0 # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 34 - is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 1 # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 35 - is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 36 - is.op=and (nok + nok) # { # 'input' => 0, # 'name' => 'is| (no items)', # 'schema' => [ # 'bool', # 'is|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 37 - is| (no items) # { # 'input' => 0, # 'name' => 'is| (ok)', # 'schema' => [ # 'bool', # 'is|', # [ # 0, # 0 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - is| (ok) # { # 'input' => 0, # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'bool', # 'is|', # [ # 1, # 0 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 39 - is| (nok + ok) # { # 'input' => 0, # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'bool', # 'is|', # [ # 0, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 40 - is| (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'bool', # 'is|', # [ # 1, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - is| (nok + nok) # { # 'input' => 0, # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'bool', # 'is', # [], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 42 - is.op=or (no items) # { # 'input' => 0, # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 0 # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 43 - is.op=or (ok) # { # 'input' => 0, # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 0 # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 44 - is.op=or (nok + ok) # { # 'input' => 0, # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 1 # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 45 - is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - is.op=or (nok + nok) # { # 'input' => 0, # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'bool', # 'is', # [], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 47 - is.op=none (empty items) # { # 'input' => 0, # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 48 - is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 0 # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 49 - is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 1 # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 50 - is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 0 # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 51 - is.op=none (ok + ok) # { # 'input' => 0, # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'bool', # 'in', # [ # 0, # 1 # ] # ], # 'valid' => 1 # } not ok 1 - compile success 1..1 not ok 52 - in: must accept valid choices # { # 'input' => 0, # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'bool', # 'in', # [] # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 53 - in: must reject empty choices # { # 'input' => 0, # 'name' => '!in (nok)', # 'schema' => [ # 'bool', # '!in', # [ # 0, # 1 # ] # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 54 - !in (nok) # { # 'input' => 0, # 'name' => '!in (ok)', # 'schema' => [ # 'bool', # '!in', # [] # ], # 'valid' => 1 # } not ok 1 - compile success 1..1 not ok 55 - !in (ok) # { # 'input' => 0, # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'bool', # 'in', # [ # 0, # 1 # ], # 'in.op', # 'not' # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 56 - in.op=not (nok) # { # 'input' => 0, # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'bool', # 'in', # [], # 'in.op', # 'not' # ], # 'valid' => 1 # } not ok 1 - compile success 1..1 not ok 57 - in.op=not (ok) # { # 'input' => 0, # 'name' => 'in& (no items)', # 'schema' => [ # 'bool', # 'in&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 58 - in& (no items) # { # 'input' => 0, # 'name' => 'in& (ok)', # 'schema' => [ # 'bool', # 'in&', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ] # ], # 'valid' => 1 # } not ok 1 - compile success 1..1 not ok 59 - in& (ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'bool', # 'in&', # [ # [], # [ # 0, # 1 # ] # ] # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 60 - in& (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'bool', # 'in&', # [ # [ # 0, # 1 # ], # [] # ] # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 61 - in& (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'bool', # 'in&', # [ # [], # [] # ] # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 62 - in& (nok + nok) # { # 'input' => 0, # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'bool', # 'in', # [], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 63 - in.op=and (no items) # { # 'input' => 0, # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ], # 'in.op', # 'and' # ], # 'valid' => 1 # } not ok 1 - compile success 1..1 not ok 64 - in.op=and (ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [ # 0, # 1 # ] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 65 - in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 66 - in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 67 - in.op=and (nok + nok) # { # 'input' => 0, # 'name' => 'in| (no items)', # 'schema' => [ # 'bool', # 'in|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 68 - in| (no items) # { # 'input' => 0, # 'name' => 'in| (ok)', # 'schema' => [ # 'bool', # 'in|', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ] # ], # 'valid' => 1 # } not ok 1 - compile success 1..1 not ok 69 - in| (ok) # { # 'input' => 0, # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'bool', # 'in|', # [ # [], # [ # 0, # 1 # ] # ] # ], # 'valid' => 1 # } not ok 1 - compile success 1..1 not ok 70 - in| (nok + ok) # { # 'input' => 0, # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'bool', # 'in|', # [ # [ # 0, # 1 # ], # [] # ] # ], # 'valid' => 1 # } not ok 1 - compile success 1..1 not ok 71 - in| (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'bool', # 'in|', # [ # [], # [] # ] # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 72 - in| (nok + nok) # { # 'input' => 0, # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'bool', # 'in', # [], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 73 - in.op=or (no items) # { # 'input' => 0, # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } not ok 1 - compile success 1..1 not ok 74 - in.op=or (ok) # { # 'input' => 0, # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [ # 0, # 1 # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } not ok 1 - compile success 1..1 not ok 75 - in.op=or (nok + ok) # { # 'input' => 0, # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } not ok 1 - compile success 1..1 not ok 76 - in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 77 - in.op=or (nok + nok) # { # 'input' => 0, # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'bool', # 'in', # [], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 78 - in.op=none (empty items) # { # 'input' => 0, # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 1 # } not ok 1 - compile success 1..1 not ok 79 - in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [ # 0, # 1 # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 80 - in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 81 - in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } not ok 1 - compile success 1..1 not ok 82 - in.op=none (ok + ok) # { # 'input' => 1, # 'name' => 'min: 1 0', # 'schema' => [ # 'bool', # 'min', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 83 - min: 1 0 # { # 'input' => 1, # 'name' => 'min: 1 1', # 'schema' => [ # 'bool', # 'min', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 84 - min: 1 1 # { # 'input' => 0, # 'name' => 'min: 0 1 -> fail', # 'schema' => [ # 'bool', # 'min', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 85 - min: 0 1 -> fail # { # 'input' => 1, # 'name' => 'xmin: 1 0', # 'schema' => [ # 'bool', # 'xmin', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - xmin: 1 0 # { # 'input' => 1, # 'name' => 'xmin: 1 1 -> fail', # 'schema' => [ # 'bool', # 'xmin', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 87 - xmin: 1 1 -> fail # { # 'input' => 0, # 'name' => 'xmin: 0 1 -> fail', # 'schema' => [ # 'bool', # 'xmin', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 88 - xmin: 0 1 -> fail # { # 'input' => 1, # 'name' => 'max: 1 0 -> fail', # 'schema' => [ # 'bool', # 'max', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 89 - max: 1 0 -> fail # { # 'input' => 1, # 'name' => 'max: 1 1', # 'schema' => [ # 'bool', # 'max', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 90 - max: 1 1 # { # 'input' => 0, # 'name' => 'max: 0 1', # 'schema' => [ # 'bool', # 'max', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 91 - max: 0 1 # { # 'input' => 1, # 'name' => 'xmax: 1 0 -> fail', # 'schema' => [ # 'bool', # 'xmax', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - xmax: 1 0 -> fail # { # 'input' => 1, # 'name' => 'xmax: 1 1 -> fail', # 'schema' => [ # 'bool', # 'xmax', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 93 - xmax: 1 1 -> fail # { # 'input' => 0, # 'name' => 'xmax: 0 1', # 'schema' => [ # 'bool', # 'xmax', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 94 - xmax: 0 1 # { # 'input' => 1, # 'name' => 'between: 1 0 & 1', # 'schema' => [ # 'bool', # 'between', # [ # 0, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 95 - between: 1 0 & 1 # { # 'input' => 1, # 'name' => 'between: 1 0 & 1', # 'schema' => [ # 'bool', # 'between', # [ # 0, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 96 - between: 1 0 & 1 # { # 'input' => 1, # 'name' => 'between: 1 1 & 1', # 'schema' => [ # 'bool', # 'between', # [ # 1, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 97 - between: 1 1 & 1 # { # 'input' => 0, # 'name' => 'between: 0 1 & 1 -> fail', # 'schema' => [ # 'bool', # 'between', # [ # 1, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 98 - between: 0 1 & 1 -> fail # { # 'input' => '1', # 'name' => 'xbetween: 1 0 & 1', # 'schema' => [ # 'bool', # 'xbetween', # [ # 0, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 99 - xbetween: 1 0 & 1 # { # 'input' => '1', # 'name' => 'xbetween: 1 0 & 1 -> fail', # 'schema' => [ # 'bool', # 'xbetween', # [ # 0, # '1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 100 - xbetween: 1 0 & 1 -> fail # { # 'input' => '1', # 'name' => 'xbetween: 1 1 & 1 -> fail', # 'schema' => [ # 'bool', # 'xbetween', # [ # '1', # '1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 101 - xbetween: 1 1 & 1 -> fail # { # 'input' => 0, # 'name' => 'xbetween: 0 1 & 1 -> fail', # 'schema' => [ # 'bool', # 'xbetween', # [ # '1', # '1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 102 - xbetween: 0 1 & 1 -> fail # { # 'input' => 1, # 'name' => 'is_true: 1 (ok)', # 'schema' => [ # 'bool', # 'is_true', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 103 - is_true: 1 (ok) # { # 'input' => 0, # 'name' => 'is_true: 1 (nok)', # 'schema' => [ # 'bool', # 'is_true', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 104 - is_true: 1 (nok) # { # 'input' => 0, # 'name' => 'is_true: 0 (ok)', # 'schema' => [ # 'bool', # 'is_true', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 105 - is_true: 0 (ok) # { # 'input' => 1, # 'name' => 'is_true: 0 (nok)', # 'schema' => [ # 'bool', # 'is_true', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 106 - is_true: 0 (nok) # { # 'input' => 0, # 'name' => 'is_true: undef (ok 1)', # 'schema' => [ # 'bool', # 'is_true', # undef # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 107 - is_true: undef (ok 1) # { # 'input' => 1, # 'name' => 'is_true: undef (ok 2)', # 'schema' => [ # 'bool', # 'is_true', # undef # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 108 - is_true: undef (ok 2) 1..108 not ok 6 - 10-type-bool.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => '-1.1', # 'name' => 'type check: must accept -1.1', # 'schema' => 'float', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - type check: must accept -1.1 # { # 'input' => -1, # 'name' => 'type check: must accept -1', # 'schema' => 'float', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - type check: must accept -1 # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'float', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - type check: must accept 0 # { # 'input' => 1, # 'name' => 'type check: must accept 1', # 'schema' => 'float', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - type check: must accept 1 # { # 'input' => '1.1', # 'name' => 'type check: must accept 1.1', # 'schema' => 'float', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 5 - type check: must accept 1.1 # { # 'input' => 'a', # 'name' => 'type check: must reject a', # 'schema' => 'float', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 6 - type check: must reject a # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'float', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 7 - type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'float', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 8 - type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'float', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 9 - must accept undefined value # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'float', # 'req', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 10 - req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'float', # 'req', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 11 - req=1 must reject undefined value # { # 'input' => '1.1', # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'float', # 'forbidden', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 12 - forbidden=0 must accept defined value # { # 'input' => '1.1', # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'float', # 'forbidden', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 13 - forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default 1.1', # 'schema' => [ # 'float*', # 'default', # '1.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 14 - default: must accept valid default 1.1 # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'float*', # 'default', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 15 - default: must reject invalid default [] # { # 'dies' => 1, # 'input' => '1.1', # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'float*', # 'clause', # [ # 'foo', # 1 # ] # ] # } ok 1 - compile error 1..1 ok 16 - clause (dies, unknown clause) # { # 'input' => '1.1', # 'name' => 'clause (ok)', # 'schema' => [ # 'float*', # 'clause', # [ # 'min', # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 17 - clause (ok) # { # 'input' => '1.1', # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'float*', # 'clause', # [ # 'min', # 1 # ], # 'max', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'clause (nok)', # 'schema' => [ # 'float*', # 'clause', # [ # 'min', # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 19 - clause (nok) # { # 'dies' => 1, # 'input' => '1.1', # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'float*', # 'clset', # { # 'foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 20 - clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => '1.1', # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'float*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 21 - clset (dies, unknown attr) # { # 'input' => '1.1', # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'float*', # 'clset', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 22 - clset (empty = ok) # { # 'input' => '1.1', # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'float*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 23 - clset (ignored clause/attr = ok) # { # 'input' => '1.1', # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'float*', # 'clset', # { # 'max' => '1.1', # 'min' => 1 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 24 - clset (ok + ok = ok) # { # 'input' => '1.1', # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'float*', # 'clset', # { # 'min' => 1 # }, # 'max', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - clset (ok) + clause nok = nok # { # 'input' => '1.1', # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'float*', # 'clset', # { # 'max' => 1, # 'min' => 1 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 26 - clset (ok + nok = nok) # { # 'input' => '1.1', # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'float*', # 'clset', # { # 'max' => '1.1', # 'min' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 27 - clset (nok + ok = nok) # { # 'input' => '1.1', # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'float*', # 'clset', # { # 'max' => 1, # 'min' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 28 - clset (nok + nok = nok) # { # 'input' => '0.1', # 'name' => '.err_level=error (clause=min, ok)', # 'schema' => [ # 'float', # 'min', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 29 - .err_level=error (clause=min, ok) # { # 'input' => '-0.1', # 'name' => '.err_level=error (clause=min, nok)', # 'schema' => [ # 'float', # 'min', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 30 - .err_level=error (clause=min, nok) # { # 'input' => '0.1', # 'name' => '.err_level=warn (clause=min, ok)', # 'schema' => [ # 'float', # 'min', # 0, # 'min.err_level', # 'warn' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 31 - .err_level=warn (clause=min, ok) # { # 'input' => '-0.1', # 'name' => '.err_level=warn (clause=min, nok)', # 'schema' => [ # 'float*', # 'min', # 0, # 'min.err_level', # 'warn' # ], # 'valid' => 1, # 'warnings' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 32 - .err_level=warn (clause=min, nok) # { # 'input' => '1.1', # 'name' => 'is: must accept same value', # 'schema' => [ # 'float', # 'is', # '1.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 33 - is: must accept same value # { # 'input' => '1.1', # 'name' => 'is: must reject different value', # 'schema' => [ # 'float', # 'is', # '1.2' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 34 - is: must reject different value # { # 'input' => '1.1', # 'name' => '!is (nok)', # 'schema' => [ # 'float', # '!is', # '1.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 35 - !is (nok) # { # 'input' => '1.1', # 'name' => '!is (ok)', # 'schema' => [ # 'float', # '!is', # '1.2' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 36 - !is (ok) # { # 'input' => '1.1', # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'float', # 'is', # '1.1', # 'is.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 37 - is.op=not (nok) # { # 'input' => '1.1', # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'float', # 'is', # '1.2', # 'is.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - is.op=not (ok) # { # 'input' => '1.1', # 'name' => 'is& (no items)', # 'schema' => [ # 'float', # 'is&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 39 - is& (no items) # { # 'input' => '1.1', # 'name' => 'is& (ok)', # 'schema' => [ # 'float', # 'is&', # [ # '1.1', # '1.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 40 - is& (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'float', # 'is&', # [ # '1.2', # '1.1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - is& (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'float', # 'is&', # [ # '1.1', # '1.2' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 42 - is& (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'float', # 'is&', # [ # '1.2', # '1.2' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 43 - is& (nok + nok) # { # 'input' => '1.1', # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'float', # 'is', # [], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 44 - is.op=and (no items) # { # 'input' => '1.1', # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.1' # ], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 45 - is.op=and (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.1' # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.2' # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 47 - is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.2' # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 48 - is.op=and (nok + nok) # { # 'input' => '1.1', # 'name' => 'is| (no items)', # 'schema' => [ # 'float', # 'is|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 49 - is| (no items) # { # 'input' => '1.1', # 'name' => 'is| (ok)', # 'schema' => [ # 'float', # 'is|', # [ # '1.1', # '1.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 50 - is| (ok) # { # 'input' => '1.1', # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'float', # 'is|', # [ # '1.2', # '1.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 51 - is| (nok + ok) # { # 'input' => '1.1', # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'float', # 'is|', # [ # '1.1', # '1.2' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 52 - is| (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'float', # 'is|', # [ # '1.2', # '1.2' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 53 - is| (nok + nok) # { # 'input' => '1.1', # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'float', # 'is', # [], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - is.op=or (no items) # { # 'input' => '1.1', # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.1' # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - is.op=or (ok) # { # 'input' => '1.1', # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.1' # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 56 - is.op=or (nok + ok) # { # 'input' => '1.1', # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.2' # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 57 - is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.2' # ], # 'is.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 58 - is.op=or (nok + nok) # { # 'input' => '1.1', # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'float', # 'is', # [], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 59 - is.op=none (empty items) # { # 'input' => '1.1', # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.2' # ], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 60 - is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.1' # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.2' # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 62 - is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.1' # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 63 - is.op=none (ok + ok) # { # 'input' => '1.1', # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'float', # 'in', # [ # '1.1', # '1.2' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 64 - in: must accept valid choices # { # 'input' => '1.1', # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'float', # 'in', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 65 - in: must reject empty choices # { # 'input' => '1.1', # 'name' => '!in (nok)', # 'schema' => [ # 'float', # '!in', # [ # '1.1', # '1.2' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 66 - !in (nok) # { # 'input' => '1.1', # 'name' => '!in (ok)', # 'schema' => [ # 'float', # '!in', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 67 - !in (ok) # { # 'input' => '1.1', # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'float', # 'in', # [ # '1.1', # '1.2' # ], # 'in.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 68 - in.op=not (nok) # { # 'input' => '1.1', # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'float', # 'in', # [], # 'in.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - in.op=not (ok) # { # 'input' => '1.1', # 'name' => 'in& (no items)', # 'schema' => [ # 'float', # 'in&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 70 - in& (no items) # { # 'input' => '1.1', # 'name' => 'in& (ok)', # 'schema' => [ # 'float', # 'in&', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 71 - in& (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'float', # 'in&', # [ # [], # [ # '1.1', # '1.2' # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - in& (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'float', # 'in&', # [ # [ # '1.1', # '1.2' # ], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 73 - in& (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'float', # 'in&', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 74 - in& (nok + nok) # { # 'input' => '1.1', # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'float', # 'in', # [], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 75 - in.op=and (no items) # { # 'input' => '1.1', # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'float', # 'in', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 76 - in.op=and (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [ # '1.1', # '1.2' # ], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 78 - in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 79 - in.op=and (nok + nok) # { # 'input' => '1.1', # 'name' => 'in| (no items)', # 'schema' => [ # 'float', # 'in|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - in| (no items) # { # 'input' => '1.1', # 'name' => 'in| (ok)', # 'schema' => [ # 'float', # 'in|', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - in| (ok) # { # 'input' => '1.1', # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'float', # 'in|', # [ # [], # [ # '1.1', # '1.2' # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 82 - in| (nok + ok) # { # 'input' => '1.1', # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'float', # 'in|', # [ # [ # '1.1', # '1.2' # ], # [] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 83 - in| (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'float', # 'in|', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 84 - in| (nok + nok) # { # 'input' => '1.1', # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'float', # 'in', # [], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 85 - in.op=or (no items) # { # 'input' => '1.1', # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'float', # 'in', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - in.op=or (ok) # { # 'input' => '1.1', # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 87 - in.op=or (nok + ok) # { # 'input' => '1.1', # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [ # '1.1', # '1.2' # ], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 88 - in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 89 - in.op=or (nok + nok) # { # 'input' => '1.1', # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'float', # 'in', # [], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 90 - in.op=none (empty items) # { # 'input' => '1.1', # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 91 - in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [ # '1.1', # '1.2' # ], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 93 - in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'float', # 'in', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 94 - in.op=none (ok + ok) # { # 'input' => '2.1', # 'name' => 'min: 2.1 -3.1', # 'schema' => [ # 'float', # 'min', # '-3.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 95 - min: 2.1 -3.1 # { # 'input' => '2.1', # 'name' => 'min: 2.1 2.1', # 'schema' => [ # 'float', # 'min', # '2.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 96 - min: 2.1 2.1 # { # 'input' => '-3.1', # 'name' => 'min: -3.1 2.1 -> fail', # 'schema' => [ # 'float', # 'min', # '2.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 97 - min: -3.1 2.1 -> fail # { # 'input' => '2.1', # 'name' => 'xmin: 2.1 -3.1', # 'schema' => [ # 'float', # 'xmin', # '-3.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 98 - xmin: 2.1 -3.1 # { # 'input' => '2.1', # 'name' => 'xmin: 2.1 2.1 -> fail', # 'schema' => [ # 'float', # 'xmin', # '2.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 99 - xmin: 2.1 2.1 -> fail # { # 'input' => '-3.1', # 'name' => 'xmin: -3.1 2.1 -> fail', # 'schema' => [ # 'float', # 'xmin', # '2.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 100 - xmin: -3.1 2.1 -> fail # { # 'input' => '2.1', # 'name' => 'max: 2.1 -3.1 -> fail', # 'schema' => [ # 'float', # 'max', # '-3.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 101 - max: 2.1 -3.1 -> fail # { # 'input' => '2.1', # 'name' => 'max: 2.1 2.1', # 'schema' => [ # 'float', # 'max', # '2.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 102 - max: 2.1 2.1 # { # 'input' => '-3.1', # 'name' => 'max: -3.1 2.1', # 'schema' => [ # 'float', # 'max', # '2.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 103 - max: -3.1 2.1 # { # 'input' => '2.1', # 'name' => 'xmax: 2.1 -3.1 -> fail', # 'schema' => [ # 'float', # 'xmax', # '-3.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 104 - xmax: 2.1 -3.1 -> fail # { # 'input' => '2.1', # 'name' => 'xmax: 2.1 2.1 -> fail', # 'schema' => [ # 'float', # 'xmax', # '2.1' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 105 - xmax: 2.1 2.1 -> fail # { # 'input' => '-3.1', # 'name' => 'xmax: -3.1 2.1', # 'schema' => [ # 'float', # 'xmax', # '2.1' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 106 - xmax: -3.1 2.1 # { # 'input' => '2.1', # 'name' => 'between: 2.1 -3.1 & 4.1', # 'schema' => [ # 'float', # 'between', # [ # '-3.1', # '4.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 107 - between: 2.1 -3.1 & 4.1 # { # 'input' => '2.1', # 'name' => 'between: 2.1 -3.1 & 2.1', # 'schema' => [ # 'float', # 'between', # [ # '-3.1', # '2.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 108 - between: 2.1 -3.1 & 2.1 # { # 'input' => '2.1', # 'name' => 'between: 2.1 2.1 & 2.1', # 'schema' => [ # 'float', # 'between', # [ # '2.1', # '2.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 109 - between: 2.1 2.1 & 2.1 # { # 'input' => '-3.1', # 'name' => 'between: -3.1 2.1 & 4.1 -> fail', # 'schema' => [ # 'float', # 'between', # [ # '2.1', # '4.1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 110 - between: -3.1 2.1 & 4.1 -> fail # { # 'input' => '2.1', # 'name' => 'xbetween: 2.1 -3.1 & 4.1', # 'schema' => [ # 'float', # 'xbetween', # [ # '-3.1', # '4.1' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 111 - xbetween: 2.1 -3.1 & 4.1 # { # 'input' => '2.1', # 'name' => 'xbetween: 2.1 -3.1 & 2.1 -> fail', # 'schema' => [ # 'float', # 'xbetween', # [ # '-3.1', # '2.1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 112 - xbetween: 2.1 -3.1 & 2.1 -> fail # { # 'input' => '2.1', # 'name' => 'xbetween: 2.1 2.1 & 2.1 -> fail', # 'schema' => [ # 'float', # 'xbetween', # [ # '2.1', # '2.1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 113 - xbetween: 2.1 2.1 & 2.1 -> fail # { # 'input' => '-3.1', # 'name' => 'xbetween: -3.1 2.1 & 4.1 -> fail', # 'schema' => [ # 'float', # 'xbetween', # [ # '2.1', # '4.1' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 114 - xbetween: -3.1 2.1 & 4.1 -> fail 1..114 ok 7 - 10-type-float.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => {}, # 'name' => 'type check: must accept {}', # 'schema' => 'hash', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - type check: must accept {} # { # 'input' => { # 'a' => '1' # }, # 'name' => 'type check: must accept { a => 1 }', # 'schema' => 'hash', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - type check: must accept { a => 1 } # { # 'input' => { # '' => [] # }, # 'name' => 'type check: must accept { "" => [] }', # 'schema' => 'hash', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - type check: must accept { "" => [] } # { # 'input' => 1, # 'name' => 'type check: must reject 1', # 'schema' => 'hash', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - type check: must reject 1 # { # 'input' => 'a', # 'name' => 'type check: must reject a', # 'schema' => 'hash', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 5 - type check: must reject a # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'hash', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 6 - type check: must reject [] # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'hash', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 7 - must accept undefined value # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'hash', # 'req', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 8 - req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'hash', # 'req', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 9 - req=1 must reject undefined value # { # 'input' => { # 'a' => 1 # }, # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'hash', # 'forbidden', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 10 - forbidden=0 must accept defined value # { # 'input' => { # 'a' => 1 # }, # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'hash', # 'forbidden', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 11 - forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default {}', # 'schema' => [ # 'hash*', # 'default', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 12 - default: must accept valid default {} # { # 'input' => undef, # 'name' => 'default: must reject invalid default a', # 'schema' => [ # 'hash*', # 'default', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 13 - default: must reject invalid default a # { # 'dies' => 1, # 'input' => { # 'a' => 1 # }, # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'hash*', # 'clause', # [ # 'foo', # 1 # ] # ] # } ok 1 - compile error 1..1 ok 14 - clause (dies, unknown clause) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clause (ok)', # 'schema' => [ # 'hash*', # 'clause', # [ # 'min_len', # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 15 - clause (ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'hash*', # 'clause', # [ # 'min_len', # 1 # ], # 'max_len', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 16 - clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => { # 'a' => 1 # }, # 'name' => 'clause (nok)', # 'schema' => [ # 'hash*', # 'clause', # [ # 'min_len', # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 17 - clause (nok) # { # 'dies' => 1, # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'hash*', # 'clset', # { # 'foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 18 - clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'hash*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 19 - clset (dies, unknown attr) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'hash*', # 'clset', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 20 - clset (empty = ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'hash*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - clset (ignored clause/attr = ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'hash*', # 'clset', # { # 'max_len' => 1, # 'min_len' => 1 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 22 - clset (ok + ok = ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'hash*', # 'clset', # { # 'min_len' => 1 # }, # 'max_len', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 23 - clset (ok) + clause nok = nok # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'hash*', # 'clset', # { # 'max_len' => 0, # 'min_len' => 1 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 24 - clset (ok + nok = nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'hash*', # 'clset', # { # 'max_len' => 1, # 'min_len' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - clset (nok + ok = nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'hash*', # 'clset', # { # 'max_len' => 0, # 'min_len' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 26 - clset (nok + nok = nok) # { # 'input' => { # 'a' => 0 # }, # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 0 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 27 - .err_level=error (clause=is, ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 0 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 28 - .err_level=error (clause=is, nok) # { # 'input' => { # 'a' => 0 # }, # 'name' => '.err_level=warn (clause=is, ok)', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 0 # }, # 'is.err_level', # 'warn' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 29 - .err_level=warn (clause=is, ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => '.err_level=warn (clause=is, nok)', # 'schema' => [ # 'hash*', # 'is', # { # 'a' => 0 # }, # 'is.err_level', # 'warn' # ], # 'valid' => 1, # 'warnings' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 30 - .err_level=warn (clause=is, nok) # { # 'input' => {}, # 'name' => 'is: must accept same value', # 'schema' => [ # 'hash', # 'is', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 31 - is: must accept same value # { # 'input' => {}, # 'name' => 'is: must reject different value', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 1 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 32 - is: must reject different value # { # 'input' => {}, # 'name' => '!is (nok)', # 'schema' => [ # 'hash', # '!is', # {} # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 33 - !is (nok) # { # 'input' => {}, # 'name' => '!is (ok)', # 'schema' => [ # 'hash', # '!is', # { # 'a' => 1 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 34 - !is (ok) # { # 'input' => {}, # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'hash', # 'is', # {}, # 'is.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 35 - is.op=not (nok) # { # 'input' => {}, # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 1 # }, # 'is.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 36 - is.op=not (ok) # { # 'input' => {}, # 'name' => 'is& (no items)', # 'schema' => [ # 'hash', # 'is&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 37 - is& (no items) # { # 'input' => {}, # 'name' => 'is& (ok)', # 'schema' => [ # 'hash', # 'is&', # [ # {}, # {} # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - is& (ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'hash', # 'is&', # [ # { # 'a' => 1 # }, # {} # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 39 - is& (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'hash', # 'is&', # [ # {}, # { # 'a' => 1 # } # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 40 - is& (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'hash', # 'is&', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - is& (nok + nok) # { # 'input' => {}, # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'hash', # 'is', # [], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 42 - is.op=and (no items) # { # 'input' => {}, # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # {} # ], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 43 - is.op=and (ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # {} # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 44 - is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # { # 'a' => 1 # } # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 45 - is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - is.op=and (nok + nok) # { # 'input' => {}, # 'name' => 'is| (no items)', # 'schema' => [ # 'hash', # 'is|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 47 - is| (no items) # { # 'input' => {}, # 'name' => 'is| (ok)', # 'schema' => [ # 'hash', # 'is|', # [ # {}, # {} # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 48 - is| (ok) # { # 'input' => {}, # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'hash', # 'is|', # [ # { # 'a' => 1 # }, # {} # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 49 - is| (nok + ok) # { # 'input' => {}, # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'hash', # 'is|', # [ # {}, # { # 'a' => 1 # } # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 50 - is| (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'hash', # 'is|', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 51 - is| (nok + nok) # { # 'input' => {}, # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'hash', # 'is', # [], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 52 - is.op=or (no items) # { # 'input' => {}, # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # {} # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 53 - is.op=or (ok) # { # 'input' => {}, # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # {} # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - is.op=or (nok + ok) # { # 'input' => {}, # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # { # 'a' => 1 # } # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ], # 'is.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 56 - is.op=or (nok + nok) # { # 'input' => {}, # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'hash', # 'is', # [], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 57 - is.op=none (empty items) # { # 'input' => {}, # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 58 - is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # {} # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 59 - is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # { # 'a' => 1 # } # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 60 - is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # {} # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - is.op=none (ok + ok) # { # 'input' => {}, # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'hash', # 'in', # [ # {}, # { # 'a' => 1 # } # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 62 - in: must accept valid choices # { # 'input' => {}, # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'hash', # 'in', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 63 - in: must reject empty choices # { # 'input' => {}, # 'name' => '!in (nok)', # 'schema' => [ # 'hash', # '!in', # [ # {}, # { # 'a' => 1 # } # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 64 - !in (nok) # { # 'input' => {}, # 'name' => '!in (ok)', # 'schema' => [ # 'hash', # '!in', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 65 - !in (ok) # { # 'input' => {}, # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'hash', # 'in', # [ # {}, # { # 'a' => 1 # } # ], # 'in.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 66 - in.op=not (nok) # { # 'input' => {}, # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'hash', # 'in', # [], # 'in.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 67 - in.op=not (ok) # { # 'input' => {}, # 'name' => 'in& (no items)', # 'schema' => [ # 'hash', # 'in&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 68 - in& (no items) # { # 'input' => {}, # 'name' => 'in& (ok)', # 'schema' => [ # 'hash', # 'in&', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - in& (ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'hash', # 'in&', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 70 - in& (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'hash', # 'in&', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 71 - in& (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'hash', # 'in&', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - in& (nok + nok) # { # 'input' => {}, # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'hash', # 'in', # [], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 73 - in.op=and (no items) # { # 'input' => {}, # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 74 - in.op=and (ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 75 - in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 76 - in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - in.op=and (nok + nok) # { # 'input' => {}, # 'name' => 'in| (no items)', # 'schema' => [ # 'hash', # 'in|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 78 - in| (no items) # { # 'input' => {}, # 'name' => 'in| (ok)', # 'schema' => [ # 'hash', # 'in|', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 79 - in| (ok) # { # 'input' => {}, # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'hash', # 'in|', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - in| (nok + ok) # { # 'input' => {}, # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'hash', # 'in|', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - in| (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'hash', # 'in|', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 82 - in| (nok + nok) # { # 'input' => {}, # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'hash', # 'in', # [], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 83 - in.op=or (no items) # { # 'input' => {}, # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 84 - in.op=or (ok) # { # 'input' => {}, # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 85 - in.op=or (nok + ok) # { # 'input' => {}, # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 87 - in.op=or (nok + nok) # { # 'input' => {}, # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'hash', # 'in', # [], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 88 - in.op=none (empty items) # { # 'input' => {}, # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 89 - in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 90 - in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 91 - in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - in.op=none (ok + ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'len (ok)', # 'schema' => [ # 'hash', # 'len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 93 - len (ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'len (nok)', # 'schema' => [ # 'hash', # 'len', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 94 - len (nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'min_len (ok)', # 'schema' => [ # 'hash', # 'min_len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 95 - min_len (ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'min_len (nok)', # 'schema' => [ # 'hash', # 'min_len', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 96 - min_len (nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'max_len (ok)', # 'schema' => [ # 'hash', # 'min_len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 97 - max_len (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'max_len (nok)', # 'schema' => [ # 'hash', # 'max_len', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 98 - max_len (nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'len_between (ok)', # 'schema' => [ # 'hash', # 'len_between', # [ # 1, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 99 - len_between (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'len_between (nok)', # 'schema' => [ # 'hash', # 'len_between', # [ # 1, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 100 - len_between (nok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_index (ok)', # 'schema' => [ # 'hash', # 'each_index', # [ # 'str', # 'len', # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 101 - each_index (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_index (nok)', # 'schema' => [ # 'hash', # 'each_index', # [ # 'str', # 'len', # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 102 - each_index (nok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_elem (ok)', # 'schema' => [ # 'hash', # 'each_elem', # 'float' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 103 - each_elem (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_elem (nok)', # 'schema' => [ # 'hash', # 'each_elem', # 'int' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 104 - each_elem (nok) # { # 'input' => {}, # 'name' => 'keys: (ok, empty)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 105 - keys: (ok, empty) # { # 'input' => { # 'a' => undef # }, # 'name' => 'keys: (ok, only a, a valid 1)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 106 - keys: (ok, only a, a valid 1) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'keys: (ok, only a, a valid 2)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 107 - keys: (ok, only a, a valid 2) # { # 'input' => { # 'a' => '1.1' # }, # 'name' => 'keys: (nok, only a, a invalid)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 108 - keys: (nok, only a, a invalid) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'keys: (ok, only a, valid 2)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 109 - keys: (ok, only a, valid 2) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'keys: (ok, a & b, valid)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 110 - keys: (ok, a & b, valid) # { # 'input' => { # 'a' => 1, # 'b' => undef # }, # 'name' => 'keys: (nok, a & b, b invalid)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 111 - keys: (nok, a & b, b invalid) # { # 'input' => { # 'a' => '1.1', # 'b' => '1.1' # }, # 'name' => 'keys: (nok, a & b, a invalid)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 112 - keys: (nok, a & b, a invalid) # { # 'input' => { # 'a' => '1.1', # 'b' => undef # }, # 'name' => 'keys: (nok, a & b, a & b invalid)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 113 - keys: (nok, a & b, a & b invalid) # { # 'input' => { # 'a' => 1, # 'b' => '1.1', # 'c' => 1 # }, # 'name' => 'keys: (nok, extra)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 114 - keys: (nok, extra) # { # 'input' => { # 'a' => 1, # 'b' => '1.1', # 'c' => 1 # }, # 'name' => 'keys: (ok, extra, restrict=0)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 115 - keys: (ok, extra, restrict=0) # { # 'input' => {}, # 'name' => 'keys (create_default=1) 1', # 'output' => { # 'b' => 2 # }, # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => [ # 'int', # 'default', # 2 # ] # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - output ok 4 - valid (rt=str) ok 5 - validator (rt=full) returns hash ok 6 - errors (rt=full) ok 7 - warnings (rt=full) 1..7 ok 116 - keys (create_default=1) 1 # { # 'input' => { # 'b' => undef # }, # 'name' => 'keys (create_default=1) 2', # 'output' => { # 'b' => 2 # }, # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => [ # 'int', # 'default', # 2 # ] # } # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - output ok 4 - valid (rt=str) ok 5 - validator (rt=full) returns hash ok 6 - errors (rt=full) ok 7 - warnings (rt=full) 1..7 ok 117 - keys (create_default=1) 2 # { # 'input' => {}, # 'name' => 'keys (create_default=0) 1', # 'output' => {}, # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => [ # 'int', # 'default', # 2 # ] # }, # 'keys.create_default' => 0 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - output ok 4 - valid (rt=str) ok 5 - validator (rt=full) returns hash ok 6 - errors (rt=full) ok 7 - warnings (rt=full) 1..7 ok 118 - keys (create_default=0) 1 # { # 'input' => { # 'b' => undef # }, # 'name' => 'keys (create_default=0) 2', # 'output' => { # 'b' => 2 # }, # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => [ # 'int', # 'default', # 2 # ] # }, # 'keys.create_default' => 0 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - output ok 4 - valid (rt=str) ok 5 - validator (rt=full) returns hash ok 6 - errors (rt=full) ok 7 - warnings (rt=full) 1..7 ok 119 - keys (create_default=0) 2 1..119 ok 8 - 10-type-hash.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => -1, # 'name' => 'type check: must accept -1', # 'schema' => 'int', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - type check: must accept -1 # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'int', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - type check: must accept 0 # { # 'input' => 1, # 'name' => 'type check: must accept 1', # 'schema' => 'int', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - type check: must accept 1 # { # 'input' => '1.1', # 'name' => 'type check: must reject 1.1', # 'schema' => 'int', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - type check: must reject 1.1 # { # 'input' => 'a', # 'name' => 'type check: must reject a', # 'schema' => 'int', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 5 - type check: must reject a # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'int', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 6 - type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'int', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 7 - type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'int', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 8 - must accept undefined value # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'int', # 'req', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 9 - req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'int', # 'req', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 10 - req=1 must reject undefined value # { # 'input' => 2, # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'int', # 'forbidden', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 11 - forbidden=0 must accept defined value # { # 'input' => 2, # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'int', # 'forbidden', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 12 - forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default 1', # 'schema' => [ # 'int*', # 'default', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 13 - default: must accept valid default 1 # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'int*', # 'default', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 14 - default: must reject invalid default [] # { # 'dies' => 1, # 'input' => 2, # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'int*', # 'clause', # [ # 'foo', # 1 # ] # ] # } ok 1 - compile error 1..1 ok 15 - clause (dies, unknown clause) # { # 'input' => 2, # 'name' => 'clause (ok)', # 'schema' => [ # 'int*', # 'clause', # [ # 'min', # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 16 - clause (ok) # { # 'input' => 2, # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'int*', # 'clause', # [ # 'min', # 1 # ], # 'xmax', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 17 - clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => 2, # 'name' => 'clause (nok)', # 'schema' => [ # 'int*', # 'clause', # [ # 'min', # 3 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - clause (nok) # { # 'dies' => 1, # 'input' => 2, # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'int*', # 'clset', # { # 'foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 19 - clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => 2, # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'int*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 20 - clset (dies, unknown attr) # { # 'input' => 2, # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'int*', # 'clset', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - clset (empty = ok) # { # 'input' => 2, # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'int*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 22 - clset (ignored clause/attr = ok) # { # 'input' => 2, # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'int*', # 'clset', # { # 'max' => 2, # 'min' => 1 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 23 - clset (ok + ok = ok) # { # 'input' => 2, # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'int*', # 'clset', # { # 'min' => 1 # }, # 'xmax', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 24 - clset (ok) + clause nok = nok # { # 'input' => 2, # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'int*', # 'clset', # { # 'min' => 1, # 'xmax' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - clset (ok + nok = nok) # { # 'input' => 2, # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'int*', # 'clset', # { # 'max' => 2, # 'min' => 3 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 26 - clset (nok + ok = nok) # { # 'input' => 2, # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'int*', # 'clset', # { # 'min' => 3, # 'xmax' => 2 # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 27 - clset (nok + nok = nok) # { # 'input' => 9, # 'name' => '.err_level=error (clause=div_by, ok)', # 'schema' => [ # 'int', # 'div_by', # 3 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 28 - .err_level=error (clause=div_by, ok) # { # 'input' => 8, # 'name' => '.err_level=error (clause=div_by, nok)', # 'schema' => [ # 'int', # 'div_by', # 3 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 29 - .err_level=error (clause=div_by, nok) # { # 'input' => 9, # 'name' => '.err_level=warn (clause=div_by, ok)', # 'schema' => [ # 'int', # 'div_by', # 3, # 'div_by.err_level', # 'warn' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 30 - .err_level=warn (clause=div_by, ok) # { # 'input' => 8, # 'name' => '.err_level=warn (clause=div_by, nok)', # 'schema' => [ # 'int*', # 'div_by', # 3, # 'div_by.err_level', # 'warn' # ], # 'valid' => 1, # 'warnings' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 31 - .err_level=warn (clause=div_by, nok) # { # 'input' => 1, # 'name' => 'is: must accept same value', # 'schema' => [ # 'int', # 'is', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 32 - is: must accept same value # { # 'input' => 1, # 'name' => 'is: must reject different value', # 'schema' => [ # 'int', # 'is', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 33 - is: must reject different value # { # 'input' => 1, # 'name' => '!is (nok)', # 'schema' => [ # 'int', # '!is', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 34 - !is (nok) # { # 'input' => 1, # 'name' => '!is (ok)', # 'schema' => [ # 'int', # '!is', # 2 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 35 - !is (ok) # { # 'input' => 1, # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'int', # 'is', # 1, # 'is.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 36 - is.op=not (nok) # { # 'input' => 1, # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'int', # 'is', # 2, # 'is.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 37 - is.op=not (ok) # { # 'input' => 1, # 'name' => 'is& (no items)', # 'schema' => [ # 'int', # 'is&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - is& (no items) # { # 'input' => 1, # 'name' => 'is& (ok)', # 'schema' => [ # 'int', # 'is&', # [ # 1, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 39 - is& (ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'int', # 'is&', # [ # 2, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 40 - is& (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'int', # 'is&', # [ # 1, # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - is& (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'int', # 'is&', # [ # 2, # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 42 - is& (nok + nok) # { # 'input' => 1, # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'int', # 'is', # [], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 43 - is.op=and (no items) # { # 'input' => 1, # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 44 - is.op=and (ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 1 # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 45 - is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 2 # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 2 # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 47 - is.op=and (nok + nok) # { # 'input' => 1, # 'name' => 'is| (no items)', # 'schema' => [ # 'int', # 'is|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 48 - is| (no items) # { # 'input' => 1, # 'name' => 'is| (ok)', # 'schema' => [ # 'int', # 'is|', # [ # 1, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 49 - is| (ok) # { # 'input' => 1, # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'int', # 'is|', # [ # 2, # 1 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 50 - is| (nok + ok) # { # 'input' => 1, # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'int', # 'is|', # [ # 1, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 51 - is| (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'int', # 'is|', # [ # 2, # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 52 - is| (nok + nok) # { # 'input' => 1, # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'int', # 'is', # [], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 53 - is.op=or (no items) # { # 'input' => 1, # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - is.op=or (ok) # { # 'input' => 1, # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 1 # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - is.op=or (nok + ok) # { # 'input' => 1, # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 2 # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 56 - is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 2 # ], # 'is.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 57 - is.op=or (nok + nok) # { # 'input' => 1, # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'int', # 'is', # [], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 58 - is.op=none (empty items) # { # 'input' => 1, # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 2 # ], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 59 - is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 1 # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 60 - is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 2 # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 62 - is.op=none (ok + ok) # { # 'input' => 1, # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'int', # 'in', # [ # 1, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 63 - in: must accept valid choices # { # 'input' => 1, # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'int', # 'in', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 64 - in: must reject empty choices # { # 'input' => 1, # 'name' => '!in (nok)', # 'schema' => [ # 'int', # '!in', # [ # 1, # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 65 - !in (nok) # { # 'input' => 1, # 'name' => '!in (ok)', # 'schema' => [ # 'int', # '!in', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 66 - !in (ok) # { # 'input' => 1, # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'int', # 'in', # [ # 1, # 2 # ], # 'in.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 67 - in.op=not (nok) # { # 'input' => 1, # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'int', # 'in', # [], # 'in.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 68 - in.op=not (ok) # { # 'input' => 1, # 'name' => 'in& (no items)', # 'schema' => [ # 'int', # 'in&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - in& (no items) # { # 'input' => 1, # 'name' => 'in& (ok)', # 'schema' => [ # 'int', # 'in&', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 70 - in& (ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'int', # 'in&', # [ # [], # [ # 1, # 2 # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 71 - in& (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'int', # 'in&', # [ # [ # 1, # 2 # ], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - in& (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'int', # 'in&', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 73 - in& (nok + nok) # { # 'input' => 1, # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'int', # 'in', # [], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 74 - in.op=and (no items) # { # 'input' => 1, # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 75 - in.op=and (ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [ # 1, # 2 # ] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 76 - in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 78 - in.op=and (nok + nok) # { # 'input' => 1, # 'name' => 'in| (no items)', # 'schema' => [ # 'int', # 'in|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 79 - in| (no items) # { # 'input' => 1, # 'name' => 'in| (ok)', # 'schema' => [ # 'int', # 'in|', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - in| (ok) # { # 'input' => 1, # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'int', # 'in|', # [ # [], # [ # 1, # 2 # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - in| (nok + ok) # { # 'input' => 1, # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'int', # 'in|', # [ # [ # 1, # 2 # ], # [] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 82 - in| (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'int', # 'in|', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 83 - in| (nok + nok) # { # 'input' => 1, # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'int', # 'in', # [], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 84 - in.op=or (no items) # { # 'input' => 1, # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 85 - in.op=or (ok) # { # 'input' => 1, # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [ # 1, # 2 # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - in.op=or (nok + ok) # { # 'input' => 1, # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 87 - in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 88 - in.op=or (nok + nok) # { # 'input' => 1, # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'int', # 'in', # [], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 89 - in.op=none (empty items) # { # 'input' => 1, # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 90 - in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [ # 1, # 2 # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 91 - in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 93 - in.op=none (ok + ok) # { # 'input' => 2, # 'name' => 'min: 2 -3', # 'schema' => [ # 'int', # 'min', # -3 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 94 - min: 2 -3 # { # 'input' => 2, # 'name' => 'min: 2 2', # 'schema' => [ # 'int', # 'min', # 2 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 95 - min: 2 2 # { # 'input' => -3, # 'name' => 'min: -3 2 -> fail', # 'schema' => [ # 'int', # 'min', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 96 - min: -3 2 -> fail # { # 'input' => 2, # 'name' => 'xmin: 2 -3', # 'schema' => [ # 'int', # 'xmin', # -3 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 97 - xmin: 2 -3 # { # 'input' => 2, # 'name' => 'xmin: 2 2 -> fail', # 'schema' => [ # 'int', # 'xmin', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 98 - xmin: 2 2 -> fail # { # 'input' => -3, # 'name' => 'xmin: -3 2 -> fail', # 'schema' => [ # 'int', # 'xmin', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 99 - xmin: -3 2 -> fail # { # 'input' => 2, # 'name' => 'max: 2 -3 -> fail', # 'schema' => [ # 'int', # 'max', # -3 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 100 - max: 2 -3 -> fail # { # 'input' => 2, # 'name' => 'max: 2 2', # 'schema' => [ # 'int', # 'max', # 2 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 101 - max: 2 2 # { # 'input' => -3, # 'name' => 'max: -3 2', # 'schema' => [ # 'int', # 'max', # 2 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 102 - max: -3 2 # { # 'input' => 2, # 'name' => 'xmax: 2 -3 -> fail', # 'schema' => [ # 'int', # 'xmax', # -3 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 103 - xmax: 2 -3 -> fail # { # 'input' => 2, # 'name' => 'xmax: 2 2 -> fail', # 'schema' => [ # 'int', # 'xmax', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 104 - xmax: 2 2 -> fail # { # 'input' => -3, # 'name' => 'xmax: -3 2', # 'schema' => [ # 'int', # 'xmax', # 2 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 105 - xmax: -3 2 # { # 'input' => 2, # 'name' => 'between: 2 -3 & 4', # 'schema' => [ # 'int', # 'between', # [ # -3, # 4 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 106 - between: 2 -3 & 4 # { # 'input' => 2, # 'name' => 'between: 2 -3 & 2', # 'schema' => [ # 'int', # 'between', # [ # -3, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 107 - between: 2 -3 & 2 # { # 'input' => 2, # 'name' => 'between: 2 2 & 2', # 'schema' => [ # 'int', # 'between', # [ # 2, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 108 - between: 2 2 & 2 # { # 'input' => -3, # 'name' => 'between: -3 2 & 4 -> fail', # 'schema' => [ # 'int', # 'between', # [ # 2, # 4 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 109 - between: -3 2 & 4 -> fail # { # 'input' => '2', # 'name' => 'xbetween: 2 -3 & 4', # 'schema' => [ # 'int', # 'xbetween', # [ # -3, # 4 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 110 - xbetween: 2 -3 & 4 # { # 'input' => '2', # 'name' => 'xbetween: 2 -3 & 2 -> fail', # 'schema' => [ # 'int', # 'xbetween', # [ # -3, # '2' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 111 - xbetween: 2 -3 & 2 -> fail # { # 'input' => '2', # 'name' => 'xbetween: 2 2 & 2 -> fail', # 'schema' => [ # 'int', # 'xbetween', # [ # '2', # '2' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 112 - xbetween: 2 2 & 2 -> fail # { # 'input' => -3, # 'name' => 'xbetween: -3 2 & 4 -> fail', # 'schema' => [ # 'int', # 'xbetween', # [ # '2', # '4' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 113 - xbetween: -3 2 & 4 -> fail # { # 'input' => 10, # 'name' => 'mod: (nok)', # 'schema' => [ # 'int', # 'mod', # [ # 3, # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 114 - mod: (nok) # { # 'input' => 11, # 'name' => 'mod: (ok)', # 'schema' => [ # 'int', # 'mod', # [ # 3, # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 115 - mod: (ok) # { # 'input' => 7, # 'name' => 'div_by: (nok)', # 'schema' => [ # 'int', # 'div_by', # 3 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 116 - div_by: (nok) # { # 'input' => 6, # 'name' => 'div_by: (ok)', # 'schema' => [ # 'int', # 'div_by', # 3 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 117 - div_by: (ok) 1..117 ok 9 - 10-type-int.json # Test version: v0.9.24 (generated by devscripts/gen-type-spectest on Sat Feb 2 10:46:49 2013) # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'str', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 1 - type check: must accept 0 # { # 'input' => '1.1', # 'name' => 'type check: must accept 1.1', # 'schema' => 'str', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 2 - type check: must accept 1.1 # { # 'input' => '', # 'name' => 'type check: must accept ', # 'schema' => 'str', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 3 - type check: must accept # { # 'input' => 'str # ', # 'name' => 'type check: must accept str # ', # 'schema' => 'str', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 4 - type check: must accept str # # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'str', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 5 - type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'str', # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 6 - type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'str', # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 7 - must accept undefined value # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'str', # 'req', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 8 - req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'str', # 'req', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 9 - req=1 must reject undefined value # { # 'input' => 'a', # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'str', # 'forbidden', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 10 - forbidden=0 must accept defined value # { # 'input' => 'a', # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'str', # 'forbidden', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 11 - forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default a', # 'schema' => [ # 'str*', # 'default', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 12 - default: must accept valid default a # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'str*', # 'default', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 13 - default: must reject invalid default [] # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'str*', # 'clause', # [ # 'foo', # 1 # ] # ] # } ok 1 - compile error 1..1 ok 14 - clause (dies, unknown clause) # { # 'input' => 'a', # 'name' => 'clause (ok)', # 'schema' => [ # 'str*', # 'clause', # [ # 'match', # 'a' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 15 - clause (ok) # { # 'input' => 'a', # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'str*', # 'clause', # [ # 'match', # 'a' # ], # 'len', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 16 - clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'clause (nok)', # 'schema' => [ # 'str*', # 'clause', # [ # 'match', # 'b' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 17 - clause (nok) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'str*', # 'clset', # { # 'foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 18 - clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'str*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ] # } ok 1 - compile error 1..1 ok 19 - clset (dies, unknown attr) # { # 'input' => 'a', # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'str*', # 'clset', # {} # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 20 - clset (empty = ok) # { # 'input' => 'a', # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'str*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - clset (ignored clause/attr = ok) # { # 'input' => 'a', # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'str*', # 'clset', # { # 'len' => 1, # 'match' => 'a' # } # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 22 - clset (ok + ok = ok) # { # 'input' => 'a', # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'str*', # 'clset', # { # 'match' => 'a' # }, # 'len', # 2 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 23 - clset (ok) + clause nok = nok # { # 'input' => 'a', # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'str*', # 'clset', # { # 'len' => 2, # 'match' => 'a' # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 24 - clset (ok + nok = nok) # { # 'input' => 'a', # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'str*', # 'clset', # { # 'len' => 1, # 'match' => 'b' # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - clset (nok + ok = nok) # { # 'input' => 'a', # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'str*', # 'clset', # { # 'len' => 2, # 'match' => 'b' # } # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 26 - clset (nok + nok = nok) # { # 'input' => 'a', # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'str', # 'is', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 27 - .err_level=error (clause=is, ok) # { # 'input' => 'a # ', # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'str', # 'is', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 28 - .err_level=error (clause=is, nok) # { # 'input' => 'a', # 'name' => '.err_level=warn (clause=is, ok)', # 'schema' => [ # 'str', # 'is', # 'a', # 'is.err_level', # 'warn' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 29 - .err_level=warn (clause=is, ok) # { # 'input' => 'a # ', # 'name' => '.err_level=warn (clause=is, nok)', # 'schema' => [ # 'str*', # 'is', # 'a', # 'is.err_level', # 'warn' # ], # 'valid' => 1, # 'warnings' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 30 - .err_level=warn (clause=is, nok) # { # 'input' => 'a', # 'name' => 'is: must accept same value', # 'schema' => [ # 'str', # 'is', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 31 - is: must accept same value # { # 'input' => 'a', # 'name' => 'is: must reject different value', # 'schema' => [ # 'str', # 'is', # 'b' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 32 - is: must reject different value # { # 'input' => 'a', # 'name' => '!is (nok)', # 'schema' => [ # 'str', # '!is', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 33 - !is (nok) # { # 'input' => 'a', # 'name' => '!is (ok)', # 'schema' => [ # 'str', # '!is', # 'b' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 34 - !is (ok) # { # 'input' => 'a', # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'str', # 'is', # 'a', # 'is.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 35 - is.op=not (nok) # { # 'input' => 'a', # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'str', # 'is', # 'b', # 'is.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 36 - is.op=not (ok) # { # 'input' => 'a', # 'name' => 'is& (no items)', # 'schema' => [ # 'str', # 'is&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 37 - is& (no items) # { # 'input' => 'a', # 'name' => 'is& (ok)', # 'schema' => [ # 'str', # 'is&', # [ # 'a', # 'a' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - is& (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'str', # 'is&', # [ # 'b', # 'a' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 39 - is& (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'str', # 'is&', # [ # 'a', # 'b' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 40 - is& (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'str', # 'is&', # [ # 'b', # 'b' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - is& (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'str', # 'is', # [], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 42 - is.op=and (no items) # { # 'input' => 'a', # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 43 - is.op=and (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'a' # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 44 - is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'b' # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 45 - is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'b' # ], # 'is.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - is.op=and (nok + nok) # { # 'input' => 'a', # 'name' => 'is| (no items)', # 'schema' => [ # 'str', # 'is|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 47 - is| (no items) # { # 'input' => 'a', # 'name' => 'is| (ok)', # 'schema' => [ # 'str', # 'is|', # [ # 'a', # 'a' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 48 - is| (ok) # { # 'input' => 'a', # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'str', # 'is|', # [ # 'b', # 'a' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 49 - is| (nok + ok) # { # 'input' => 'a', # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'str', # 'is|', # [ # 'a', # 'b' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 50 - is| (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'str', # 'is|', # [ # 'b', # 'b' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 51 - is| (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'str', # 'is', # [], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 52 - is.op=or (no items) # { # 'input' => 'a', # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 53 - is.op=or (ok) # { # 'input' => 'a', # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'a' # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - is.op=or (nok + ok) # { # 'input' => 'a', # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'b' # ], # 'is.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'b' # ], # 'is.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 56 - is.op=or (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'str', # 'is', # [], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 57 - is.op=none (empty items) # { # 'input' => 'a', # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'b' # ], # 'is.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 58 - is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'a' # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 59 - is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'b' # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 60 - is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - is.op=none (ok + ok) # { # 'input' => 'a', # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'str', # 'in', # [ # 'a', # 'b' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 62 - in: must accept valid choices # { # 'input' => 'a', # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'str', # 'in', # [] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 63 - in: must reject empty choices # { # 'input' => 'a', # 'name' => '!in (nok)', # 'schema' => [ # 'str', # '!in', # [ # 'a', # 'b' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 64 - !in (nok) # { # 'input' => 'a', # 'name' => '!in (ok)', # 'schema' => [ # 'str', # '!in', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 65 - !in (ok) # { # 'input' => 'a', # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'str', # 'in', # [ # 'a', # 'b' # ], # 'in.op', # 'not' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 66 - in.op=not (nok) # { # 'input' => 'a', # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'str', # 'in', # [], # 'in.op', # 'not' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 67 - in.op=not (ok) # { # 'input' => 'a', # 'name' => 'in& (no items)', # 'schema' => [ # 'str', # 'in&', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 68 - in& (no items) # { # 'input' => 'a', # 'name' => 'in& (ok)', # 'schema' => [ # 'str', # 'in&', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - in& (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'str', # 'in&', # [ # [], # [ # 'a', # 'b' # ] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 70 - in& (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'str', # 'in&', # [ # [ # 'a', # 'b' # ], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 71 - in& (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'str', # 'in&', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - in& (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'str', # 'in', # [], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 73 - in.op=and (no items) # { # 'input' => 'a', # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'and' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 74 - in.op=and (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 75 - in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 76 - in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - in.op=and (nok + nok) # { # 'input' => 'a', # 'name' => 'in| (no items)', # 'schema' => [ # 'str', # 'in|', # [] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 78 - in| (no items) # { # 'input' => 'a', # 'name' => 'in| (ok)', # 'schema' => [ # 'str', # 'in|', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 79 - in| (ok) # { # 'input' => 'a', # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'str', # 'in|', # [ # [], # [ # 'a', # 'b' # ] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - in| (nok + ok) # { # 'input' => 'a', # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'str', # 'in|', # [ # [ # 'a', # 'b' # ], # [] # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - in| (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'str', # 'in|', # [ # [], # [] # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 82 - in| (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'str', # 'in', # [], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 83 - in.op=or (no items) # { # 'input' => 'a', # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 84 - in.op=or (ok) # { # 'input' => 'a', # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 85 - in.op=or (nok + ok) # { # 'input' => 'a', # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 87 - in.op=or (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'str', # 'in', # [], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 88 - in.op=none (empty items) # { # 'input' => 'a', # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 89 - in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 90 - in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 91 - in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'none' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - in.op=none (ok + ok) # { # 'input' => 'a', # 'name' => 'min: a ', # 'schema' => [ # 'str', # 'min', # '' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 93 - min: a # { # 'input' => 'a', # 'name' => 'min: a a', # 'schema' => [ # 'str', # 'min', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 94 - min: a a # { # 'input' => '', # 'name' => 'min: a -> fail', # 'schema' => [ # 'str', # 'min', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 95 - min: a -> fail # { # 'input' => 'a', # 'name' => 'xmin: a ', # 'schema' => [ # 'str', # 'xmin', # '' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 96 - xmin: a # { # 'input' => 'a', # 'name' => 'xmin: a a -> fail', # 'schema' => [ # 'str', # 'xmin', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 97 - xmin: a a -> fail # { # 'input' => '', # 'name' => 'xmin: a -> fail', # 'schema' => [ # 'str', # 'xmin', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 98 - xmin: a -> fail # { # 'input' => 'a', # 'name' => 'max: a -> fail', # 'schema' => [ # 'str', # 'max', # '' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 99 - max: a -> fail # { # 'input' => 'a', # 'name' => 'max: a a', # 'schema' => [ # 'str', # 'max', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 100 - max: a a # { # 'input' => '', # 'name' => 'max: a', # 'schema' => [ # 'str', # 'max', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 101 - max: a # { # 'input' => 'a', # 'name' => 'xmax: a -> fail', # 'schema' => [ # 'str', # 'xmax', # '' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 102 - xmax: a -> fail # { # 'input' => 'a', # 'name' => 'xmax: a a -> fail', # 'schema' => [ # 'str', # 'xmax', # 'a' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 103 - xmax: a a -> fail # { # 'input' => '', # 'name' => 'xmax: a', # 'schema' => [ # 'str', # 'xmax', # 'a' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 104 - xmax: a # { # 'input' => 'a', # 'name' => 'between: a & ab', # 'schema' => [ # 'str', # 'between', # [ # '', # 'ab' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 105 - between: a & ab # { # 'input' => 'a', # 'name' => 'between: a & a', # 'schema' => [ # 'str', # 'between', # [ # '', # 'a' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 106 - between: a & a # { # 'input' => 'a', # 'name' => 'between: a a & a', # 'schema' => [ # 'str', # 'between', # [ # 'a', # 'a' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 107 - between: a a & a # { # 'input' => '', # 'name' => 'between: a & ab -> fail', # 'schema' => [ # 'str', # 'between', # [ # 'a', # 'ab' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 108 - between: a & ab -> fail # { # 'input' => 'a', # 'name' => 'xbetween: a & ab', # 'schema' => [ # 'str', # 'xbetween', # [ # '', # 'ab' # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 109 - xbetween: a & ab # { # 'input' => 'a', # 'name' => 'xbetween: a & a -> fail', # 'schema' => [ # 'str', # 'xbetween', # [ # '', # 'a' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 110 - xbetween: a & a -> fail # { # 'input' => 'a', # 'name' => 'xbetween: a a & a -> fail', # 'schema' => [ # 'str', # 'xbetween', # [ # 'a', # 'a' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 111 - xbetween: a a & a -> fail # { # 'input' => '', # 'name' => 'xbetween: a & ab -> fail', # 'schema' => [ # 'str', # 'xbetween', # [ # 'a', # 'ab' # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 112 - xbetween: a & ab -> fail # { # 'input' => 'a', # 'name' => 'len (ok)', # 'schema' => [ # 'str', # 'len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 113 - len (ok) # { # 'input' => 'a', # 'name' => 'len (nok)', # 'schema' => [ # 'str', # 'len', # 3 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 114 - len (nok) # { # 'input' => 'a', # 'name' => 'min_len (ok)', # 'schema' => [ # 'str', # 'min_len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 115 - min_len (ok) # { # 'input' => 'a', # 'name' => 'min_len (nok)', # 'schema' => [ # 'str', # 'min_len', # 3 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 116 - min_len (nok) # { # 'input' => 'a', # 'name' => 'max_len (ok)', # 'schema' => [ # 'str', # 'min_len', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 117 - max_len (ok) # { # 'input' => 'abc', # 'name' => 'max_len (nok)', # 'schema' => [ # 'str', # 'max_len', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 118 - max_len (nok) # { # 'input' => 'a', # 'name' => 'len_between (ok)', # 'schema' => [ # 'str', # 'len_between', # [ # 1, # 3 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 119 - len_between (ok) # { # 'input' => 'abc', # 'name' => 'len_between (nok)', # 'schema' => [ # 'str', # 'len_between', # [ # 1, # 1 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 120 - len_between (nok) # { # 'input' => 'abc', # 'name' => 'each_index (ok)', # 'schema' => [ # 'str', # 'each_index', # [ # 'int', # 'max', # 2 # ] # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 121 - each_index (ok) # { # 'input' => 'abc', # 'name' => 'each_index (nok)', # 'schema' => [ # 'str', # 'each_index', # [ # 'int', # 'xmax', # 2 # ] # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 122 - each_index (nok) # { # 'input' => 'abc', # 'name' => 'each_elem (ok)', # 'schema' => [ # 'str', # 'each_elem', # 'str' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 123 - each_elem (ok) # { # 'input' => 'abc', # 'name' => 'each_elem (nok)', # 'schema' => [ # 'str', # 'each_elem', # 'float' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 124 - each_elem (nok) # { # 'input' => 'a', # 'name' => 'match: (ok)', # 'schema' => [ # 'str', # 'match', # '[abc]' # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 125 - match: (ok) # { # 'input' => 'z', # 'name' => 'match: (nok)', # 'schema' => [ # 'str', # 'match', # '[abc]' # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 126 - match: (nok) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'match: (dies, invalid regex)', # 'schema' => [ # 'str', # 'match', # '(' # ] # } ok 1 - compile error 1..1 ok 127 - match: (dies, invalid regex) # { # 'input' => 'a', # 'name' => 'is_re: 1 (ok)', # 'schema' => [ # 'str', # 'is_re', # 1 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 128 - is_re: 1 (ok) # { # 'input' => 'a(', # 'name' => 'is_re: 1 (nok)', # 'schema' => [ # 'str', # 'is_re', # 1 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 129 - is_re: 1 (nok) # { # 'input' => 'a(', # 'name' => 'is_re: 0 (ok)', # 'schema' => [ # 'str', # 'is_re', # 0 # ], # 'valid' => 1 # } ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 130 - is_re: 0 (ok) # { # 'input' => 'a', # 'name' => 'is_re: 0 (nok)', # 'schema' => [ # 'str', # 'is_re', # 0 # ], # 'valid' => 0 # } ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 131 - is_re: 0 (nok) 1..131 ok 10 - 10-type-str.json 1..10 Dubious, test returned 1 (wstat 256, 0x100) Failed 1/10 subtests Test Summary Report ------------------- t/spectest-perl.t (Wstat: 256 Tests: 10 Failed: 1) Failed test: 6 Non-zero exit status: 1 Files=15, Tests=146, 20 wallclock secs ( 0.90 usr 0.79 sys + 15.64 cusr 2.27 csys = 19.60 CPU) Result: FAIL Failed 1/15 test programs. 1/146 subtests failed. make: *** [test_dynamic] Error 1 SHARYANTO/Data-Sah-0.18.tar.gz 2 dependencies missing (Language::Expr::Interpreter::VarEnumer,Language::Expr); additionally test harness failed make test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Data-Sah-0.18.tar.gz Running make for S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.46.tar.gz Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.46.tar.gz Warning: Prerequisite 'Data::Sah => 0.14' for 'SHARYANTO/Perinci-Sub-Wrapper-0.46.tar.gz' failed when processing 'SHARYANTO/Data-Sah-0.18.tar.gz' with 'make_test => NO 2 dependencies missing (Language::Expr::Interpreter::VarEnumer,Language::Expr); additionally test harness failed'. Continuing, but chances to succeed are limited. >>> make cp lib/Perinci/Sub/Wrapper.pm blib/lib/Perinci/Sub/Wrapper.pm cp lib/Test/Perinci/Sub/Wrapper.pm blib/lib/Test/Perinci/Sub/Wrapper.pm Manifying blib/man3/Perinci::Sub::Wrapper.3 Manifying blib/man3/Test::Perinci::Sub::Wrapper.3 SHARYANTO/Perinci-Sub-Wrapper-0.46.tar.gz make -- OK Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'test' Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 /home/fly1800/ap1800-297235/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/Sub/Wrapper.pm loaded ok ok 2 - Test/Perinci/Sub/Wrapper.pm loaded ok ok # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test 'meta version == 1.0 -> converted to 1.1' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test '(trap=1, default) call doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test '(trap=1, default) call dies -> 500' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test '(trap=0) call dies -> dies' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test '(result_naked=0) convert result_naked to 1' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 637. # Failed test 'wrap res is array' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test 'convert default_lang' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Looks like you failed 6 tests of 29. t/01-basics.t ....................... not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 1 - meta version == 1.0 -> converted to 1.1 ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 502 1..3 ok 2 - unsupported conversion -> fail not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 3 - (trap=1, default) call doesn't die not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 4 - (trap=1, default) call dies -> 500 not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 5 - (trap=0) call dies -> dies not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 6 - (result_naked=0) convert result_naked to 1 ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 7 - (result_naked=1) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta result_naked=0 1..6 ok 8 - (result_naked=1) convert result_naked to 0 ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 9 - (args_as=array) convert args_as to arrayref ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 10 - (args_as=array) convert args_as to hash ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 11 - (args_as=array) convert args_as to hashref ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 12 - (args_as=arrayref) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 13 - (args_as=arrayref) convert args_as to array ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 14 - (args_as=arrayref) convert args_as to hash ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 15 - (args_as=arrayref) convert args_as to hashref ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 16 - (args_as=hash) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 17 - (args_as=hash) convert args_as to array ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 18 - (args_as=hash) convert args_as to arrayref ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 19 - (args_as=hash) convert args_as to hashref ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 20 - (args_as=hashref) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 21 - (args_as=hashref) convert args_as to array ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 22 - (args_as=hashref) convert args_as to arrayref ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res ok 6 - new meta args_as 1..6 ok 23 - (args_as=hashref) convert args_as to hash ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 24 - (args_as=hash, default) greedy, no conversion ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 25 - (args_as=hash) greedy, conversion to array ok 26 - generated wrapper is blessed ok 27 - original input subroutine not blessed ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res 1..5 ok 28 - double wrapping, no conversion not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 29 - convert default_lang 1..29 Dubious, test returned 6 (wstat 1536, 0x600) Failed 6/29 subtests t/opt-allow_invalid_args.t .......... ok 1 - already tested in prop-args.t 1..1 ok t/opt-allow_unknown_args.t .......... ok 1 - already tested in prop-args.t 1..1 ok # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test '(remove_internal_properties=1, default)' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. # Failed test 'wrap res is array' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 33. # got: '' # expected: 'ARRAY' # Failed test 'wrap status is 200' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 34. # got: undef # expected: '200' # wrap res: [] Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 3 tests of 3. # Failed test '(remove_internal_properties=0)' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Looks like you failed 2 tests of 2. t/opt-remove_internal_properties.t .. not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 1 - (remove_internal_properties=1, default) not ok 1 - wrap doesn't die not ok 2 - wrap res is array not ok 3 - wrap status is 200 1..3 not ok 2 - (remove_internal_properties=0) 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests t/opt-skip.t ........................ ok 1 - wrap doesn't die ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 2 - call \#1: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 400 1..3 ok 3 - call \#2: unknown arg 1..3 ok 1 - none (the default) ok 1 - wrap doesn't die ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 2 - call \#1: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 3 - call \#2: unknown arg not checked 1..3 ok 2 - args 1..2 ok t/opt-sub_name.t .................... ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call result 1..4 ok 1 - specifying sub_name only instead of sub 1..1 ok t/opt-validate_args.t ............... ok 1 - already tested in prop-args.t 1..1 ok t/opt-validate_result.t ............. ok 1 - already tested in prop-result.t 1..1 ok # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'req arg + schema req no default' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'opt: validate_args=0' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'opt via metadata attr: validate_args=0' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'opt: allow_invalid_args=1' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'opt: allow_unknown_args=1' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'req arg + schema no req with default' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'default supplied even when validate_args=0' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'req arg + schema no req no default' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'no req arg + schema with default' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 507. Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'default supplied even when validate_args=0' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Looks like you failed 10 tests of 16. t/prop-args.t ....................... ok 1 - wrap dies 1..1 ok 1 - unknown arg spec key -> dies ok 1 - wrap doesn't die 1..1 ok 2 - arg spec key x ok 1 - wrap doesn't die 1..1 ok 3 - arg spec key prefixed by _ is ignored ok 1 - wrap doesn't die ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 ok 4 - res 1..4 ok 2 - call \#1: 1..2 ok 4 - -wrapper special argument is passed not ok 1 - wrap doesn't die 1..1 not ok 5 - req arg + schema req no default not ok 1 - wrap doesn't die 1..1 not ok 6 - opt: validate_args=0 not ok 1 - wrap doesn't die 1..1 not ok 7 - opt via metadata attr: validate_args=0 not ok 1 - wrap doesn't die 1..1 not ok 8 - opt: allow_invalid_args=1 not ok 1 - wrap doesn't die 1..1 not ok 9 - opt: allow_unknown_args=1 not ok 1 - wrap doesn't die 1..1 not ok 10 - req arg + schema no req with default not ok 1 - wrap doesn't die 1..1 not ok 11 - default supplied even when validate_args=0 not ok 1 - wrap doesn't die 1..1 not ok 12 - req arg + schema no req no default ok 1 - wrap doesn't die ok 1 - doesn't die ok 2 - res is array ok 3 - status is 400 1..3 ok 2 - call \#1: missing arg ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 3 - call \#2: undef arg value 1..3 ok 13 - req arg + no schema ok 1 - wrap doesn't die ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 2 - call \#1: missing arg ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 3 - call \#2: undef arg value 1..3 ok 14 - no req arg + schema no req with default not ok 1 - wrap doesn't die 1..1 not ok 15 - no req arg + schema with default not ok 1 - wrap doesn't die 1..1 not ok 16 - default supplied even when validate_args=0 1..16 Dubious, test returned 10 (wstat 2560, 0xa00) Failed 10/16 subtests Smartmatch is experimental at /home/fly1800/var/megalib/Perinci/Sub/DepChecker.pm line 129. Smartmatch is experimental at /home/fly1800/var/megalib/Perinci/Sub/DepChecker.pm line 130. Smartmatch is experimental at /home/fly1800/var/megalib/Perinci/Sub/DepChecker.pm line 130. Smartmatch is experimental at /home/fly1800/var/megalib/Perinci/Sub/DepChecker.pm line 131. Smartmatch is experimental at /home/fly1800/var/megalib/Perinci/Sub/DepChecker.pm line 132. Smartmatch is experimental at /home/fly1800/var/megalib/Perinci/Sub/DepChecker.pm line 138. Smartmatch is experimental at /home/fly1800/var/megalib/Perinci/Sub/DepChecker.pm line 147. Smartmatch is experimental at /home/fly1800/var/megalib/Perinci/Sub/DepChecker.pm line 148. Smartmatch is experimental at /home/fly1800/var/megalib/Perinci/Sub/DepChecker.pm line 148. Smartmatch is experimental at /home/fly1800/var/megalib/Perinci/Sub/DepChecker.pm line 149. Smartmatch is experimental at /home/fly1800/var/megalib/Perinci/Sub/DepChecker.pm line 150. Smartmatch is experimental at /home/fly1800/var/megalib/Perinci/Sub/DepChecker.pm line 164. t/prop-deps.t ....................... ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res is array ok 6 - call status is 412 1..6 ok 1 - deps 1 ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res is array ok 6 - call status is 200 1..6 ok 2 - deps 2 1..2 ok t/prop-features.t ................... ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res is array ok 6 - call status is 412 1..6 ok 1 - deps 1 ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - call doesn't die ok 5 - call res is array ok 6 - call status is 200 1..6 ok 2 - deps 1 1..2 ok # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 637. Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'basics' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Failed test 'wrap doesn't die' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 29. # Can't locate Data/Sah.pm in @INC (you may need to install the Data::Sah module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Perinci/Sub/Wrapper.pm line 637. Use of uninitialized value in numeric eq (==) at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 39. # Looks like you failed 1 test of 1. # Failed test 'opt: validate_result=0' # at /home/fly1800/var/cpan/build/Perinci-Sub-Wrapper-0.46-LzaO6z/blib/lib/Test/Perinci/Sub/Wrapper.pm line 125. # Looks like you failed 2 tests of 3. t/prop-result.t ..................... ok 1 - wrap doesn't die ok 1 - doesn't die ok 2 - res is array ok 3 - status is 500 1..3 ok 2 - call \#1: 1..2 ok 1 - wrapper checks that sub produces enveloped result not ok 1 - wrap doesn't die 1..1 not ok 2 - basics not ok 1 - wrap doesn't die 1..1 not ok 3 - opt: validate_result=0 1..3 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/3 subtests t/release-pod-coverage.t ............ skipped: these tests are for release candidate testing t/release-pod-syntax.t .............. skipped: these tests are for release candidate testing t/release-rinci.t ................... skipped: these tests are for release candidate testing t/wrap_all_subs.t ................... ok 1 - f1 wrapped ok 2 - f1 result ok 3 - f1 meta replaced ok 4 - f2 wrapped ok 5 - f2 result ok 6 - f2 meta replaced 1..6 ok Test Summary Report ------------------- t/01-basics.t (Wstat: 1536 Tests: 29 Failed: 6) Failed tests: 1, 3-6, 29 Non-zero exit status: 6 t/opt-remove_internal_properties.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/prop-args.t (Wstat: 2560 Tests: 16 Failed: 10) Failed tests: 5-12, 15-16 Non-zero exit status: 10 t/prop-result.t (Wstat: 512 Tests: 3 Failed: 2) Failed tests: 2-3 Non-zero exit status: 2 Files=17, Tests=69, 1 wallclock secs ( 0.08 usr 0.07 sys + 0.99 cusr 0.17 csys = 1.31 CPU) Result: FAIL Failed 4/17 test programs. 20/69 subtests failed. make: *** [test_dynamic] Error 255 SHARYANTO/Perinci-Sub-Wrapper-0.46.tar.gz one dependency not OK (Data::Sah); additionally test harness failed make test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Perinci-Sub-Wrapper-0.46.tar.gz Running make for S/SH/SHARYANTO/Perinci-Access-Perl-0.52.tar.gz Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory /home/fly1800/var/cpan/build/Perinci-Access-Perl-0.52-4HN_j6 Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-Access-Perl-0.52.tar.gz Warning: Prerequisite 'Perinci::Sub::Wrapper => 0.46' for 'SHARYANTO/Perinci-Access-Perl-0.52.tar.gz' failed when processing 'SHARYANTO/Perinci-Sub-Wrapper-0.46.tar.gz' with 'make_test => NO one dependency not OK (Data::Sah); additionally test harness failed'. Continuing, but chances to succeed are limited. >>> make cp lib/Perinci/Access/Schemeless.pm blib/lib/Perinci/Access/Schemeless.pm cp lib/Perinci/Access/Perl.pm blib/lib/Perinci/Access/Perl.pm Manifying blib/man3/Perinci::Access::Perl.3 Manifying blib/man3/Perinci::Access::Schemeless.3 SHARYANTO/Perinci-Access-Perl-0.52.tar.gz make -- OK Prepending /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib to PERL5LIB for 'test' Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 /home/fly1800/ap1800-297235/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/Access/Perl.pm loaded ok ok 2 - Perinci/Access/Schemeless.pm loaded ok ok t/opt-disk_cache.t ........ 1..1 ok 1 ok t/perl.t .................. ok 1 - status 1..1 ok 1 - (req: info /) ok 1 - status 1..1 ok 2 - (req: info foo:/) ok 1 - status 1..1 ok 3 - (req: info pm:/) ok 1 - status 1..1 ok 4 - (req: info pl:/) 1..4 ok 1 - only pl scheme is accepted 1..1 ok 1 - request ok 1 - schemeless dies ok 2 1..2 ok 2 - parse_url 1..2 ok t/release-pod-coverage.t .. skipped: these tests are for release candidate testing t/release-pod-syntax.t .... skipped: these tests are for release candidate testing t/release-rinci.t ......... skipped: these tests are for release candidate testing Can't locate Perinci/Sub/Wrapper.pm in @INC (you may need to install the Perinci::Sub::Wrapper module) (@INC contains: /home/fly1800/var/cpan/build/Perinci-Access-Perl-0.52-4HN_j6/t/lib /home/fly1800/var/cpan/build/Perinci-Access-Perl-0.52-4HN_j6/blib/lib /home/fly1800/var/cpan/build/Perinci-Access-Perl-0.52-4HN_j6/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/arch /home/fly1800/var/cpan/build/SHARYANTO-Package-Util-0.56-AW2kbE/blib/lib /home/fly1800/var/megalib /home/fly1800/ap1800-297235/site/lib /home/fly1800/ap1800-297235/lib .) at /home/fly1800/var/cpan/build/Perinci-Access-Perl-0.52-4HN_j6/blib/lib/Perinci/Access/Schemeless.pm line 329. # Child (opt: after_load called (req: call /Perinci/Examples/noop)) exited without calling finalize() # Failed test 'opt: after_load called (req: call /Perinci/Examples/noop)' # at /home/fly1800/ap1800-297235/lib/Test/Builder.pm line 252. # Tests were run but no plan was declared and done_testing() was not seen. t/schemeless.t ............ not ok 1 - opt: after_load called (req: call /Perinci/Examples/noop) Dubious, test returned 2 (wstat 512, 0x200) Failed 1/1 subtests Test Summary Report ------------------- t/schemeless.t (Wstat: 512 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 2 Parse errors: No plan found in TAP output Files=7, Tests=6, 0 wallclock secs ( 0.05 usr 0.02 sys + 0.41 cusr 0.06 csys = 0.54 CPU) Result: FAIL Failed 1/7 test programs. 1/6 subtests failed. make: *** [test_dynamic] Error 2 SHARYANTO/Perinci-Access-Perl-0.52.tar.gz one dependency not OK (Perinci::Sub::Wrapper); additionally test harness failed make test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Perinci-Access-Perl-0.52.tar.gz VmSize: 262940 kB Finished 2013-10-03T08:03:47