PATH=C:\PlatSDK\Bin\Win64\x86\AMD64;C:\PlatSDK\Bin;C:\PlatSDK\Bin\WinNT;C:\cygwin\bin;C:\cpanfly-5.14\var\megalib\bin;C:\Perl64-5.14\site\bin;C:\Perl64-5.14\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\PROGRA~2\Perforce;C:\instantclient_11_2;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\PROGRA~2\Perforce;C:\mysql\bin Start 2014-07-14T02:35:10 ActivePerl-1400 CPAN-2.00 LIB=C:\PlatSDK\Lib\AMD64;C:\PlatSDK\Lib\AMD64\atlmfc INCLUDE=C:\PlatSDK\Include;C:\PlatSDK\Include\crt;C:\PlatSDK\Include\crt\sys;C:\PlatSDK\Include\mfc;C:\PlatSDK\Include\atl PATH=C:/CPANFL~1.14/var/libs/bin;C:\PlatSDK\Bin\Win64\x86\AMD64;C:\PlatSDK\Bin;C:\PlatSDK\Bin\WinNT;C:\cygwin\bin;C:\CPANFL~1.14\var\megalib\bin;C:\Perl64-5.14\site\bin;C:\Perl64-5.14\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~1\v1.0;C:\PROGRA~2\Perforce;C:\INSTAN~1;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~1\v1.0;C:\PROGRA~2\Perforce;C:\mysql\bin Reading 'C:\cpanfly-5.14\var\cpan\Metadata' Database was generated on Mon, 14 Jul 2014 07:53:02 GMT Running make for S/SH/SHARYANTO/App-GitUtils-0.01.tar.gz Fetching with LWP: http://cpan.nas1.activestate.com/authors/id/S/SH/SHARYANTO/App-GitUtils-0.01.tar.gz Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\App-GitUtils-0.01.tar.gz ok App-GitUtils-0.01/ App-GitUtils-0.01/Changes App-GitUtils-0.01/LICENSE App-GitUtils-0.01/MANIFEST App-GitUtils-0.01/lib/ App-GitUtils-0.01/lib/App/ App-GitUtils-0.01/lib/App/GitUtils.pm App-GitUtils-0.01/README App-GitUtils-0.01/META.json App-GitUtils-0.01/Makefile.PL App-GitUtils-0.01/dist.ini App-GitUtils-0.01/t/ App-GitUtils-0.01/t/release-rinci.t App-GitUtils-0.01/t/release-pod-coverage.t App-GitUtils-0.01/t/00-compile.t App-GitUtils-0.01/t/release-pod-syntax.t App-GitUtils-0.01/weaver.ini App-GitUtils-0.01/bin/ App-GitUtils-0.01/bin/gu App-GitUtils-0.01/META.yml CPAN.pm: Building S/SH/SHARYANTO/App-GitUtils-0.01.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Makefile.PL Warning: prerequisite Perinci::CmdLine 1.04 not found. Checking if your kit is complete... Looks good Generating a nmake-style Makefile Writing Makefile for App::GitUtils Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/App-GitUtils-0.01.tar.gz ---- Perinci::CmdLine [requires] Running make test Delayed until after prerequisites Running test for module 'Perinci::CmdLine' Running make for S/SH/SHARYANTO/Perinci-CmdLine-1.16.tar.gz Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Perinci-CmdLine-1.16.tar.gz ok Perinci-CmdLine-1.16/ Perinci-CmdLine-1.16/Changes Perinci-CmdLine-1.16/LICENSE Perinci-CmdLine-1.16/MANIFEST Perinci-CmdLine-1.16/lib/ Perinci-CmdLine-1.16/lib/Perinci/ Perinci-CmdLine-1.16/lib/Perinci/CmdLine.pm Perinci-CmdLine-1.16/lib/Perinci/CmdLine/ Perinci-CmdLine-1.16/lib/Perinci/CmdLine/ColorTheme/ Perinci-CmdLine-1.16/lib/Perinci/CmdLine/ColorTheme/Default.pm Perinci-CmdLine-1.16/README Perinci-CmdLine-1.16/examples/ Perinci-CmdLine-1.16/examples/num2word-fr Perinci-CmdLine-1.16/examples/doesnt-set-log-any-app Perinci-CmdLine-1.16/examples/demo-help Perinci-CmdLine-1.16/examples/cmdline_src-stdin_or_files-array Perinci-CmdLine-1.16/examples/cmdline_src-stdin_or_files-str Perinci-CmdLine-1.16/examples/demo-subcommands Perinci-CmdLine-1.16/examples/uc-file Perinci-CmdLine-1.16/examples/turn-on-log-any-app Perinci-CmdLine-1.16/examples/prev-err Perinci-CmdLine-1.16/examples/greedy-arg Perinci-CmdLine-1.16/examples/turn-off-log-any-app Perinci-CmdLine-1.16/META.json Perinci-CmdLine-1.16/Makefile.PL Perinci-CmdLine-1.16/dist.ini Perinci-CmdLine-1.16/t/ Perinci-CmdLine-1.16/t/release-rinci.t Perinci-CmdLine-1.16/t/01-basics.t Perinci-CmdLine-1.16/t/release-pod-coverage.t Perinci-CmdLine-1.16/t/00-compile.t Perinci-CmdLine-1.16/t/undo.t Perinci-CmdLine-1.16/t/release-pod-syntax.t Perinci-CmdLine-1.16/share/ Perinci-CmdLine-1.16/share/LocaleData/ Perinci-CmdLine-1.16/share/LocaleData/fr/ Perinci-CmdLine-1.16/share/LocaleData/fr/LC_MESSAGES/ Perinci-CmdLine-1.16/share/LocaleData/fr/LC_MESSAGES/Perinci-CmdLine.mo Perinci-CmdLine-1.16/share/LocaleData/id/ Perinci-CmdLine-1.16/share/LocaleData/id/LC_MESSAGES/ Perinci-CmdLine-1.16/share/LocaleData/id/LC_MESSAGES/Perinci-CmdLine.mo Perinci-CmdLine-1.16/weaver.ini Perinci-CmdLine-1.16/bin/ Perinci-CmdLine-1.16/bin/peri-run Perinci-CmdLine-1.16/bin/strip-result-env-json Perinci-CmdLine-1.16/bin/strip-result-env-yaml Perinci-CmdLine-1.16/bin/peri-func-usage Perinci-CmdLine-1.16/po/ Perinci-CmdLine-1.16/po/fr.po Perinci-CmdLine-1.16/po/id.po Perinci-CmdLine-1.16/po/Perinci-CmdLine.pot Perinci-CmdLine-1.16/META.yml CPAN.pm: Building S/SH/SHARYANTO/Perinci-CmdLine-1.16.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Makefile.PL Warning: prerequisite Complete::Util 0.12 not found. Warning: prerequisite Data::Unixish 1.39 not found. We have 1.25. Warning: prerequisite Monkey::Patch::Action 0 not found. Warning: prerequisite Perinci::Access 0.30 not found. Warning: prerequisite Perinci::Access::Perl 0.66 not found. Warning: prerequisite Perinci::Access::Schemeless 0.65 not found. Warning: prerequisite Perinci::Sub::Complete 0.53 not found. Warning: prerequisite Perinci::Sub::Wrapper 0.40 not found. We have 0.30. Warning: prerequisite Progress::Any::Output 0 not found. Warning: prerequisite Text::ANSITable 0.23 not found. Checking if your kit is complete... Looks good Generating a nmake-style Makefile Writing Makefile for Perinci::CmdLine Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/Perinci-CmdLine-1.16.tar.gz ---- Progress::Any::Output [requires] Complete::Util [requires] Perinci::Sub::Wrapper [requires] Perinci::Sub::Complete [requires] Perinci::Access::Schemeless [requires] Text::ANSITable [requires] Perinci::Access [requires] Data::Unixish [requires] Monkey::Patch::Action [requires] Perinci::Access::Perl [requires] Running make test Delayed until after prerequisites Running test for module 'Progress::Any::Output' Running make for S/SH/SHARYANTO/Progress-Any-Output-0.03.tar.gz Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Progress-Any-Output-0.03.tar.gz ok Progress-Any-Output-0.03/ Progress-Any-Output-0.03/README Progress-Any-Output-0.03/Build.PL Progress-Any-Output-0.03/lib/ Progress-Any-Output-0.03/lib/Progress/ Progress-Any-Output-0.03/lib/Progress/Any/ Progress-Any-Output-0.03/lib/Progress/Any/Output.pm Progress-Any-Output-0.03/MANIFEST.SKIP Progress-Any-Output-0.03/Changes Progress-Any-Output-0.03/dist.ini Progress-Any-Output-0.03/LICENSE Progress-Any-Output-0.03/t/ Progress-Any-Output-0.03/t/00-compile.t Progress-Any-Output-0.03/t/release-pod-coverage.t Progress-Any-Output-0.03/t/release-pod-syntax.t Progress-Any-Output-0.03/t/release-rinci.t Progress-Any-Output-0.03/MANIFEST Progress-Any-Output-0.03/META.json Progress-Any-Output-0.03/META.yml CPAN.pm: Building S/SH/SHARYANTO/Progress-Any-Output-0.03.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Build.PL Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Progress-Any-Output' version '0.03' >>> C:\Perl64-5.14\bin\perl.exe ./Build Building Progress-Any-Output SHARYANTO/Progress-Any-Output-0.03.tar.gz C:\Perl64-5.14\bin\perl.exe ./Build -- OK Running Build test >>> C:\Perl64-5.14\bin\perl.exe ./Build test verbose=1 t/00-compile.t ............ 1..1 ok 1 - Progress::Any::Output loaded ok 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=4, Tests=1, 0 wallclock secs ( 0.05 usr + 0.03 sys = 0.08 CPU) Result: PASS SHARYANTO/Progress-Any-Output-0.03.tar.gz C:\Perl64-5.14\bin\perl.exe ./Build test verbose=1 -- OK PPD for Progress-Any-Output-0.03 already made Running test for module 'Complete::Util' Running make for S/SH/SHARYANTO/Complete-Util-0.13.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Complete-Util-0.13.tar.gz ok Complete-Util-0.13/ Complete-Util-0.13/META.json Complete-Util-0.13/LICENSE Complete-Util-0.13/Changes Complete-Util-0.13/META.yml Complete-Util-0.13/Makefile.PL Complete-Util-0.13/t/ Complete-Util-0.13/t/complete_hash_key.t Complete-Util-0.13/t/release-pod-syntax.t Complete-Util-0.13/t/complete_array_elem.t Complete-Util-0.13/t/complete_env.t Complete-Util-0.13/t/complete_file.t Complete-Util-0.13/t/complete_program.t Complete-Util-0.13/t/release-pod-coverage.t Complete-Util-0.13/t/release-rinci.t Complete-Util-0.13/t/00-compile.t Complete-Util-0.13/README Complete-Util-0.13/dist.ini Complete-Util-0.13/lib/ Complete-Util-0.13/lib/Complete/ Complete-Util-0.13/lib/Complete/Util.pm Complete-Util-0.13/MANIFEST Complete-Util-0.13/weaver.ini Prepending C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Complete-Util-0.13.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Makefile.PL Checking if your kit is complete... Looks good Generating a nmake-style Makefile Writing Makefile for Complete::Util Writing MYMETA.yml and MYMETA.json >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/Complete/Util.pm blib\lib\Complete\Util.pm SHARYANTO/Complete-Util-0.13.tar.gz nmake -- OK Prepending C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl64-5.14\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/00-compile.t ............ 1..1 ok 1 - Complete/Util.pm loaded ok ok t/complete_array_elem.t ... ok 1 - a (result) ok 2 - an (result) ok 3 - any (result) ok 4 - ci (result) ok 5 - ci (result_ci) 1..5 ok t/complete_env.t .......... ok 1 - A (result) ok 2 - A (result_ci) # Subtest: ci 1..0 # SKIP Windows converts all env names to uppercase ok 3 # skip Windows converts all env names to uppercase 1..3 ok t/complete_file.t ......... ok 1 - (result) ok 2 - a (result) ok 3 - d (result) ok 4 - d (result) ok 5 - d (result) ok 6 - (result) ok 7 - foo/ (result) ok 8 - foo/f (result) 1..8 ok t/complete_hash_key.t ..... ok 1 - a (result) ok 2 - a (result_ci) ok 3 - c (result) ok 4 - c (result_ci) 1..4 ok # Failed test at t/complete_program.t line 27. # Structures begin differing at: # $got->[0] = Does not exist # $expected->[0] = 'prog1' # Failed test at t/complete_program.t line 28. # Structures begin differing at: # $got->[0] = Does not exist # $expected->[0] = 'prog3' # Failed test at t/complete_program.t line 35. # Structures begin differing at: # $got->[0] = Does not exist # $expected->[0] = 'prog1' # Failed test at t/complete_program.t line 36. # Structures begin differing at: # $got->[0] = Does not exist # $expected->[0] = 'prog3' # Looks like you failed 2 tests of 3. # Failed test 'win support' # at t/complete_program.t line 38. # Looks like you failed 3 tests of 5. t/complete_program.t ...... not ok 1 not ok 2 ok 3 # Subtest: win support not ok 1 not ok 2 ok 3 1..3 not ok 4 - win support # Subtest: ci 1..0 # SKIP Filesystem is not case-sensitive ok 5 # skip Filesystem is not case-sensitive 1..5 Dubious, test returned 3 (wstat 768, 0x300) Failed 3/5 subtests (less 1 skipped subtest: 1 okay) 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/complete_program.t (Wstat: 768 Tests: 5 Failed: 3) Failed tests: 1-2, 4 Non-zero exit status: 3 Files=9, Tests=26, 2 wallclock secs ( 0.05 usr + 0.03 sys = 0.08 CPU) Result: FAIL Failed 1/9 test programs. 3/26 subtests failed. NMAKE : fatal error U1077: 'C:\Perl64-5.14\bin\perl.exe' : return code '0xff' Stop. SHARYANTO/Complete-Util-0.13.tar.gz nmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Complete-Util-0.13.tar.gz Running test for module 'Perinci::Sub::Wrapper' Running make for S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Perinci-Sub-Wrapper-0.61.tar.gz ok Perinci-Sub-Wrapper-0.61/ Perinci-Sub-Wrapper-0.61/META.json Perinci-Sub-Wrapper-0.61/LICENSE Perinci-Sub-Wrapper-0.61/Changes Perinci-Sub-Wrapper-0.61/META.yml Perinci-Sub-Wrapper-0.61/Makefile.PL Perinci-Sub-Wrapper-0.61/t/ Perinci-Sub-Wrapper-0.61/t/opt-_schema_is_normalized.t Perinci-Sub-Wrapper-0.61/t/prop-features.t Perinci-Sub-Wrapper-0.61/t/release-pod-syntax.t Perinci-Sub-Wrapper-0.61/t/01-basics.t Perinci-Sub-Wrapper-0.61/t/opt-validate_args.t Perinci-Sub-Wrapper-0.61/t/opt-log.t Perinci-Sub-Wrapper-0.61/t/opt-sub_name.t Perinci-Sub-Wrapper-0.61/t/prop-result_naked.t Perinci-Sub-Wrapper-0.61/t/prop-deps.t Perinci-Sub-Wrapper-0.61/t/release-pod-coverage.t Perinci-Sub-Wrapper-0.61/t/prop-args_as.t Perinci-Sub-Wrapper-0.61/t/prop-result.t Perinci-Sub-Wrapper-0.61/t/release-rinci.t Perinci-Sub-Wrapper-0.61/t/00-compile.t Perinci-Sub-Wrapper-0.61/t/00-sanity.t Perinci-Sub-Wrapper-0.61/t/prop-args.t Perinci-Sub-Wrapper-0.61/t/opt-validate_result.t Perinci-Sub-Wrapper-0.61/README Perinci-Sub-Wrapper-0.61/dist.ini Perinci-Sub-Wrapper-0.61/lib/ Perinci-Sub-Wrapper-0.61/lib/Perinci/ Perinci-Sub-Wrapper-0.61/lib/Perinci/Sub/ Perinci-Sub-Wrapper-0.61/lib/Perinci/Sub/Wrapper.pm Perinci-Sub-Wrapper-0.61/lib/Test/ Perinci-Sub-Wrapper-0.61/lib/Test/Perinci/ Perinci-Sub-Wrapper-0.61/lib/Test/Perinci/Sub/ Perinci-Sub-Wrapper-0.61/lib/Test/Perinci/Sub/Wrapper.pm Perinci-Sub-Wrapper-0.61/MANIFEST Perinci-Sub-Wrapper-0.61/weaver.ini Prepending C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Makefile.PL Warning: prerequisite Data::Sah 0.14 not found. Checking if your kit is complete... Looks good Generating a nmake-style Makefile Writing Makefile for Perinci::Sub::Wrapper Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz ---- Data::Sah [requires] Prepending C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/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.29.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Data-Sah-0.29.tar.gz ok Data-Sah-0.29/ Data-Sah-0.29/devscripts/ Data-Sah-0.29/devscripts/list-missing-translations Data-Sah-0.29/Changes Data-Sah-0.29/LICENSE Data-Sah-0.29/MANIFEST Data-Sah-0.29/lib/ Data-Sah-0.29/lib/Data/ Data-Sah-0.29/lib/Data/Sah.pm Data-Sah-0.29/lib/Data/Sah/ Data-Sah-0.29/lib/Data/Sah/Util/ Data-Sah-0.29/lib/Data/Sah/Util/Func.pm Data-Sah-0.29/lib/Data/Sah/Util/TypeX.pm Data-Sah-0.29/lib/Data/Sah/Util/Type.pm Data-Sah-0.29/lib/Data/Sah/Util/Role.pm Data-Sah-0.29/lib/Data/Sah/JS.pm Data-Sah-0.29/lib/Data/Sah/Lang/ Data-Sah-0.29/lib/Data/Sah/Lang/fr_FR.pm Data-Sah-0.29/lib/Data/Sah/Lang/zh_CN.pm Data-Sah-0.29/lib/Data/Sah/Lang/id_ID.pm Data-Sah-0.29/lib/Data/Sah/Compiler/ Data-Sah-0.29/lib/Data/Sah/Compiler/Prog/ Data-Sah-0.29/lib/Data/Sah/Compiler/Prog/TH/ Data-Sah-0.29/lib/Data/Sah/Compiler/Prog/TH/all.pm Data-Sah-0.29/lib/Data/Sah/Compiler/Prog/TH/any.pm Data-Sah-0.29/lib/Data/Sah/Compiler/Prog/TH.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl.pm Data-Sah-0.29/lib/Data/Sah/Compiler/TextResultRole.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/ Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/ Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/undef.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/hash.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/num.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/bool.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/array.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/code.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/all.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/str.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/obj.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/date.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/cistr.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/float.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/int.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/re.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/any.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH/buf.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js/TH.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/ Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/ Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/undef.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/hash.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/num.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/bool.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/array.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/code.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/all.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/str.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/obj.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/date.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/cistr.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/float.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/Sortable.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/Comparable.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/int.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/HasElems.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/re.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/any.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH/buf.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human/TH.pm Data-Sah-0.29/lib/Data/Sah/Compiler/Prog.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/ Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/ Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/undef.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/hash.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/num.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/bool.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/array.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/code.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/all.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/str.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/obj.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/date.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/cistr.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/float.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/int.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/re.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/any.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH/buf.pm Data-Sah-0.29/lib/Data/Sah/Compiler/perl/TH.pm Data-Sah-0.29/lib/Data/Sah/Compiler/js.pm Data-Sah-0.29/lib/Data/Sah/Compiler/TH.pm Data-Sah-0.29/lib/Data/Sah/Compiler/human.pm Data-Sah-0.29/lib/Data/Sah/Manual/ Data-Sah-0.29/lib/Data/Sah/Manual/Contributing.pod Data-Sah-0.29/lib/Data/Sah/Manual/Extending.pod Data-Sah-0.29/lib/Data/Sah/Lang.pm Data-Sah-0.29/lib/Data/Sah/Compiler.pm Data-Sah-0.29/lib/Data/Sah/Human.pm Data-Sah-0.29/lib/Data/Sah/Type/ Data-Sah-0.29/lib/Data/Sah/Type/undef.pm Data-Sah-0.29/lib/Data/Sah/Type/hash.pm Data-Sah-0.29/lib/Data/Sah/Type/num.pm Data-Sah-0.29/lib/Data/Sah/Type/bool.pm Data-Sah-0.29/lib/Data/Sah/Type/array.pm Data-Sah-0.29/lib/Data/Sah/Type/code.pm Data-Sah-0.29/lib/Data/Sah/Type/all.pm Data-Sah-0.29/lib/Data/Sah/Type/str.pm Data-Sah-0.29/lib/Data/Sah/Type/obj.pm Data-Sah-0.29/lib/Data/Sah/Type/date.pm Data-Sah-0.29/lib/Data/Sah/Type/cistr.pm Data-Sah-0.29/lib/Data/Sah/Type/BaseType.pm Data-Sah-0.29/lib/Data/Sah/Type/float.pm Data-Sah-0.29/lib/Data/Sah/Type/Sortable.pm Data-Sah-0.29/lib/Data/Sah/Type/Comparable.pm Data-Sah-0.29/lib/Data/Sah/Type/int.pm Data-Sah-0.29/lib/Data/Sah/Type/HasElems.pm Data-Sah-0.29/lib/Data/Sah/Type/re.pm Data-Sah-0.29/lib/Data/Sah/Type/any.pm Data-Sah-0.29/lib/Data/Sah/Type/buf.pm Data-Sah-0.29/README Data-Sah-0.29/META.json Data-Sah-0.29/Makefile.PL Data-Sah-0.29/dist.ini Data-Sah-0.29/t/ Data-Sah-0.29/t/release-rinci.t Data-Sah-0.29/t/01-basics.t Data-Sah-0.29/t/release-pod-coverage.t Data-Sah-0.29/t/perl-type-obj.t Data-Sah-0.29/t/perl-type-bool.t Data-Sah-0.29/t/spectest-js.t Data-Sah-0.29/t/spectest-human.t- Data-Sah-0.29/t/perl-type-re.t Data-Sah-0.29/t/perl-type-code.t Data-Sah-0.29/t/00-compile.t Data-Sah-0.29/t/human-id_ID.t Data-Sah-0.29/t/util-type.t Data-Sah-0.29/t/spectest-perl.t Data-Sah-0.29/t/perl-type-float.t Data-Sah-0.29/t/99-various.t Data-Sah-0.29/t/human-en_US.t Data-Sah-0.29/t/testlib.pl Data-Sah-0.29/t/perl-type-str.t Data-Sah-0.29/t/perl-type-date.t Data-Sah-0.29/t/release-pod-syntax.t Data-Sah-0.29/t/js-type-date.t Data-Sah-0.29/weaver.ini Data-Sah-0.29/META.yml Prepending C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Data-Sah-0.29.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Makefile.PL Checking if your kit is complete... Looks good Generating a nmake-style Makefile Writing Makefile for Data::Sah Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/Data-Sah-0.29.tar.gz ---- File::ShareDir::Tarball [build_requires] Prepending C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Delayed until after prerequisites Running test for module 'File::ShareDir::Tarball' Running make for Y/YA/YANICK/File-ShareDir-Tarball-0.2.2.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\Y\YA\YANICK\File-ShareDir-Tarball-0.2.2.tar.gz ok File-ShareDir-Tarball-0.2.2/ File-ShareDir-Tarball-0.2.2/xt/ File-ShareDir-Tarball-0.2.2/xt/release/ File-ShareDir-Tarball-0.2.2/xt/release/unused-vars.t File-ShareDir-Tarball-0.2.2/AUTHOR_PLEDGE File-ShareDir-Tarball-0.2.2/lib/ File-ShareDir-Tarball-0.2.2/lib/File/ File-ShareDir-Tarball-0.2.2/lib/File/ShareDir/ File-ShareDir-Tarball-0.2.2/lib/File/ShareDir/Tarball.pm File-ShareDir-Tarball-0.2.2/MANIFEST File-ShareDir-Tarball-0.2.2/Changes File-ShareDir-Tarball-0.2.2/LICENSE File-ShareDir-Tarball-0.2.2/README.mkdn File-ShareDir-Tarball-0.2.2/Build.PL File-ShareDir-Tarball-0.2.2/SIGNATURE File-ShareDir-Tarball-0.2.2/INSTALL File-ShareDir-Tarball-0.2.2/META.json File-ShareDir-Tarball-0.2.2/META.yml File-ShareDir-Tarball-0.2.2/t/ File-ShareDir-Tarball-0.2.2/t/share_non_bundle/ File-ShareDir-Tarball-0.2.2/t/share_non_bundle/foo File-ShareDir-Tarball-0.2.2/t/share/ File-ShareDir-Tarball-0.2.2/t/share/shared-files.tar.gz File-ShareDir-Tarball-0.2.2/t/000-report-versions-tiny.t File-ShareDir-Tarball-0.2.2/t/basic.t File-ShareDir-Tarball-0.2.2/t/00-compile.t File-ShareDir-Tarball-0.2.2/README Prepending C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building Y/YA/YANICK/File-ShareDir-Tarball-0.2.2.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Build.PL Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'File-ShareDir-Tarball' version '0.2.2' >>> C:\Perl64-5.14\bin\perl.exe ./Build Building File-ShareDir-Tarball YANICK/File-ShareDir-Tarball-0.2.2.tar.gz C:\Perl64-5.14\bin\perl.exe ./Build -- OK Prepending C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running Build test >>> C:\Perl64-5.14\bin\perl.exe ./Build test verbose=1 t/00-compile.t ................ 1..1 ok 1 - File::ShareDir::Tarball loaded ok ok # # # Generated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.08 # perl: 5.014000 (wanted any version) on MSWin32 from C:\Perl64-5.14\bin\perl.exe # # Archive::Tar => 2.00 (want any version) # Carp => 1.3301 (want any version) # Exporter => 5.70 (want any version) # File::Find => 1.19 (want any version) # File::ShareDir => 1.102 (want any version) # File::Temp => 0.2304 (want any version) # File::chdir => 0.1006 (want any version) # Module::Build => 0.4206 (want 0.3601) # Test::File::ShareDir => 1.000001 (want v0.3.0) # Test::More => 1.001003 (want 0.88) # parent => 0.228 (want any version) # strict => 1.04 (want any version) # version => 0.9904 (want 0.9901) # warnings => 1.12 (want any version) # # Thanks for using my code. I hope it works for you. # If not, please try and include this output in the bug report. # That will help me reproduce the issue and solve your problem. # t/000-report-versions-tiny.t .. ok 1 - we really didn't test anything, just reporting data 1..1 ok t/basic.t ..................... 1..4 ok 1 - foo ok 2 - bar ok 3 - reuse same directory ok 4 - no bundle? no problem ok All tests successful. Files=3, Tests=6, 3 wallclock secs ( 0.06 usr + 0.00 sys = 0.06 CPU) Result: PASS YANICK/File-ShareDir-Tarball-0.2.2.tar.gz C:\Perl64-5.14\bin\perl.exe ./Build test verbose=1 -- OK PPD for File-ShareDir-Tarball-0.2.2 already made Running make for S/SH/SHARYANTO/Data-Sah-0.29.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Data-Sah-0.29-bpnmXP Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Data-Sah-0.29.tar.gz >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/Data/Sah/Compiler.pm blib\lib\Data\Sah\Compiler.pm cp lib/Data/Sah/Compiler/Prog.pm blib\lib\Data\Sah\Compiler\Prog.pm cp lib/Data/Sah/Compiler/human/TH/array.pm blib\lib\Data\Sah\Compiler\human\TH\array.pm cp lib/Data/Sah/Compiler/human/TH/any.pm blib\lib\Data\Sah\Compiler\human\TH\any.pm cp lib/Data/Sah/Compiler/human/TH/Sortable.pm blib\lib\Data\Sah\Compiler\human\TH\Sortable.pm cp lib/Data/Sah/Compiler/TextResultRole.pm blib\lib\Data\Sah\Compiler\TextResultRole.pm cp lib/Data/Sah/Compiler/human/TH/all.pm blib\lib\Data\Sah\Compiler\human\TH\all.pm cp lib/Data/Sah/Compiler/Prog/TH.pm blib\lib\Data\Sah\Compiler\Prog\TH.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.pm blib\lib\Data\Sah.pm cp lib/Data/Sah/Compiler/TH.pm blib\lib\Data\Sah\Compiler\TH.pm cp lib/Data/Sah/Compiler/human/TH/Comparable.pm blib\lib\Data\Sah\Compiler\human\TH\Comparable.pm cp lib/Data/Sah/Compiler/human/TH.pm blib\lib\Data\Sah\Compiler\human\TH.pm cp lib/Data/Sah/Compiler/Prog/TH/all.pm blib\lib\Data\Sah\Compiler\Prog\TH\all.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/num.pm blib\lib\Data\Sah\Compiler\human\TH\num.pm cp lib/Data/Sah/Compiler/human/TH/date.pm blib\lib\Data\Sah\Compiler\human\TH\date.pm cp lib/Data/Sah/Compiler/human/TH/undef.pm blib\lib\Data\Sah\Compiler\human\TH\undef.pm cp lib/Data/Sah/Compiler/human/TH/cistr.pm blib\lib\Data\Sah\Compiler\human\TH\cistr.pm cp lib/Data/Sah/Compiler/js/TH.pm blib\lib\Data\Sah\Compiler\js\TH.pm cp lib/Data/Sah/Compiler/human/TH/re.pm blib\lib\Data\Sah\Compiler\human\TH\re.pm cp lib/Data/Sah/Compiler/human/TH/hash.pm blib\lib\Data\Sah\Compiler\human\TH\hash.pm cp lib/Data/Sah/Compiler/human/TH/int.pm blib\lib\Data\Sah\Compiler\human\TH\int.pm cp lib/Data/Sah/Compiler/human/TH/bool.pm blib\lib\Data\Sah\Compiler\human\TH\bool.pm cp lib/Data/Sah/Compiler/human/TH/obj.pm blib\lib\Data\Sah\Compiler\human\TH\obj.pm cp lib/Data/Sah/Compiler/human/TH/buf.pm blib\lib\Data\Sah\Compiler\human\TH\buf.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/code.pm blib\lib\Data\Sah\Compiler\human\TH\code.pm cp lib/Data/Sah/Compiler/js.pm blib\lib\Data\Sah\Compiler\js.pm cp lib/Data/Sah/Compiler/js/TH/undef.pm blib\lib\Data\Sah\Compiler\js\TH\undef.pm cp lib/Data/Sah/Compiler/js/TH/float.pm blib\lib\Data\Sah\Compiler\js\TH\float.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/js/TH/re.pm blib\lib\Data\Sah\Compiler\js\TH\re.pm cp lib/Data/Sah/Compiler/js/TH/date.pm blib\lib\Data\Sah\Compiler\js\TH\date.pm cp lib/Data/Sah/Compiler/js/TH/array.pm blib\lib\Data\Sah\Compiler\js\TH\array.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/any.pm blib\lib\Data\Sah\Compiler\js\TH\any.pm cp lib/Data/Sah/Compiler/js/TH/all.pm blib\lib\Data\Sah\Compiler\js\TH\all.pm cp lib/Data/Sah/Compiler/js/TH/code.pm blib\lib\Data\Sah\Compiler\js\TH\code.pm cp lib/Data/Sah/Compiler/js/TH/obj.pm blib\lib\Data\Sah\Compiler\js\TH\obj.pm cp lib/Data/Sah/Compiler/js/TH/cistr.pm blib\lib\Data\Sah\Compiler\js\TH\cistr.pm cp lib/Data/Sah/Compiler/js/TH/hash.pm blib\lib\Data\Sah\Compiler\js\TH\hash.pm cp lib/Data/Sah/Compiler/js/TH/int.pm blib\lib\Data\Sah\Compiler\js\TH\int.pm cp lib/Data/Sah/Compiler/js/TH/buf.pm blib\lib\Data\Sah\Compiler\js\TH\buf.pm cp lib/Data/Sah/Compiler/perl/TH/num.pm blib\lib\Data\Sah\Compiler\perl\TH\num.pm cp lib/Data/Sah/Compiler/perl/TH/bool.pm blib\lib\Data\Sah\Compiler\perl\TH\bool.pm cp lib/Data/Sah/Compiler/perl/TH/all.pm blib\lib\Data\Sah\Compiler\perl\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/perl/TH/obj.pm blib\lib\Data\Sah\Compiler\perl\TH\obj.pm cp lib/Data/Sah/Compiler/perl/TH/code.pm blib\lib\Data\Sah\Compiler\perl\TH\code.pm cp lib/Data/Sah/Compiler/perl/TH/float.pm blib\lib\Data\Sah\Compiler\perl\TH\float.pm cp lib/Data/Sah/Compiler/perl.pm blib\lib\Data\Sah\Compiler\perl.pm cp lib/Data/Sah/Compiler/perl/TH/int.pm blib\lib\Data\Sah\Compiler\perl\TH\int.pm cp lib/Data/Sah/Compiler/perl/TH.pm blib\lib\Data\Sah\Compiler\perl\TH.pm cp lib/Data/Sah/Compiler/perl/TH/any.pm blib\lib\Data\Sah\Compiler\perl\TH\any.pm cp lib/Data/Sah/Compiler/perl/TH/buf.pm blib\lib\Data\Sah\Compiler\perl\TH\buf.pm cp lib/Data/Sah/Compiler/perl/TH/cistr.pm blib\lib\Data\Sah\Compiler\perl\TH\cistr.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/date.pm blib\lib\Data\Sah\Compiler\perl\TH\date.pm cp lib/Data/Sah/Type/bool.pm blib\lib\Data\Sah\Type\bool.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/Manual/Contributing.pod blib\lib\Data\Sah\Manual\Contributing.pod 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/Lang/zh_CN.pm blib\lib\Data\Sah\Lang\zh_CN.pm cp lib/Data/Sah/Type/any.pm blib\lib\Data\Sah\Type\any.pm cp lib/Data/Sah/Compiler/perl/TH/str.pm blib\lib\Data\Sah\Compiler\perl\TH\str.pm cp lib/Data/Sah/Compiler/perl/TH/re.pm blib\lib\Data\Sah\Compiler\perl\TH\re.pm cp lib/Data/Sah/JS.pm blib\lib\Data\Sah\JS.pm cp lib/Data/Sah/Type/all.pm blib\lib\Data\Sah\Type\all.pm cp lib/Data/Sah/Type/BaseType.pm blib\lib\Data\Sah\Type\BaseType.pm cp lib/Data/Sah/Human.pm blib\lib\Data\Sah\Human.pm cp lib/Data/Sah/Compiler/perl/TH/undef.pm blib\lib\Data\Sah\Compiler\perl\TH\undef.pm cp lib/Data/Sah/Lang/fr_FR.pm blib\lib\Data\Sah\Lang\fr_FR.pm cp lib/Data/Sah/Lang.pm blib\lib\Data\Sah\Lang.pm cp lib/Data/Sah/Type/Comparable.pm blib\lib\Data\Sah\Type\Comparable.pm cp lib/Data/Sah/Type/HasElems.pm blib\lib\Data\Sah\Type\HasElems.pm cp lib/Data/Sah/Type/hash.pm blib\lib\Data\Sah\Type\hash.pm cp lib/Data/Sah/Type/re.pm blib\lib\Data\Sah\Type\re.pm cp lib/Data/Sah/Type/str.pm blib\lib\Data\Sah\Type\str.pm cp lib/Data/Sah/Type/float.pm blib\lib\Data\Sah\Type\float.pm cp lib/Data/Sah/Util/Type.pm blib\lib\Data\Sah\Util\Type.pm cp lib/Data/Sah/Type/cistr.pm blib\lib\Data\Sah\Type\cistr.pm cp lib/Data/Sah/Util/Role.pm blib\lib\Data\Sah\Util\Role.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/Util/Func.pm blib\lib\Data\Sah\Util\Func.pm cp lib/Data/Sah/Type/int.pm blib\lib\Data\Sah\Type\int.pm cp lib/Data/Sah/Type/obj.pm blib\lib\Data\Sah\Type\obj.pm cp lib/Data/Sah/Type/code.pm blib\lib\Data\Sah\Type\code.pm cp lib/Data/Sah/Type/date.pm blib\lib\Data\Sah\Type\date.pm cp lib/Data/Sah/Type/num.pm blib\lib\Data\Sah\Type\num.pm cp lib/Data/Sah/Util/TypeX.pm blib\lib\Data\Sah\Util\TypeX.pm SHARYANTO/Data-Sah-0.29.tar.gz nmake -- OK Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl64-5.14\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/00-compile.t ............ 1..95 ok 1 - Data/Sah.pm loaded ok ok 2 - Data/Sah/Compiler.pm loaded ok ok 3 - Data/Sah/Compiler/Prog.pm loaded ok ok 4 - Data/Sah/Compiler/Prog/TH.pm loaded ok ok 5 - Data/Sah/Compiler/Prog/TH/all.pm loaded ok ok 6 - Data/Sah/Compiler/Prog/TH/any.pm loaded ok ok 7 - Data/Sah/Compiler/TH.pm loaded ok ok 8 - Data/Sah/Compiler/TextResultRole.pm loaded ok ok 9 - Data/Sah/Compiler/human.pm loaded ok ok 10 - Data/Sah/Compiler/human/TH.pm loaded ok ok 11 - Data/Sah/Compiler/human/TH/Comparable.pm loaded ok ok 12 - Data/Sah/Compiler/human/TH/HasElems.pm loaded ok ok 13 - Data/Sah/Compiler/human/TH/Sortable.pm loaded ok ok 14 - Data/Sah/Compiler/human/TH/all.pm loaded ok ok 15 - Data/Sah/Compiler/human/TH/any.pm loaded ok ok 16 - Data/Sah/Compiler/human/TH/array.pm loaded ok ok 17 - Data/Sah/Compiler/human/TH/bool.pm loaded ok ok 18 - Data/Sah/Compiler/human/TH/buf.pm loaded ok ok 19 - Data/Sah/Compiler/human/TH/cistr.pm loaded ok ok 20 - Data/Sah/Compiler/human/TH/code.pm loaded ok ok 21 - Data/Sah/Compiler/human/TH/date.pm loaded ok ok 22 - Data/Sah/Compiler/human/TH/float.pm loaded ok ok 23 - Data/Sah/Compiler/human/TH/hash.pm loaded ok ok 24 - Data/Sah/Compiler/human/TH/int.pm loaded ok ok 25 - Data/Sah/Compiler/human/TH/num.pm loaded ok ok 26 - Data/Sah/Compiler/human/TH/obj.pm loaded ok ok 27 - Data/Sah/Compiler/human/TH/re.pm loaded ok ok 28 - Data/Sah/Compiler/human/TH/str.pm loaded ok ok 29 - Data/Sah/Compiler/human/TH/undef.pm loaded ok ok 30 - Data/Sah/Compiler/js.pm loaded ok ok 31 - Data/Sah/Compiler/js/TH.pm loaded ok ok 32 - Data/Sah/Compiler/js/TH/all.pm loaded ok ok 33 - Data/Sah/Compiler/js/TH/any.pm loaded ok ok 34 - Data/Sah/Compiler/js/TH/array.pm loaded ok ok 35 - Data/Sah/Compiler/js/TH/bool.pm loaded ok ok 36 - Data/Sah/Compiler/js/TH/buf.pm loaded ok ok 37 - Data/Sah/Compiler/js/TH/cistr.pm loaded ok ok 38 - Data/Sah/Compiler/js/TH/code.pm loaded ok ok 39 - Data/Sah/Compiler/js/TH/date.pm loaded ok ok 40 - Data/Sah/Compiler/js/TH/float.pm loaded ok ok 41 - Data/Sah/Compiler/js/TH/hash.pm loaded ok ok 42 - Data/Sah/Compiler/js/TH/int.pm loaded ok ok 43 - Data/Sah/Compiler/js/TH/num.pm loaded ok ok 44 - Data/Sah/Compiler/js/TH/obj.pm loaded ok ok 45 - Data/Sah/Compiler/js/TH/re.pm loaded ok ok 46 - Data/Sah/Compiler/js/TH/str.pm loaded ok ok 47 - Data/Sah/Compiler/js/TH/undef.pm loaded ok ok 48 - Data/Sah/Compiler/perl.pm loaded ok ok 49 - Data/Sah/Compiler/perl/TH.pm loaded ok ok 50 - Data/Sah/Compiler/perl/TH/all.pm loaded ok ok 51 - Data/Sah/Compiler/perl/TH/any.pm loaded ok ok 52 - Data/Sah/Compiler/perl/TH/array.pm loaded ok ok 53 - Data/Sah/Compiler/perl/TH/bool.pm loaded ok ok 54 - Data/Sah/Compiler/perl/TH/buf.pm loaded ok ok 55 - Data/Sah/Compiler/perl/TH/cistr.pm loaded ok ok 56 - Data/Sah/Compiler/perl/TH/code.pm loaded ok ok 57 - Data/Sah/Compiler/perl/TH/date.pm loaded ok ok 58 - Data/Sah/Compiler/perl/TH/float.pm loaded ok ok 59 - Data/Sah/Compiler/perl/TH/hash.pm loaded ok ok 60 - Data/Sah/Compiler/perl/TH/int.pm loaded ok ok 61 - Data/Sah/Compiler/perl/TH/num.pm loaded ok ok 62 - Data/Sah/Compiler/perl/TH/obj.pm loaded ok ok 63 - Data/Sah/Compiler/perl/TH/re.pm loaded ok ok 64 - Data/Sah/Compiler/perl/TH/str.pm loaded ok ok 65 - Data/Sah/Compiler/perl/TH/undef.pm loaded ok ok 66 - Data/Sah/Human.pm loaded ok ok 67 - Data/Sah/JS.pm loaded ok ok 68 - Data/Sah/Lang.pm loaded ok ok 69 - Data/Sah/Lang/fr_FR.pm loaded ok ok 70 - Data/Sah/Lang/id_ID.pm loaded ok ok 71 - Data/Sah/Lang/zh_CN.pm loaded ok ok 72 - Data/Sah/Type/BaseType.pm loaded ok ok 73 - Data/Sah/Type/Comparable.pm loaded ok ok 74 - Data/Sah/Type/HasElems.pm loaded ok ok 75 - Data/Sah/Type/Sortable.pm loaded ok ok 76 - Data/Sah/Type/all.pm loaded ok ok 77 - Data/Sah/Type/any.pm loaded ok ok 78 - Data/Sah/Type/array.pm loaded ok ok 79 - Data/Sah/Type/bool.pm loaded ok ok 80 - Data/Sah/Type/buf.pm loaded ok ok 81 - Data/Sah/Type/cistr.pm loaded ok ok 82 - Data/Sah/Type/code.pm loaded ok ok 83 - Data/Sah/Type/date.pm loaded ok ok 84 - Data/Sah/Type/float.pm loaded ok ok 85 - Data/Sah/Type/hash.pm loaded ok ok 86 - Data/Sah/Type/int.pm loaded ok ok 87 - Data/Sah/Type/num.pm loaded ok ok 88 - Data/Sah/Type/obj.pm loaded ok ok 89 - Data/Sah/Type/re.pm loaded ok ok 90 - Data/Sah/Type/str.pm loaded ok ok 91 - Data/Sah/Type/undef.pm loaded ok ok 92 - Data/Sah/Util/Func.pm loaded ok ok 93 - Data/Sah/Util/Role.pm loaded ok ok 94 - Data/Sah/Util/Type.pm loaded ok ok 95 - Data/Sah/Util/TypeX.pm loaded ok ok t/01-basics.t ............. # Subtest: compile() # Subtest: on_unhandled_clause option ok 1 - die (default) ok 2 - warn ok 3 - ignore 1..3 ok 1 - on_unhandled_clause option # Subtest: on_unhandled_attr option ok 1 - die (default) ok 2 - warn ok 3 - ignore 1..3 ok 2 - on_unhandled_attr option # Subtest: skip_clause 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 # node.js not available, skipping JS test t/99-various.t ............ # Subtest: [2014-01-03 ] req_keys clash between $_ and $dt # Subtest: perl ok 1 - [] validates ok 2 - ['a'] doesn't validate ok 3 - [{}] doesn't validate ok 4 - [{b=>1}] doesn't validate ok 5 - [{a=>1}] validates 1..5 ok 1 - perl 1..1 ok 1 - [2014-01-03 ] req_keys clash between $_ and $dt 1..1 ok t/human-en_US.t ........... # Subtest: integer ok 1 - result 1..1 ok 1 - integer # Subtest: integer ok 1 - result 1..1 ok 2 - integer # Subtest: integer, must be at least 1 ok 1 - result 1..1 ok 3 - integer, must be at least 1 # Subtest: integer, must be at least 1, must be at most 10 ok 1 - result 1..1 ok 4 - integer, must be at least 1, must be at most 10 # Subtest: integer, must be divisible by 2 and 5 ok 1 - result 1..1 ok 5 - integer, must be divisible by 2 and 5 # Subtest: integer, must be divisible by all of [2,3,5] ok 1 - result 1..1 ok 6 - integer, must be divisible by all of [2,3,5] # Subtest: integer, must be divisible by 2 or 5 ok 1 - result 1..1 ok 7 - integer, must be divisible by 2 or 5 # Subtest: integer, must be divisible by one of [2,3,5] ok 1 - result 1..1 ok 8 - integer, must be divisible by one of [2,3,5] # Subtest: integer, must not be divisible by 5 ok 1 - result 1..1 ok 9 - integer, must not be divisible by 5 # Subtest: array of integers ok 1 - result 1..1 ok 10 - array of integers # Subtest: (?^x:array .+ each\sarray\selement\smust\sbe: .+ # integer .+ at\sleast\s1) ok 1 - result 1..1 ok 11 - (?^x:array .+ each\sarray\selement\smust\sbe: .+ # integer .+ at\sleast\s1) # Subtest: array, 1st element must be: integer ok 1 - result 1..1 ok 12 - array, 1st element must be: integer # Subtest: (?^x:must\sbe\sall\sof\sthe\sfollowing: .+ # integer.+even .+ # integer.+divisible\sby\s5 .+ # ) ok 1 - result 1..1 ok 13 - (?^x:must\sbe\sall\sof\sthe\sfollowing: .+ # integer.+even .+ # integer.+divisible\sby\s5 .+ # ) # Subtest: hash, field f must be: decimal number, field i must be: (integer, must be at least 0) 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 ........... # Subtest: bilangan bulat ok 1 - result 1..1 ok 1 - bilangan bulat # Subtest: larik, elemen ke-1 harus: bilangan bulat ok 1 - result 1..1 ok 2 - larik, elemen ke-1 harus: bilangan bulat 1..2 ok t/js-type-date.t .......... skipped: node.js is not available 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-date.t ........ ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 1..15 ok # Failed test 'NaN vs ["float", "is_inf", 1]' # at t/perl-type-float.t line 38. # Failed test 'NaN vs ["float", "is_pos_inf", 1]' # at t/perl-type-float.t line 38. # Failed test '-Inf vs ["float", "is_pos_inf", 1]' # at t/perl-type-float.t line 38. # Failed test 'NaN vs ["float", "is_neg_inf", 1]' # at t/perl-type-float.t line 38. # Failed test 'Inf vs ["float", "is_neg_inf", 1]' # at t/perl-type-float.t line 38. # Looks like you failed 5 tests of 15. 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] not 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] not ok 9 - NaN vs ["float", "is_pos_inf", 1] not 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] not ok 13 - NaN vs ["float", "is_neg_inf", 1] ok 14 - -Inf vs ["float", "is_neg_inf", 1] not ok 15 - Inf vs ["float", "is_neg_inf", 1] 1..15 Dubious, test returned 5 (wstat 1280, 0x500) Failed 5/15 subtests 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 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 ... # Skipping test (tags=clause:check_each_index, type, type:array) check_each_index: clause check_each_index not yet implemented # Skipping test (tags=clause:check_each_elem, type, type:array) check_each_elem: clause check_each_elem not yet implemented # Skipping test (tags=clause:uniq, type, type:array) uniq=1: clause uniq not yet implemented # Skipping test (tags=clause:uniq, type, type:array) uniq=0: clause uniq not yet implemented # Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:array) !uniq=1: clause uniq not yet implemented # Skipping test (tags=clause:exists, type, type:array) exists: clause exists not yet implemented # Skipping test (tags=prop:len, type, type:array) prop:len: properties are not yet implemented # Skipping test (tags=prop:indices, type, type:array) prop:indices: properties are not yet implemented # Skipping test (tags=prop:elems, type, type:array) prop:elems: properties are not yet implemented # Loading 10-type-bool.json ... # Skipping test (tags=clause:between, op, op:not, opshortcut, type, type:bool) !between (nok): currently failing # Skipping test (tags=clause:between, op, op:not, opshortcut, type, type:bool) !between (ok): currently failing # Skipping test (tags=clause:between, op, op:not, type, type:bool) between.op=not (nok): currently failing # Skipping test (tags=clause:between, op, op:not, type, type:bool) between.op=not (ok): currently failing # Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) between& (no items): currently failing # Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) between& (ok): currently failing # Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) between& (nok + ok): currently failing # Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) between& (ok + nok): currently failing # Skipping test (tags=clause:between, op, op:and, opshortcut, type, type:bool) between& (nok + nok): currently failing # Skipping test (tags=clause:between, op, op:and, type, type:bool) between.op=and (ok): currently failing # Skipping test (tags=clause:between, op, op:and, type, type:bool) between.op=and (nok + ok): currently failing # Skipping test (tags=clause:between, op, op:and, type, type:bool) between.op=and (ok + nok): currently failing # Skipping test (tags=clause:between, op, op:and, type, type:bool) between.op=and (nok + nok): currently failing # Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) between| (no items): currently failing # Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) between| (ok): currently failing # Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) between| (nok + ok): currently failing # Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) between| (ok + nok): currently failing # Skipping test (tags=clause:between, op, op:or, opshortcut, type, type:bool) between| (nok + nok): currently failing # Skipping test (tags=clause:between, op, op:or, type, type:bool) between.op=or (no items): currently failing # Skipping test (tags=clause:between, op, op:or, type, type:bool) between.op=or (ok): currently failing # Skipping test (tags=clause:between, op, op:or, type, type:bool) between.op=or (nok + ok): currently failing # Skipping test (tags=clause:between, op, op:or, type, type:bool) between.op=or (ok + nok): currently failing # Skipping test (tags=clause:between, op, op:or, type, type:bool) between.op=or (nok + nok): currently failing # Skipping test (tags=clause:between, op, op:none, type, type:bool) between.op=none (empty items): currently failing # Skipping test (tags=clause:between, op, op:none, type, type:bool) between.op=none (nok + nok): currently failing # Skipping test (tags=clause:between, op, op:none, type, type:bool) between.op=none (nok + ok): currently failing # Skipping test (tags=clause:between, op, op:none, type, type:bool) between.op=none (ok + nok): currently failing # Skipping test (tags=clause:between, op, op:none, type, type:bool) between.op=none (ok + ok): currently failing # Loading 10-type-buf.json ... # Skipping test (tags=clause:check_each_index, type, type:buf) check_each_index: clause check_each_index not yet implemented # Skipping test (tags=clause:check_each_elem, type, type:buf) check_each_elem: clause check_each_elem not yet implemented # Skipping test (tags=clause:uniq, type, type:buf) uniq=1: clause uniq not yet implemented # Skipping test (tags=clause:uniq, type, type:buf) uniq=0: clause uniq not yet implemented # Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:buf) !uniq=1: clause uniq not yet implemented # Skipping test (tags=clause:exists, type, type:buf) exists: clause exists not yet implemented # Skipping test (tags=prop:len, type, type:buf) prop:len: properties are not yet implemented # Skipping test (tags=prop:indices, type, type:buf) prop:indices: properties are not yet implemented # Skipping test (tags=prop:elems, type, type:buf) prop:elems: properties are not yet implemented # Loading 10-type-cistr.json ... # Skipping test (tags=clause:check_each_index, type, type:cistr) check_each_index: clause check_each_index not yet implemented # Skipping test (tags=clause:check_each_elem, type, type:cistr) check_each_elem: clause check_each_elem not yet implemented # Skipping test (tags=clause:uniq, type, type:cistr) uniq=1: clause uniq not yet implemented # Skipping test (tags=clause:uniq, type, type:cistr) uniq=0: clause uniq not yet implemented # Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:cistr) !uniq=1: clause uniq not yet implemented # Skipping test (tags=clause:exists, type, type:cistr) exists: clause exists not yet implemented # Skipping test (tags=prop:len, type, type:cistr) prop:len: properties are not yet implemented # Skipping test (tags=prop:indices, type, type:cistr) prop:indices: properties are not yet implemented # Skipping test (tags=prop:elems, type, type:cistr) prop:elems: properties are not yet implemented # Loading 10-type-float.json ... # Loading 10-type-hash.json ... # Skipping test (tags=clause:check_each_index, type, type:hash) check_each_index: clause check_each_index not yet implemented # Skipping test (tags=clause:check_each_key, type, type:hash) check_each_key: clause check_each_key not yet implemented # Skipping test (tags=clause:check_each_elem, type, type:hash) check_each_elem: clause check_each_elem not yet implemented # Skipping test (tags=clause:check_each_value, type, type:hash) check_each_value: clause check_each_value not yet implemented # Skipping test (tags=clause:uniq, type, type:hash) uniq=1: clause uniq not yet implemented # Skipping test (tags=clause:uniq, type, type:hash) uniq=0: clause uniq not yet implemented # Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:hash) !uniq=1: clause uniq not yet implemented # Skipping test (tags=clause:exists, type, type:hash) exists: clause exists not yet implemented # Skipping test (tags=prop:len, type, type:hash) prop:len: properties are not yet implemented # Skipping test (tags=prop:indices, type, type:hash) prop:indices: properties are not yet implemented # Skipping test (tags=prop:keys, type, type:hash) prop:keys: properties are not yet implemented # Skipping test (tags=prop:elems, type, type:hash) prop:elems: properties are not yet implemented # Skipping test (tags=prop:values, type, type:hash) prop:values: properties are not yet implemented # Skipping test (tags=prop:keys, type, type:hash) prop:keys: properties are not yet implemented # Skipping test (tags=prop:values, type, type:hash) prop:values: properties are not yet implemented # Loading 10-type-int.json ... # Loading 10-type-num.json ... # Loading 10-type-obj.json ... # Skipping test (tags=prop:meths, type, type:obj) prop:meths (nok): properties are not yet implemented # Skipping test (tags=prop:attrs, type, type:obj) prop:attrs (nok): properties are not yet implemented # Loading 10-type-str.json ... # Skipping test (tags=clause:check_each_index, type, type:str) check_each_index: clause check_each_index not yet implemented # Skipping test (tags=clause:check_each_elem, type, type:str) check_each_elem: clause check_each_elem not yet implemented # Skipping test (tags=clause:uniq, type, type:str) uniq=1: clause uniq not yet implemented # Skipping test (tags=clause:uniq, type, type:str) uniq=0: clause uniq not yet implemented # Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:str) !uniq=1: clause uniq not yet implemented # Skipping test (tags=clause:exists, type, type:str) exists: clause exists not yet implemented # Skipping test (tags=prop:len, type, type:str) prop:len: properties are not yet implemented # Skipping test (tags=prop:indices, type, type:str) prop:indices: properties are not yet implemented # Skipping test (tags=prop:elems, type, type:str) prop:elems: properties are not yet implemented # Loading 10-type-undef.json ... t/spectest-perl.t ......... # Subtest: 00-normalize_schema.json # Subtest: schema must be defined ok 1 - dies 1..1 ok 1 - schema must be defined # Subtest: string: type name must not be blank ok 1 - dies 1..1 ok 2 - string: type name must not be blank # Subtest: string: type name must be valid (ok) ok 1 - result ok 2 - doesn't die 1..2 ok 3 - string: type name must be valid (ok) # Subtest: string: type name must be valid (ok, has namespace) ok 1 - result ok 2 - doesn't die 1..2 ok 4 - string: type name must be valid (ok, has namespace) # Subtest: string: type name must be valid (fail, has whitespace) ok 1 - dies 1..1 ok 5 - string: type name must be valid (fail, has whitespace) # Subtest: string: type name must be valid (fail, starts with number) ok 1 - dies 1..1 ok 6 - string: type name must be valid (fail, starts with number) # Subtest: string: * suffix is allowed and normalized to req clause ok 1 - result ok 2 - doesn't die 1..2 ok 7 - string: * suffix is allowed and normalized to req clause # Subtest: string: multiple * suffix is not allowed ok 1 - dies 1..1 ok 8 - string: multiple * suffix is not allowed # Subtest: array: must not be empty ok 1 - dies 1..1 ok 9 - array: must not be empty # Subtest: array: type name must be valid (ok) ok 1 - result ok 2 - doesn't die 1..2 ok 10 - array: type name must be valid (ok) # Subtest: array: type name must be valid (fail, has whitespace) ok 1 - dies 1..1 ok 11 - array: type name must be valid (fail, has whitespace) # Subtest: array: * suffix is allowed and normalized to req clause ok 1 - result ok 2 - doesn't die 1..2 ok 12 - array: * suffix is allowed and normalized to req clause # Subtest: array: clause set must be hash (ok, empty) ok 1 - result ok 2 - doesn't die 1..2 ok 13 - array: clause set must be hash (ok, empty) # Subtest: array: clause set must be hash (ok, has some clauses) ok 1 - result ok 2 - doesn't die 1..2 ok 14 - array: clause set must be hash (ok, has some clauses) # Subtest: array: clause set must be hash (fail, string) ok 1 - dies 1..1 ok 15 - array: clause set must be hash (fail, string) # Subtest: array: clause set must be hash (fail, array) ok 1 - dies 1..1 ok 16 - array: clause set must be hash (fail, array) # Subtest: array: clause name must be valid (fail, has whitespace) ok 1 - dies 1..1 ok 17 - array: clause name must be valid (fail, has whitespace) # Subtest: array: clause name must be valid (fail, starts with number) ok 1 - dies 1..1 ok 18 - array: clause name must be valid (fail, starts with number) # Subtest: array: * suffix is allowed and normalized to req clause (2-element-array schema) 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) # Subtest: array: * suffix is allowed and normalized to req clause (overrides existing req clause) 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) # Subtest: array: clause attribute name must be valid (ok) ok 1 - result ok 2 - doesn't die 1..2 ok 21 - array: clause attribute name must be valid (ok) # Subtest: array: clause attribute name must be valid (fail, has whitespace) ok 1 - dies 1..1 ok 22 - array: clause attribute name must be valid (fail, has whitespace) # Subtest: array: setting attribute on clause "" is permitted ok 1 - result ok 2 - doesn't die 1..2 ok 23 - array: setting attribute on clause "" is permitted # Subtest: array: setting value attribute on clause "" using syntax "" is not permitted ok 1 - dies 1..1 ok 24 - array: setting value attribute on clause "" using syntax "" is not permitted # Subtest: array: flattened clause set is permitted ok 1 - result ok 2 - doesn't die 1..2 ok 25 - array: flattened clause set is permitted # Subtest: array: flattened clause set is permitted (with * suffix) ok 1 - result ok 2 - doesn't die 1..2 ok 26 - array: flattened clause set is permitted (with * suffix) # Subtest: array: flattened clause set is permitted (fail, odd number of elements) ok 1 - dies 1..1 ok 27 - array: flattened clause set is permitted (fail, odd number of elements) # Subtest: array: expression (clause=) is allowed on clause and normalized ok 1 - result ok 2 - doesn't die 1..2 ok 28 - array: expression (clause=) is allowed on clause and normalized # Subtest: array: expression (clause=) is allowed on clause.attr and normalized ok 1 - result ok 2 - doesn't die 1..2 ok 29 - array: expression (clause=) is allowed on clause.attr and normalized # Subtest: array: expression (clause=) must not conflict with literal value (fail) ok 1 - dies 1..1 ok 30 - array: expression (clause=) must not conflict with literal value (fail) # Subtest: array: expression (clause.attr=) 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) # Subtest: array: !clause is normalized ok 1 - result ok 2 - doesn't die 1..2 ok 32 - array: !clause is normalized # Subtest: array: !clause.attr is not allowed ok 1 - dies 1..1 ok 33 - array: !clause.attr is not allowed # Subtest: array: clause| is normalized ok 1 - result ok 2 - doesn't die 1..2 ok 34 - array: clause| is normalized # Subtest: array: clause.attr| is not allowed ok 1 - dies 1..1 ok 35 - array: clause.attr| is not allowed # Subtest: array: clause| value must be array (fail, not array) ok 1 - dies 1..1 ok 36 - array: clause| value must be array (fail, not array) # Subtest: array: clause& is normalized ok 1 - result ok 2 - doesn't die 1..2 ok 37 - array: clause& is normalized # Subtest: array: clause.attr& is not allowed ok 1 - dies 1..1 ok 38 - array: clause.attr& is not allowed # Subtest: array: clause& value must be array (fail, not array) ok 1 - dies 1..1 ok 39 - array: clause& value must be array (fail, not array) # Subtest: array: !clause cannot be mixed with merge prefix ok 1 - dies 1..1 ok 40 - array: !clause cannot be mixed with merge prefix # Subtest: array: !clause cannot be mixed with expression ok 1 - dies 1..1 ok 41 - array: !clause cannot be mixed with expression # Subtest: array: clause| cannot be mixed with merge prefix ok 1 - dies 1..1 ok 42 - array: clause| cannot be mixed with merge prefix # Subtest: array: clause| cannot be mixed with expression ok 1 - dies 1..1 ok 43 - array: clause| cannot be mixed with expression # Subtest: array: clause& cannot be mixed with merge prefix ok 1 - dies 1..1 ok 44 - array: clause& cannot be mixed with merge prefix # Subtest: array: clause& cannot be mixed with expression ok 1 - dies 1..1 ok 45 - array: clause& cannot be mixed with expression # Subtest: array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & !c) ok 1 - dies 1..1 ok 46 - array: clause, !clause, clause&, and clause| must not conflict with one another (fail, c & !c) # Subtest: 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|) # Subtest: 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&) # Subtest: 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|) # Subtest: 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&) # Subtest: 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&) # Subtest: array: merge prefix in clause is allowed ok 1 - result ok 2 - doesn't die 1..2 ok 52 - array: merge prefix in clause is allowed # Subtest: array: clause(LANG) shortcut is allowed and normalized ok 1 - result ok 2 - doesn't die 1..2 ok 53 - array: clause(LANG) shortcut is allowed and normalized # Subtest: array: clause.attr(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 # Subtest: array: clause(LANG) shortcut must not conflict with existing attribute ok 1 - dies 1..1 ok 55 - array: clause(LANG) shortcut must not conflict with existing attribute # Subtest: array: invalid clause(LANG) shortcut is not allowed (1) ok 1 - dies 1..1 ok 56 - array: invalid clause(LANG) shortcut is not allowed (1) # Subtest: array: invalid clause(LANG) shortcut is not allowed (2) ok 1 - dies 1..1 ok 57 - array: invalid clause(LANG) shortcut is not allowed (2) # Subtest: array: extras must be hash (ok) ok 1 - result ok 2 - doesn't die 1..2 ok 58 - array: extras must be hash (ok) # Subtest: array: extras must be hash (fail, not hash) ok 1 - dies 1..1 ok 59 - array: extras must be hash (fail, not hash) # Subtest: array: def in extras must be hash (ok) ok 1 - result ok 2 - doesn't die 1..2 ok 60 - array: def in extras must be hash (ok) # Subtest: array: def in extras must be hash (fail) ok 1 - dies 1..1 ok 61 - array: def in extras must be hash (fail) # Subtest: array: extra elements are not permitted ok 1 - dies 1..1 ok 62 - array: extra elements are not permitted # Subtest: hash form (old DS syntax) is no longer recognized ok 1 - dies 1..1 ok 63 - hash form (old DS syntax) is no longer recognized ok 64 1..64 ok 1 - 00-normalize_schema.json # Subtest: 01-merge_clause_sets.json # Subtest: no clause sets results in nothing done ok 1 - result ok 2 - doesn't die 1..2 ok 1 - no clause sets results in nothing done # Subtest: a single clause set results in nothing done ok 1 - result ok 2 - doesn't die 1..2 ok 2 - a single clause set results in nothing done # Subtest: no merge prefixes results in appending clause sets ok 1 - result ok 2 - doesn't die 1..2 ok 3 - no merge prefixes results in appending clause sets # Subtest: normal mode merging replaces clauses on the left ok 1 - result ok 2 - doesn't die 1..2 ok 4 - normal mode merging replaces clauses on the left # Subtest: additive mode merging adds values (array) ok 1 - result ok 2 - doesn't die 1..2 ok 5 - additive mode merging adds values (array) # Subtest: concative mode merging concatenates values (string) ok 1 - result ok 2 - doesn't die 1..2 ok 6 - concative mode merging concatenates values (string) # Subtest: subtractive mode merging concatenates values (int) ok 1 - result ok 2 - doesn't die 1..2 ok 7 - subtractive mode merging concatenates values (int) # Subtest: delete mode merging deletes values ok 1 - result ok 2 - doesn't die 1..2 ok 8 - delete mode merging deletes values # Subtest: keep mode prevents overriding of values ok 1 - result ok 2 - doesn't die 1..2 ok 9 - keep mode prevents overriding of values ok 10 1..10 ok 2 - 01-merge_clause_sets.json # Subtest: 10-type-all.json # Test version: v0.9.29 (generated by devscripts/gen-type-spectest on Mon Nov 25 15:43:40 2013) # { # 'input' => 3, # 'name' => 'of (nok + nok)', # 'schema' => [ # 'all', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'tags' => [ # 'type', # 'type:all' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:all) of (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:all) of (nok + nok) # { # 'input' => 2, # 'name' => 'of (ok + nok)', # 'schema' => [ # 'all', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'tags' => [ # 'type', # 'type:all' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:all) of (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:all) of (ok + nok) # { # 'input' => 5, # 'name' => 'of (nok + ok)', # 'schema' => [ # 'all', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'tags' => [ # 'type', # 'type:all' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:all) of (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:all) of (nok + ok) # { # 'input' => 10, # 'name' => 'of (ok + ok)', # 'schema' => [ # 'all', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'tags' => [ # 'type', # 'type:all' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:all) of (ok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:all) of (ok + ok) ok 5 1..5 ok 3 - 10-type-all.json # Subtest: 10-type-any.json # Test version: v0.9.29 (generated by devscripts/gen-type-spectest on Mon Nov 25 15:43:40 2013) # { # 'input' => 3, # 'name' => 'of (nok + nok)', # 'schema' => [ # 'any', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'tags' => [ # 'type', # 'type:any' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:any) of (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:any) of (nok + nok) # { # 'input' => 2, # 'name' => 'of (ok + nok)', # 'schema' => [ # 'any', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'tags' => [ # 'type', # 'type:any' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:any) of (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:any) of (ok + nok) # { # 'input' => 5, # 'name' => 'of (nok + ok)', # 'schema' => [ # 'any', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'tags' => [ # 'type', # 'type:any' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:any) of (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:any) of (nok + ok) # { # 'input' => 10, # 'name' => 'of (ok + ok)', # 'schema' => [ # 'any', # 'of', # [ # [ # 'int', # 'div_by', # 2 # ], # [ # 'int', # 'div_by', # 5 # ] # ] # ], # 'tags' => [ # 'type', # 'type:any' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:any) of (ok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:any) of (ok + ok) ok 5 1..5 ok 4 - 10-type-any.json # Subtest: 10-type-array.json # Test version: v0.9.29 (generated by devscripts/gen-type-spectest on Mon Nov 25 15:43:40 2013) # { # 'input' => [], # 'name' => 'type check: must accept []', # 'schema' => 'array', # 'tags' => [ # 'type', # 'type:array' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:array) type check: must accept [] ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:array) type check: must accept [] # { # 'input' => [ # '1', # 'a' # ], # 'name' => 'type check: must accept [1, "a"]', # 'schema' => 'array', # 'tags' => [ # 'type', # 'type:array' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:array) type check: must accept [1, "a"] ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:array) type check: must accept [1, "a"] # { # 'input' => [ # [] # ], # 'name' => 'type check: must accept [[]]', # 'schema' => 'array', # 'tags' => [ # 'type', # 'type:array' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:array) type check: must accept [[]] ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:array) type check: must accept [[]] # { # 'input' => 1, # 'name' => 'type check: must reject 1', # 'schema' => 'array', # 'tags' => [ # 'type', # 'type:array' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:array) type check: must reject 1 ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:array) type check: must reject 1 # { # 'input' => 'a', # 'name' => 'type check: must reject a', # 'schema' => 'array', # 'tags' => [ # 'type', # 'type:array' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:array) type check: must reject a ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:array) type check: must reject a # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'array', # 'tags' => [ # 'type', # 'type:array' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:array) type check: must reject {} ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:array) type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'array', # 'tags' => [ # 'type', # 'type:array' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:array) must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:array) must accept undefined value # { # 'input' => undef, # 'name' => 'defhash_v', # 'schema' => [ # 'array', # 'defhash_v', # 1 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:defhash_v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:defhash_v, type, type:array) defhash_v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:defhash_v, type, type:array) defhash_v # { # 'input' => undef, # 'name' => 'v', # 'schema' => [ # 'array', # 'v', # 1 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:v, type, type:array) v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:v, type, type:array) v # { # 'input' => undef, # 'name' => 'c', # 'schema' => [ # 'array', # 'c.foo.bar', # 1 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:c' # ], # 'valid' => 1 # } # Subtest: (tags=clause:c, type, type:array) c ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:c, type, type:array) c # { # 'input' => undef, # 'name' => 'default_lang', # 'schema' => [ # 'array', # 'default_lang', # 'id_ID' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:default_lang' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default_lang, type, type:array) default_lang ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default_lang, type, type:array) default_lang # { # 'input' => undef, # 'name' => 'name', # 'schema' => [ # 'array', # 'name', # 'some name' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:name' # ], # 'valid' => 1 # } # Subtest: (tags=clause:name, type, type:array) name ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:name, type, type:array) name # { # 'input' => undef, # 'name' => 'summary', # 'schema' => [ # 'array', # 'summary', # 'some summary' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:summary' # ], # 'valid' => 1 # } # Subtest: (tags=clause:summary, type, type:array) summary ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:summary, type, type:array) summary # { # 'input' => undef, # 'name' => 'description', # 'schema' => [ # 'array', # 'description', # 'some description and `markdown`' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:description' # ], # 'valid' => 1 # } # Subtest: (tags=clause:description, type, type:array) description ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:description, type, type:array) description # { # 'input' => undef, # 'name' => 'tags', # 'schema' => [ # 'array', # 'tags', # [ # 'some', # 'tags' # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:tags' # ], # 'valid' => 1 # } # Subtest: (tags=clause:tags, type, type:array) tags ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:tags, type, type:array) tags # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'array', # 'req', # 0 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:req' # ], # 'valid' => 1 # } # Subtest: (tags=clause:req, type, type:array) req=0 must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:req, type, type:array) req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'array', # 'req', # 1 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:req' # ], # 'valid' => 0 # } # Subtest: (tags=clause:req, type, type:array) req=1 must reject undefined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:req, type, type:array) req=1 must reject undefined value # { # 'input' => [ # 1 # ], # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'array', # 'forbidden', # 0 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:forbidden' # ], # 'valid' => 1 # } # Subtest: (tags=clause:forbidden, type, type:array) forbidden=0 must accept defined value ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - (tags=clause:forbidden, type, type:array) forbidden=0 must accept defined value # { # 'input' => [ # 1 # ], # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'array', # 'forbidden', # 1 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:forbidden' # ], # 'valid' => 0 # } # Subtest: (tags=clause:forbidden, type, type:array) forbidden=1 must reject defined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:forbidden, type, type:array) forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default []', # 'schema' => [ # 'array*', # 'default', # [] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:default' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default, type, type:array) default: must accept valid default [] ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default, type, type:array) default: must accept valid default [] # { # 'input' => undef, # 'name' => 'default: must reject invalid default a', # 'schema' => [ # 'array*', # 'default', # 'a' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:default' # ], # 'valid' => 0 # } # Subtest: (tags=clause:default, type, type:array) default: must reject invalid default a ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - (tags=clause:default, type, type:array) default: must reject invalid default a # { # 'dies' => 1, # 'input' => [ # 1 # ], # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'array*', # 'clause', # [ # 'foo', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:clause' # ] # } # Subtest: (tags=clause:clause, type, type:array) clause (dies, unknown clause) ok 1 - compile error 1..1 ok 22 - (tags=clause:clause, type, type:array) clause (dies, unknown clause) # { # 'input' => [ # 1 # ], # 'name' => 'clause (ok)', # 'schema' => [ # 'array*', # 'clause', # [ # 'min_len', # 0 # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:clause' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clause, type, type:array) clause (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clause, type, type:array) clause (ok) # { # 'input' => [ # 1 # ], # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'array*', # 'clause', # [ # 'min_len', # 0 # ], # 'max_len', # 0 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:array) clause (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:array) clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'clause (nok)', # 'schema' => [ # 'array*', # 'clause', # [ # 'min_len', # 2 # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:array) clause (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:array) clause (nok) # { # 'dies' => 1, # 'input' => [ # 1 # ], # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'array*', # 'clset', # { # 'foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:array) clset (dies, unknown clause) ok 1 - compile error 1..1 ok 26 - (tags=clause:clset, type, type:array) clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => [ # 1 # ], # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'array*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:array) clset (dies, unknown attr) ok 1 - compile error 1..1 ok 27 - (tags=clause:clset, type, type:array) clset (dies, unknown attr) # { # 'input' => [ # 1 # ], # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'array*', # 'clset', # {} # ], # 'tags' => [ # 'type', # 'type:array' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:array) clset (empty = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:array) clset (empty = ok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'array*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:array) clset (ignored clause/attr = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:array) clset (ignored clause/attr = ok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'array*', # 'clset', # { # 'max_len' => 1, # 'min_len' => 0 # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:array) clset (ok + ok = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:array) clset (ok + ok = ok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'array*', # 'clset', # { # 'min_len' => 0 # }, # 'max_len', # 0 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:array) clset (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:array) clset (ok) + clause nok = nok # { # 'input' => [ # 1 # ], # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'array*', # 'clset', # { # 'max_len' => 0, # 'min_len' => 0 # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:array) clset (ok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:array) clset (ok + nok = nok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'array*', # 'clset', # { # 'max_len' => 1, # 'min_len' => 2 # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:array) clset (nok + ok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:array) clset (nok + ok = nok) # { # 'input' => [ # 1 # ], # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'array*', # 'clset', # { # 'max_len' => 0, # 'min_len' => 2 # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:array) clset (nok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:array) clset (nok + nok = nok) # { # 'input' => undef, # 'name' => 'ok', # 'schema' => [ # 'array', # { # 'ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:ok' # ], # 'valid' => 1 # } # Subtest: (tags=clause:ok, type, type:array) ok ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:ok, type, type:array) ok # { # 'input' => undef, # 'name' => 'ok + op not (nok)', # 'schema' => [ # 'array', # { # '!ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:ok', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:ok, op, op:not, type, type:array) ok + op not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:ok, op, op:not, type, type:array) ok + op not (nok) # { # 'input' => [], # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'array', # 'is', # [] # ], # 'tags' => [ # 'type', # 'type:array', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:array) .err_level=error (clause=is, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:array) .err_level=error (clause=is, ok) # { # 'input' => [ # 0 # ], # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'array', # 'is', # [] # ], # 'tags' => [ # 'type', # 'type:array', # 'attr', # 'attr:err_level' # ], # 'valid' => 0 # } # Subtest: (tags=attr, attr:err_level, type, type:array) .err_level=error (clause=is, nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - (tags=attr, attr:err_level, type, type:array) .err_level=error (clause=is, nok) # { # 'input' => [], # 'name' => '.err_level=warn (clause=is, ok)', # 'schema' => [ # 'array', # 'is', # [], # 'is.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:array', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:array) .err_level=warn (clause=is, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:array) .err_level=warn (clause=is, ok) # { # 'input' => [ # 0 # ], # 'name' => '.err_level=warn (clause=is, nok)', # 'schema' => [ # 'array*', # 'is', # [], # 'is.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:array', # 'attr', # 'attr:err_level' # ], # 'valid' => 1, # 'warnings' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:array) .err_level=warn (clause=is, nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:array) .err_level=warn (clause=is, nok) # { # 'input' => [ # 1 # ], # 'name' => 'is: must accept same value', # 'schema' => [ # 'array', # 'is', # [ # 1 # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, type, type:array) is: must accept same value ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - (tags=clause:is, type, type:array) is: must accept same value # { # 'input' => [ # 1 # ], # 'name' => 'is: must reject different value', # 'schema' => [ # 'array', # 'is', # [ # 2 # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, type, type:array) is: must reject different value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, type, type:array) is: must reject different value # { # 'input' => [ # 1 # ], # 'name' => '!is (nok)', # 'schema' => [ # 'array', # '!is', # [ # 1 # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:array) !is (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:array) !is (nok) # { # 'input' => [ # 1 # ], # 'name' => '!is (ok)', # 'schema' => [ # 'array', # '!is', # [ # 2 # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:array) !is (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:array) !is (ok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'array', # 'is', # [ # 1 # ], # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, type, type:array) is.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, type, type:array) is.op=not (nok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'array', # 'is', # [ # 2 # ], # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, type, type:array) is.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - (tags=clause:is, op, op:not, type, type:array) is.op=not (ok) # { # 'input' => [ # 1 # ], # 'name' => 'is& (no items)', # 'schema' => [ # 'array', # 'is&', # [] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) is& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:array) is& (no items) # { # 'input' => [ # 1 # ], # 'name' => 'is& (ok)', # 'schema' => [ # 'array', # 'is&', # [ # [ # 1 # ], # [ # 1 # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) is& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:array) is& (ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'array', # 'is&', # [ # [ # 2 # ], # [ # 1 # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) is& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:array) is& (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'array', # 'is&', # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) is& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:array) is& (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'array', # 'is&', # [ # [ # 2 # ], # [ # 2 # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:array) is& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:array) is& (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'array', # 'is', # [], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:array' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:array) is.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:array) is.op=and (no items) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 1 # ] # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, type, type:array) is.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:array) is.op=and (ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 1 # ] # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:array) is.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - (tags=clause:is, op, op:and, type, type:array) is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 2 # ] # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:array) is.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - (tags=clause:is, op, op:and, type, type:array) is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 2 # ] # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:array) is.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:array) is.op=and (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'is| (no items)', # 'schema' => [ # 'array', # 'is|', # [] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) is| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:array) is| (no items) # { # 'input' => [ # 1 # ], # 'name' => 'is| (ok)', # 'schema' => [ # 'array', # 'is|', # [ # [ # 1 # ], # [ # 1 # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) is| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:array) is| (ok) # { # 'input' => [ # 1 # ], # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'array', # 'is|', # [ # [ # 2 # ], # [ # 1 # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) is| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:array) is| (nok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'array', # 'is|', # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) is| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:array) is| (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'array', # 'is|', # [ # [ # 2 # ], # [ # 2 # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:array) is| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:array) is| (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'array', # 'is', # [], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:array) is.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:array) is.op=or (no items) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 1 # ] # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:array) is.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:array) is.op=or (ok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 1 # ] # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:array) is.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:array) is.op=or (nok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 2 # ] # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:array) is.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:array) is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 2 # ] # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, type, type:array) is.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:array) is.op=or (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'array', # 'is', # [], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:array) is.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:array) is.op=none (empty items) # { # 'input' => [ # 1 # ], # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 2 # ] # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:array) is.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:array) is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 2 # ], # [ # 1 # ] # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:array) is.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - (tags=clause:is, op, op:none, type, type:array) is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 2 # ] # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:array) is.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:array) is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'array', # 'is', # [ # [ # 1 # ], # [ # 1 # ] # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:array) is.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:array) is.op=none (ok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'array', # 'in', # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, type, type:array) in: must accept valid choices ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - (tags=clause:in, type, type:array) in: must accept valid choices # { # 'input' => [ # 1 # ], # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'array', # 'in', # [] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, type, type:array) in: must reject empty choices ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, type, type:array) in: must reject empty choices # { # 'input' => [ # 1 # ], # 'name' => '!in (nok)', # 'schema' => [ # 'array', # '!in', # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:array) !in (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:array) !in (nok) # { # 'input' => [ # 1 # ], # 'name' => '!in (ok)', # 'schema' => [ # 'array', # '!in', # [] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:array) !in (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:array) !in (ok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'array', # 'in', # [ # [ # 1 # ], # [ # 2 # ] # ], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, type, type:array) in.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, type, type:array) in.op=not (nok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'array', # 'in', # [], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, type, type:array) in.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - (tags=clause:in, op, op:not, type, type:array) in.op=not (ok) # { # 'input' => [ # 1 # ], # 'name' => 'in& (no items)', # 'schema' => [ # 'array', # 'in&', # [] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) in& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:array) in& (no items) # { # 'input' => [ # 1 # ], # 'name' => 'in& (ok)', # 'schema' => [ # 'array', # 'in&', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) in& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:array) in& (ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'array', # 'in&', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) in& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - (tags=clause:in, op, op:and, opshortcut, type, type:array) in& (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'array', # 'in&', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) in& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:array) in& (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'array', # 'in&', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:array) in& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:array) in& (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'array', # 'in', # [], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:array' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:array) in.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:array) in.op=and (no items) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, type, type:array) in.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:array) in.op=and (ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:array) in.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:array) in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:array) in.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - (tags=clause:in, op, op:and, type, type:array) in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:array) in.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:array) in.op=and (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'in| (no items)', # 'schema' => [ # 'array', # 'in|', # [] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) in| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:array) in| (no items) # { # 'input' => [ # 1 # ], # 'name' => 'in| (ok)', # 'schema' => [ # 'array', # 'in|', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) in| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:array) in| (ok) # { # 'input' => [ # 1 # ], # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'array', # 'in|', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) in| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:array) in| (nok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'array', # 'in|', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) in| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:array) in| (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'array', # 'in|', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:array) in| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:array) in| (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'array', # 'in', # [], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:array) in.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:array) in.op=or (no items) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:array) in.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:array) in.op=or (ok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:array) in.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:array) in.op=or (nok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:array) in.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:array) in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, type, type:array) in.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:array) in.op=or (nok + nok) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'array', # 'in', # [], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:array) in.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:array) in.op=none (empty items) # { # 'input' => [ # 1 # ], # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:array) in.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:array) in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'array', # 'in', # [ # [], # [ # [ # 1 # ], # [ # 2 # ] # ] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:array) in.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:array) in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => [ # 1 # ], # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'array', # 'in', # [ # [ # [ # 1 # ], # [ # 2 # ] # ], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:array) in.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:array) 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' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:array) in.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:array) in.op=none (ok + ok) # { # 'input' => [ # 1 # ], # 'name' => 'len (ok)', # 'schema' => [ # 'array', # 'len', # 1 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:len, type, type:array) len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:len, type, type:array) len (ok) # { # 'input' => [ # 1 # ], # 'name' => 'len (nok)', # 'schema' => [ # 'array', # 'len', # 2 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:len, type, type:array) len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:len, type, type:array) len (nok) # { # 'input' => [ # 1 # ], # 'name' => 'min_len (ok)', # 'schema' => [ # 'array', # 'min_len', # 1 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:min_len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min_len, type, type:array) min_len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min_len, type, type:array) min_len (ok) # { # 'input' => [ # 1 # ], # 'name' => 'min_len (nok)', # 'schema' => [ # 'array', # 'min_len', # 2 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:min_len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:min_len, type, type:array) min_len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:min_len, type, type:array) min_len (nok) # { # 'input' => [ # 1 # ], # 'name' => 'max_len (ok)', # 'schema' => [ # 'array', # 'min_len', # 1 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:max_len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max_len, type, type:array) max_len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max_len, type, type:array) max_len (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'max_len (nok)', # 'schema' => [ # 'array', # 'max_len', # 1 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:max_len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:max_len, type, type:array) max_len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:max_len, type, type:array) max_len (nok) # { # 'input' => [ # 1 # ], # 'name' => 'len_between (ok)', # 'schema' => [ # 'array', # 'len_between', # [ # 1, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:len_between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:len_between, type, type:array) len_between (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:len_between, type, type:array) len_between (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'len_between (nok)', # 'schema' => [ # 'array', # 'len_between', # [ # 1, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:len_between' # ], # 'valid' => 0 # } # Subtest: (tags=clause:len_between, type, type:array) len_between (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:len_between, type, type:array) len_between (nok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'each_index (ok)', # 'schema' => [ # 'array', # 'each_index', # [ # 'int', # 'max', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:each_index' # ], # 'valid' => 1 # } # Subtest: (tags=clause:each_index, type, type:array) each_index (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:each_index, type, type:array) each_index (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'each_index (nok)', # 'schema' => [ # 'array', # 'each_index', # [ # 'int', # 'xmax', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:each_index' # ], # 'valid' => 0 # } # Subtest: (tags=clause:each_index, type, type:array) each_index (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:each_index, type, type:array) each_index (nok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'each_elem (ok)', # 'schema' => [ # 'array', # 'each_elem', # 'float' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:each_elem' # ], # 'valid' => 1 # } # Subtest: (tags=clause:each_elem, type, type:array) each_elem (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:each_elem, type, type:array) each_elem (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'each_elem (nok)', # 'schema' => [ # 'array', # 'each_elem', # 'int' # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:each_elem' # ], # 'valid' => 0 # } # Subtest: (tags=clause:each_elem, type, type:array) each_elem (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:each_elem, type, type:array) each_elem (nok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'elems (ok)', # 'schema' => [ # 'array', # 'elems', # [ # 'int', # 'float' # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:elems' # ], # 'valid' => 1 # } # Subtest: (tags=clause:elems, type, type:array) elems (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:elems, type, type:array) elems (ok) # { # 'input' => [ # 1, # '1.2' # ], # 'name' => 'elems (nok)', # 'schema' => [ # 'array', # 'elems', # [ # 'int', # 'int' # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:elems' # ], # 'valid' => 0 # } # Subtest: (tags=clause:elems, type, type:array) elems (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:elems, type, type:array) elems (nok) # { # 'invalid_inputs' => [ # [], # [ # 3 # ] # ], # 'name' => 'has', # 'schema' => [ # 'array', # 'has', # 1 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:has' # ], # 'valid_inputs' => [ # [ # 1, # 2, # 3 # ], # [ # 1, # 3 # ] # ] # } # Subtest: (tags=clause:has, type, type:array) has ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - invalid input [0] ok 5 - invalid input [1] ok 6 - validator (rt=full) returns hash 1..6 ok 117 - (tags=clause:has, type, type:array) has # { # 'invalid_inputs' => [ # [ # 1, # 2, # 3 # ], # [ # 1, # 3 # ] # ], # 'name' => 'has + op.not', # 'schema' => [ # 'array', # '!has', # 1 # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:has', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid_inputs' => [ # [], # [ # 3 # ] # ] # } # Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:array) has + op.not ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - invalid input [0] ok 5 - invalid input [1] ok 6 - validator (rt=full) returns hash 1..6 ok 118 - (tags=clause:has, op, op:not, opshortcut, type, type:array) has + op.not # { # 'invalid_inputs' => [ # [], # [ # 3 # ] # ], # 'name' => 'has + op.or', # 'schema' => [ # 'array', # 'has|', # [ # 1, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:has', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid_inputs' => [ # [ # 1, # 2, # 3 # ], # [ # 1, # 3 # ] # ] # } # Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:array) has + op.or ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - invalid input [0] ok 5 - invalid input [1] ok 6 - validator (rt=full) returns hash 1..6 ok 119 - (tags=clause:has, op, op:or, opshortcut, type, type:array) has + op.or # { # 'invalid_inputs' => [ # [ # 1, # 3 # ], # [], # [ # 3 # ] # ], # 'name' => 'has + op.and', # 'schema' => [ # 'array', # 'has&', # [ # 1, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:has', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid_inputs' => [ # [ # 1, # 2, # 3 # ] # ] # } # Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:array) has + op.and ok 1 - compile success ok 2 - valid input [0] ok 3 - invalid input [0] ok 4 - invalid input [1] ok 5 - invalid input [2] ok 6 - validator (rt=full) returns hash 1..6 ok 120 - (tags=clause:has, op, op:and, opshortcut, type, type:array) has + op.and # { # 'input' => [ # undef, # 1 # ], # 'name' => 'elems (nok, first elem required)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:elems' # ], # 'valid' => 0 # } # Subtest: (tags=clause:elems, type, type:array) elems (nok, first elem required) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 121 - (tags=clause:elems, type, type:array) elems (nok, first elem required) # { # 'input' => [ # 1 # ], # 'name' => 'elems (ok, missing elem set to undef)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:elems' # ], # 'valid' => 1 # } # Subtest: (tags=clause:elems, type, type:array) elems (ok, missing elem set to undef) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 122 - (tags=clause:elems, type, type:array) elems (ok, missing elem set to undef) # { # 'input' => [ # 1, # undef # ], # 'name' => 'elems (ok, second elem optional)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:elems' # ], # 'valid' => 1 # } # Subtest: (tags=clause:elems, type, type:array) elems (ok, second elem optional) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:elems, type, type:array) elems (ok, second elem optional) # { # 'input' => [ # 1, # '1.1' # ], # 'name' => 'elems (ok 2)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:elems' # ], # 'valid' => 1 # } # Subtest: (tags=clause:elems, type, type:array) elems (ok 2) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 124 - (tags=clause:elems, type, type:array) elems (ok 2) # { # 'input' => [ # 1, # '1.1', # undef # ], # 'name' => 'elems (ok, extra elems ignored)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:elems' # ], # 'valid' => 1 # } # Subtest: (tags=clause:elems, type, type:array) elems (ok, extra elems ignored) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:elems, type, type:array) elems (ok, extra elems ignored) # { # 'input' => [ # 1, # '1.1', # 'foo' # ], # 'name' => 'elems (ok, extra elems ignored 2)', # 'schema' => [ # 'array', # { # 'elems' => [ # 'int*', # [ # 'float', # 'default', # 2 # ] # ] # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:elems' # ], # 'valid' => 1 # } # Subtest: (tags=clause:elems, type, type:array) elems (ok, extra elems ignored 2) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 126 - (tags=clause:elems, type, type:array) 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 # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:elems' # ], # 'valid' => 1 # } # Subtest: (tags=clause:elems, type, type:array) elems (ok, create_default=0) 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 127 - (tags=clause:elems, type, type:array) 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 # } # ], # 'tags' => [ # 'type', # 'type:array', # 'clause:elems' # ], # 'valid' => 1 # } # Subtest: (tags=clause:elems, type, type:array) elems (ok 2, create_default=0) 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 128 - (tags=clause:elems, type, type:array) elems (ok 2, create_default=0) ok 129 1..129 ok 5 - 10-type-array.json # Subtest: 10-type-bool.json # Test version: v0.9.29 (generated by devscripts/gen-type-spectest on Mon Nov 25 15:43:40 2013) # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'bool', # 'tags' => [ # 'type', # 'type:bool' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:bool) type check: must accept 0 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:bool) type check: must accept 0 # { # 'input' => 1, # 'name' => 'type check: must accept 1', # 'schema' => 'bool', # 'tags' => [ # 'type', # 'type:bool' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:bool) type check: must accept 1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:bool) type check: must accept 1 # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'bool', # 'tags' => [ # 'type', # 'type:bool' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:bool) type check: must reject [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:bool) type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'bool', # 'tags' => [ # 'type', # 'type:bool' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:bool) type check: must reject {} ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:bool) type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'bool', # 'tags' => [ # 'type', # 'type:bool' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:bool) must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:bool) must accept undefined value # { # 'input' => undef, # 'name' => 'defhash_v', # 'schema' => [ # 'bool', # 'defhash_v', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:defhash_v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:defhash_v, type, type:bool) defhash_v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:defhash_v, type, type:bool) defhash_v # { # 'input' => undef, # 'name' => 'v', # 'schema' => [ # 'bool', # 'v', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:v, type, type:bool) v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:v, type, type:bool) v # { # 'input' => undef, # 'name' => 'c', # 'schema' => [ # 'bool', # 'c.foo.bar', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:c' # ], # 'valid' => 1 # } # Subtest: (tags=clause:c, type, type:bool) c ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:c, type, type:bool) c # { # 'input' => undef, # 'name' => 'default_lang', # 'schema' => [ # 'bool', # 'default_lang', # 'id_ID' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:default_lang' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default_lang, type, type:bool) default_lang ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default_lang, type, type:bool) default_lang # { # 'input' => undef, # 'name' => 'name', # 'schema' => [ # 'bool', # 'name', # 'some name' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:name' # ], # 'valid' => 1 # } # Subtest: (tags=clause:name, type, type:bool) name ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:name, type, type:bool) name # { # 'input' => undef, # 'name' => 'summary', # 'schema' => [ # 'bool', # 'summary', # 'some summary' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:summary' # ], # 'valid' => 1 # } # Subtest: (tags=clause:summary, type, type:bool) summary ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:summary, type, type:bool) summary # { # 'input' => undef, # 'name' => 'description', # 'schema' => [ # 'bool', # 'description', # 'some description and `markdown`' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:description' # ], # 'valid' => 1 # } # Subtest: (tags=clause:description, type, type:bool) description ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:description, type, type:bool) description # { # 'input' => undef, # 'name' => 'tags', # 'schema' => [ # 'bool', # 'tags', # [ # 'some', # 'tags' # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:tags' # ], # 'valid' => 1 # } # Subtest: (tags=clause:tags, type, type:bool) tags ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:tags, type, type:bool) tags # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'bool', # 'req', # 0 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:req' # ], # 'valid' => 1 # } # Subtest: (tags=clause:req, type, type:bool) req=0 must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:req, type, type:bool) req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'bool', # 'req', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:req' # ], # 'valid' => 0 # } # Subtest: (tags=clause:req, type, type:bool) req=1 must reject undefined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:req, type, type:bool) req=1 must reject undefined value # { # 'input' => 1, # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'bool', # 'forbidden', # 0 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:forbidden' # ], # 'valid' => 1 # } # Subtest: (tags=clause:forbidden, type, type:bool) forbidden=0 must accept defined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:forbidden, type, type:bool) forbidden=0 must accept defined value # { # 'input' => 1, # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'bool', # 'forbidden', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:forbidden' # ], # 'valid' => 0 # } # Subtest: (tags=clause:forbidden, type, type:bool) forbidden=1 must reject defined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:forbidden, type, type:bool) forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default 1', # 'schema' => [ # 'bool*', # 'default', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:default' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default, type, type:bool) default: must accept valid default 1 ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - (tags=clause:default, type, type:bool) default: must accept valid default 1 # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'bool*', # 'default', # [] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:default' # ], # 'valid' => 0 # } # Subtest: (tags=clause:default, type, type:bool) default: must reject invalid default [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:default, type, type:bool) default: must reject invalid default [] # { # 'dies' => 1, # 'input' => 1, # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'bool*', # 'clause', # [ # 'foo', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:clause' # ] # } # Subtest: (tags=clause:clause, type, type:bool) clause (dies, unknown clause) ok 1 - compile error 1..1 ok 20 - (tags=clause:clause, type, type:bool) clause (dies, unknown clause) # { # 'dies' => 1, # 'input' => 1, # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'bool*', # 'clset', # { # 'foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:bool) clset (dies, unknown clause) ok 1 - compile error 1..1 ok 21 - (tags=clause:clset, type, type:bool) clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => 1, # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'bool*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:bool) clset (dies, unknown attr) ok 1 - compile error 1..1 ok 22 - (tags=clause:clset, type, type:bool) clset (dies, unknown attr) # { # 'input' => 1, # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'bool*', # 'clset', # {} # ], # 'tags' => [ # 'type', # 'type:bool' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:bool) clset (empty = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:bool) clset (empty = ok) # { # 'input' => 1, # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'bool*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:bool) clset (ignored clause/attr = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:bool) clset (ignored clause/attr = ok) # { # 'input' => undef, # 'name' => 'ok', # 'schema' => [ # 'bool', # { # 'ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:ok' # ], # 'valid' => 1 # } # Subtest: (tags=clause:ok, type, type:bool) ok ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - (tags=clause:ok, type, type:bool) ok # { # 'input' => undef, # 'name' => 'ok + op not (nok)', # 'schema' => [ # 'bool', # { # '!ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:ok', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:ok, op, op:not, type, type:bool) ok + op not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:ok, op, op:not, type, type:bool) ok + op not (nok) # { # 'input' => 1, # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'bool', # 'is', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:bool) .err_level=error (clause=is, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:bool) .err_level=error (clause=is, ok) # { # 'input' => 0, # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'bool', # 'is', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'attr', # 'attr:err_level' # ], # 'valid' => 0 # } # Subtest: (tags=attr, attr:err_level, type, type:bool) .err_level=error (clause=is, nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:bool) .err_level=error (clause=is, nok) # { # 'input' => 1, # 'name' => '.err_level=warn (clause=is, ok)', # 'schema' => [ # 'bool', # 'is', # 1, # 'is.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:bool', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:bool) .err_level=warn (clause=is, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:bool) .err_level=warn (clause=is, ok) # { # 'input' => 0, # 'name' => '.err_level=warn (clause=is, nok)', # 'schema' => [ # 'bool*', # 'is', # 1, # 'is.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:bool', # 'attr', # 'attr:err_level' # ], # 'valid' => 1, # 'warnings' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:bool) .err_level=warn (clause=is, nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:bool) .err_level=warn (clause=is, nok) # { # 'input' => 0, # 'name' => 'is: must accept same value', # 'schema' => [ # 'bool', # 'is', # 0 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, type, type:bool) is: must accept same value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, type, type:bool) is: must accept same value # { # 'input' => 0, # 'name' => 'is: must reject different value', # 'schema' => [ # 'bool', # 'is', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, type, type:bool) is: must reject different value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, type, type:bool) is: must reject different value # { # 'input' => 0, # 'name' => '!is (nok)', # 'schema' => [ # 'bool', # '!is', # 0 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:bool) !is (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:bool) !is (nok) # { # 'input' => 0, # 'name' => '!is (ok)', # 'schema' => [ # 'bool', # '!is', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:bool) !is (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:bool) !is (ok) # { # 'input' => 0, # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'bool', # 'is', # 0, # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, type, type:bool) is.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, type, type:bool) is.op=not (nok) # { # 'input' => 0, # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'bool', # 'is', # 1, # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, type, type:bool) is.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:not, type, type:bool) is.op=not (ok) # { # 'input' => 0, # 'name' => 'is& (no items)', # 'schema' => [ # 'bool', # 'is&', # [] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) is& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) is& (no items) # { # 'input' => 0, # 'name' => 'is& (ok)', # 'schema' => [ # 'bool', # 'is&', # [ # 0, # 0 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) is& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) is& (ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'bool', # 'is&', # [ # 1, # 0 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) is& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) is& (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'bool', # 'is&', # [ # 0, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) is& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) is& (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'bool', # 'is&', # [ # 1, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:bool) is& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) is& (nok + nok) # { # 'input' => 0, # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'bool', # 'is', # [], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:bool' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:bool) is.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:bool) is.op=and (no items) # { # 'input' => 0, # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 0 # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, type, type:bool) is.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:bool) is.op=and (ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 0 # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:bool) is.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:bool) is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 1 # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:bool) is.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:bool) is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:bool) is.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:bool) is.op=and (nok + nok) # { # 'input' => 0, # 'name' => 'is| (no items)', # 'schema' => [ # 'bool', # 'is|', # [] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) is| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) is| (no items) # { # 'input' => 0, # 'name' => 'is| (ok)', # 'schema' => [ # 'bool', # 'is|', # [ # 0, # 0 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) is| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) is| (ok) # { # 'input' => 0, # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'bool', # 'is|', # [ # 1, # 0 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) is| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) is| (nok + ok) # { # 'input' => 0, # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'bool', # 'is|', # [ # 0, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) is| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) is| (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'bool', # 'is|', # [ # 1, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:bool) is| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) is| (nok + nok) # { # 'input' => 0, # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'bool', # 'is', # [], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:bool) is.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:bool) is.op=or (no items) # { # 'input' => 0, # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 0 # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:bool) is.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:bool) is.op=or (ok) # { # 'input' => 0, # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 0 # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:bool) is.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:bool) is.op=or (nok + ok) # { # 'input' => 0, # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 1 # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:bool) is.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:bool) is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, type, type:bool) is.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:bool) is.op=or (nok + nok) # { # 'input' => 0, # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'bool', # 'is', # [], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:bool) is.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:bool) is.op=none (empty items) # { # 'input' => 0, # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:bool) is.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:bool) is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'bool', # 'is', # [ # 1, # 0 # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:bool) is.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:bool) is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 1 # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:bool) is.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:bool) is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'bool', # 'is', # [ # 0, # 0 # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:bool) is.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:bool) is.op=none (ok + ok) # { # 'input' => 0, # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'bool', # 'in', # [ # 0, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, type, type:bool) in: must accept valid choices ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, type, type:bool) in: must accept valid choices # { # 'input' => 0, # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'bool', # 'in', # [] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, type, type:bool) in: must reject empty choices ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, type, type:bool) in: must reject empty choices # { # 'input' => 0, # 'name' => '!in (nok)', # 'schema' => [ # 'bool', # '!in', # [ # 0, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:bool) !in (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:bool) !in (nok) # { # 'input' => 0, # 'name' => '!in (ok)', # 'schema' => [ # 'bool', # '!in', # [] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:bool) !in (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:bool) !in (ok) # { # 'input' => 0, # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'bool', # 'in', # [ # 0, # 1 # ], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, type, type:bool) in.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, type, type:bool) in.op=not (nok) # { # 'input' => 0, # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'bool', # 'in', # [], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, type, type:bool) in.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:not, type, type:bool) in.op=not (ok) # { # 'input' => 0, # 'name' => 'in& (no items)', # 'schema' => [ # 'bool', # 'in&', # [] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) in& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) in& (no items) # { # 'input' => 0, # 'name' => 'in& (ok)', # 'schema' => [ # 'bool', # 'in&', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) in& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) in& (ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'bool', # 'in&', # [ # [], # [ # 0, # 1 # ] # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) in& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) in& (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'bool', # 'in&', # [ # [ # 0, # 1 # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) in& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) in& (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'bool', # 'in&', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:bool) in& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) in& (nok + nok) # { # 'input' => 0, # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'bool', # 'in', # [], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:bool' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:bool) in.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:bool) in.op=and (no items) # { # 'input' => 0, # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, type, type:bool) in.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:bool) in.op=and (ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [ # 0, # 1 # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:bool) in.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:bool) in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:bool) in.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:bool) in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:bool) in.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:bool) in.op=and (nok + nok) # { # 'input' => 0, # 'name' => 'in| (no items)', # 'schema' => [ # 'bool', # 'in|', # [] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) in| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) in| (no items) # { # 'input' => 0, # 'name' => 'in| (ok)', # 'schema' => [ # 'bool', # 'in|', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) in| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) in| (ok) # { # 'input' => 0, # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'bool', # 'in|', # [ # [], # [ # 0, # 1 # ] # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) in| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) in| (nok + ok) # { # 'input' => 0, # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'bool', # 'in|', # [ # [ # 0, # 1 # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) in| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) in| (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'bool', # 'in|', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:bool) in| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) in| (nok + nok) # { # 'input' => 0, # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'bool', # 'in', # [], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:bool) in.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:bool) in.op=or (no items) # { # 'input' => 0, # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [ # 0, # 1 # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:bool) in.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:bool) in.op=or (ok) # { # 'input' => 0, # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [ # 0, # 1 # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:bool) in.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:bool) in.op=or (nok + ok) # { # 'input' => 0, # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:bool) in.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:bool) in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, type, type:bool) in.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:bool) in.op=or (nok + nok) # { # 'input' => 0, # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'bool', # 'in', # [], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:bool) in.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:bool) in.op=none (empty items) # { # 'input' => 0, # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:bool) in.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:bool) in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'bool', # 'in', # [ # [], # [ # 0, # 1 # ] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:bool) in.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:bool) in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 0, # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'bool', # 'in', # [ # [ # 0, # 1 # ], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:bool) in.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:bool) 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' # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:bool) in.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:bool) in.op=none (ok + ok) # { # 'input' => 1, # 'name' => 'min: 1 0', # 'schema' => [ # 'bool', # 'min', # 0 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:bool) min: 1 0 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:bool) min: 1 0 # { # 'input' => 1, # 'name' => 'min: 1 1', # 'schema' => [ # 'bool', # 'min', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:bool) min: 1 1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:bool) min: 1 1 # { # 'input' => 0, # 'name' => 'min: 0 1 -> fail', # 'schema' => [ # 'bool', # 'min', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:min' # ], # 'valid' => 0 # } # Subtest: (tags=clause:min, type, type:bool) min: 0 1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:min, type, type:bool) min: 0 1 -> fail # { # 'input' => 1, # 'name' => 'xmin: 1 0', # 'schema' => [ # 'bool', # 'xmin', # 0 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:xmin' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmin, type, type:bool) xmin: 1 0 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xmin, type, type:bool) xmin: 1 0 # { # 'input' => 1, # 'name' => 'xmin: 1 1 -> fail', # 'schema' => [ # 'bool', # 'xmin', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:bool) xmin: 1 1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:bool) xmin: 1 1 -> fail # { # 'input' => 0, # 'name' => 'xmin: 0 1 -> fail', # 'schema' => [ # 'bool', # 'xmin', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:bool) xmin: 0 1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:bool) xmin: 0 1 -> fail # { # 'input' => 1, # 'name' => 'max: 1 0 -> fail', # 'schema' => [ # 'bool', # 'max', # 0 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:max' # ], # 'valid' => 0 # } # Subtest: (tags=clause:max, type, type:bool) max: 1 0 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:max, type, type:bool) max: 1 0 -> fail # { # 'input' => 1, # 'name' => 'max: 1 1', # 'schema' => [ # 'bool', # 'max', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:bool) max: 1 1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:bool) max: 1 1 # { # 'input' => 0, # 'name' => 'max: 0 1', # 'schema' => [ # 'bool', # 'max', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:bool) max: 0 1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:bool) max: 0 1 # { # 'input' => 1, # 'name' => 'xmax: 1 0 -> fail', # 'schema' => [ # 'bool', # 'xmax', # 0 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:bool) xmax: 1 0 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:bool) xmax: 1 0 -> fail # { # 'input' => 1, # 'name' => 'xmax: 1 1 -> fail', # 'schema' => [ # 'bool', # 'xmax', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:bool) xmax: 1 1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:bool) xmax: 1 1 -> fail # { # 'input' => 0, # 'name' => 'xmax: 0 1', # 'schema' => [ # 'bool', # 'xmax', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:xmax' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmax, type, type:bool) xmax: 0 1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xmax, type, type:bool) xmax: 0 1 # { # 'input' => 1, # 'name' => 'between: 1 0 & 1', # 'schema' => [ # 'bool', # 'between', # [ # 0, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:bool) between: 1 0 & 1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:bool) between: 1 0 & 1 # { # 'input' => 1, # 'name' => 'between: 1 0 & 1', # 'schema' => [ # 'bool', # 'between', # [ # 0, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:bool) between: 1 0 & 1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:bool) between: 1 0 & 1 # { # 'input' => 1, # 'name' => 'between: 1 1 & 1', # 'schema' => [ # 'bool', # 'between', # [ # 1, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:bool) between: 1 1 & 1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:bool) between: 1 1 & 1 # { # 'input' => 0, # 'name' => 'between: 0 1 & 1 -> fail', # 'schema' => [ # 'bool', # 'between', # [ # 1, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:between' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, type, type:bool) between: 0 1 & 1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, type, type:bool) between: 0 1 & 1 -> fail # { # 'input' => '1', # 'name' => 'xbetween: 1 0 & 1', # 'schema' => [ # 'bool', # 'xbetween', # [ # 0, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:bool) xbetween: 1 0 & 1 ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:bool) xbetween: 1 0 & 1 # { # 'input' => '1', # 'name' => 'xbetween: 1 0 & 1 -> fail', # 'schema' => [ # 'bool', # 'xbetween', # [ # 0, # '1' # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:bool) xbetween: 1 0 & 1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:bool) xbetween: 1 0 & 1 -> fail # { # 'input' => '1', # 'name' => 'xbetween: 1 1 & 1 -> fail', # 'schema' => [ # 'bool', # 'xbetween', # [ # '1', # '1' # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:bool) xbetween: 1 1 & 1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:bool) xbetween: 1 1 & 1 -> fail # { # 'input' => 0, # 'name' => 'xbetween: 0 1 & 1 -> fail', # 'schema' => [ # 'bool', # 'xbetween', # [ # '1', # '1' # ] # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:bool) xbetween: 0 1 & 1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:bool) xbetween: 0 1 & 1 -> fail # { # 'input' => 0, # 'name' => 'between.op=and (no items)', # 'schema' => [ # 'bool', # 'between', # [], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:bool' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:bool) between.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:bool) between.op=and (no items) # { # 'input' => 1, # 'name' => 'is_true: 1 (ok)', # 'schema' => [ # 'bool', # 'is_true', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is_true' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is_true, type, type:bool) is_true: 1 (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 114 - (tags=clause:is_true, type, type:bool) is_true: 1 (ok) # { # 'input' => 0, # 'name' => 'is_true: 1 (nok)', # 'schema' => [ # 'bool', # 'is_true', # 1 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is_true' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is_true, type, type:bool) is_true: 1 (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is_true, type, type:bool) is_true: 1 (nok) # { # 'input' => 0, # 'name' => 'is_true: 0 (ok)', # 'schema' => [ # 'bool', # 'is_true', # 0 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is_true' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is_true, type, type:bool) is_true: 0 (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 116 - (tags=clause:is_true, type, type:bool) is_true: 0 (ok) # { # 'input' => 1, # 'name' => 'is_true: 0 (nok)', # 'schema' => [ # 'bool', # 'is_true', # 0 # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is_true' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is_true, type, type:bool) is_true: 0 (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 117 - (tags=clause:is_true, type, type:bool) is_true: 0 (nok) # { # 'input' => 0, # 'name' => 'is_true: undef (ok 1)', # 'schema' => [ # 'bool', # 'is_true', # undef # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is_true' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is_true, type, type:bool) is_true: undef (ok 1) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 118 - (tags=clause:is_true, type, type:bool) is_true: undef (ok 1) # { # 'input' => 1, # 'name' => 'is_true: undef (ok 2)', # 'schema' => [ # 'bool', # 'is_true', # undef # ], # 'tags' => [ # 'type', # 'type:bool', # 'clause:is_true' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is_true, type, type:bool) is_true: undef (ok 2) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is_true, type, type:bool) is_true: undef (ok 2) ok 120 1..120 ok 6 - 10-type-bool.json # Subtest: 10-type-buf.json # Test version: v0.9.29 (generated by devscripts/gen-type-spectest on Mon Nov 25 15:43:40 2013) # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'buf', # 'tags' => [ # 'type', # 'type:buf' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:buf) type check: must accept 0 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:buf) type check: must accept 0 # { # 'input' => '1.1', # 'name' => 'type check: must accept 1.1', # 'schema' => 'buf', # 'tags' => [ # 'type', # 'type:buf' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:buf) type check: must accept 1.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:buf) type check: must accept 1.1 # { # 'input' => '', # 'name' => 'type check: must accept ', # 'schema' => 'buf', # 'tags' => [ # 'type', # 'type:buf' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:buf) type check: must accept ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:buf) type check: must accept # { # 'input' => 'str # ', # 'name' => 'type check: must accept str # ', # 'schema' => 'buf', # 'tags' => [ # 'type', # 'type:buf' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:buf) type check: must accept str ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:buf) type check: must accept str # # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'buf', # 'tags' => [ # 'type', # 'type:buf' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:buf) type check: must reject [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:buf) type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'buf', # 'tags' => [ # 'type', # 'type:buf' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:buf) type check: must reject {} ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:buf) type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'buf', # 'tags' => [ # 'type', # 'type:buf' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:buf) must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:buf) must accept undefined value # { # 'input' => undef, # 'name' => 'defhash_v', # 'schema' => [ # 'buf', # 'defhash_v', # 1 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:defhash_v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:defhash_v, type, type:buf) defhash_v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:defhash_v, type, type:buf) defhash_v # { # 'input' => undef, # 'name' => 'v', # 'schema' => [ # 'buf', # 'v', # 1 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:v, type, type:buf) v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:v, type, type:buf) v # { # 'input' => undef, # 'name' => 'c', # 'schema' => [ # 'buf', # 'c.foo.bar', # 1 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:c' # ], # 'valid' => 1 # } # Subtest: (tags=clause:c, type, type:buf) c ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:c, type, type:buf) c # { # 'input' => undef, # 'name' => 'default_lang', # 'schema' => [ # 'buf', # 'default_lang', # 'id_ID' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:default_lang' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default_lang, type, type:buf) default_lang ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default_lang, type, type:buf) default_lang # { # 'input' => undef, # 'name' => 'name', # 'schema' => [ # 'buf', # 'name', # 'some name' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:name' # ], # 'valid' => 1 # } # Subtest: (tags=clause:name, type, type:buf) name ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:name, type, type:buf) name # { # 'input' => undef, # 'name' => 'summary', # 'schema' => [ # 'buf', # 'summary', # 'some summary' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:summary' # ], # 'valid' => 1 # } # Subtest: (tags=clause:summary, type, type:buf) summary ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:summary, type, type:buf) summary # { # 'input' => undef, # 'name' => 'description', # 'schema' => [ # 'buf', # 'description', # 'some description and `markdown`' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:description' # ], # 'valid' => 1 # } # Subtest: (tags=clause:description, type, type:buf) description ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:description, type, type:buf) description # { # 'input' => undef, # 'name' => 'tags', # 'schema' => [ # 'buf', # 'tags', # [ # 'some', # 'tags' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:tags' # ], # 'valid' => 1 # } # Subtest: (tags=clause:tags, type, type:buf) tags ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:tags, type, type:buf) tags # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'buf', # 'req', # 0 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:req' # ], # 'valid' => 1 # } # Subtest: (tags=clause:req, type, type:buf) req=0 must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:req, type, type:buf) req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'buf', # 'req', # 1 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:req' # ], # 'valid' => 0 # } # Subtest: (tags=clause:req, type, type:buf) req=1 must reject undefined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:req, type, type:buf) req=1 must reject undefined value # { # 'input' => 'a', # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'buf', # 'forbidden', # 0 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:forbidden' # ], # 'valid' => 1 # } # Subtest: (tags=clause:forbidden, type, type:buf) forbidden=0 must accept defined value ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - (tags=clause:forbidden, type, type:buf) forbidden=0 must accept defined value # { # 'input' => 'a', # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'buf', # 'forbidden', # 1 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:forbidden' # ], # 'valid' => 0 # } # Subtest: (tags=clause:forbidden, type, type:buf) forbidden=1 must reject defined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:forbidden, type, type:buf) forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default a', # 'schema' => [ # 'buf*', # 'default', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:default' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default, type, type:buf) default: must accept valid default a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default, type, type:buf) default: must accept valid default a # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'buf*', # 'default', # [] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:default' # ], # 'valid' => 0 # } # Subtest: (tags=clause:default, type, type:buf) default: must reject invalid default [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - (tags=clause:default, type, type:buf) default: must reject invalid default [] # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'buf*', # 'clause', # [ # 'foo', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:clause' # ] # } # Subtest: (tags=clause:clause, type, type:buf) clause (dies, unknown clause) ok 1 - compile error 1..1 ok 22 - (tags=clause:clause, type, type:buf) clause (dies, unknown clause) # { # 'input' => 'a', # 'name' => 'clause (ok)', # 'schema' => [ # 'buf*', # 'clause', # [ # 'match', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:clause' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clause, type, type:buf) clause (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clause, type, type:buf) clause (ok) # { # 'input' => 'a', # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'buf*', # 'clause', # [ # 'match', # 'a' # ], # 'len', # 2 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:buf) clause (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:buf) clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'clause (nok)', # 'schema' => [ # 'buf*', # 'clause', # [ # 'match', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:buf) clause (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:buf) clause (nok) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'buf*', # 'clset', # { # 'foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:buf) clset (dies, unknown clause) ok 1 - compile error 1..1 ok 26 - (tags=clause:clset, type, type:buf) clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'buf*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:buf) clset (dies, unknown attr) ok 1 - compile error 1..1 ok 27 - (tags=clause:clset, type, type:buf) clset (dies, unknown attr) # { # 'input' => 'a', # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'buf*', # 'clset', # {} # ], # 'tags' => [ # 'type', # 'type:buf' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:buf) clset (empty = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:buf) clset (empty = ok) # { # 'input' => 'a', # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'buf*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:buf) clset (ignored clause/attr = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:buf) clset (ignored clause/attr = ok) # { # 'input' => 'a', # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'buf*', # 'clset', # { # 'len' => 1, # 'match' => 'a' # } # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:buf) clset (ok + ok = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:buf) clset (ok + ok = ok) # { # 'input' => 'a', # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'buf*', # 'clset', # { # 'match' => 'a' # }, # 'len', # 2 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:buf) clset (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:buf) clset (ok) + clause nok = nok # { # 'input' => 'a', # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'buf*', # 'clset', # { # 'len' => 2, # 'match' => 'a' # } # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:buf) clset (ok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:buf) clset (ok + nok = nok) # { # 'input' => 'a', # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'buf*', # 'clset', # { # 'len' => 1, # 'match' => 'b' # } # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:buf) clset (nok + ok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:buf) clset (nok + ok = nok) # { # 'input' => 'a', # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'buf*', # 'clset', # { # 'len' => 2, # 'match' => 'b' # } # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:buf) clset (nok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:buf) clset (nok + nok = nok) # { # 'input' => undef, # 'name' => 'ok', # 'schema' => [ # 'buf', # { # 'ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:ok' # ], # 'valid' => 1 # } # Subtest: (tags=clause:ok, type, type:buf) ok ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:ok, type, type:buf) ok # { # 'input' => undef, # 'name' => 'ok + op not (nok)', # 'schema' => [ # 'buf', # { # '!ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:ok', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:ok, op, op:not, type, type:buf) ok + op not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:ok, op, op:not, type, type:buf) ok + op not (nok) # { # 'input' => 'a', # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'buf', # 'is', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:buf) .err_level=error (clause=is, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:buf) .err_level=error (clause=is, ok) # { # 'input' => 'a # ', # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'buf', # 'is', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'attr', # 'attr:err_level' # ], # 'valid' => 0 # } # Subtest: (tags=attr, attr:err_level, type, type:buf) .err_level=error (clause=is, nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - (tags=attr, attr:err_level, type, type:buf) .err_level=error (clause=is, nok) # { # 'input' => 'a', # 'name' => '.err_level=warn (clause=is, ok)', # 'schema' => [ # 'buf', # 'is', # 'a', # 'is.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:buf', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:buf) .err_level=warn (clause=is, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:buf) .err_level=warn (clause=is, ok) # { # 'input' => 'a # ', # 'name' => '.err_level=warn (clause=is, nok)', # 'schema' => [ # 'buf*', # 'is', # 'a', # 'is.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:buf', # 'attr', # 'attr:err_level' # ], # 'valid' => 1, # 'warnings' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:buf) .err_level=warn (clause=is, nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:buf) .err_level=warn (clause=is, nok) # { # 'input' => 'a', # 'name' => 'is: must accept same value', # 'schema' => [ # 'buf', # 'is', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, type, type:buf) is: must accept same value ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - (tags=clause:is, type, type:buf) is: must accept same value # { # 'input' => 'a', # 'name' => 'is: must reject different value', # 'schema' => [ # 'buf', # 'is', # 'b' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, type, type:buf) is: must reject different value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, type, type:buf) is: must reject different value # { # 'input' => 'a', # 'name' => '!is (nok)', # 'schema' => [ # 'buf', # '!is', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:buf) !is (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:buf) !is (nok) # { # 'input' => 'a', # 'name' => '!is (ok)', # 'schema' => [ # 'buf', # '!is', # 'b' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:buf) !is (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:buf) !is (ok) # { # 'input' => 'a', # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'buf', # 'is', # 'a', # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, type, type:buf) is.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, type, type:buf) is.op=not (nok) # { # 'input' => 'a', # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'buf', # 'is', # 'b', # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, type, type:buf) is.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - (tags=clause:is, op, op:not, type, type:buf) is.op=not (ok) # { # 'input' => 'a', # 'name' => 'is& (no items)', # 'schema' => [ # 'buf', # 'is&', # [] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) is& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) is& (no items) # { # 'input' => 'a', # 'name' => 'is& (ok)', # 'schema' => [ # 'buf', # 'is&', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) is& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) is& (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'buf', # 'is&', # [ # 'b', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) is& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) is& (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'buf', # 'is&', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) is& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) is& (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'buf', # 'is&', # [ # 'b', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:buf) is& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:buf) is& (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'buf', # 'is', # [], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:buf) is.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:buf) is.op=and (no items) # { # 'input' => 'a', # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'buf', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, type, type:buf) is.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:buf) is.op=and (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'buf', # 'is', # [ # 'b', # 'a' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:buf) is.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - (tags=clause:is, op, op:and, type, type:buf) is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'buf', # 'is', # [ # 'a', # 'b' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:buf) is.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - (tags=clause:is, op, op:and, type, type:buf) is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'buf', # 'is', # [ # 'b', # 'b' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:buf) is.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:buf) is.op=and (nok + nok) # { # 'input' => 'a', # 'name' => 'is| (no items)', # 'schema' => [ # 'buf', # 'is|', # [] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) is| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) is| (no items) # { # 'input' => 'a', # 'name' => 'is| (ok)', # 'schema' => [ # 'buf', # 'is|', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) is| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) is| (ok) # { # 'input' => 'a', # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'buf', # 'is|', # [ # 'b', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) is| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) is| (nok + ok) # { # 'input' => 'a', # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'buf', # 'is|', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) is| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) is| (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'buf', # 'is|', # [ # 'b', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:buf) is| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:buf) is| (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'buf', # 'is', # [], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:buf) is.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:buf) is.op=or (no items) # { # 'input' => 'a', # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'buf', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:buf) is.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:buf) is.op=or (ok) # { # 'input' => 'a', # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'buf', # 'is', # [ # 'b', # 'a' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:buf) is.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:buf) is.op=or (nok + ok) # { # 'input' => 'a', # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'buf', # 'is', # [ # 'a', # 'b' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:buf) is.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:buf) is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'buf', # 'is', # [ # 'b', # 'b' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, type, type:buf) is.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:buf) is.op=or (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'buf', # 'is', # [], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:buf) is.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:buf) is.op=none (empty items) # { # 'input' => 'a', # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'buf', # 'is', # [ # 'b', # 'b' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:buf) is.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:buf) is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'buf', # 'is', # [ # 'b', # 'a' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:buf) is.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - (tags=clause:is, op, op:none, type, type:buf) is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'buf', # 'is', # [ # 'a', # 'b' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:buf) is.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:buf) is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'buf', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:buf) is.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:buf) is.op=none (ok + ok) # { # 'input' => 'a', # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'buf', # 'in', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, type, type:buf) in: must accept valid choices ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - (tags=clause:in, type, type:buf) in: must accept valid choices # { # 'input' => 'a', # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'buf', # 'in', # [] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, type, type:buf) in: must reject empty choices ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, type, type:buf) in: must reject empty choices # { # 'input' => 'a', # 'name' => '!in (nok)', # 'schema' => [ # 'buf', # '!in', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:buf) !in (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:buf) !in (nok) # { # 'input' => 'a', # 'name' => '!in (ok)', # 'schema' => [ # 'buf', # '!in', # [] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:buf) !in (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:buf) !in (ok) # { # 'input' => 'a', # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'buf', # 'in', # [ # 'a', # 'b' # ], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, type, type:buf) in.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, type, type:buf) in.op=not (nok) # { # 'input' => 'a', # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'buf', # 'in', # [], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, type, type:buf) in.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - (tags=clause:in, op, op:not, type, type:buf) in.op=not (ok) # { # 'input' => 'a', # 'name' => 'in& (no items)', # 'schema' => [ # 'buf', # 'in&', # [] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) in& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) in& (no items) # { # 'input' => 'a', # 'name' => 'in& (ok)', # 'schema' => [ # 'buf', # 'in&', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) in& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) in& (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'buf', # 'in&', # [ # [], # [ # 'a', # 'b' # ] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) in& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) in& (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'buf', # 'in&', # [ # [ # 'a', # 'b' # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) in& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) in& (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'buf', # 'in&', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:buf) in& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:buf) in& (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'buf', # 'in', # [], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:buf) in.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:buf) in.op=and (no items) # { # 'input' => 'a', # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'buf', # 'in', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, type, type:buf) in.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:buf) in.op=and (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'buf', # 'in', # [ # [], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:buf) in.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:buf) in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'buf', # 'in', # [ # [ # 'a', # 'b' # ], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:buf) in.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - (tags=clause:in, op, op:and, type, type:buf) in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'buf', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:buf) in.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:buf) in.op=and (nok + nok) # { # 'input' => 'a', # 'name' => 'in| (no items)', # 'schema' => [ # 'buf', # 'in|', # [] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) in| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) in| (no items) # { # 'input' => 'a', # 'name' => 'in| (ok)', # 'schema' => [ # 'buf', # 'in|', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) in| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) in| (ok) # { # 'input' => 'a', # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'buf', # 'in|', # [ # [], # [ # 'a', # 'b' # ] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) in| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) in| (nok + ok) # { # 'input' => 'a', # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'buf', # 'in|', # [ # [ # 'a', # 'b' # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) in| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) in| (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'buf', # 'in|', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:buf) in| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:buf) in| (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'buf', # 'in', # [], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:buf) in.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:buf) in.op=or (no items) # { # 'input' => 'a', # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'buf', # 'in', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:buf) in.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:buf) in.op=or (ok) # { # 'input' => 'a', # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'buf', # 'in', # [ # [], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:buf) in.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:buf) in.op=or (nok + ok) # { # 'input' => 'a', # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'buf', # 'in', # [ # [ # 'a', # 'b' # ], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:buf) in.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:buf) in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'buf', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, type, type:buf) in.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:buf) in.op=or (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'buf', # 'in', # [], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:buf) in.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:buf) in.op=none (empty items) # { # 'input' => 'a', # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'buf', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:buf) in.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:buf) in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'buf', # 'in', # [ # [], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:buf) in.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:buf) in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'buf', # 'in', # [ # [ # 'a', # 'b' # ], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:buf) in.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:buf) in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'buf', # 'in', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:buf) in.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:buf) in.op=none (ok + ok) # { # 'input' => 'a', # 'name' => 'min: a ', # 'schema' => [ # 'buf', # 'min', # '' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:buf) min: a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:buf) min: a # { # 'input' => 'a', # 'name' => 'min: a a', # 'schema' => [ # 'buf', # 'min', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:buf) min: a a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:buf) min: a a # { # 'input' => '', # 'name' => 'min: a -> fail', # 'schema' => [ # 'buf', # 'min', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:min' # ], # 'valid' => 0 # } # Subtest: (tags=clause:min, type, type:buf) min: a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:min, type, type:buf) min: a -> fail # { # 'input' => 'a', # 'name' => 'xmin: a ', # 'schema' => [ # 'buf', # 'xmin', # '' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:xmin' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmin, type, type:buf) xmin: a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xmin, type, type:buf) xmin: a # { # 'input' => 'a', # 'name' => 'xmin: a a -> fail', # 'schema' => [ # 'buf', # 'xmin', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:buf) xmin: a a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:buf) xmin: a a -> fail # { # 'input' => '', # 'name' => 'xmin: a -> fail', # 'schema' => [ # 'buf', # 'xmin', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:buf) xmin: a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:buf) xmin: a -> fail # { # 'input' => 'a', # 'name' => 'max: a -> fail', # 'schema' => [ # 'buf', # 'max', # '' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:max' # ], # 'valid' => 0 # } # Subtest: (tags=clause:max, type, type:buf) max: a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:max, type, type:buf) max: a -> fail # { # 'input' => 'a', # 'name' => 'max: a a', # 'schema' => [ # 'buf', # 'max', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:buf) max: a a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:buf) max: a a # { # 'input' => '', # 'name' => 'max: a', # 'schema' => [ # 'buf', # 'max', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:buf) max: a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:buf) max: a # { # 'input' => 'a', # 'name' => 'xmax: a -> fail', # 'schema' => [ # 'buf', # 'xmax', # '' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:buf) xmax: a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:buf) xmax: a -> fail # { # 'input' => 'a', # 'name' => 'xmax: a a -> fail', # 'schema' => [ # 'buf', # 'xmax', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:buf) xmax: a a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:buf) xmax: a a -> fail # { # 'input' => '', # 'name' => 'xmax: a', # 'schema' => [ # 'buf', # 'xmax', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:xmax' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmax, type, type:buf) xmax: a ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 114 - (tags=clause:xmax, type, type:buf) xmax: a # { # 'input' => 'a', # 'name' => 'between: a & ab', # 'schema' => [ # 'buf', # 'between', # [ # '', # 'ab' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:buf) between: a & ab ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:buf) between: a & ab # { # 'input' => 'a', # 'name' => 'between: a & a', # 'schema' => [ # 'buf', # 'between', # [ # '', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:buf) between: a & a ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 116 - (tags=clause:between, type, type:buf) between: a & a # { # 'input' => 'a', # 'name' => 'between: a a & a', # 'schema' => [ # 'buf', # 'between', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:buf) between: a a & a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:buf) between: a a & a # { # 'input' => '', # 'name' => 'between: a & ab -> fail', # 'schema' => [ # 'buf', # 'between', # [ # 'a', # 'ab' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, type, type:buf) between: a & ab -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, type, type:buf) between: a & ab -> fail # { # 'input' => 'a', # 'name' => 'xbetween: a & ab', # 'schema' => [ # 'buf', # 'xbetween', # [ # '', # 'ab' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:xbetween' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xbetween, type, type:buf) xbetween: a & ab ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:buf) xbetween: a & ab # { # 'input' => 'a', # 'name' => 'xbetween: a & a -> fail', # 'schema' => [ # 'buf', # 'xbetween', # [ # '', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:buf) xbetween: a & a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:buf) xbetween: a & a -> fail # { # 'input' => 'a', # 'name' => 'xbetween: a a & a -> fail', # 'schema' => [ # 'buf', # 'xbetween', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:buf) xbetween: a a & a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 121 - (tags=clause:xbetween, type, type:buf) xbetween: a a & a -> fail # { # 'input' => '', # 'name' => 'xbetween: a & ab -> fail', # 'schema' => [ # 'buf', # 'xbetween', # [ # 'a', # 'ab' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:buf) xbetween: a & ab -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:buf) xbetween: a & ab -> fail # { # 'input' => '', # 'name' => '!between (nok)', # 'schema' => [ # 'buf', # '!between', # [ # '', # '' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:buf) !between (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 123 - (tags=clause:between, op, op:not, opshortcut, type, type:buf) !between (nok) # { # 'input' => '', # 'name' => '!between (ok)', # 'schema' => [ # 'buf', # '!between', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:buf) !between (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 124 - (tags=clause:between, op, op:not, opshortcut, type, type:buf) !between (ok) # { # 'input' => '', # 'name' => 'between.op=not (nok)', # 'schema' => [ # 'buf', # 'between', # [ # '', # '' # ], # 'between.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:not, type, type:buf) between.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 125 - (tags=clause:between, op, op:not, type, type:buf) between.op=not (nok) # { # 'input' => '', # 'name' => 'between.op=not (ok)', # 'schema' => [ # 'buf', # 'between', # [ # 'a', # 'a' # ], # 'between.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:not, type, type:buf) between.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 126 - (tags=clause:between, op, op:not, type, type:buf) between.op=not (ok) # { # 'input' => '', # 'name' => 'between& (no items)', # 'schema' => [ # 'buf', # 'between&', # [] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) between& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 127 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) between& (no items) # { # 'input' => '', # 'name' => 'between& (ok)', # 'schema' => [ # 'buf', # 'between&', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) between& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) between& (ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between& (nok + ok)', # 'schema' => [ # 'buf', # 'between&', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) between& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) between& (nok + ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between& (ok + nok)', # 'schema' => [ # 'buf', # 'between&', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) between& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) between& (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between& (nok + nok)', # 'schema' => [ # 'buf', # 'between&', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:buf) between& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:buf) between& (nok + nok) # { # 'input' => '', # 'name' => 'between.op=and (no items)', # 'schema' => [ # 'buf', # 'between', # [], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:buf) between.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 132 - (tags=type, type:buf) between.op=and (no items) # { # 'input' => '', # 'name' => 'between.op=and (ok)', # 'schema' => [ # 'buf', # 'between', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, type, type:buf) between.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 133 - (tags=clause:between, op, op:and, type, type:buf) between.op=and (ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=and (nok + ok)', # 'schema' => [ # 'buf', # 'between', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:buf) between.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 134 - (tags=clause:between, op, op:and, type, type:buf) between.op=and (nok + ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=and (ok + nok)', # 'schema' => [ # 'buf', # 'between', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:buf) between.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 135 - (tags=clause:between, op, op:and, type, type:buf) between.op=and (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=and (nok + nok)', # 'schema' => [ # 'buf', # 'between', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:buf) between.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 136 - (tags=clause:between, op, op:and, type, type:buf) between.op=and (nok + nok) # { # 'input' => '', # 'name' => 'between| (no items)', # 'schema' => [ # 'buf', # 'between|', # [] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) between| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 137 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) between| (no items) # { # 'input' => '', # 'name' => 'between| (ok)', # 'schema' => [ # 'buf', # 'between|', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) between| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 138 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) between| (ok) # { # 'input' => '', # 'name' => 'between| (nok + ok)', # 'schema' => [ # 'buf', # 'between|', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) between| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) between| (nok + ok) # { # 'input' => '', # 'name' => 'between| (ok + nok)', # 'schema' => [ # 'buf', # 'between|', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) between| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) between| (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between| (nok + nok)', # 'schema' => [ # 'buf', # 'between|', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:buf) between| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:buf) between| (nok + nok) # { # 'input' => '', # 'name' => 'between.op=or (no items)', # 'schema' => [ # 'buf', # 'between', # [], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:buf) between.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 142 - (tags=clause:between, op, op:or, type, type:buf) between.op=or (no items) # { # 'input' => '', # 'name' => 'between.op=or (ok)', # 'schema' => [ # 'buf', # 'between', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:buf) between.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 143 - (tags=clause:between, op, op:or, type, type:buf) between.op=or (ok) # { # 'input' => '', # 'name' => 'between.op=or (nok + ok)', # 'schema' => [ # 'buf', # 'between', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:buf) between.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 144 - (tags=clause:between, op, op:or, type, type:buf) between.op=or (nok + ok) # { # 'input' => '', # 'name' => 'between.op=or (ok + nok)', # 'schema' => [ # 'buf', # 'between', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:buf) between.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 145 - (tags=clause:between, op, op:or, type, type:buf) between.op=or (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=or (nok + nok)', # 'schema' => [ # 'buf', # 'between', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:or, type, type:buf) between.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 146 - (tags=clause:between, op, op:or, type, type:buf) between.op=or (nok + nok) # { # 'input' => '', # 'name' => 'between.op=none (empty items)', # 'schema' => [ # 'buf', # 'between', # [], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:none, type, type:buf) between.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 147 - (tags=clause:between, op, op:none, type, type:buf) between.op=none (empty items) # { # 'input' => '', # 'name' => 'between.op=none (nok + nok)', # 'schema' => [ # 'buf', # 'between', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:none, type, type:buf) between.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 148 - (tags=clause:between, op, op:none, type, type:buf) between.op=none (nok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=none (nok + ok)', # 'schema' => [ # 'buf', # 'between', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:buf) between.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 149 - (tags=clause:between, op, op:none, type, type:buf) between.op=none (nok + ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=none (ok + nok)', # 'schema' => [ # 'buf', # 'between', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:buf) between.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 150 - (tags=clause:between, op, op:none, type, type:buf) between.op=none (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=none (ok + ok)', # 'schema' => [ # 'buf', # 'between', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:buf) between.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 151 - (tags=clause:between, op, op:none, type, type:buf) between.op=none (ok + ok) # { # 'input' => 'a', # 'name' => 'len (ok)', # 'schema' => [ # 'buf', # 'len', # 1 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:len, type, type:buf) len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 152 - (tags=clause:len, type, type:buf) len (ok) # { # 'input' => 'a', # 'name' => 'len (nok)', # 'schema' => [ # 'buf', # 'len', # 3 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:len, type, type:buf) len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 153 - (tags=clause:len, type, type:buf) len (nok) # { # 'input' => 'a', # 'name' => 'min_len (ok)', # 'schema' => [ # 'buf', # 'min_len', # 1 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:min_len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min_len, type, type:buf) min_len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 154 - (tags=clause:min_len, type, type:buf) min_len (ok) # { # 'input' => 'a', # 'name' => 'min_len (nok)', # 'schema' => [ # 'buf', # 'min_len', # 3 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:min_len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:min_len, type, type:buf) min_len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 155 - (tags=clause:min_len, type, type:buf) min_len (nok) # { # 'input' => 'a', # 'name' => 'max_len (ok)', # 'schema' => [ # 'buf', # 'min_len', # 1 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:max_len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max_len, type, type:buf) max_len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 156 - (tags=clause:max_len, type, type:buf) max_len (ok) # { # 'input' => 'abc', # 'name' => 'max_len (nok)', # 'schema' => [ # 'buf', # 'max_len', # 1 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:max_len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:max_len, type, type:buf) max_len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 157 - (tags=clause:max_len, type, type:buf) max_len (nok) # { # 'input' => 'a', # 'name' => 'len_between (ok)', # 'schema' => [ # 'buf', # 'len_between', # [ # 1, # 3 # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:len_between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:len_between, type, type:buf) len_between (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 158 - (tags=clause:len_between, type, type:buf) len_between (ok) # { # 'input' => 'abc', # 'name' => 'len_between (nok)', # 'schema' => [ # 'buf', # 'len_between', # [ # 1, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:len_between' # ], # 'valid' => 0 # } # Subtest: (tags=clause:len_between, type, type:buf) len_between (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 159 - (tags=clause:len_between, type, type:buf) len_between (nok) # { # 'input' => 'abc', # 'name' => 'each_index (ok)', # 'schema' => [ # 'buf', # 'each_index', # [ # 'int', # 'max', # 2 # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:each_index' # ], # 'valid' => 1 # } # Subtest: (tags=clause:each_index, type, type:buf) each_index (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 160 - (tags=clause:each_index, type, type:buf) each_index (ok) # { # 'input' => 'abc', # 'name' => 'each_index (nok)', # 'schema' => [ # 'buf', # 'each_index', # [ # 'int', # 'xmax', # 2 # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:each_index' # ], # 'valid' => 0 # } # Subtest: (tags=clause:each_index, type, type:buf) each_index (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 161 - (tags=clause:each_index, type, type:buf) each_index (nok) # { # 'input' => 'abc', # 'name' => 'each_elem (ok)', # 'schema' => [ # 'buf', # 'each_elem', # 'buf' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:each_elem' # ], # 'valid' => 1 # } # Subtest: (tags=clause:each_elem, type, type:buf) each_elem (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 162 - (tags=clause:each_elem, type, type:buf) each_elem (ok) # { # 'input' => 'abc', # 'name' => 'each_elem (nok)', # 'schema' => [ # 'buf', # 'each_elem', # 'float' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:each_elem' # ], # 'valid' => 0 # } # Subtest: (tags=clause:each_elem, type, type:buf) each_elem (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 163 - (tags=clause:each_elem, type, type:buf) each_elem (nok) # { # 'invalid_inputs' => [ # '', # 'A', # 'c' # ], # 'name' => 'has', # 'schema' => [ # 'buf', # 'has', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:has' # ], # 'valid_inputs' => [ # 'abc', # 'ac' # ] # } # Subtest: (tags=clause:has, type, type:buf) has ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - invalid input [0] ok 5 - invalid input [1] ok 6 - invalid input [2] ok 7 - validator (rt=full) returns hash 1..7 ok 164 - (tags=clause:has, type, type:buf) has # { # 'invalid_inputs' => [ # 'abc', # 'ac' # ], # 'name' => 'has + op.not', # 'schema' => [ # 'buf', # '!has', # 'a' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:has', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid_inputs' => [ # '', # 'A', # 'c' # ] # } # Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:buf) has + op.not ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - valid input [2] ok 5 - invalid input [0] ok 6 - invalid input [1] ok 7 - validator (rt=full) returns hash 1..7 ok 165 - (tags=clause:has, op, op:not, opshortcut, type, type:buf) has + op.not # { # 'invalid_inputs' => [ # '', # 'A', # 'c' # ], # 'name' => 'has + op.or', # 'schema' => [ # 'buf', # 'has|', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:has', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid_inputs' => [ # 'abc', # 'ac' # ] # } # Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:buf) has + op.or ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - invalid input [0] ok 5 - invalid input [1] ok 6 - invalid input [2] ok 7 - validator (rt=full) returns hash 1..7 ok 166 - (tags=clause:has, op, op:or, opshortcut, type, type:buf) has + op.or # { # 'invalid_inputs' => [ # 'ac', # '', # 'A', # 'c' # ], # 'name' => 'has + op.and', # 'schema' => [ # 'buf', # 'has&', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:has', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid_inputs' => [ # 'abc' # ] # } # Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:buf) has + op.and ok 1 - compile success ok 2 - valid input [0] ok 3 - invalid input [0] ok 4 - invalid input [1] ok 5 - invalid input [2] ok 6 - invalid input [3] ok 7 - validator (rt=full) returns hash 1..7 ok 167 - (tags=clause:has, op, op:and, opshortcut, type, type:buf) has + op.and # { # 'input' => 'a', # 'name' => 'match: (ok)', # 'schema' => [ # 'buf', # 'match', # '[abc]' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:match' # ], # 'valid' => 1 # } # Subtest: (tags=clause:match, type, type:buf) match: (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 168 - (tags=clause:match, type, type:buf) match: (ok) # { # 'input' => 'A', # 'name' => 'match: (nok)', # 'schema' => [ # 'buf', # 'match', # '[abc]' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:match' # ], # 'valid' => 0 # } # Subtest: (tags=clause:match, type, type:buf) match: (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 169 - (tags=clause:match, type, type:buf) match: (nok) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'match: (dies, invalid regex)', # 'schema' => [ # 'buf', # 'match', # '(' # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:match' # ] # } # Subtest: (tags=clause:match, type, type:buf) match: (dies, invalid regex) ok 1 - compile error 1..1 ok 170 - (tags=clause:match, type, type:buf) match: (dies, invalid regex) # { # 'input' => 'a', # 'name' => 'is_re: 1 (ok)', # 'schema' => [ # 'buf', # 'is_re', # 1 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is_re' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is_re, type, type:buf) is_re: 1 (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 171 - (tags=clause:is_re, type, type:buf) is_re: 1 (ok) # { # 'input' => 'a(', # 'name' => 'is_re: 1 (nok)', # 'schema' => [ # 'buf', # 'is_re', # 1 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is_re' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is_re, type, type:buf) is_re: 1 (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 172 - (tags=clause:is_re, type, type:buf) is_re: 1 (nok) # { # 'input' => 'a(', # 'name' => 'is_re: 0 (ok)', # 'schema' => [ # 'buf', # 'is_re', # 0 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is_re' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is_re, type, type:buf) is_re: 0 (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 173 - (tags=clause:is_re, type, type:buf) is_re: 0 (ok) # { # 'input' => 'a', # 'name' => 'is_re: 0 (nok)', # 'schema' => [ # 'buf', # 'is_re', # 0 # ], # 'tags' => [ # 'type', # 'type:buf', # 'clause:is_re' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is_re, type, type:buf) is_re: 0 (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 174 - (tags=clause:is_re, type, type:buf) is_re: 0 (nok) ok 175 1..175 ok 7 - 10-type-buf.json # Subtest: 10-type-cistr.json # Test version: v0.9.29 (generated by devscripts/gen-type-spectest on Mon Nov 25 15:43:40 2013) # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'cistr', # 'tags' => [ # 'type', # 'type:cistr' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:cistr) type check: must accept 0 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:cistr) type check: must accept 0 # { # 'input' => '1.1', # 'name' => 'type check: must accept 1.1', # 'schema' => 'cistr', # 'tags' => [ # 'type', # 'type:cistr' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:cistr) type check: must accept 1.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:cistr) type check: must accept 1.1 # { # 'input' => '', # 'name' => 'type check: must accept ', # 'schema' => 'cistr', # 'tags' => [ # 'type', # 'type:cistr' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:cistr) type check: must accept ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:cistr) type check: must accept # { # 'input' => 'str # ', # 'name' => 'type check: must accept str # ', # 'schema' => 'cistr', # 'tags' => [ # 'type', # 'type:cistr' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:cistr) type check: must accept str ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:cistr) type check: must accept str # # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'cistr', # 'tags' => [ # 'type', # 'type:cistr' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:cistr) type check: must reject [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:cistr) type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'cistr', # 'tags' => [ # 'type', # 'type:cistr' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:cistr) type check: must reject {} ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:cistr) type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'cistr', # 'tags' => [ # 'type', # 'type:cistr' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:cistr) must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:cistr) must accept undefined value # { # 'input' => undef, # 'name' => 'defhash_v', # 'schema' => [ # 'cistr', # 'defhash_v', # 1 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:defhash_v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:defhash_v, type, type:cistr) defhash_v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:defhash_v, type, type:cistr) defhash_v # { # 'input' => undef, # 'name' => 'v', # 'schema' => [ # 'cistr', # 'v', # 1 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:v, type, type:cistr) v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:v, type, type:cistr) v # { # 'input' => undef, # 'name' => 'c', # 'schema' => [ # 'cistr', # 'c.foo.bar', # 1 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:c' # ], # 'valid' => 1 # } # Subtest: (tags=clause:c, type, type:cistr) c ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:c, type, type:cistr) c # { # 'input' => undef, # 'name' => 'default_lang', # 'schema' => [ # 'cistr', # 'default_lang', # 'id_ID' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:default_lang' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default_lang, type, type:cistr) default_lang ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default_lang, type, type:cistr) default_lang # { # 'input' => undef, # 'name' => 'name', # 'schema' => [ # 'cistr', # 'name', # 'some name' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:name' # ], # 'valid' => 1 # } # Subtest: (tags=clause:name, type, type:cistr) name ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:name, type, type:cistr) name # { # 'input' => undef, # 'name' => 'summary', # 'schema' => [ # 'cistr', # 'summary', # 'some summary' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:summary' # ], # 'valid' => 1 # } # Subtest: (tags=clause:summary, type, type:cistr) summary ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:summary, type, type:cistr) summary # { # 'input' => undef, # 'name' => 'description', # 'schema' => [ # 'cistr', # 'description', # 'some description and `markdown`' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:description' # ], # 'valid' => 1 # } # Subtest: (tags=clause:description, type, type:cistr) description ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:description, type, type:cistr) description # { # 'input' => undef, # 'name' => 'tags', # 'schema' => [ # 'cistr', # 'tags', # [ # 'some', # 'tags' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:tags' # ], # 'valid' => 1 # } # Subtest: (tags=clause:tags, type, type:cistr) tags ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:tags, type, type:cistr) tags # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'cistr', # 'req', # 0 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:req' # ], # 'valid' => 1 # } # Subtest: (tags=clause:req, type, type:cistr) req=0 must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:req, type, type:cistr) req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'cistr', # 'req', # 1 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:req' # ], # 'valid' => 0 # } # Subtest: (tags=clause:req, type, type:cistr) req=1 must reject undefined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:req, type, type:cistr) req=1 must reject undefined value # { # 'input' => 'a', # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'cistr', # 'forbidden', # 0 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:forbidden' # ], # 'valid' => 1 # } # Subtest: (tags=clause:forbidden, type, type:cistr) forbidden=0 must accept defined value ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - (tags=clause:forbidden, type, type:cistr) forbidden=0 must accept defined value # { # 'input' => 'a', # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'cistr', # 'forbidden', # 1 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:forbidden' # ], # 'valid' => 0 # } # Subtest: (tags=clause:forbidden, type, type:cistr) forbidden=1 must reject defined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:forbidden, type, type:cistr) forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default a', # 'schema' => [ # 'cistr*', # 'default', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:default' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default, type, type:cistr) default: must accept valid default a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default, type, type:cistr) default: must accept valid default a # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'cistr*', # 'default', # [] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:default' # ], # 'valid' => 0 # } # Subtest: (tags=clause:default, type, type:cistr) default: must reject invalid default [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - (tags=clause:default, type, type:cistr) default: must reject invalid default [] # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'cistr*', # 'clause', # [ # 'foo', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:clause' # ] # } # Subtest: (tags=clause:clause, type, type:cistr) clause (dies, unknown clause) ok 1 - compile error 1..1 ok 22 - (tags=clause:clause, type, type:cistr) clause (dies, unknown clause) # { # 'input' => 'a', # 'name' => 'clause (ok)', # 'schema' => [ # 'cistr*', # 'clause', # [ # 'match', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:clause' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clause, type, type:cistr) clause (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clause, type, type:cistr) clause (ok) # { # 'input' => 'a', # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'cistr*', # 'clause', # [ # 'match', # 'a' # ], # 'len', # 2 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:cistr) clause (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:cistr) clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'clause (nok)', # 'schema' => [ # 'cistr*', # 'clause', # [ # 'match', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:cistr) clause (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:cistr) clause (nok) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'cistr*', # 'clset', # { # 'foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:cistr) clset (dies, unknown clause) ok 1 - compile error 1..1 ok 26 - (tags=clause:clset, type, type:cistr) clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'cistr*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:cistr) clset (dies, unknown attr) ok 1 - compile error 1..1 ok 27 - (tags=clause:clset, type, type:cistr) clset (dies, unknown attr) # { # 'input' => 'a', # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'cistr*', # 'clset', # {} # ], # 'tags' => [ # 'type', # 'type:cistr' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:cistr) clset (empty = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:cistr) clset (empty = ok) # { # 'input' => 'a', # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'cistr*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:cistr) clset (ignored clause/attr = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:cistr) clset (ignored clause/attr = ok) # { # 'input' => 'a', # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'cistr*', # 'clset', # { # 'len' => 1, # 'match' => 'a' # } # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:cistr) clset (ok + ok = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:cistr) clset (ok + ok = ok) # { # 'input' => 'a', # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'cistr*', # 'clset', # { # 'match' => 'a' # }, # 'len', # 2 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:cistr) clset (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:cistr) clset (ok) + clause nok = nok # { # 'input' => 'a', # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'cistr*', # 'clset', # { # 'len' => 2, # 'match' => 'a' # } # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:cistr) clset (ok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:cistr) clset (ok + nok = nok) # { # 'input' => 'a', # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'cistr*', # 'clset', # { # 'len' => 1, # 'match' => 'b' # } # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:cistr) clset (nok + ok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:cistr) clset (nok + ok = nok) # { # 'input' => 'a', # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'cistr*', # 'clset', # { # 'len' => 2, # 'match' => 'b' # } # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:cistr) clset (nok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:cistr) clset (nok + nok = nok) # { # 'input' => undef, # 'name' => 'ok', # 'schema' => [ # 'cistr', # { # 'ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:ok' # ], # 'valid' => 1 # } # Subtest: (tags=clause:ok, type, type:cistr) ok ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:ok, type, type:cistr) ok # { # 'input' => undef, # 'name' => 'ok + op not (nok)', # 'schema' => [ # 'cistr', # { # '!ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:ok', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:ok, op, op:not, type, type:cistr) ok + op not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:ok, op, op:not, type, type:cistr) ok + op not (nok) # { # 'input' => 'a', # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'cistr', # 'is', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:cistr) .err_level=error (clause=is, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:cistr) .err_level=error (clause=is, ok) # { # 'input' => 'a # ', # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'cistr', # 'is', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'attr', # 'attr:err_level' # ], # 'valid' => 0 # } # Subtest: (tags=attr, attr:err_level, type, type:cistr) .err_level=error (clause=is, nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - (tags=attr, attr:err_level, type, type:cistr) .err_level=error (clause=is, nok) # { # 'input' => 'a', # 'name' => '.err_level=warn (clause=is, ok)', # 'schema' => [ # 'cistr', # 'is', # 'a', # 'is.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:cistr) .err_level=warn (clause=is, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:cistr) .err_level=warn (clause=is, ok) # { # 'input' => 'a # ', # 'name' => '.err_level=warn (clause=is, nok)', # 'schema' => [ # 'cistr*', # 'is', # 'a', # 'is.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'attr', # 'attr:err_level' # ], # 'valid' => 1, # 'warnings' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:cistr) .err_level=warn (clause=is, nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:cistr) .err_level=warn (clause=is, nok) # { # 'input' => 'a', # 'name' => 'is: must accept same value', # 'schema' => [ # 'cistr', # 'is', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, type, type:cistr) is: must accept same value ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - (tags=clause:is, type, type:cistr) is: must accept same value # { # 'input' => 'a', # 'name' => 'is: must reject different value', # 'schema' => [ # 'cistr', # 'is', # 'B' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, type, type:cistr) is: must reject different value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, type, type:cistr) is: must reject different value # { # 'input' => 'a', # 'name' => '!is (nok)', # 'schema' => [ # 'cistr', # '!is', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:cistr) !is (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:cistr) !is (nok) # { # 'input' => 'a', # 'name' => '!is (ok)', # 'schema' => [ # 'cistr', # '!is', # 'B' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:cistr) !is (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:cistr) !is (ok) # { # 'input' => 'a', # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'cistr', # 'is', # 'a', # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, type, type:cistr) is.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, type, type:cistr) is.op=not (nok) # { # 'input' => 'a', # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'cistr', # 'is', # 'B', # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, type, type:cistr) is.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - (tags=clause:is, op, op:not, type, type:cistr) is.op=not (ok) # { # 'input' => 'a', # 'name' => 'is& (no items)', # 'schema' => [ # 'cistr', # 'is&', # [] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) is& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) is& (no items) # { # 'input' => 'a', # 'name' => 'is& (ok)', # 'schema' => [ # 'cistr', # 'is&', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) is& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) is& (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'cistr', # 'is&', # [ # 'B', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) is& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) is& (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'cistr', # 'is&', # [ # 'a', # 'B' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) is& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) is& (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'cistr', # 'is&', # [ # 'B', # 'B' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:cistr) is& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:cistr) is& (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'cistr', # 'is', # [], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:cistr) is.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:cistr) is.op=and (no items) # { # 'input' => 'a', # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'cistr', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, type, type:cistr) is.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:cistr) is.op=and (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'cistr', # 'is', # [ # 'B', # 'a' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:cistr) is.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - (tags=clause:is, op, op:and, type, type:cistr) is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'cistr', # 'is', # [ # 'a', # 'B' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:cistr) is.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - (tags=clause:is, op, op:and, type, type:cistr) is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'cistr', # 'is', # [ # 'B', # 'B' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:cistr) is.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:cistr) is.op=and (nok + nok) # { # 'input' => 'a', # 'name' => 'is| (no items)', # 'schema' => [ # 'cistr', # 'is|', # [] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) is| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) is| (no items) # { # 'input' => 'a', # 'name' => 'is| (ok)', # 'schema' => [ # 'cistr', # 'is|', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) is| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) is| (ok) # { # 'input' => 'a', # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'cistr', # 'is|', # [ # 'B', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) is| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) is| (nok + ok) # { # 'input' => 'a', # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'cistr', # 'is|', # [ # 'a', # 'B' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) is| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) is| (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'cistr', # 'is|', # [ # 'B', # 'B' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:cistr) is| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:cistr) is| (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'cistr', # 'is', # [], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:cistr) is.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:cistr) is.op=or (no items) # { # 'input' => 'a', # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'cistr', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:cistr) is.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:cistr) is.op=or (ok) # { # 'input' => 'a', # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'cistr', # 'is', # [ # 'B', # 'a' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:cistr) is.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:cistr) is.op=or (nok + ok) # { # 'input' => 'a', # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'cistr', # 'is', # [ # 'a', # 'B' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:cistr) is.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:cistr) is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'cistr', # 'is', # [ # 'B', # 'B' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, type, type:cistr) is.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:cistr) is.op=or (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'cistr', # 'is', # [], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:cistr) is.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:cistr) is.op=none (empty items) # { # 'input' => 'a', # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'cistr', # 'is', # [ # 'B', # 'B' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:cistr) is.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:cistr) is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'cistr', # 'is', # [ # 'B', # 'a' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:cistr) is.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - (tags=clause:is, op, op:none, type, type:cistr) is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'cistr', # 'is', # [ # 'a', # 'B' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:cistr) is.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:cistr) is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'cistr', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:cistr) is.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:cistr) is.op=none (ok + ok) # { # 'input' => 'a', # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'cistr', # 'in', # [ # 'a', # 'B' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, type, type:cistr) in: must accept valid choices ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - (tags=clause:in, type, type:cistr) in: must accept valid choices # { # 'input' => 'a', # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'cistr', # 'in', # [] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, type, type:cistr) in: must reject empty choices ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, type, type:cistr) in: must reject empty choices # { # 'input' => 'a', # 'name' => '!in (nok)', # 'schema' => [ # 'cistr', # '!in', # [ # 'a', # 'B' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:cistr) !in (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:cistr) !in (nok) # { # 'input' => 'a', # 'name' => '!in (ok)', # 'schema' => [ # 'cistr', # '!in', # [] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:cistr) !in (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:cistr) !in (ok) # { # 'input' => 'a', # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'cistr', # 'in', # [ # 'a', # 'B' # ], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, type, type:cistr) in.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, type, type:cistr) in.op=not (nok) # { # 'input' => 'a', # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'cistr', # 'in', # [], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, type, type:cistr) in.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - (tags=clause:in, op, op:not, type, type:cistr) in.op=not (ok) # { # 'input' => 'a', # 'name' => 'in& (no items)', # 'schema' => [ # 'cistr', # 'in&', # [] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) in& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) in& (no items) # { # 'input' => 'a', # 'name' => 'in& (ok)', # 'schema' => [ # 'cistr', # 'in&', # [ # [ # 'a', # 'B' # ], # [ # 'a', # 'B' # ] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) in& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) in& (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'cistr', # 'in&', # [ # [], # [ # 'a', # 'B' # ] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) in& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) in& (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'cistr', # 'in&', # [ # [ # 'a', # 'B' # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) in& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) in& (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'cistr', # 'in&', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:cistr) in& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:cistr) in& (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'cistr', # 'in', # [], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:cistr) in.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:cistr) in.op=and (no items) # { # 'input' => 'a', # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'cistr', # 'in', # [ # [ # 'a', # 'B' # ], # [ # 'a', # 'B' # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, type, type:cistr) in.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:cistr) in.op=and (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'cistr', # 'in', # [ # [], # [ # 'a', # 'B' # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:cistr) in.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:cistr) in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'cistr', # 'in', # [ # [ # 'a', # 'B' # ], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:cistr) in.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - (tags=clause:in, op, op:and, type, type:cistr) in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'cistr', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:cistr) in.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:cistr) in.op=and (nok + nok) # { # 'input' => 'a', # 'name' => 'in| (no items)', # 'schema' => [ # 'cistr', # 'in|', # [] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) in| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) in| (no items) # { # 'input' => 'a', # 'name' => 'in| (ok)', # 'schema' => [ # 'cistr', # 'in|', # [ # [ # 'a', # 'B' # ], # [ # 'a', # 'B' # ] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) in| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) in| (ok) # { # 'input' => 'a', # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'cistr', # 'in|', # [ # [], # [ # 'a', # 'B' # ] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) in| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) in| (nok + ok) # { # 'input' => 'a', # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'cistr', # 'in|', # [ # [ # 'a', # 'B' # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) in| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) in| (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'cistr', # 'in|', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:cistr) in| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:cistr) in| (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'cistr', # 'in', # [], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:cistr) in.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:cistr) in.op=or (no items) # { # 'input' => 'a', # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'cistr', # 'in', # [ # [ # 'a', # 'B' # ], # [ # 'a', # 'B' # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:cistr) in.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:cistr) in.op=or (ok) # { # 'input' => 'a', # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'cistr', # 'in', # [ # [], # [ # 'a', # 'B' # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:cistr) in.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:cistr) in.op=or (nok + ok) # { # 'input' => 'a', # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'cistr', # 'in', # [ # [ # 'a', # 'B' # ], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:cistr) in.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:cistr) in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'cistr', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, type, type:cistr) in.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:cistr) in.op=or (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'cistr', # 'in', # [], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:cistr) in.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:cistr) in.op=none (empty items) # { # 'input' => 'a', # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'cistr', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:cistr) in.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:cistr) in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'cistr', # 'in', # [ # [], # [ # 'a', # 'B' # ] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:cistr) in.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:cistr) in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'cistr', # 'in', # [ # [ # 'a', # 'B' # ], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:cistr) in.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:cistr) in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'cistr', # 'in', # [ # [ # 'a', # 'B' # ], # [ # 'a', # 'B' # ] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:cistr) in.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:cistr) in.op=none (ok + ok) # { # 'input' => 'a', # 'name' => 'min: a ', # 'schema' => [ # 'cistr', # 'min', # '' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:cistr) min: a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:cistr) min: a # { # 'input' => 'a', # 'name' => 'min: a a', # 'schema' => [ # 'cistr', # 'min', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:cistr) min: a a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:cistr) min: a a # { # 'input' => '', # 'name' => 'min: a -> fail', # 'schema' => [ # 'cistr', # 'min', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:min' # ], # 'valid' => 0 # } # Subtest: (tags=clause:min, type, type:cistr) min: a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:min, type, type:cistr) min: a -> fail # { # 'input' => 'a', # 'name' => 'xmin: a ', # 'schema' => [ # 'cistr', # 'xmin', # '' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:xmin' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmin, type, type:cistr) xmin: a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xmin, type, type:cistr) xmin: a # { # 'input' => 'a', # 'name' => 'xmin: a a -> fail', # 'schema' => [ # 'cistr', # 'xmin', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:cistr) xmin: a a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:cistr) xmin: a a -> fail # { # 'input' => '', # 'name' => 'xmin: a -> fail', # 'schema' => [ # 'cistr', # 'xmin', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:cistr) xmin: a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:cistr) xmin: a -> fail # { # 'input' => 'a', # 'name' => 'max: a -> fail', # 'schema' => [ # 'cistr', # 'max', # '' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:max' # ], # 'valid' => 0 # } # Subtest: (tags=clause:max, type, type:cistr) max: a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:max, type, type:cistr) max: a -> fail # { # 'input' => 'a', # 'name' => 'max: a a', # 'schema' => [ # 'cistr', # 'max', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:cistr) max: a a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:cistr) max: a a # { # 'input' => '', # 'name' => 'max: a', # 'schema' => [ # 'cistr', # 'max', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:cistr) max: a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:cistr) max: a # { # 'input' => 'a', # 'name' => 'xmax: a -> fail', # 'schema' => [ # 'cistr', # 'xmax', # '' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:cistr) xmax: a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:cistr) xmax: a -> fail # { # 'input' => 'a', # 'name' => 'xmax: a a -> fail', # 'schema' => [ # 'cistr', # 'xmax', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:cistr) xmax: a a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:cistr) xmax: a a -> fail # { # 'input' => '', # 'name' => 'xmax: a', # 'schema' => [ # 'cistr', # 'xmax', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:xmax' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmax, type, type:cistr) xmax: a ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 114 - (tags=clause:xmax, type, type:cistr) xmax: a # { # 'input' => 'a', # 'name' => 'between: a & Ab', # 'schema' => [ # 'cistr', # 'between', # [ # '', # 'Ab' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:cistr) between: a & Ab ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:cistr) between: a & Ab # { # 'input' => 'a', # 'name' => 'between: a & a', # 'schema' => [ # 'cistr', # 'between', # [ # '', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:cistr) between: a & a ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 116 - (tags=clause:between, type, type:cistr) between: a & a # { # 'input' => 'a', # 'name' => 'between: a a & a', # 'schema' => [ # 'cistr', # 'between', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:cistr) between: a a & a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:cistr) between: a a & a # { # 'input' => '', # 'name' => 'between: a & Ab -> fail', # 'schema' => [ # 'cistr', # 'between', # [ # 'a', # 'Ab' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, type, type:cistr) between: a & Ab -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, type, type:cistr) between: a & Ab -> fail # { # 'input' => 'a', # 'name' => 'xbetween: a & Ab', # 'schema' => [ # 'cistr', # 'xbetween', # [ # '', # 'Ab' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:xbetween' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xbetween, type, type:cistr) xbetween: a & Ab ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:cistr) xbetween: a & Ab # { # 'input' => 'a', # 'name' => 'xbetween: a & a -> fail', # 'schema' => [ # 'cistr', # 'xbetween', # [ # '', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:cistr) xbetween: a & a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:cistr) xbetween: a & a -> fail # { # 'input' => 'a', # 'name' => 'xbetween: a a & a -> fail', # 'schema' => [ # 'cistr', # 'xbetween', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:cistr) xbetween: a a & a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 121 - (tags=clause:xbetween, type, type:cistr) xbetween: a a & a -> fail # { # 'input' => '', # 'name' => 'xbetween: a & Ab -> fail', # 'schema' => [ # 'cistr', # 'xbetween', # [ # 'a', # 'Ab' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:cistr) xbetween: a & Ab -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:cistr) xbetween: a & Ab -> fail # { # 'input' => '', # 'name' => '!between (nok)', # 'schema' => [ # 'cistr', # '!between', # [ # '', # '' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:cistr) !between (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 123 - (tags=clause:between, op, op:not, opshortcut, type, type:cistr) !between (nok) # { # 'input' => '', # 'name' => '!between (ok)', # 'schema' => [ # 'cistr', # '!between', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:cistr) !between (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 124 - (tags=clause:between, op, op:not, opshortcut, type, type:cistr) !between (ok) # { # 'input' => '', # 'name' => 'between.op=not (nok)', # 'schema' => [ # 'cistr', # 'between', # [ # '', # '' # ], # 'between.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:not, type, type:cistr) between.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 125 - (tags=clause:between, op, op:not, type, type:cistr) between.op=not (nok) # { # 'input' => '', # 'name' => 'between.op=not (ok)', # 'schema' => [ # 'cistr', # 'between', # [ # 'a', # 'a' # ], # 'between.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:not, type, type:cistr) between.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 126 - (tags=clause:between, op, op:not, type, type:cistr) between.op=not (ok) # { # 'input' => '', # 'name' => 'between& (no items)', # 'schema' => [ # 'cistr', # 'between&', # [] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) between& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 127 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) between& (no items) # { # 'input' => '', # 'name' => 'between& (ok)', # 'schema' => [ # 'cistr', # 'between&', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) between& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) between& (ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between& (nok + ok)', # 'schema' => [ # 'cistr', # 'between&', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) between& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) between& (nok + ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between& (ok + nok)', # 'schema' => [ # 'cistr', # 'between&', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) between& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) between& (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between& (nok + nok)', # 'schema' => [ # 'cistr', # 'between&', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:cistr) between& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:cistr) between& (nok + nok) # { # 'input' => '', # 'name' => 'between.op=and (no items)', # 'schema' => [ # 'cistr', # 'between', # [], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:cistr) between.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 132 - (tags=type, type:cistr) between.op=and (no items) # { # 'input' => '', # 'name' => 'between.op=and (ok)', # 'schema' => [ # 'cistr', # 'between', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, type, type:cistr) between.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 133 - (tags=clause:between, op, op:and, type, type:cistr) between.op=and (ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=and (nok + ok)', # 'schema' => [ # 'cistr', # 'between', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:cistr) between.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 134 - (tags=clause:between, op, op:and, type, type:cistr) between.op=and (nok + ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=and (ok + nok)', # 'schema' => [ # 'cistr', # 'between', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:cistr) between.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 135 - (tags=clause:between, op, op:and, type, type:cistr) between.op=and (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=and (nok + nok)', # 'schema' => [ # 'cistr', # 'between', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:cistr) between.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 136 - (tags=clause:between, op, op:and, type, type:cistr) between.op=and (nok + nok) # { # 'input' => '', # 'name' => 'between| (no items)', # 'schema' => [ # 'cistr', # 'between|', # [] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) between| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 137 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) between| (no items) # { # 'input' => '', # 'name' => 'between| (ok)', # 'schema' => [ # 'cistr', # 'between|', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) between| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 138 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) between| (ok) # { # 'input' => '', # 'name' => 'between| (nok + ok)', # 'schema' => [ # 'cistr', # 'between|', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) between| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) between| (nok + ok) # { # 'input' => '', # 'name' => 'between| (ok + nok)', # 'schema' => [ # 'cistr', # 'between|', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) between| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) between| (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between| (nok + nok)', # 'schema' => [ # 'cistr', # 'between|', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:cistr) between| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:cistr) between| (nok + nok) # { # 'input' => '', # 'name' => 'between.op=or (no items)', # 'schema' => [ # 'cistr', # 'between', # [], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:cistr) between.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 142 - (tags=clause:between, op, op:or, type, type:cistr) between.op=or (no items) # { # 'input' => '', # 'name' => 'between.op=or (ok)', # 'schema' => [ # 'cistr', # 'between', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:cistr) between.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 143 - (tags=clause:between, op, op:or, type, type:cistr) between.op=or (ok) # { # 'input' => '', # 'name' => 'between.op=or (nok + ok)', # 'schema' => [ # 'cistr', # 'between', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:cistr) between.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 144 - (tags=clause:between, op, op:or, type, type:cistr) between.op=or (nok + ok) # { # 'input' => '', # 'name' => 'between.op=or (ok + nok)', # 'schema' => [ # 'cistr', # 'between', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:cistr) between.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 145 - (tags=clause:between, op, op:or, type, type:cistr) between.op=or (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=or (nok + nok)', # 'schema' => [ # 'cistr', # 'between', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:or, type, type:cistr) between.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 146 - (tags=clause:between, op, op:or, type, type:cistr) between.op=or (nok + nok) # { # 'input' => '', # 'name' => 'between.op=none (empty items)', # 'schema' => [ # 'cistr', # 'between', # [], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:none, type, type:cistr) between.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 147 - (tags=clause:between, op, op:none, type, type:cistr) between.op=none (empty items) # { # 'input' => '', # 'name' => 'between.op=none (nok + nok)', # 'schema' => [ # 'cistr', # 'between', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:none, type, type:cistr) between.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 148 - (tags=clause:between, op, op:none, type, type:cistr) between.op=none (nok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=none (nok + ok)', # 'schema' => [ # 'cistr', # 'between', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:cistr) between.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 149 - (tags=clause:between, op, op:none, type, type:cistr) between.op=none (nok + ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=none (ok + nok)', # 'schema' => [ # 'cistr', # 'between', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:cistr) between.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 150 - (tags=clause:between, op, op:none, type, type:cistr) between.op=none (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=none (ok + ok)', # 'schema' => [ # 'cistr', # 'between', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:cistr) between.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 151 - (tags=clause:between, op, op:none, type, type:cistr) between.op=none (ok + ok) # { # 'input' => 'a', # 'name' => 'len (ok)', # 'schema' => [ # 'cistr', # 'len', # 1 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:len, type, type:cistr) len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 152 - (tags=clause:len, type, type:cistr) len (ok) # { # 'input' => 'a', # 'name' => 'len (nok)', # 'schema' => [ # 'cistr', # 'len', # 3 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:len, type, type:cistr) len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 153 - (tags=clause:len, type, type:cistr) len (nok) # { # 'input' => 'a', # 'name' => 'min_len (ok)', # 'schema' => [ # 'cistr', # 'min_len', # 1 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:min_len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min_len, type, type:cistr) min_len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 154 - (tags=clause:min_len, type, type:cistr) min_len (ok) # { # 'input' => 'a', # 'name' => 'min_len (nok)', # 'schema' => [ # 'cistr', # 'min_len', # 3 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:min_len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:min_len, type, type:cistr) min_len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 155 - (tags=clause:min_len, type, type:cistr) min_len (nok) # { # 'input' => 'a', # 'name' => 'max_len (ok)', # 'schema' => [ # 'cistr', # 'min_len', # 1 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:max_len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max_len, type, type:cistr) max_len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 156 - (tags=clause:max_len, type, type:cistr) max_len (ok) # { # 'input' => 'abc', # 'name' => 'max_len (nok)', # 'schema' => [ # 'cistr', # 'max_len', # 1 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:max_len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:max_len, type, type:cistr) max_len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 157 - (tags=clause:max_len, type, type:cistr) max_len (nok) # { # 'input' => 'a', # 'name' => 'len_between (ok)', # 'schema' => [ # 'cistr', # 'len_between', # [ # 1, # 3 # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:len_between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:len_between, type, type:cistr) len_between (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 158 - (tags=clause:len_between, type, type:cistr) len_between (ok) # { # 'input' => 'abc', # 'name' => 'len_between (nok)', # 'schema' => [ # 'cistr', # 'len_between', # [ # 1, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:len_between' # ], # 'valid' => 0 # } # Subtest: (tags=clause:len_between, type, type:cistr) len_between (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 159 - (tags=clause:len_between, type, type:cistr) len_between (nok) # { # 'input' => 'abc', # 'name' => 'each_index (ok)', # 'schema' => [ # 'cistr', # 'each_index', # [ # 'int', # 'max', # 2 # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:each_index' # ], # 'valid' => 1 # } # Subtest: (tags=clause:each_index, type, type:cistr) each_index (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 160 - (tags=clause:each_index, type, type:cistr) each_index (ok) # { # 'input' => 'abc', # 'name' => 'each_index (nok)', # 'schema' => [ # 'cistr', # 'each_index', # [ # 'int', # 'xmax', # 2 # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:each_index' # ], # 'valid' => 0 # } # Subtest: (tags=clause:each_index, type, type:cistr) each_index (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 161 - (tags=clause:each_index, type, type:cistr) each_index (nok) # { # 'input' => 'abc', # 'name' => 'each_elem (ok)', # 'schema' => [ # 'cistr', # 'each_elem', # 'cistr' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:each_elem' # ], # 'valid' => 1 # } # Subtest: (tags=clause:each_elem, type, type:cistr) each_elem (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 162 - (tags=clause:each_elem, type, type:cistr) each_elem (ok) # { # 'input' => 'abc', # 'name' => 'each_elem (nok)', # 'schema' => [ # 'cistr', # 'each_elem', # 'float' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:each_elem' # ], # 'valid' => 0 # } # Subtest: (tags=clause:each_elem, type, type:cistr) each_elem (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 163 - (tags=clause:each_elem, type, type:cistr) each_elem (nok) # { # 'invalid_inputs' => [ # '', # 'c' # ], # 'name' => 'has', # 'schema' => [ # 'cistr', # 'has', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:has' # ], # 'valid_inputs' => [ # 'abc', # 'Ac' # ] # } # Subtest: (tags=clause:has, type, type:cistr) has ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - invalid input [0] ok 5 - invalid input [1] ok 6 - validator (rt=full) returns hash 1..6 ok 164 - (tags=clause:has, type, type:cistr) has # { # 'invalid_inputs' => [ # 'abc', # 'Ac' # ], # 'name' => 'has + op.not', # 'schema' => [ # 'cistr', # '!has', # 'a' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:has', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid_inputs' => [ # '', # 'c' # ] # } # Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:cistr) has + op.not ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - invalid input [0] ok 5 - invalid input [1] ok 6 - validator (rt=full) returns hash 1..6 ok 165 - (tags=clause:has, op, op:not, opshortcut, type, type:cistr) has + op.not # { # 'invalid_inputs' => [ # '', # 'c' # ], # 'name' => 'has + op.or', # 'schema' => [ # 'cistr', # 'has|', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:has', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid_inputs' => [ # 'abc', # 'Ac' # ] # } # Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:cistr) has + op.or ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - invalid input [0] ok 5 - invalid input [1] ok 6 - validator (rt=full) returns hash 1..6 ok 166 - (tags=clause:has, op, op:or, opshortcut, type, type:cistr) has + op.or # { # 'invalid_inputs' => [ # 'Ac', # '', # 'c' # ], # 'name' => 'has + op.and', # 'schema' => [ # 'cistr', # 'has&', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:has', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid_inputs' => [ # 'abc' # ] # } # Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:cistr) has + op.and ok 1 - compile success ok 2 - valid input [0] ok 3 - invalid input [0] ok 4 - invalid input [1] ok 5 - invalid input [2] ok 6 - validator (rt=full) returns hash 1..6 ok 167 - (tags=clause:has, op, op:and, opshortcut, type, type:cistr) has + op.and # { # 'input' => 'A', # 'name' => 'match: (ok)', # 'schema' => [ # 'cistr', # 'match', # '[abc]' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:match' # ], # 'valid' => 1 # } # Subtest: (tags=clause:match, type, type:cistr) match: (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 168 - (tags=clause:match, type, type:cistr) match: (ok) # { # 'input' => 'z', # 'name' => 'match: (nok)', # 'schema' => [ # 'cistr', # 'match', # '[abc]' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:match' # ], # 'valid' => 0 # } # Subtest: (tags=clause:match, type, type:cistr) match: (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 169 - (tags=clause:match, type, type:cistr) match: (nok) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'match: (dies, invalid regex)', # 'schema' => [ # 'cistr', # 'match', # '(' # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:match' # ] # } # Subtest: (tags=clause:match, type, type:cistr) match: (dies, invalid regex) ok 1 - compile error 1..1 ok 170 - (tags=clause:match, type, type:cistr) match: (dies, invalid regex) # { # 'input' => 'a', # 'name' => 'is_re: 1 (ok)', # 'schema' => [ # 'cistr', # 'is_re', # 1 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is_re' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is_re, type, type:cistr) is_re: 1 (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 171 - (tags=clause:is_re, type, type:cistr) is_re: 1 (ok) # { # 'input' => 'a(', # 'name' => 'is_re: 1 (nok)', # 'schema' => [ # 'cistr', # 'is_re', # 1 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is_re' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is_re, type, type:cistr) is_re: 1 (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 172 - (tags=clause:is_re, type, type:cistr) is_re: 1 (nok) # { # 'input' => 'a(', # 'name' => 'is_re: 0 (ok)', # 'schema' => [ # 'cistr', # 'is_re', # 0 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is_re' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is_re, type, type:cistr) is_re: 0 (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 173 - (tags=clause:is_re, type, type:cistr) is_re: 0 (ok) # { # 'input' => 'a', # 'name' => 'is_re: 0 (nok)', # 'schema' => [ # 'cistr', # 'is_re', # 0 # ], # 'tags' => [ # 'type', # 'type:cistr', # 'clause:is_re' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is_re, type, type:cistr) is_re: 0 (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 174 - (tags=clause:is_re, type, type:cistr) is_re: 0 (nok) ok 175 1..175 ok 8 - 10-type-cistr.json # Subtest: 10-type-float.json # Test version: v0.9.29 (generated by devscripts/gen-type-spectest on Mon Nov 25 15:43:40 2013) # { # 'input' => '-1.1', # 'name' => 'type check: must accept -1.1', # 'schema' => 'float', # 'tags' => [ # 'type', # 'type:float' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:float) type check: must accept -1.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:float) type check: must accept -1.1 # { # 'input' => -1, # 'name' => 'type check: must accept -1', # 'schema' => 'float', # 'tags' => [ # 'type', # 'type:float' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:float) type check: must accept -1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:float) type check: must accept -1 # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'float', # 'tags' => [ # 'type', # 'type:float' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:float) type check: must accept 0 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:float) type check: must accept 0 # { # 'input' => 1, # 'name' => 'type check: must accept 1', # 'schema' => 'float', # 'tags' => [ # 'type', # 'type:float' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:float) type check: must accept 1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:float) type check: must accept 1 # { # 'input' => '1.1', # 'name' => 'type check: must accept 1.1', # 'schema' => 'float', # 'tags' => [ # 'type', # 'type:float' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:float) type check: must accept 1.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:float) type check: must accept 1.1 # { # 'input' => 'a', # 'name' => 'type check: must reject a', # 'schema' => 'float', # 'tags' => [ # 'type', # 'type:float' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:float) type check: must reject a ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:float) type check: must reject a # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'float', # 'tags' => [ # 'type', # 'type:float' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:float) type check: must reject [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:float) type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'float', # 'tags' => [ # 'type', # 'type:float' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:float) type check: must reject {} ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:float) type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'float', # 'tags' => [ # 'type', # 'type:float' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:float) must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:float) must accept undefined value # { # 'input' => undef, # 'name' => 'defhash_v', # 'schema' => [ # 'float', # 'defhash_v', # 1 # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:defhash_v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:defhash_v, type, type:float) defhash_v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:defhash_v, type, type:float) defhash_v # { # 'input' => undef, # 'name' => 'v', # 'schema' => [ # 'float', # 'v', # 1 # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:v, type, type:float) v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:v, type, type:float) v # { # 'input' => undef, # 'name' => 'c', # 'schema' => [ # 'float', # 'c.foo.bar', # 1 # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:c' # ], # 'valid' => 1 # } # Subtest: (tags=clause:c, type, type:float) c ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:c, type, type:float) c # { # 'input' => undef, # 'name' => 'default_lang', # 'schema' => [ # 'float', # 'default_lang', # 'id_ID' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:default_lang' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default_lang, type, type:float) default_lang ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default_lang, type, type:float) default_lang # { # 'input' => undef, # 'name' => 'name', # 'schema' => [ # 'float', # 'name', # 'some name' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:name' # ], # 'valid' => 1 # } # Subtest: (tags=clause:name, type, type:float) name ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:name, type, type:float) name # { # 'input' => undef, # 'name' => 'summary', # 'schema' => [ # 'float', # 'summary', # 'some summary' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:summary' # ], # 'valid' => 1 # } # Subtest: (tags=clause:summary, type, type:float) summary ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:summary, type, type:float) summary # { # 'input' => undef, # 'name' => 'description', # 'schema' => [ # 'float', # 'description', # 'some description and `markdown`' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:description' # ], # 'valid' => 1 # } # Subtest: (tags=clause:description, type, type:float) description ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:description, type, type:float) description # { # 'input' => undef, # 'name' => 'tags', # 'schema' => [ # 'float', # 'tags', # [ # 'some', # 'tags' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:tags' # ], # 'valid' => 1 # } # Subtest: (tags=clause:tags, type, type:float) tags ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:tags, type, type:float) tags # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'float', # 'req', # 0 # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:req' # ], # 'valid' => 1 # } # Subtest: (tags=clause:req, type, type:float) req=0 must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - (tags=clause:req, type, type:float) req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'float', # 'req', # 1 # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:req' # ], # 'valid' => 0 # } # Subtest: (tags=clause:req, type, type:float) req=1 must reject undefined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:req, type, type:float) req=1 must reject undefined value # { # 'input' => '1.1', # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'float', # 'forbidden', # 0 # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:forbidden' # ], # 'valid' => 1 # } # Subtest: (tags=clause:forbidden, type, type:float) forbidden=0 must accept defined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:forbidden, type, type:float) forbidden=0 must accept defined value # { # 'input' => '1.1', # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'float', # 'forbidden', # 1 # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:forbidden' # ], # 'valid' => 0 # } # Subtest: (tags=clause:forbidden, type, type:float) forbidden=1 must reject defined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - (tags=clause:forbidden, type, type:float) forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default 1.1', # 'schema' => [ # 'float*', # 'default', # '1.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:default' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default, type, type:float) default: must accept valid default 1.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default, type, type:float) default: must accept valid default 1.1 # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'float*', # 'default', # [] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:default' # ], # 'valid' => 0 # } # Subtest: (tags=clause:default, type, type:float) default: must reject invalid default [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:default, type, type:float) default: must reject invalid default [] # { # 'dies' => 1, # 'input' => '1.1', # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'float*', # 'clause', # [ # 'foo', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:clause' # ] # } # Subtest: (tags=clause:clause, type, type:float) clause (dies, unknown clause) ok 1 - compile error 1..1 ok 24 - (tags=clause:clause, type, type:float) clause (dies, unknown clause) # { # 'input' => '1.1', # 'name' => 'clause (ok)', # 'schema' => [ # 'float*', # 'clause', # [ # 'min', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:clause' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clause, type, type:float) clause (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - (tags=clause:clause, type, type:float) clause (ok) # { # 'input' => '1.1', # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'float*', # 'clause', # [ # 'min', # 1 # ], # 'max', # 1 # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:float) clause (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:float) clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'clause (nok)', # 'schema' => [ # 'float*', # 'clause', # [ # 'min', # 2 # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:float) clause (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:float) clause (nok) # { # 'dies' => 1, # 'input' => '1.1', # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'float*', # 'clset', # { # 'foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:float) clset (dies, unknown clause) ok 1 - compile error 1..1 ok 28 - (tags=clause:clset, type, type:float) clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => '1.1', # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'float*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:float) clset (dies, unknown attr) ok 1 - compile error 1..1 ok 29 - (tags=clause:clset, type, type:float) clset (dies, unknown attr) # { # 'input' => '1.1', # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'float*', # 'clset', # {} # ], # 'tags' => [ # 'type', # 'type:float' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:float) clset (empty = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:float) clset (empty = ok) # { # 'input' => '1.1', # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'float*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:float) clset (ignored clause/attr = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:float) clset (ignored clause/attr = ok) # { # 'input' => '1.1', # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'float*', # 'clset', # { # 'max' => '1.1', # 'min' => 1 # } # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:float) clset (ok + ok = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:float) clset (ok + ok = ok) # { # 'input' => '1.1', # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'float*', # 'clset', # { # 'min' => 1 # }, # 'max', # 1 # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:float) clset (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:float) clset (ok) + clause nok = nok # { # 'input' => '1.1', # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'float*', # 'clset', # { # 'max' => 1, # 'min' => 1 # } # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:float) clset (ok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:float) clset (ok + nok = nok) # { # 'input' => '1.1', # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'float*', # 'clset', # { # 'max' => '1.1', # 'min' => 2 # } # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:float) clset (nok + ok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:float) clset (nok + ok = nok) # { # 'input' => '1.1', # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'float*', # 'clset', # { # 'max' => 1, # 'min' => 2 # } # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:float) clset (nok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:float) clset (nok + nok = nok) # { # 'input' => undef, # 'name' => 'ok', # 'schema' => [ # 'float', # { # 'ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:ok' # ], # 'valid' => 1 # } # Subtest: (tags=clause:ok, type, type:float) ok ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:ok, type, type:float) ok # { # 'input' => undef, # 'name' => 'ok + op not (nok)', # 'schema' => [ # 'float', # { # '!ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:ok', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:ok, op, op:not, type, type:float) ok + op not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - (tags=clause:ok, op, op:not, type, type:float) ok + op not (nok) # { # 'input' => '0.1', # 'name' => '.err_level=error (clause=min, ok)', # 'schema' => [ # 'float', # 'min', # 0 # ], # 'tags' => [ # 'type', # 'type:float', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:float) .err_level=error (clause=min, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:float) .err_level=error (clause=min, ok) # { # 'input' => '-0.1', # 'name' => '.err_level=error (clause=min, nok)', # 'schema' => [ # 'float', # 'min', # 0 # ], # 'tags' => [ # 'type', # 'type:float', # 'attr', # 'attr:err_level' # ], # 'valid' => 0 # } # Subtest: (tags=attr, attr:err_level, type, type:float) .err_level=error (clause=min, nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:float) .err_level=error (clause=min, nok) # { # 'input' => '0.1', # 'name' => '.err_level=warn (clause=min, ok)', # 'schema' => [ # 'float', # 'min', # 0, # 'min.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:float', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:float) .err_level=warn (clause=min, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - (tags=attr, attr:err_level, type, type:float) .err_level=warn (clause=min, ok) # { # 'input' => '-0.1', # 'name' => '.err_level=warn (clause=min, nok)', # 'schema' => [ # 'float*', # 'min', # 0, # 'min.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:float', # 'attr', # 'attr:err_level' # ], # 'valid' => 1, # 'warnings' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:float) .err_level=warn (clause=min, nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:float) .err_level=warn (clause=min, nok) # { # 'input' => '1.1', # 'name' => 'is: must accept same value', # 'schema' => [ # 'float', # 'is', # '1.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, type, type:float) is: must accept same value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, type, type:float) is: must accept same value # { # 'input' => '1.1', # 'name' => 'is: must reject different value', # 'schema' => [ # 'float', # 'is', # '1.2' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, type, type:float) is: must reject different value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, type, type:float) is: must reject different value # { # 'input' => '1.1', # 'name' => '!is (nok)', # 'schema' => [ # 'float', # '!is', # '1.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:float) !is (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:float) !is (nok) # { # 'input' => '1.1', # 'name' => '!is (ok)', # 'schema' => [ # 'float', # '!is', # '1.2' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:float) !is (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - (tags=clause:is, op, op:not, opshortcut, type, type:float) !is (ok) # { # 'input' => '1.1', # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'float', # 'is', # '1.1', # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, type, type:float) is.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, type, type:float) is.op=not (nok) # { # 'input' => '1.1', # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'float', # 'is', # '1.2', # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, type, type:float) is.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:not, type, type:float) is.op=not (ok) # { # 'input' => '1.1', # 'name' => 'is& (no items)', # 'schema' => [ # 'float', # 'is&', # [] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) is& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:float) is& (no items) # { # 'input' => '1.1', # 'name' => 'is& (ok)', # 'schema' => [ # 'float', # 'is&', # [ # '1.1', # '1.1' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) is& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:float) is& (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'float', # 'is&', # [ # '1.2', # '1.1' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) is& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:float) is& (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'float', # 'is&', # [ # '1.1', # '1.2' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) is& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:float) is& (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'float', # 'is&', # [ # '1.2', # '1.2' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:float) is& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:float) is& (nok + nok) # { # 'input' => '1.1', # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'float', # 'is', # [], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:float' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:float) is.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:float) is.op=and (no items) # { # 'input' => '1.1', # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.1' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, type, type:float) is.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:float) is.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:float) is.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:float) is.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:float) is.op=and (nok + nok) # { # 'input' => '1.1', # 'name' => 'is| (no items)', # 'schema' => [ # 'float', # 'is|', # [] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) is| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:float) is| (no items) # { # 'input' => '1.1', # 'name' => 'is| (ok)', # 'schema' => [ # 'float', # 'is|', # [ # '1.1', # '1.1' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) is| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:float) is| (ok) # { # 'input' => '1.1', # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'float', # 'is|', # [ # '1.2', # '1.1' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) is| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:float) is| (nok + ok) # { # 'input' => '1.1', # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'float', # 'is|', # [ # '1.1', # '1.2' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) is| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:float) is| (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'float', # 'is|', # [ # '1.2', # '1.2' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:float) is| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:float) is| (nok + nok) # { # 'input' => '1.1', # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'float', # 'is', # [], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:float) is.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:float) is.op=or (no items) # { # 'input' => '1.1', # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.1' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:float) is.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:float) is.op=or (ok) # { # 'input' => '1.1', # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.1' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:float) is.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:float) is.op=or (nok + ok) # { # 'input' => '1.1', # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.1', # '1.2' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:float) is.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, type, type:float) is.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:float) is.op=or (nok + nok) # { # 'input' => '1.1', # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'float', # 'is', # [], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:float) is.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:float) is.op=none (empty items) # { # 'input' => '1.1', # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'float', # 'is', # [ # '1.2', # '1.2' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:float) is.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:float) is.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:float) is.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:float) is.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:float) is.op=none (ok + ok) # { # 'input' => '1.1', # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'float', # 'in', # [ # '1.1', # '1.2' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, type, type:float) in: must accept valid choices ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, type, type:float) in: must accept valid choices # { # 'input' => '1.1', # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'float', # 'in', # [] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, type, type:float) in: must reject empty choices ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, type, type:float) in: must reject empty choices # { # 'input' => '1.1', # 'name' => '!in (nok)', # 'schema' => [ # 'float', # '!in', # [ # '1.1', # '1.2' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:float) !in (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:float) !in (nok) # { # 'input' => '1.1', # 'name' => '!in (ok)', # 'schema' => [ # 'float', # '!in', # [] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:float) !in (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - (tags=clause:in, op, op:not, opshortcut, type, type:float) !in (ok) # { # 'input' => '1.1', # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'float', # 'in', # [ # '1.1', # '1.2' # ], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, type, type:float) in.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, type, type:float) in.op=not (nok) # { # 'input' => '1.1', # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'float', # 'in', # [], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, type, type:float) in.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:not, type, type:float) in.op=not (ok) # { # 'input' => '1.1', # 'name' => 'in& (no items)', # 'schema' => [ # 'float', # 'in&', # [] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) in& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:float) in& (no items) # { # 'input' => '1.1', # 'name' => 'in& (ok)', # 'schema' => [ # 'float', # 'in&', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) in& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:float) in& (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'float', # 'in&', # [ # [], # [ # '1.1', # '1.2' # ] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) in& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:float) in& (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'float', # 'in&', # [ # [ # '1.1', # '1.2' # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) in& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:float) in& (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'float', # 'in&', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:float) in& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:float) in& (nok + nok) # { # 'input' => '1.1', # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'float', # 'in', # [], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:float' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:float) in.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, type, type:float) in.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:float) in.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:float) in.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:float) in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:float) in.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:float) in.op=and (nok + nok) # { # 'input' => '1.1', # 'name' => 'in| (no items)', # 'schema' => [ # 'float', # 'in|', # [] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) in| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:float) in| (no items) # { # 'input' => '1.1', # 'name' => 'in| (ok)', # 'schema' => [ # 'float', # 'in|', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) in| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:float) in| (ok) # { # 'input' => '1.1', # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'float', # 'in|', # [ # [], # [ # '1.1', # '1.2' # ] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) in| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:float) in| (nok + ok) # { # 'input' => '1.1', # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'float', # 'in|', # [ # [ # '1.1', # '1.2' # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) in| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:float) in| (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'float', # 'in|', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:float) in| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:float) in| (nok + nok) # { # 'input' => '1.1', # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'float', # 'in', # [], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:float) in.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:float) in.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:float) in.op=or (ok) # { # 'input' => '1.1', # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:float) in.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:float) in.op=or (nok + ok) # { # 'input' => '1.1', # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [ # '1.1', # '1.2' # ], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:float) in.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:float) in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, type, type:float) in.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:float) in.op=or (nok + nok) # { # 'input' => '1.1', # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'float', # 'in', # [], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:float) in.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:float) in.op=none (empty items) # { # 'input' => '1.1', # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'float', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:float) in.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:float) in.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:float) in.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:float) 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' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:float) in.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:float) in.op=none (ok + ok) # { # 'input' => '2.1', # 'name' => 'min: 2.1 -3.1', # 'schema' => [ # 'float', # 'min', # '-3.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:float) min: 2.1 -3.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:float) min: 2.1 -3.1 # { # 'input' => '2.1', # 'name' => 'min: 2.1 2.1', # 'schema' => [ # 'float', # 'min', # '2.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:float) min: 2.1 2.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:float) min: 2.1 2.1 # { # 'input' => '-3.1', # 'name' => 'min: -3.1 2.1 -> fail', # 'schema' => [ # 'float', # 'min', # '2.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:min' # ], # 'valid' => 0 # } # Subtest: (tags=clause:min, type, type:float) min: -3.1 2.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:min, type, type:float) min: -3.1 2.1 -> fail # { # 'input' => '2.1', # 'name' => 'xmin: 2.1 -3.1', # 'schema' => [ # 'float', # 'xmin', # '-3.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:xmin' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmin, type, type:float) xmin: 2.1 -3.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xmin, type, type:float) xmin: 2.1 -3.1 # { # 'input' => '2.1', # 'name' => 'xmin: 2.1 2.1 -> fail', # 'schema' => [ # 'float', # 'xmin', # '2.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:float) xmin: 2.1 2.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:float) xmin: 2.1 2.1 -> fail # { # 'input' => '-3.1', # 'name' => 'xmin: -3.1 2.1 -> fail', # 'schema' => [ # 'float', # 'xmin', # '2.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:float) xmin: -3.1 2.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:float) xmin: -3.1 2.1 -> fail # { # 'input' => '2.1', # 'name' => 'max: 2.1 -3.1 -> fail', # 'schema' => [ # 'float', # 'max', # '-3.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:max' # ], # 'valid' => 0 # } # Subtest: (tags=clause:max, type, type:float) max: 2.1 -3.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:max, type, type:float) max: 2.1 -3.1 -> fail # { # 'input' => '2.1', # 'name' => 'max: 2.1 2.1', # 'schema' => [ # 'float', # 'max', # '2.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:float) max: 2.1 2.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:float) max: 2.1 2.1 # { # 'input' => '-3.1', # 'name' => 'max: -3.1 2.1', # 'schema' => [ # 'float', # 'max', # '2.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:float) max: -3.1 2.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:float) max: -3.1 2.1 # { # 'input' => '2.1', # 'name' => 'xmax: 2.1 -3.1 -> fail', # 'schema' => [ # 'float', # 'xmax', # '-3.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:float) xmax: 2.1 -3.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:float) xmax: 2.1 -3.1 -> fail # { # 'input' => '2.1', # 'name' => 'xmax: 2.1 2.1 -> fail', # 'schema' => [ # 'float', # 'xmax', # '2.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:float) xmax: 2.1 2.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:float) xmax: 2.1 2.1 -> fail # { # 'input' => '-3.1', # 'name' => 'xmax: -3.1 2.1', # 'schema' => [ # 'float', # 'xmax', # '2.1' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:xmax' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmax, type, type:float) xmax: -3.1 2.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 116 - (tags=clause:xmax, type, type:float) xmax: -3.1 2.1 # { # 'input' => '2.1', # 'name' => 'between: 2.1 -3.1 & 4.1', # 'schema' => [ # 'float', # 'between', # [ # '-3.1', # '4.1' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:float) between: 2.1 -3.1 & 4.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:float) 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' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:float) between: 2.1 -3.1 & 2.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 118 - (tags=clause:between, type, type:float) 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' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:float) between: 2.1 2.1 & 2.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:float) 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' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, type, type:float) between: -3.1 2.1 & 4.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, type, type:float) 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' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:xbetween' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xbetween, type, type:float) xbetween: 2.1 -3.1 & 4.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:float) 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' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:float) xbetween: 2.1 -3.1 & 2.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:float) 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' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:float) xbetween: 2.1 2.1 & 2.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 123 - (tags=clause:xbetween, type, type:float) 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' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:float) xbetween: -3.1 2.1 & 4.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:float) xbetween: -3.1 2.1 & 4.1 -> fail # { # 'input' => '-3.1', # 'name' => '!between (nok)', # 'schema' => [ # 'float', # '!between', # [ # '-3.1', # '-3.1' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:float) !between (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 125 - (tags=clause:between, op, op:not, opshortcut, type, type:float) !between (nok) # { # 'input' => '-3.1', # 'name' => '!between (ok)', # 'schema' => [ # 'float', # '!between', # [ # '2.1', # '2.1' # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:float) !between (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 126 - (tags=clause:between, op, op:not, opshortcut, type, type:float) !between (ok) # { # 'input' => '-3.1', # 'name' => 'between.op=not (nok)', # 'schema' => [ # 'float', # 'between', # [ # '-3.1', # '-3.1' # ], # 'between.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:not, type, type:float) between.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 127 - (tags=clause:between, op, op:not, type, type:float) between.op=not (nok) # { # 'input' => '-3.1', # 'name' => 'between.op=not (ok)', # 'schema' => [ # 'float', # 'between', # [ # '2.1', # '2.1' # ], # 'between.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:not, type, type:float) between.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, op, op:not, type, type:float) between.op=not (ok) # { # 'input' => '-3.1', # 'name' => 'between& (no items)', # 'schema' => [ # 'float', # 'between&', # [] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) between& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 129 - (tags=clause:between, op, op:and, opshortcut, type, type:float) between& (no items) # { # 'input' => '-3.1', # 'name' => 'between& (ok)', # 'schema' => [ # 'float', # 'between&', # [ # [ # '-3.1', # '-3.1' # ], # [ # '-3.1', # '-3.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) between& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:float) between& (ok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between& (nok + ok)', # 'schema' => [ # 'float', # 'between&', # [ # [ # '2.1', # '2.1' # ], # [ # '-3.1', # '-3.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) between& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:float) between& (nok + ok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between& (ok + nok)', # 'schema' => [ # 'float', # 'between&', # [ # [ # '-3.1', # '-3.1' # ], # [ # '2.1', # '2.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) between& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 132 - (tags=clause:between, op, op:and, opshortcut, type, type:float) between& (ok + nok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between& (nok + nok)', # 'schema' => [ # 'float', # 'between&', # [ # [ # '2.1', # '2.1' # ], # [ # '2.1', # '2.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:float) between& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 133 - (tags=clause:between, op, op:and, opshortcut, type, type:float) between& (nok + nok) # { # 'input' => '-3.1', # 'name' => 'between.op=and (no items)', # 'schema' => [ # 'float', # 'between', # [], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:float' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:float) between.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 134 - (tags=type, type:float) between.op=and (no items) # { # 'input' => '-3.1', # 'name' => 'between.op=and (ok)', # 'schema' => [ # 'float', # 'between', # [ # [ # '-3.1', # '-3.1' # ], # [ # '-3.1', # '-3.1' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, type, type:float) between.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 135 - (tags=clause:between, op, op:and, type, type:float) between.op=and (ok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=and (nok + ok)', # 'schema' => [ # 'float', # 'between', # [ # [ # '2.1', # '2.1' # ], # [ # '-3.1', # '-3.1' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:float) between.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 136 - (tags=clause:between, op, op:and, type, type:float) between.op=and (nok + ok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=and (ok + nok)', # 'schema' => [ # 'float', # 'between', # [ # [ # '-3.1', # '-3.1' # ], # [ # '2.1', # '2.1' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:float) between.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 137 - (tags=clause:between, op, op:and, type, type:float) between.op=and (ok + nok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=and (nok + nok)', # 'schema' => [ # 'float', # 'between', # [ # [ # '2.1', # '2.1' # ], # [ # '2.1', # '2.1' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:float) between.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 138 - (tags=clause:between, op, op:and, type, type:float) between.op=and (nok + nok) # { # 'input' => '-3.1', # 'name' => 'between| (no items)', # 'schema' => [ # 'float', # 'between|', # [] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) between| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:float) between| (no items) # { # 'input' => '-3.1', # 'name' => 'between| (ok)', # 'schema' => [ # 'float', # 'between|', # [ # [ # '-3.1', # '-3.1' # ], # [ # '-3.1', # '-3.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) between| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:float) between| (ok) # { # 'input' => '-3.1', # 'name' => 'between| (nok + ok)', # 'schema' => [ # 'float', # 'between|', # [ # [ # '2.1', # '2.1' # ], # [ # '-3.1', # '-3.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) between| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:float) between| (nok + ok) # { # 'input' => '-3.1', # 'name' => 'between| (ok + nok)', # 'schema' => [ # 'float', # 'between|', # [ # [ # '-3.1', # '-3.1' # ], # [ # '2.1', # '2.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) between| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 142 - (tags=clause:between, op, op:or, opshortcut, type, type:float) between| (ok + nok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between| (nok + nok)', # 'schema' => [ # 'float', # 'between|', # [ # [ # '2.1', # '2.1' # ], # [ # '2.1', # '2.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:float) between| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 143 - (tags=clause:between, op, op:or, opshortcut, type, type:float) between| (nok + nok) # { # 'input' => '-3.1', # 'name' => 'between.op=or (no items)', # 'schema' => [ # 'float', # 'between', # [], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:float) between.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 144 - (tags=clause:between, op, op:or, type, type:float) between.op=or (no items) # { # 'input' => '-3.1', # 'name' => 'between.op=or (ok)', # 'schema' => [ # 'float', # 'between', # [ # [ # '-3.1', # '-3.1' # ], # [ # '-3.1', # '-3.1' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:float) between.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 145 - (tags=clause:between, op, op:or, type, type:float) between.op=or (ok) # { # 'input' => '-3.1', # 'name' => 'between.op=or (nok + ok)', # 'schema' => [ # 'float', # 'between', # [ # [ # '2.1', # '2.1' # ], # [ # '-3.1', # '-3.1' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:float) between.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 146 - (tags=clause:between, op, op:or, type, type:float) between.op=or (nok + ok) # { # 'input' => '-3.1', # 'name' => 'between.op=or (ok + nok)', # 'schema' => [ # 'float', # 'between', # [ # [ # '-3.1', # '-3.1' # ], # [ # '2.1', # '2.1' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:float) between.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 147 - (tags=clause:between, op, op:or, type, type:float) between.op=or (ok + nok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=or (nok + nok)', # 'schema' => [ # 'float', # 'between', # [ # [ # '2.1', # '2.1' # ], # [ # '2.1', # '2.1' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:or, type, type:float) between.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 148 - (tags=clause:between, op, op:or, type, type:float) between.op=or (nok + nok) # { # 'input' => '-3.1', # 'name' => 'between.op=none (empty items)', # 'schema' => [ # 'float', # 'between', # [], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:none, type, type:float) between.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 149 - (tags=clause:between, op, op:none, type, type:float) between.op=none (empty items) # { # 'input' => '-3.1', # 'name' => 'between.op=none (nok + nok)', # 'schema' => [ # 'float', # 'between', # [ # [ # '2.1', # '2.1' # ], # [ # '2.1', # '2.1' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:none, type, type:float) between.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 150 - (tags=clause:between, op, op:none, type, type:float) between.op=none (nok + nok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=none (nok + ok)', # 'schema' => [ # 'float', # 'between', # [ # [ # '2.1', # '2.1' # ], # [ # '-3.1', # '-3.1' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:float) between.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 151 - (tags=clause:between, op, op:none, type, type:float) between.op=none (nok + ok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=none (ok + nok)', # 'schema' => [ # 'float', # 'between', # [ # [ # '-3.1', # '-3.1' # ], # [ # '2.1', # '2.1' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:float) between.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 152 - (tags=clause:between, op, op:none, type, type:float) between.op=none (ok + nok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=none (ok + ok)', # 'schema' => [ # 'float', # 'between', # [ # [ # '-3.1', # '-3.1' # ], # [ # '-3.1', # '-3.1' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:float', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:float) between.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 153 - (tags=clause:between, op, op:none, type, type:float) between.op=none (ok + ok) ok 154 1..154 ok 9 - 10-type-float.json # Subtest: 10-type-hash.json # Test version: v0.9.29 (generated by devscripts/gen-type-spectest on Mon Nov 25 15:43:40 2013) # { # 'input' => {}, # 'name' => 'type check: must accept {}', # 'schema' => 'hash', # 'tags' => [ # 'type', # 'type:hash' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:hash) type check: must accept {} ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:hash) type check: must accept {} # { # 'input' => { # 'a' => '1' # }, # 'name' => 'type check: must accept { a => 1 }', # 'schema' => 'hash', # 'tags' => [ # 'type', # 'type:hash' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:hash) type check: must accept { a => 1 } ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:hash) type check: must accept { a => 1 } # { # 'input' => { # '' => [] # }, # 'name' => 'type check: must accept { "" => [] }', # 'schema' => 'hash', # 'tags' => [ # 'type', # 'type:hash' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:hash) type check: must accept { "" => [] } ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:hash) type check: must accept { "" => [] } # { # 'input' => 1, # 'name' => 'type check: must reject 1', # 'schema' => 'hash', # 'tags' => [ # 'type', # 'type:hash' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:hash) type check: must reject 1 ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:hash) type check: must reject 1 # { # 'input' => 'a', # 'name' => 'type check: must reject a', # 'schema' => 'hash', # 'tags' => [ # 'type', # 'type:hash' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:hash) type check: must reject a ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:hash) type check: must reject a # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'hash', # 'tags' => [ # 'type', # 'type:hash' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:hash) type check: must reject [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:hash) type check: must reject [] # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'hash', # 'tags' => [ # 'type', # 'type:hash' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:hash) must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:hash) must accept undefined value # { # 'input' => undef, # 'name' => 'defhash_v', # 'schema' => [ # 'hash', # 'defhash_v', # 1 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:defhash_v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:defhash_v, type, type:hash) defhash_v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:defhash_v, type, type:hash) defhash_v # { # 'input' => undef, # 'name' => 'v', # 'schema' => [ # 'hash', # 'v', # 1 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:v, type, type:hash) v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:v, type, type:hash) v # { # 'input' => undef, # 'name' => 'c', # 'schema' => [ # 'hash', # 'c.foo.bar', # 1 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:c' # ], # 'valid' => 1 # } # Subtest: (tags=clause:c, type, type:hash) c ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:c, type, type:hash) c # { # 'input' => undef, # 'name' => 'default_lang', # 'schema' => [ # 'hash', # 'default_lang', # 'id_ID' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:default_lang' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default_lang, type, type:hash) default_lang ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default_lang, type, type:hash) default_lang # { # 'input' => undef, # 'name' => 'name', # 'schema' => [ # 'hash', # 'name', # 'some name' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:name' # ], # 'valid' => 1 # } # Subtest: (tags=clause:name, type, type:hash) name ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:name, type, type:hash) name # { # 'input' => undef, # 'name' => 'summary', # 'schema' => [ # 'hash', # 'summary', # 'some summary' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:summary' # ], # 'valid' => 1 # } # Subtest: (tags=clause:summary, type, type:hash) summary ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:summary, type, type:hash) summary # { # 'input' => undef, # 'name' => 'description', # 'schema' => [ # 'hash', # 'description', # 'some description and `markdown`' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:description' # ], # 'valid' => 1 # } # Subtest: (tags=clause:description, type, type:hash) description ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:description, type, type:hash) description # { # 'input' => undef, # 'name' => 'tags', # 'schema' => [ # 'hash', # 'tags', # [ # 'some', # 'tags' # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:tags' # ], # 'valid' => 1 # } # Subtest: (tags=clause:tags, type, type:hash) tags ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:tags, type, type:hash) tags # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'hash', # 'req', # 0 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:req' # ], # 'valid' => 1 # } # Subtest: (tags=clause:req, type, type:hash) req=0 must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:req, type, type:hash) req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'hash', # 'req', # 1 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:req' # ], # 'valid' => 0 # } # Subtest: (tags=clause:req, type, type:hash) req=1 must reject undefined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:req, type, type:hash) req=1 must reject undefined value # { # 'input' => { # 'a' => 1 # }, # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'hash', # 'forbidden', # 0 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:forbidden' # ], # 'valid' => 1 # } # Subtest: (tags=clause:forbidden, type, type:hash) forbidden=0 must accept defined value ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - (tags=clause:forbidden, type, type:hash) forbidden=0 must accept defined value # { # 'input' => { # 'a' => 1 # }, # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'hash', # 'forbidden', # 1 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:forbidden' # ], # 'valid' => 0 # } # Subtest: (tags=clause:forbidden, type, type:hash) forbidden=1 must reject defined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:forbidden, type, type:hash) forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default {}', # 'schema' => [ # 'hash*', # 'default', # {} # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:default' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default, type, type:hash) default: must accept valid default {} ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default, type, type:hash) default: must accept valid default {} # { # 'input' => undef, # 'name' => 'default: must reject invalid default a', # 'schema' => [ # 'hash*', # 'default', # 'a' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:default' # ], # 'valid' => 0 # } # Subtest: (tags=clause:default, type, type:hash) default: must reject invalid default a ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - (tags=clause:default, type, type:hash) default: must reject invalid default a # { # 'dies' => 1, # 'input' => { # 'a' => 1 # }, # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'hash*', # 'clause', # [ # 'foo', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:clause' # ] # } # Subtest: (tags=clause:clause, type, type:hash) clause (dies, unknown clause) ok 1 - compile error 1..1 ok 22 - (tags=clause:clause, type, type:hash) clause (dies, unknown clause) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clause (ok)', # 'schema' => [ # 'hash*', # 'clause', # [ # 'min_len', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:clause' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clause, type, type:hash) clause (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clause, type, type:hash) clause (ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'hash*', # 'clause', # [ # 'min_len', # 1 # ], # 'max_len', # 0 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:hash) clause (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:hash) clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => { # 'a' => 1 # }, # 'name' => 'clause (nok)', # 'schema' => [ # 'hash*', # 'clause', # [ # 'min_len', # 2 # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:hash) clause (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:hash) clause (nok) # { # 'dies' => 1, # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'hash*', # 'clset', # { # 'foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:hash) clset (dies, unknown clause) ok 1 - compile error 1..1 ok 26 - (tags=clause:clset, type, type:hash) clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'hash*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:hash) clset (dies, unknown attr) ok 1 - compile error 1..1 ok 27 - (tags=clause:clset, type, type:hash) clset (dies, unknown attr) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'hash*', # 'clset', # {} # ], # 'tags' => [ # 'type', # 'type:hash' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:hash) clset (empty = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:hash) clset (empty = ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'hash*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:hash) clset (ignored clause/attr = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:hash) clset (ignored clause/attr = ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'hash*', # 'clset', # { # 'max_len' => 1, # 'min_len' => 1 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:hash) clset (ok + ok = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:hash) clset (ok + ok = ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'hash*', # 'clset', # { # 'min_len' => 1 # }, # 'max_len', # 0 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:hash) clset (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:hash) clset (ok) + clause nok = nok # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'hash*', # 'clset', # { # 'max_len' => 0, # 'min_len' => 1 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:hash) clset (ok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:hash) clset (ok + nok = nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'hash*', # 'clset', # { # 'max_len' => 1, # 'min_len' => 2 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:hash) clset (nok + ok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:hash) clset (nok + ok = nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'hash*', # 'clset', # { # 'max_len' => 0, # 'min_len' => 2 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:hash) clset (nok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:hash) clset (nok + nok = nok) # { # 'input' => undef, # 'name' => 'ok', # 'schema' => [ # 'hash', # { # 'ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:ok' # ], # 'valid' => 1 # } # Subtest: (tags=clause:ok, type, type:hash) ok ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:ok, type, type:hash) ok # { # 'input' => undef, # 'name' => 'ok + op not (nok)', # 'schema' => [ # 'hash', # { # '!ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:ok', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:ok, op, op:not, type, type:hash) ok + op not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:ok, op, op:not, type, type:hash) ok + op not (nok) # { # 'input' => { # 'a' => 0 # }, # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 0 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:hash) .err_level=error (clause=is, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:hash) .err_level=error (clause=is, ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 0 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'attr', # 'attr:err_level' # ], # 'valid' => 0 # } # Subtest: (tags=attr, attr:err_level, type, type:hash) .err_level=error (clause=is, nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - (tags=attr, attr:err_level, type, type:hash) .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' # ], # 'tags' => [ # 'type', # 'type:hash', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:hash) .err_level=warn (clause=is, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:hash) .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' # ], # 'tags' => [ # 'type', # 'type:hash', # 'attr', # 'attr:err_level' # ], # 'valid' => 1, # 'warnings' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:hash) .err_level=warn (clause=is, nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:hash) .err_level=warn (clause=is, nok) # { # 'input' => {}, # 'name' => 'is: must accept same value', # 'schema' => [ # 'hash', # 'is', # {} # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, type, type:hash) is: must accept same value ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - (tags=clause:is, type, type:hash) is: must accept same value # { # 'input' => {}, # 'name' => 'is: must reject different value', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 1 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, type, type:hash) is: must reject different value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, type, type:hash) is: must reject different value # { # 'input' => {}, # 'name' => '!is (nok)', # 'schema' => [ # 'hash', # '!is', # {} # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:hash) !is (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:hash) !is (nok) # { # 'input' => {}, # 'name' => '!is (ok)', # 'schema' => [ # 'hash', # '!is', # { # 'a' => 1 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:hash) !is (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:hash) !is (ok) # { # 'input' => {}, # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'hash', # 'is', # {}, # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, type, type:hash) is.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, type, type:hash) is.op=not (nok) # { # 'input' => {}, # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'hash', # 'is', # { # 'a' => 1 # }, # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, type, type:hash) is.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - (tags=clause:is, op, op:not, type, type:hash) is.op=not (ok) # { # 'input' => {}, # 'name' => 'is& (no items)', # 'schema' => [ # 'hash', # 'is&', # [] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) is& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) is& (no items) # { # 'input' => {}, # 'name' => 'is& (ok)', # 'schema' => [ # 'hash', # 'is&', # [ # {}, # {} # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) is& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) is& (ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'hash', # 'is&', # [ # { # 'a' => 1 # }, # {} # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) is& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) is& (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'hash', # 'is&', # [ # {}, # { # 'a' => 1 # } # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) is& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) is& (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'hash', # 'is&', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:hash) is& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:hash) is& (nok + nok) # { # 'input' => {}, # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'hash', # 'is', # [], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:hash' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:hash) is.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:hash) is.op=and (no items) # { # 'input' => {}, # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # {} # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, type, type:hash) is.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:hash) is.op=and (ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # {} # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:hash) is.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - (tags=clause:is, op, op:and, type, type:hash) is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # { # 'a' => 1 # } # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:hash) is.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - (tags=clause:is, op, op:and, type, type:hash) is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:hash) is.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:hash) is.op=and (nok + nok) # { # 'input' => {}, # 'name' => 'is| (no items)', # 'schema' => [ # 'hash', # 'is|', # [] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) is| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) is| (no items) # { # 'input' => {}, # 'name' => 'is| (ok)', # 'schema' => [ # 'hash', # 'is|', # [ # {}, # {} # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) is| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) is| (ok) # { # 'input' => {}, # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'hash', # 'is|', # [ # { # 'a' => 1 # }, # {} # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) is| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) is| (nok + ok) # { # 'input' => {}, # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'hash', # 'is|', # [ # {}, # { # 'a' => 1 # } # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) is| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) is| (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'hash', # 'is|', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:hash) is| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:hash) is| (nok + nok) # { # 'input' => {}, # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'hash', # 'is', # [], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:hash) is.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:hash) is.op=or (no items) # { # 'input' => {}, # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # {} # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:hash) is.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:hash) is.op=or (ok) # { # 'input' => {}, # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # {} # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:hash) is.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:hash) is.op=or (nok + ok) # { # 'input' => {}, # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # { # 'a' => 1 # } # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:hash) is.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:hash) is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, type, type:hash) is.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:hash) is.op=or (nok + nok) # { # 'input' => {}, # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'hash', # 'is', # [], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:hash) is.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:hash) is.op=none (empty items) # { # 'input' => {}, # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # { # 'a' => 1 # } # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:hash) is.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:hash) is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'hash', # 'is', # [ # { # 'a' => 1 # }, # {} # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:hash) is.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - (tags=clause:is, op, op:none, type, type:hash) is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # { # 'a' => 1 # } # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:hash) is.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:hash) is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'hash', # 'is', # [ # {}, # {} # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:hash) is.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:hash) is.op=none (ok + ok) # { # 'input' => {}, # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'hash', # 'in', # [ # {}, # { # 'a' => 1 # } # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, type, type:hash) in: must accept valid choices ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - (tags=clause:in, type, type:hash) in: must accept valid choices # { # 'input' => {}, # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'hash', # 'in', # [] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, type, type:hash) in: must reject empty choices ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, type, type:hash) in: must reject empty choices # { # 'input' => {}, # 'name' => '!in (nok)', # 'schema' => [ # 'hash', # '!in', # [ # {}, # { # 'a' => 1 # } # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:hash) !in (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:hash) !in (nok) # { # 'input' => {}, # 'name' => '!in (ok)', # 'schema' => [ # 'hash', # '!in', # [] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:hash) !in (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:hash) !in (ok) # { # 'input' => {}, # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'hash', # 'in', # [ # {}, # { # 'a' => 1 # } # ], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, type, type:hash) in.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, type, type:hash) in.op=not (nok) # { # 'input' => {}, # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'hash', # 'in', # [], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, type, type:hash) in.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - (tags=clause:in, op, op:not, type, type:hash) in.op=not (ok) # { # 'input' => {}, # 'name' => 'in& (no items)', # 'schema' => [ # 'hash', # 'in&', # [] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) in& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) in& (no items) # { # 'input' => {}, # 'name' => 'in& (ok)', # 'schema' => [ # 'hash', # 'in&', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) in& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) in& (ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'hash', # 'in&', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) in& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) in& (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'hash', # 'in&', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) in& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) in& (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'hash', # 'in&', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:hash) in& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:hash) in& (nok + nok) # { # 'input' => {}, # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'hash', # 'in', # [], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:hash' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:hash) in.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:hash) in.op=and (no items) # { # 'input' => {}, # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, type, type:hash) in.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:hash) in.op=and (ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:hash) in.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:hash) in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:hash) in.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - (tags=clause:in, op, op:and, type, type:hash) in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:hash) in.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:hash) in.op=and (nok + nok) # { # 'input' => {}, # 'name' => 'in| (no items)', # 'schema' => [ # 'hash', # 'in|', # [] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) in| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) in| (no items) # { # 'input' => {}, # 'name' => 'in| (ok)', # 'schema' => [ # 'hash', # 'in|', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) in| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) in| (ok) # { # 'input' => {}, # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'hash', # 'in|', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) in| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) in| (nok + ok) # { # 'input' => {}, # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'hash', # 'in|', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) in| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) in| (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'hash', # 'in|', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:hash) in| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:hash) in| (nok + nok) # { # 'input' => {}, # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'hash', # 'in', # [], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:hash) in.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:hash) in.op=or (no items) # { # 'input' => {}, # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:hash) in.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:hash) in.op=or (ok) # { # 'input' => {}, # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:hash) in.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:hash) in.op=or (nok + ok) # { # 'input' => {}, # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:hash) in.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:hash) in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, type, type:hash) in.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:hash) in.op=or (nok + nok) # { # 'input' => {}, # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'hash', # 'in', # [], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:hash) in.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:hash) in.op=none (empty items) # { # 'input' => {}, # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:hash) in.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:hash) in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'hash', # 'in', # [ # [], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:hash) in.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:hash) in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:hash) in.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:hash) in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => {}, # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'hash', # 'in', # [ # [ # {}, # { # 'a' => 1 # } # ], # [ # {}, # { # 'a' => 1 # } # ] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:hash) in.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:hash) in.op=none (ok + ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'len (ok)', # 'schema' => [ # 'hash', # 'len', # 1 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:len, type, type:hash) len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:len, type, type:hash) len (ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'len (nok)', # 'schema' => [ # 'hash', # 'len', # 2 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:len, type, type:hash) len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:len, type, type:hash) len (nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'min_len (ok)', # 'schema' => [ # 'hash', # 'min_len', # 1 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:min_len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min_len, type, type:hash) min_len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min_len, type, type:hash) min_len (ok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'min_len (nok)', # 'schema' => [ # 'hash', # 'min_len', # 2 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:min_len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:min_len, type, type:hash) min_len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:min_len, type, type:hash) min_len (nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'max_len (ok)', # 'schema' => [ # 'hash', # 'min_len', # 1 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:max_len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max_len, type, type:hash) max_len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max_len, type, type:hash) max_len (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'max_len (nok)', # 'schema' => [ # 'hash', # 'max_len', # 1 # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:max_len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:max_len, type, type:hash) max_len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:max_len, type, type:hash) max_len (nok) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'len_between (ok)', # 'schema' => [ # 'hash', # 'len_between', # [ # 1, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:len_between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:len_between, type, type:hash) len_between (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:len_between, type, type:hash) len_between (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'len_between (nok)', # 'schema' => [ # 'hash', # 'len_between', # [ # 1, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:len_between' # ], # 'valid' => 0 # } # Subtest: (tags=clause:len_between, type, type:hash) len_between (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:len_between, type, type:hash) len_between (nok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_index (ok)', # 'schema' => [ # 'hash', # 'each_index', # [ # 'str', # 'len', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:each_index' # ], # 'valid' => 1 # } # Subtest: (tags=clause:each_index, type, type:hash) each_index (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:each_index, type, type:hash) each_index (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_index (nok)', # 'schema' => [ # 'hash', # 'each_index', # [ # 'str', # 'len', # 2 # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:each_index' # ], # 'valid' => 0 # } # Subtest: (tags=clause:each_index, type, type:hash) each_index (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:each_index, type, type:hash) each_index (nok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_key (ok)', # 'schema' => [ # 'hash', # 'each_key', # [ # 'str', # 'len', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:each_key' # ], # 'valid' => 1 # } # Subtest: (tags=clause:each_key, type, type:hash) each_key (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:each_key, type, type:hash) each_key (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_key (nok)', # 'schema' => [ # 'hash', # 'each_key', # [ # 'str', # 'len', # 2 # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:each_key' # ], # 'valid' => 0 # } # Subtest: (tags=clause:each_key, type, type:hash) each_key (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:each_key, type, type:hash) each_key (nok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_elem (ok)', # 'schema' => [ # 'hash', # 'each_elem', # 'float' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:each_elem' # ], # 'valid' => 1 # } # Subtest: (tags=clause:each_elem, type, type:hash) each_elem (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:each_elem, type, type:hash) each_elem (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_elem (nok)', # 'schema' => [ # 'hash', # 'each_elem', # 'int' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:each_elem' # ], # 'valid' => 0 # } # Subtest: (tags=clause:each_elem, type, type:hash) each_elem (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:each_elem, type, type:hash) each_elem (nok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_value (ok)', # 'schema' => [ # 'hash', # 'each_value', # 'float' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:each_value' # ], # 'valid' => 1 # } # Subtest: (tags=clause:each_value, type, type:hash) each_value (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:each_value, type, type:hash) each_value (ok) # { # 'input' => { # 'a' => 1, # 'b' => '1.1' # }, # 'name' => 'each_value (nok)', # 'schema' => [ # 'hash', # 'each_value', # 'int' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:each_value' # ], # 'valid' => 0 # } # Subtest: (tags=clause:each_value, type, type:hash) each_value (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:each_value, type, type:hash) each_value (nok) # { # 'invalid_inputs' => [ # {}, # { # '3' => 'c' # } # ], # 'name' => 'has', # 'schema' => [ # 'hash', # 'has', # 'a' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:has' # ], # 'valid_inputs' => [ # { # '1' => 'a', # '2' => 'b', # '3' => 'c' # }, # { # '1' => 'a', # '3' => 'c' # } # ] # } # Subtest: (tags=clause:has, type, type:hash) has ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - invalid input [0] ok 5 - invalid input [1] ok 6 - validator (rt=full) returns hash 1..6 ok 119 - (tags=clause:has, type, type:hash) has # { # 'invalid_inputs' => [ # { # '1' => 'a', # '2' => 'b', # '3' => 'c' # }, # { # '1' => 'a', # '3' => 'c' # } # ], # 'name' => 'has + op.not', # 'schema' => [ # 'hash', # '!has', # 'a' # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:has', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid_inputs' => [ # {}, # { # '3' => 'c' # } # ] # } # Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:hash) has + op.not ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - invalid input [0] ok 5 - invalid input [1] ok 6 - validator (rt=full) returns hash 1..6 ok 120 - (tags=clause:has, op, op:not, opshortcut, type, type:hash) has + op.not # { # 'invalid_inputs' => [ # {}, # { # '3' => 'c' # } # ], # 'name' => 'has + op.or', # 'schema' => [ # 'hash', # 'has|', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:has', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid_inputs' => [ # { # '1' => 'a', # '2' => 'b', # '3' => 'c' # }, # { # '1' => 'a', # '3' => 'c' # } # ] # } # Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:hash) has + op.or ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - invalid input [0] ok 5 - invalid input [1] ok 6 - validator (rt=full) returns hash 1..6 ok 121 - (tags=clause:has, op, op:or, opshortcut, type, type:hash) has + op.or # { # 'invalid_inputs' => [ # { # '1' => 'a', # '3' => 'c' # }, # {}, # { # '3' => 'c' # } # ], # 'name' => 'has + op.and', # 'schema' => [ # 'hash', # 'has&', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:has', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid_inputs' => [ # { # '1' => 'a', # '2' => 'b', # '3' => 'c' # } # ] # } # Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:hash) has + op.and ok 1 - compile success ok 2 - valid input [0] ok 3 - invalid input [0] ok 4 - invalid input [1] ok 5 - invalid input [2] ok 6 - validator (rt=full) returns hash 1..6 ok 122 - (tags=clause:has, op, op:and, opshortcut, type, type:hash) has + op.and # { # 'input' => {}, # 'name' => 'keys: (ok, empty)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:keys, type, type:hash) keys: (ok, empty) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:keys, type, type:hash) keys: (ok, empty) # { # 'input' => { # 'a' => undef # }, # 'name' => 'keys: (ok, only a, a valid 1)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:keys, type, type:hash) keys: (ok, only 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 124 - (tags=clause:keys, type, type:hash) 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*' # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:keys, type, type:hash) keys: (ok, only a, a valid 2) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:keys, type, type:hash) 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*' # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 0 # } # Subtest: (tags=clause:keys, type, type:hash) keys: (nok, only a, a invalid) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:keys, type, type:hash) keys: (nok, only a, a invalid) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'keys: (ok, only a, valid 2)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:keys, type, type:hash) keys: (ok, only a, valid 2) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 127 - (tags=clause:keys, type, type:hash) 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*' # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:keys, type, type:hash) keys: (ok, a & b, valid) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:keys, type, type:hash) keys: (ok, a & b, valid) # { # 'input' => { # 'a' => 1, # 'b' => undef # }, # 'name' => 'keys: (nok, a & b, b invalid)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 0 # } # Subtest: (tags=clause:keys, type, type:hash) keys: (nok, a & b, b invalid) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:keys, type, type:hash) 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*' # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 0 # } # Subtest: (tags=clause:keys, type, type:hash) keys: (nok, a & b, a invalid) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 130 - (tags=clause:keys, type, type:hash) 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*' # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 0 # } # Subtest: (tags=clause:keys, type, type:hash) keys: (nok, a & b, a & b invalid) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:keys, type, type:hash) 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*' # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 0 # } # Subtest: (tags=clause:keys, type, type:hash) keys: (nok, extra) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 132 - (tags=clause:keys, type, type:hash) keys: (nok, extra) # { # 'input' => { # 'a' => 1, # 'b' => '1.1', # 'c' => 1 # }, # 'name' => 'keys: (ok, extra, restrict=0)', # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => 'float*' # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 0 # } # Subtest: (tags=clause:keys, type, type:hash) keys: (ok, extra, restrict=0) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 133 - (tags=clause:keys, type, type:hash) keys: (ok, extra, restrict=0) # { # 'input' => {}, # 'name' => 'keys (create_default=1) 1', # 'output' => { # 'b' => 2 # }, # 'schema' => [ # 'hash', # { # 'keys' => { # 'a' => 'int', # 'b' => [ # 'int', # 'default', # 2 # ] # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:keys, type, type:hash) keys (create_default=1) 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 134 - (tags=clause:keys, type, type:hash) 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 # ] # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:keys, type, type:hash) keys (create_default=1) 2 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 135 - (tags=clause:keys, type, type:hash) 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 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:keys, type, type:hash) keys (create_default=0) 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 136 - (tags=clause:keys, type, type:hash) 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 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:keys, type, type:hash) keys (create_default=0) 2 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 137 - (tags=clause:keys, type, type:hash) keys (create_default=0) 2 # { # 'invalid_inputs' => [ # { # 'a' => 'x' # }, # { # 'b' => 'x' # }, # { # 'c' => 1 # } # ], # 'name' => 're_keys', # 'schema' => [ # 'hash', # { # 're_keys' => { # '[ab]' => 'int' # } # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:re_keys' # ], # 'valid_inputs' => [ # {}, # { # 'a' => 1 # }, # { # 'b' => 1 # } # ] # } # Subtest: (tags=clause:re_keys, type, type:hash) re_keys ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - valid input [2] ok 5 - invalid input [0] ok 6 - invalid input [1] ok 7 - invalid input [2] ok 8 - validator (rt=full) returns hash 1..8 ok 138 - (tags=clause:re_keys, type, type:hash) re_keys # { # 'invalid_inputs' => [ # { # 'a' => 'x' # }, # { # 'b' => 'x' # } # ], # 'name' => 're_keys (restrict=0)', # 'schema' => [ # 'hash', # { # 're_keys' => { # '[ab]' => 'int' # }, # 're_keys.restrict' => 0 # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:re_keys' # ], # 'valid_inputs' => [ # {}, # { # 'a' => 1 # }, # { # 'b' => 1 # }, # { # 'c' => 'x' # } # ] # } # Subtest: (tags=clause:re_keys, type, type:hash) re_keys (restrict=0) ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - valid input [2] ok 5 - valid input [3] ok 6 - invalid input [0] ok 7 - invalid input [1] ok 8 - validator (rt=full) returns hash 1..8 ok 139 - (tags=clause:re_keys, type, type:hash) re_keys (restrict=0) # { # 'input' => {}, # 'name' => 'req_keys: (ok, empty req_keys, empty keys in input)', # 'schema' => [ # 'hash', # { # 'req_keys' => [] # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:req_keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:req_keys, type, type:hash) req_keys: (ok, empty req_keys, empty keys in input) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 140 - (tags=clause:req_keys, type, type:hash) req_keys: (ok, empty req_keys, empty keys in input) # { # 'input' => { # 'a' => 1 # }, # 'name' => 'req_keys: (ok, empty req_keys, extra keys in input)', # 'schema' => [ # 'hash', # { # 'req_keys' => [] # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:req_keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:req_keys, type, type:hash) req_keys: (ok, empty req_keys, extra keys in input) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 141 - (tags=clause:req_keys, type, type:hash) req_keys: (ok, empty req_keys, extra keys in input) # { # 'input' => { # 'a' => 1, # 'b' => 1 # }, # 'name' => 'req_keys: (ok)', # 'schema' => [ # 'hash', # { # 'req_keys' => [ # 'a', # 'b' # ] # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:req_keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:req_keys, type, type:hash) req_keys: (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 142 - (tags=clause:req_keys, type, type:hash) req_keys: (ok) # { # 'input' => { # 'a' => 1, # 'b' => 1, # 'c' => 1 # }, # 'name' => 'req_keys: (ok, extra keys in input)', # 'schema' => [ # 'hash', # { # 'req_keys' => [ # 'a', # 'b' # ] # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:req_keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:req_keys, type, type:hash) req_keys: (ok, extra keys in input) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 143 - (tags=clause:req_keys, type, type:hash) req_keys: (ok, extra keys in input) # { # 'input' => { # 'b' => 1, # 'c' => 1 # }, # 'name' => 'req_keys: (nok, missing req keys in input)', # 'schema' => [ # 'hash', # { # 'req_keys' => [ # 'a', # 'b' # ] # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:req_keys' # ], # 'valid' => 0 # } # Subtest: (tags=clause:req_keys, type, type:hash) req_keys: (nok, missing req keys in input) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 144 - (tags=clause:req_keys, type, type:hash) req_keys: (nok, missing req keys in input) # { # 'input' => {}, # 'name' => 'allowed_keys: (ok, empty keys in input)', # 'schema' => [ # 'hash', # { # 'allowed_keys' => [ # 'a', # 'b', # 'c' # ] # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:allowed_keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:allowed_keys, type, type:hash) allowed_keys: (ok, empty keys in input) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 145 - (tags=clause:allowed_keys, type, type:hash) allowed_keys: (ok, empty keys in input) # { # 'input' => { # 'a' => 1, # 'b' => undef # }, # 'name' => 'allowed_keys: (ok)', # 'schema' => [ # 'hash', # { # 'allowed_keys' => [ # 'a', # 'b', # 'c' # ] # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:allowed_keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:allowed_keys, type, type:hash) allowed_keys: (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 146 - (tags=clause:allowed_keys, type, type:hash) allowed_keys: (ok) # { # 'input' => { # 'a' => 1, # 'd' => undef # }, # 'name' => 'allowed_keys: (nok, keys outside allowed list)', # 'schema' => [ # 'hash', # { # 'allowed_keys' => [ # 'a', # 'b', # 'c' # ] # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:allowed_keys' # ], # 'valid' => 0 # } # Subtest: (tags=clause:allowed_keys, type, type:hash) allowed_keys: (nok, keys outside allowed list) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 147 - (tags=clause:allowed_keys, type, type:hash) allowed_keys: (nok, keys outside allowed list) # { # 'input' => {}, # 'name' => 'allowed_keys_re: (ok, empty keys in input)', # 'schema' => [ # 'hash', # { # 'allowed_keys_re' => '^(a|b|c)$' # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:allowed_keys_re' # ], # 'valid' => 1 # } # Subtest: (tags=clause:allowed_keys_re, type, type:hash) allowed_keys_re: (ok, empty keys in input) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 148 - (tags=clause:allowed_keys_re, type, type:hash) allowed_keys_re: (ok, empty keys in input) # { # 'input' => { # 'a' => 1, # 'b' => undef # }, # 'name' => 'allowed_keys_re: (ok)', # 'schema' => [ # 'hash', # { # 'allowed_keys_re' => '^(a|b|c)$' # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:allowed_keys_re' # ], # 'valid' => 1 # } # Subtest: (tags=clause:allowed_keys_re, type, type:hash) allowed_keys_re: (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 149 - (tags=clause:allowed_keys_re, type, type:hash) allowed_keys_re: (ok) # { # 'input' => { # 'a' => 1, # 'd' => undef # }, # 'name' => 'allowed_keys_re: (nok, keys outside allowed regex)', # 'schema' => [ # 'hash', # { # 'allowed_keys_re' => '^(a|b|c)$' # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:allowed_keys_re' # ], # 'valid' => 0 # } # Subtest: (tags=clause:allowed_keys_re, type, type:hash) allowed_keys_re: (nok, keys outside allowed regex) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 150 - (tags=clause:allowed_keys_re, type, type:hash) allowed_keys_re: (nok, keys outside allowed regex) # { # 'input' => {}, # 'name' => 'forbidden_keys: (ok, empty keys in input)', # 'schema' => [ # 'hash', # { # 'forbidden_keys' => [ # 'a', # 'b', # 'c' # ] # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:forbidden_keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:forbidden_keys, type, type:hash) forbidden_keys: (ok, empty keys in input) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 151 - (tags=clause:forbidden_keys, type, type:hash) forbidden_keys: (ok, empty keys in input) # { # 'input' => { # 'd' => 1, # 'e' => undef # }, # 'name' => 'forbidden_keys: (ok)', # 'schema' => [ # 'hash', # { # 'forbidden_keys' => [ # 'a', # 'b', # 'c' # ] # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:forbidden_keys' # ], # 'valid' => 1 # } # Subtest: (tags=clause:forbidden_keys, type, type:hash) forbidden_keys: (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 152 - (tags=clause:forbidden_keys, type, type:hash) forbidden_keys: (ok) # { # 'input' => { # 'a' => 1, # 'd' => undef # }, # 'name' => 'forbidden_keys: (nok, keys in forbidden list)', # 'schema' => [ # 'hash', # { # 'forbidden_keys' => [ # 'a', # 'b', # 'c' # ] # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:forbidden_keys' # ], # 'valid' => 0 # } # Subtest: (tags=clause:forbidden_keys, type, type:hash) forbidden_keys: (nok, keys in forbidden list) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 153 - (tags=clause:forbidden_keys, type, type:hash) forbidden_keys: (nok, keys in forbidden list) # { # 'input' => {}, # 'name' => 'forbidden_keys_re: (ok, empty keys in input)', # 'schema' => [ # 'hash', # { # 'forbidden_keys_re' => '^(a|b|c)$' # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:forbidden_keys_re' # ], # 'valid' => 1 # } # Subtest: (tags=clause:forbidden_keys_re, type, type:hash) forbidden_keys_re: (ok, empty keys in input) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 154 - (tags=clause:forbidden_keys_re, type, type:hash) forbidden_keys_re: (ok, empty keys in input) # { # 'input' => { # 'd' => 1, # 'e' => undef # }, # 'name' => 'forbidden_keys_re: (ok)', # 'schema' => [ # 'hash', # { # 'forbidden_keys_re' => '^(a|b|c)$' # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:forbidden_keys_re' # ], # 'valid' => 1 # } # Subtest: (tags=clause:forbidden_keys_re, type, type:hash) forbidden_keys_re: (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 155 - (tags=clause:forbidden_keys_re, type, type:hash) forbidden_keys_re: (ok) # { # 'input' => { # 'a' => 1, # 'd' => undef # }, # 'name' => 'forbidden_keys_re: (nok, keys in forbidden regex)', # 'schema' => [ # 'hash', # { # 'forbidden_keys_re' => '^(a|b|c)$' # } # ], # 'tags' => [ # 'type', # 'type:hash', # 'clause:forbidden_keys_re' # ], # 'valid' => 0 # } # Subtest: (tags=clause:forbidden_keys_re, type, type:hash) forbidden_keys_re: (nok, keys in forbidden regex) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 156 - (tags=clause:forbidden_keys_re, type, type:hash) forbidden_keys_re: (nok, keys in forbidden regex) ok 157 1..157 ok 10 - 10-type-hash.json # Subtest: 10-type-int.json # Test version: v0.9.29 (generated by devscripts/gen-type-spectest on Mon Nov 25 15:43:40 2013) # { # 'input' => -1, # 'name' => 'type check: must accept -1', # 'schema' => 'int', # 'tags' => [ # 'type', # 'type:int' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:int) type check: must accept -1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:int) type check: must accept -1 # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'int', # 'tags' => [ # 'type', # 'type:int' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:int) type check: must accept 0 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:int) type check: must accept 0 # { # 'input' => 1, # 'name' => 'type check: must accept 1', # 'schema' => 'int', # 'tags' => [ # 'type', # 'type:int' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:int) type check: must accept 1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:int) type check: must accept 1 # { # 'input' => '1.1', # 'name' => 'type check: must reject 1.1', # 'schema' => 'int', # 'tags' => [ # 'type', # 'type:int' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:int) type check: must reject 1.1 ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:int) type check: must reject 1.1 # { # 'input' => 'a', # 'name' => 'type check: must reject a', # 'schema' => 'int', # 'tags' => [ # 'type', # 'type:int' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:int) type check: must reject a ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:int) type check: must reject a # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'int', # 'tags' => [ # 'type', # 'type:int' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:int) type check: must reject [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:int) type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'int', # 'tags' => [ # 'type', # 'type:int' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:int) type check: must reject {} ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:int) type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'int', # 'tags' => [ # 'type', # 'type:int' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:int) must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:int) must accept undefined value # { # 'input' => undef, # 'name' => 'defhash_v', # 'schema' => [ # 'int', # 'defhash_v', # 1 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:defhash_v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:defhash_v, type, type:int) defhash_v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:defhash_v, type, type:int) defhash_v # { # 'input' => undef, # 'name' => 'v', # 'schema' => [ # 'int', # 'v', # 1 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:v, type, type:int) v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:v, type, type:int) v # { # 'input' => undef, # 'name' => 'c', # 'schema' => [ # 'int', # 'c.foo.bar', # 1 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:c' # ], # 'valid' => 1 # } # Subtest: (tags=clause:c, type, type:int) c ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:c, type, type:int) c # { # 'input' => undef, # 'name' => 'default_lang', # 'schema' => [ # 'int', # 'default_lang', # 'id_ID' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:default_lang' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default_lang, type, type:int) default_lang ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default_lang, type, type:int) default_lang # { # 'input' => undef, # 'name' => 'name', # 'schema' => [ # 'int', # 'name', # 'some name' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:name' # ], # 'valid' => 1 # } # Subtest: (tags=clause:name, type, type:int) name ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:name, type, type:int) name # { # 'input' => undef, # 'name' => 'summary', # 'schema' => [ # 'int', # 'summary', # 'some summary' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:summary' # ], # 'valid' => 1 # } # Subtest: (tags=clause:summary, type, type:int) summary ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:summary, type, type:int) summary # { # 'input' => undef, # 'name' => 'description', # 'schema' => [ # 'int', # 'description', # 'some description and `markdown`' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:description' # ], # 'valid' => 1 # } # Subtest: (tags=clause:description, type, type:int) description ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:description, type, type:int) description # { # 'input' => undef, # 'name' => 'tags', # 'schema' => [ # 'int', # 'tags', # [ # 'some', # 'tags' # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:tags' # ], # 'valid' => 1 # } # Subtest: (tags=clause:tags, type, type:int) tags ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:tags, type, type:int) tags # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'int', # 'req', # 0 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:req' # ], # 'valid' => 1 # } # Subtest: (tags=clause:req, type, type:int) req=0 must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:req, type, type:int) req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'int', # 'req', # 1 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:req' # ], # 'valid' => 0 # } # Subtest: (tags=clause:req, type, type:int) req=1 must reject undefined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:req, type, type:int) req=1 must reject undefined value # { # 'input' => 2, # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'int', # 'forbidden', # 0 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:forbidden' # ], # 'valid' => 1 # } # Subtest: (tags=clause:forbidden, type, type:int) forbidden=0 must accept defined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:forbidden, type, type:int) forbidden=0 must accept defined value # { # 'input' => 2, # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'int', # 'forbidden', # 1 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:forbidden' # ], # 'valid' => 0 # } # Subtest: (tags=clause:forbidden, type, type:int) forbidden=1 must reject defined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 20 - (tags=clause:forbidden, type, type:int) forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default 1', # 'schema' => [ # 'int*', # 'default', # 1 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:default' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default, type, type:int) default: must accept valid default 1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default, type, type:int) default: must accept valid default 1 # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'int*', # 'default', # [] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:default' # ], # 'valid' => 0 # } # Subtest: (tags=clause:default, type, type:int) default: must reject invalid default [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:default, type, type:int) default: must reject invalid default [] # { # 'dies' => 1, # 'input' => 2, # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'int*', # 'clause', # [ # 'foo', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:clause' # ] # } # Subtest: (tags=clause:clause, type, type:int) clause (dies, unknown clause) ok 1 - compile error 1..1 ok 23 - (tags=clause:clause, type, type:int) clause (dies, unknown clause) # { # 'input' => 2, # 'name' => 'clause (ok)', # 'schema' => [ # 'int*', # 'clause', # [ # 'min', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:clause' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clause, type, type:int) clause (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clause, type, type:int) clause (ok) # { # 'input' => 2, # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'int*', # 'clause', # [ # 'min', # 1 # ], # 'xmax', # 2 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:int) clause (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:int) clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => 2, # 'name' => 'clause (nok)', # 'schema' => [ # 'int*', # 'clause', # [ # 'min', # 3 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:int) clause (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:int) clause (nok) # { # 'dies' => 1, # 'input' => 2, # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'int*', # 'clset', # { # 'foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:int) clset (dies, unknown clause) ok 1 - compile error 1..1 ok 27 - (tags=clause:clset, type, type:int) clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => 2, # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'int*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:int) clset (dies, unknown attr) ok 1 - compile error 1..1 ok 28 - (tags=clause:clset, type, type:int) clset (dies, unknown attr) # { # 'input' => 2, # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'int*', # 'clset', # {} # ], # 'tags' => [ # 'type', # 'type:int' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:int) clset (empty = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:int) clset (empty = ok) # { # 'input' => 2, # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'int*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:int) clset (ignored clause/attr = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:int) clset (ignored clause/attr = ok) # { # 'input' => 2, # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'int*', # 'clset', # { # 'max' => 2, # 'min' => 1 # } # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:int) clset (ok + ok = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:int) clset (ok + ok = ok) # { # 'input' => 2, # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'int*', # 'clset', # { # 'min' => 1 # }, # 'xmax', # 2 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:int) clset (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:int) clset (ok) + clause nok = nok # { # 'input' => 2, # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'int*', # 'clset', # { # 'min' => 1, # 'xmax' => 2 # } # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:int) clset (ok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:int) clset (ok + nok = nok) # { # 'input' => 2, # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'int*', # 'clset', # { # 'max' => 2, # 'min' => 3 # } # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:int) clset (nok + ok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:int) clset (nok + ok = nok) # { # 'input' => 2, # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'int*', # 'clset', # { # 'min' => 3, # 'xmax' => 2 # } # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:int) clset (nok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:int) clset (nok + nok = nok) # { # 'input' => undef, # 'name' => 'ok', # 'schema' => [ # 'int', # { # 'ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:ok' # ], # 'valid' => 1 # } # Subtest: (tags=clause:ok, type, type:int) ok ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:ok, type, type:int) ok # { # 'input' => undef, # 'name' => 'ok + op not (nok)', # 'schema' => [ # 'int', # { # '!ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:ok', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:ok, op, op:not, type, type:int) ok + op not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:ok, op, op:not, type, type:int) ok + op not (nok) # { # 'input' => 9, # 'name' => '.err_level=error (clause=div_by, ok)', # 'schema' => [ # 'int', # 'div_by', # 3 # ], # 'tags' => [ # 'type', # 'type:int', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:int) .err_level=error (clause=div_by, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:int) .err_level=error (clause=div_by, ok) # { # 'input' => 8, # 'name' => '.err_level=error (clause=div_by, nok)', # 'schema' => [ # 'int', # 'div_by', # 3 # ], # 'tags' => [ # 'type', # 'type:int', # 'attr', # 'attr:err_level' # ], # 'valid' => 0 # } # Subtest: (tags=attr, attr:err_level, type, type:int) .err_level=error (clause=div_by, nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:int) .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' # ], # 'tags' => [ # 'type', # 'type:int', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:int) .err_level=warn (clause=div_by, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:int) .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' # ], # 'tags' => [ # 'type', # 'type:int', # 'attr', # 'attr:err_level' # ], # 'valid' => 1, # 'warnings' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:int) .err_level=warn (clause=div_by, nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - (tags=attr, attr:err_level, type, type:int) .err_level=warn (clause=div_by, nok) # { # 'input' => 1, # 'name' => 'is: must accept same value', # 'schema' => [ # 'int', # 'is', # 1 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, type, type:int) is: must accept same value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, type, type:int) is: must accept same value # { # 'input' => 1, # 'name' => 'is: must reject different value', # 'schema' => [ # 'int', # 'is', # 2 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, type, type:int) is: must reject different value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, type, type:int) is: must reject different value # { # 'input' => 1, # 'name' => '!is (nok)', # 'schema' => [ # 'int', # '!is', # 1 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:int) !is (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:int) !is (nok) # { # 'input' => 1, # 'name' => '!is (ok)', # 'schema' => [ # 'int', # '!is', # 2 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:int) !is (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:int) !is (ok) # { # 'input' => 1, # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'int', # 'is', # 1, # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, type, type:int) is.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, type, type:int) is.op=not (nok) # { # 'input' => 1, # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'int', # 'is', # 2, # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, type, type:int) is.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:not, type, type:int) is.op=not (ok) # { # 'input' => 1, # 'name' => 'is& (no items)', # 'schema' => [ # 'int', # 'is&', # [] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) is& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:int) is& (no items) # { # 'input' => 1, # 'name' => 'is& (ok)', # 'schema' => [ # 'int', # 'is&', # [ # 1, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) is& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:int) is& (ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'int', # 'is&', # [ # 2, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) is& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:int) is& (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'int', # 'is&', # [ # 1, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) is& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:int) is& (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'int', # 'is&', # [ # 2, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:int) is& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:int) is& (nok + nok) # { # 'input' => 1, # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'int', # 'is', # [], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:int) is.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:int) is.op=and (no items) # { # 'input' => 1, # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, type, type:int) is.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:int) is.op=and (ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 1 # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:int) is.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - (tags=clause:is, op, op:and, type, type:int) is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 2 # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:int) is.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:int) is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 2 # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:int) is.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:int) is.op=and (nok + nok) # { # 'input' => 1, # 'name' => 'is| (no items)', # 'schema' => [ # 'int', # 'is|', # [] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) is| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:int) is| (no items) # { # 'input' => 1, # 'name' => 'is| (ok)', # 'schema' => [ # 'int', # 'is|', # [ # 1, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) is| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:int) is| (ok) # { # 'input' => 1, # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'int', # 'is|', # [ # 2, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) is| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:int) is| (nok + ok) # { # 'input' => 1, # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'int', # 'is|', # [ # 1, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) is| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:int) is| (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'int', # 'is|', # [ # 2, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:int) is| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:int) is| (nok + nok) # { # 'input' => 1, # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'int', # 'is', # [], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:int) is.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:int) is.op=or (no items) # { # 'input' => 1, # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:int) is.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:int) is.op=or (ok) # { # 'input' => 1, # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 1 # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:int) is.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:int) is.op=or (nok + ok) # { # 'input' => 1, # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 2 # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:int) is.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:int) is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 2 # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, type, type:int) is.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:int) is.op=or (nok + nok) # { # 'input' => 1, # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'int', # 'is', # [], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:int) is.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:int) is.op=none (empty items) # { # 'input' => 1, # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 2 # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:int) is.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:int) is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'int', # 'is', # [ # 2, # 1 # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:int) is.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:int) is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 2 # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:int) is.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:int) is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'int', # 'is', # [ # 1, # 1 # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:int) is.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:int) is.op=none (ok + ok) # { # 'input' => 1, # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'int', # 'in', # [ # 1, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, type, type:int) in: must accept valid choices ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, type, type:int) in: must accept valid choices # { # 'input' => 1, # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'int', # 'in', # [] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, type, type:int) in: must reject empty choices ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, type, type:int) in: must reject empty choices # { # 'input' => 1, # 'name' => '!in (nok)', # 'schema' => [ # 'int', # '!in', # [ # 1, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:int) !in (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:int) !in (nok) # { # 'input' => 1, # 'name' => '!in (ok)', # 'schema' => [ # 'int', # '!in', # [] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:int) !in (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:int) !in (ok) # { # 'input' => 1, # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'int', # 'in', # [ # 1, # 2 # ], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, type, type:int) in.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, type, type:int) in.op=not (nok) # { # 'input' => 1, # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'int', # 'in', # [], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, type, type:int) in.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:not, type, type:int) in.op=not (ok) # { # 'input' => 1, # 'name' => 'in& (no items)', # 'schema' => [ # 'int', # 'in&', # [] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) in& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:int) in& (no items) # { # 'input' => 1, # 'name' => 'in& (ok)', # 'schema' => [ # 'int', # 'in&', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) in& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:int) in& (ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'int', # 'in&', # [ # [], # [ # 1, # 2 # ] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) in& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:int) in& (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'int', # 'in&', # [ # [ # 1, # 2 # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) in& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:int) in& (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'int', # 'in&', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:int) in& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:int) in& (nok + nok) # { # 'input' => 1, # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'int', # 'in', # [], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:int) in.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:int) in.op=and (no items) # { # 'input' => 1, # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, type, type:int) in.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:int) in.op=and (ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [ # 1, # 2 # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:int) in.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - (tags=clause:in, op, op:and, type, type:int) in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:int) in.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:int) in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:int) in.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:int) in.op=and (nok + nok) # { # 'input' => 1, # 'name' => 'in| (no items)', # 'schema' => [ # 'int', # 'in|', # [] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) in| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:int) in| (no items) # { # 'input' => 1, # 'name' => 'in| (ok)', # 'schema' => [ # 'int', # 'in|', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) in| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:int) in| (ok) # { # 'input' => 1, # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'int', # 'in|', # [ # [], # [ # 1, # 2 # ] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) in| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:int) in| (nok + ok) # { # 'input' => 1, # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'int', # 'in|', # [ # [ # 1, # 2 # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) in| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:int) in| (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'int', # 'in|', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:int) in| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:int) in| (nok + nok) # { # 'input' => 1, # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'int', # 'in', # [], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:int) in.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:int) in.op=or (no items) # { # 'input' => 1, # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [ # 1, # 2 # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:int) in.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:int) in.op=or (ok) # { # 'input' => 1, # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [ # 1, # 2 # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:int) in.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:int) in.op=or (nok + ok) # { # 'input' => 1, # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:int) in.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:int) in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, type, type:int) in.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:int) in.op=or (nok + nok) # { # 'input' => 1, # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'int', # 'in', # [], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:int) in.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:int) in.op=none (empty items) # { # 'input' => 1, # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:int) in.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:int) in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'int', # 'in', # [ # [], # [ # 1, # 2 # ] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:int) in.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:int) in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 1, # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'int', # 'in', # [ # [ # 1, # 2 # ], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:int) in.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:int) 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' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:int) in.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:int) in.op=none (ok + ok) # { # 'input' => 2, # 'name' => 'min: 2 -3', # 'schema' => [ # 'int', # 'min', # -3 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:int) min: 2 -3 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:int) min: 2 -3 # { # 'input' => 2, # 'name' => 'min: 2 2', # 'schema' => [ # 'int', # 'min', # 2 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:int) min: 2 2 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:int) min: 2 2 # { # 'input' => -3, # 'name' => 'min: -3 2 -> fail', # 'schema' => [ # 'int', # 'min', # 2 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:min' # ], # 'valid' => 0 # } # Subtest: (tags=clause:min, type, type:int) min: -3 2 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:min, type, type:int) min: -3 2 -> fail # { # 'input' => 2, # 'name' => 'xmin: 2 -3', # 'schema' => [ # 'int', # 'xmin', # -3 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:xmin' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmin, type, type:int) xmin: 2 -3 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xmin, type, type:int) xmin: 2 -3 # { # 'input' => 2, # 'name' => 'xmin: 2 2 -> fail', # 'schema' => [ # 'int', # 'xmin', # 2 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:int) xmin: 2 2 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:int) xmin: 2 2 -> fail # { # 'input' => -3, # 'name' => 'xmin: -3 2 -> fail', # 'schema' => [ # 'int', # 'xmin', # 2 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:int) xmin: -3 2 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:int) xmin: -3 2 -> fail # { # 'input' => 2, # 'name' => 'max: 2 -3 -> fail', # 'schema' => [ # 'int', # 'max', # -3 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:max' # ], # 'valid' => 0 # } # Subtest: (tags=clause:max, type, type:int) max: 2 -3 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:max, type, type:int) max: 2 -3 -> fail # { # 'input' => 2, # 'name' => 'max: 2 2', # 'schema' => [ # 'int', # 'max', # 2 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:int) max: 2 2 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:int) max: 2 2 # { # 'input' => -3, # 'name' => 'max: -3 2', # 'schema' => [ # 'int', # 'max', # 2 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:int) max: -3 2 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:int) max: -3 2 # { # 'input' => 2, # 'name' => 'xmax: 2 -3 -> fail', # 'schema' => [ # 'int', # 'xmax', # -3 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:int) xmax: 2 -3 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:int) xmax: 2 -3 -> fail # { # 'input' => 2, # 'name' => 'xmax: 2 2 -> fail', # 'schema' => [ # 'int', # 'xmax', # 2 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:int) xmax: 2 2 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:int) xmax: 2 2 -> fail # { # 'input' => -3, # 'name' => 'xmax: -3 2', # 'schema' => [ # 'int', # 'xmax', # 2 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:xmax' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmax, type, type:int) xmax: -3 2 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xmax, type, type:int) xmax: -3 2 # { # 'input' => 2, # 'name' => 'between: 2 -3 & 4', # 'schema' => [ # 'int', # 'between', # [ # -3, # 4 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:int) between: 2 -3 & 4 ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 116 - (tags=clause:between, type, type:int) between: 2 -3 & 4 # { # 'input' => 2, # 'name' => 'between: 2 -3 & 2', # 'schema' => [ # 'int', # 'between', # [ # -3, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:int) between: 2 -3 & 2 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:int) between: 2 -3 & 2 # { # 'input' => 2, # 'name' => 'between: 2 2 & 2', # 'schema' => [ # 'int', # 'between', # [ # 2, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:int) between: 2 2 & 2 ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 118 - (tags=clause:between, type, type:int) between: 2 2 & 2 # { # 'input' => -3, # 'name' => 'between: -3 2 & 4 -> fail', # 'schema' => [ # 'int', # 'between', # [ # 2, # 4 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, type, type:int) between: -3 2 & 4 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 119 - (tags=clause:between, type, type:int) between: -3 2 & 4 -> fail # { # 'input' => '2', # 'name' => 'xbetween: 2 -3 & 4', # 'schema' => [ # 'int', # 'xbetween', # [ # -3, # 4 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:xbetween' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xbetween, type, type:int) xbetween: 2 -3 & 4 ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 120 - (tags=clause:xbetween, type, type:int) xbetween: 2 -3 & 4 # { # 'input' => '2', # 'name' => 'xbetween: 2 -3 & 2 -> fail', # 'schema' => [ # 'int', # 'xbetween', # [ # -3, # '2' # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:int) xbetween: 2 -3 & 2 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 121 - (tags=clause:xbetween, type, type:int) xbetween: 2 -3 & 2 -> fail # { # 'input' => '2', # 'name' => 'xbetween: 2 2 & 2 -> fail', # 'schema' => [ # 'int', # 'xbetween', # [ # '2', # '2' # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:int) xbetween: 2 2 & 2 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:int) xbetween: 2 2 & 2 -> fail # { # 'input' => -3, # 'name' => 'xbetween: -3 2 & 4 -> fail', # 'schema' => [ # 'int', # 'xbetween', # [ # '2', # '4' # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:int) xbetween: -3 2 & 4 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 123 - (tags=clause:xbetween, type, type:int) xbetween: -3 2 & 4 -> fail # { # 'input' => -3, # 'name' => '!between (nok)', # 'schema' => [ # 'int', # '!between', # [ # -3, # -3 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:int) !between (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, op, op:not, opshortcut, type, type:int) !between (nok) # { # 'input' => -3, # 'name' => '!between (ok)', # 'schema' => [ # 'int', # '!between', # [ # '2', # '2' # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:int) !between (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, op, op:not, opshortcut, type, type:int) !between (ok) # { # 'input' => -3, # 'name' => 'between.op=not (nok)', # 'schema' => [ # 'int', # 'between', # [ # -3, # -3 # ], # 'between.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:not, type, type:int) between.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, op, op:not, type, type:int) between.op=not (nok) # { # 'input' => -3, # 'name' => 'between.op=not (ok)', # 'schema' => [ # 'int', # 'between', # [ # '2', # '2' # ], # 'between.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:not, type, type:int) between.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 127 - (tags=clause:between, op, op:not, type, type:int) between.op=not (ok) # { # 'input' => -3, # 'name' => 'between& (no items)', # 'schema' => [ # 'int', # 'between&', # [] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) between& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:int) between& (no items) # { # 'input' => -3, # 'name' => 'between& (ok)', # 'schema' => [ # 'int', # 'between&', # [ # [ # -3, # -3 # ], # [ # -3, # -3 # ] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) between& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 129 - (tags=clause:between, op, op:and, opshortcut, type, type:int) between& (ok) # { # 'errors' => 1, # 'input' => -3, # 'name' => 'between& (nok + ok)', # 'schema' => [ # 'int', # 'between&', # [ # [ # '2', # '2' # ], # [ # -3, # -3 # ] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) between& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:int) between& (nok + ok) # { # 'errors' => 1, # 'input' => -3, # 'name' => 'between& (ok + nok)', # 'schema' => [ # 'int', # 'between&', # [ # [ # -3, # -3 # ], # [ # '2', # '2' # ] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) between& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:int) between& (ok + nok) # { # 'errors' => 1, # 'input' => -3, # 'name' => 'between& (nok + nok)', # 'schema' => [ # 'int', # 'between&', # [ # [ # '2', # '2' # ], # [ # '2', # '2' # ] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:int) between& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 132 - (tags=clause:between, op, op:and, opshortcut, type, type:int) between& (nok + nok) # { # 'input' => -3, # 'name' => 'between.op=and (no items)', # 'schema' => [ # 'int', # 'between', # [], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:int) between.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 133 - (tags=type, type:int) between.op=and (no items) # { # 'input' => -3, # 'name' => 'between.op=and (ok)', # 'schema' => [ # 'int', # 'between', # [ # [ # -3, # -3 # ], # [ # -3, # -3 # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, type, type:int) between.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 134 - (tags=clause:between, op, op:and, type, type:int) between.op=and (ok) # { # 'errors' => 1, # 'input' => -3, # 'name' => 'between.op=and (nok + ok)', # 'schema' => [ # 'int', # 'between', # [ # [ # '2', # '2' # ], # [ # -3, # -3 # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:int) between.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 135 - (tags=clause:between, op, op:and, type, type:int) between.op=and (nok + ok) # { # 'errors' => 1, # 'input' => -3, # 'name' => 'between.op=and (ok + nok)', # 'schema' => [ # 'int', # 'between', # [ # [ # -3, # -3 # ], # [ # '2', # '2' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:int) between.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 136 - (tags=clause:between, op, op:and, type, type:int) between.op=and (ok + nok) # { # 'errors' => 1, # 'input' => -3, # 'name' => 'between.op=and (nok + nok)', # 'schema' => [ # 'int', # 'between', # [ # [ # '2', # '2' # ], # [ # '2', # '2' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:int) between.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 137 - (tags=clause:between, op, op:and, type, type:int) between.op=and (nok + nok) # { # 'input' => -3, # 'name' => 'between| (no items)', # 'schema' => [ # 'int', # 'between|', # [] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) between| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 138 - (tags=clause:between, op, op:or, opshortcut, type, type:int) between| (no items) # { # 'input' => -3, # 'name' => 'between| (ok)', # 'schema' => [ # 'int', # 'between|', # [ # [ # -3, # -3 # ], # [ # -3, # -3 # ] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) between| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:int) between| (ok) # { # 'input' => -3, # 'name' => 'between| (nok + ok)', # 'schema' => [ # 'int', # 'between|', # [ # [ # '2', # '2' # ], # [ # -3, # -3 # ] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) between| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:int) between| (nok + ok) # { # 'input' => -3, # 'name' => 'between| (ok + nok)', # 'schema' => [ # 'int', # 'between|', # [ # [ # -3, # -3 # ], # [ # '2', # '2' # ] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) between| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:int) between| (ok + nok) # { # 'errors' => 1, # 'input' => -3, # 'name' => 'between| (nok + nok)', # 'schema' => [ # 'int', # 'between|', # [ # [ # '2', # '2' # ], # [ # '2', # '2' # ] # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:int) between| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 142 - (tags=clause:between, op, op:or, opshortcut, type, type:int) between| (nok + nok) # { # 'input' => -3, # 'name' => 'between.op=or (no items)', # 'schema' => [ # 'int', # 'between', # [], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:int) between.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 143 - (tags=clause:between, op, op:or, type, type:int) between.op=or (no items) # { # 'input' => -3, # 'name' => 'between.op=or (ok)', # 'schema' => [ # 'int', # 'between', # [ # [ # -3, # -3 # ], # [ # -3, # -3 # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:int) between.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 144 - (tags=clause:between, op, op:or, type, type:int) between.op=or (ok) # { # 'input' => -3, # 'name' => 'between.op=or (nok + ok)', # 'schema' => [ # 'int', # 'between', # [ # [ # '2', # '2' # ], # [ # -3, # -3 # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:int) between.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 145 - (tags=clause:between, op, op:or, type, type:int) between.op=or (nok + ok) # { # 'input' => -3, # 'name' => 'between.op=or (ok + nok)', # 'schema' => [ # 'int', # 'between', # [ # [ # -3, # -3 # ], # [ # '2', # '2' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:int) between.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 146 - (tags=clause:between, op, op:or, type, type:int) between.op=or (ok + nok) # { # 'errors' => 1, # 'input' => -3, # 'name' => 'between.op=or (nok + nok)', # 'schema' => [ # 'int', # 'between', # [ # [ # '2', # '2' # ], # [ # '2', # '2' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:or, type, type:int) between.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 147 - (tags=clause:between, op, op:or, type, type:int) between.op=or (nok + nok) # { # 'input' => -3, # 'name' => 'between.op=none (empty items)', # 'schema' => [ # 'int', # 'between', # [], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:none, type, type:int) between.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 148 - (tags=clause:between, op, op:none, type, type:int) between.op=none (empty items) # { # 'input' => -3, # 'name' => 'between.op=none (nok + nok)', # 'schema' => [ # 'int', # 'between', # [ # [ # '2', # '2' # ], # [ # '2', # '2' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:none, type, type:int) between.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 149 - (tags=clause:between, op, op:none, type, type:int) between.op=none (nok + nok) # { # 'errors' => 1, # 'input' => -3, # 'name' => 'between.op=none (nok + ok)', # 'schema' => [ # 'int', # 'between', # [ # [ # '2', # '2' # ], # [ # -3, # -3 # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:int) between.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 150 - (tags=clause:between, op, op:none, type, type:int) between.op=none (nok + ok) # { # 'errors' => 1, # 'input' => -3, # 'name' => 'between.op=none (ok + nok)', # 'schema' => [ # 'int', # 'between', # [ # [ # -3, # -3 # ], # [ # '2', # '2' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:int) between.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 151 - (tags=clause:between, op, op:none, type, type:int) between.op=none (ok + nok) # { # 'errors' => 1, # 'input' => -3, # 'name' => 'between.op=none (ok + ok)', # 'schema' => [ # 'int', # 'between', # [ # [ # -3, # -3 # ], # [ # -3, # -3 # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:int) between.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 152 - (tags=clause:between, op, op:none, type, type:int) between.op=none (ok + ok) # { # 'input' => 10, # 'name' => 'mod: (nok)', # 'schema' => [ # 'int', # 'mod', # [ # 3, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:mod' # ], # 'valid' => 0 # } # Subtest: (tags=clause:mod, type, type:int) mod: (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 153 - (tags=clause:mod, type, type:int) mod: (nok) # { # 'input' => 11, # 'name' => 'mod: (ok)', # 'schema' => [ # 'int', # 'mod', # [ # 3, # 2 # ] # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:mod' # ], # 'valid' => 1 # } # Subtest: (tags=clause:mod, type, type:int) mod: (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 154 - (tags=clause:mod, type, type:int) mod: (ok) # { # 'input' => 7, # 'name' => 'div_by: (nok)', # 'schema' => [ # 'int', # 'div_by', # 3 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:div_by' # ], # 'valid' => 0 # } # Subtest: (tags=clause:div_by, type, type:int) div_by: (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 155 - (tags=clause:div_by, type, type:int) div_by: (nok) # { # 'input' => 6, # 'name' => 'div_by: (ok)', # 'schema' => [ # 'int', # 'div_by', # 3 # ], # 'tags' => [ # 'type', # 'type:int', # 'clause:div_by' # ], # 'valid' => 1 # } # Subtest: (tags=clause:div_by, type, type:int) div_by: (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 156 - (tags=clause:div_by, type, type:int) div_by: (ok) ok 157 1..157 ok 11 - 10-type-int.json # Subtest: 10-type-num.json # Test version: v0.9.29 (generated by devscripts/gen-type-spectest on Mon Nov 25 15:43:40 2013) # { # 'input' => '-1.1', # 'name' => 'type check: must accept -1.1', # 'schema' => 'num', # 'tags' => [ # 'type', # 'type:num' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:num) type check: must accept -1.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:num) type check: must accept -1.1 # { # 'input' => -1, # 'name' => 'type check: must accept -1', # 'schema' => 'num', # 'tags' => [ # 'type', # 'type:num' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:num) type check: must accept -1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:num) type check: must accept -1 # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'num', # 'tags' => [ # 'type', # 'type:num' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:num) type check: must accept 0 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:num) type check: must accept 0 # { # 'input' => 1, # 'name' => 'type check: must accept 1', # 'schema' => 'num', # 'tags' => [ # 'type', # 'type:num' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:num) type check: must accept 1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:num) type check: must accept 1 # { # 'input' => '1.1', # 'name' => 'type check: must accept 1.1', # 'schema' => 'num', # 'tags' => [ # 'type', # 'type:num' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:num) type check: must accept 1.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:num) type check: must accept 1.1 # { # 'input' => 'a', # 'name' => 'type check: must reject a', # 'schema' => 'num', # 'tags' => [ # 'type', # 'type:num' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:num) type check: must reject a ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:num) type check: must reject a # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'num', # 'tags' => [ # 'type', # 'type:num' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:num) type check: must reject [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:num) type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'num', # 'tags' => [ # 'type', # 'type:num' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:num) type check: must reject {} ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:num) type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'num', # 'tags' => [ # 'type', # 'type:num' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:num) must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:num) must accept undefined value # { # 'input' => undef, # 'name' => 'defhash_v', # 'schema' => [ # 'num', # 'defhash_v', # 1 # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:defhash_v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:defhash_v, type, type:num) defhash_v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:defhash_v, type, type:num) defhash_v # { # 'input' => undef, # 'name' => 'v', # 'schema' => [ # 'num', # 'v', # 1 # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:v, type, type:num) v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:v, type, type:num) v # { # 'input' => undef, # 'name' => 'c', # 'schema' => [ # 'num', # 'c.foo.bar', # 1 # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:c' # ], # 'valid' => 1 # } # Subtest: (tags=clause:c, type, type:num) c ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:c, type, type:num) c # { # 'input' => undef, # 'name' => 'default_lang', # 'schema' => [ # 'num', # 'default_lang', # 'id_ID' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:default_lang' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default_lang, type, type:num) default_lang ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default_lang, type, type:num) default_lang # { # 'input' => undef, # 'name' => 'name', # 'schema' => [ # 'num', # 'name', # 'some name' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:name' # ], # 'valid' => 1 # } # Subtest: (tags=clause:name, type, type:num) name ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:name, type, type:num) name # { # 'input' => undef, # 'name' => 'summary', # 'schema' => [ # 'num', # 'summary', # 'some summary' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:summary' # ], # 'valid' => 1 # } # Subtest: (tags=clause:summary, type, type:num) summary ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:summary, type, type:num) summary # { # 'input' => undef, # 'name' => 'description', # 'schema' => [ # 'num', # 'description', # 'some description and `markdown`' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:description' # ], # 'valid' => 1 # } # Subtest: (tags=clause:description, type, type:num) description ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:description, type, type:num) description # { # 'input' => undef, # 'name' => 'tags', # 'schema' => [ # 'num', # 'tags', # [ # 'some', # 'tags' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:tags' # ], # 'valid' => 1 # } # Subtest: (tags=clause:tags, type, type:num) tags ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:tags, type, type:num) tags # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'num', # 'req', # 0 # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:req' # ], # 'valid' => 1 # } # Subtest: (tags=clause:req, type, type:num) req=0 must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - (tags=clause:req, type, type:num) req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'num', # 'req', # 1 # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:req' # ], # 'valid' => 0 # } # Subtest: (tags=clause:req, type, type:num) req=1 must reject undefined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:req, type, type:num) req=1 must reject undefined value # { # 'input' => '1.1', # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'num', # 'forbidden', # 0 # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:forbidden' # ], # 'valid' => 1 # } # Subtest: (tags=clause:forbidden, type, type:num) forbidden=0 must accept defined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:forbidden, type, type:num) forbidden=0 must accept defined value # { # 'input' => '1.1', # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'num', # 'forbidden', # 1 # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:forbidden' # ], # 'valid' => 0 # } # Subtest: (tags=clause:forbidden, type, type:num) forbidden=1 must reject defined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - (tags=clause:forbidden, type, type:num) forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default 1.1', # 'schema' => [ # 'num*', # 'default', # '1.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:default' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default, type, type:num) default: must accept valid default 1.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default, type, type:num) default: must accept valid default 1.1 # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'num*', # 'default', # [] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:default' # ], # 'valid' => 0 # } # Subtest: (tags=clause:default, type, type:num) default: must reject invalid default [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:default, type, type:num) default: must reject invalid default [] # { # 'dies' => 1, # 'input' => '1.1', # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'num*', # 'clause', # [ # 'foo', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:clause' # ] # } # Subtest: (tags=clause:clause, type, type:num) clause (dies, unknown clause) ok 1 - compile error 1..1 ok 24 - (tags=clause:clause, type, type:num) clause (dies, unknown clause) # { # 'input' => '1.1', # 'name' => 'clause (ok)', # 'schema' => [ # 'num*', # 'clause', # [ # 'min', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:clause' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clause, type, type:num) clause (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 25 - (tags=clause:clause, type, type:num) clause (ok) # { # 'input' => '1.1', # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'num*', # 'clause', # [ # 'min', # 1 # ], # 'max', # 1 # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:num) clause (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:num) clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'clause (nok)', # 'schema' => [ # 'num*', # 'clause', # [ # 'min', # 2 # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:num) clause (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:num) clause (nok) # { # 'dies' => 1, # 'input' => '1.1', # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'num*', # 'clset', # { # 'foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:num) clset (dies, unknown clause) ok 1 - compile error 1..1 ok 28 - (tags=clause:clset, type, type:num) clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => '1.1', # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'num*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:num) clset (dies, unknown attr) ok 1 - compile error 1..1 ok 29 - (tags=clause:clset, type, type:num) clset (dies, unknown attr) # { # 'input' => '1.1', # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'num*', # 'clset', # {} # ], # 'tags' => [ # 'type', # 'type:num' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:num) clset (empty = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:num) clset (empty = ok) # { # 'input' => '1.1', # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'num*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:num) clset (ignored clause/attr = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:num) clset (ignored clause/attr = ok) # { # 'input' => '1.1', # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'num*', # 'clset', # { # 'max' => '1.1', # 'min' => 1 # } # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:num) clset (ok + ok = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:num) clset (ok + ok = ok) # { # 'input' => '1.1', # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'num*', # 'clset', # { # 'min' => 1 # }, # 'max', # 1 # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:num) clset (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:num) clset (ok) + clause nok = nok # { # 'input' => '1.1', # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'num*', # 'clset', # { # 'max' => 1, # 'min' => 1 # } # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:num) clset (ok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:num) clset (ok + nok = nok) # { # 'input' => '1.1', # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'num*', # 'clset', # { # 'max' => '1.1', # 'min' => 2 # } # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:num) clset (nok + ok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:num) clset (nok + ok = nok) # { # 'input' => '1.1', # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'num*', # 'clset', # { # 'max' => 1, # 'min' => 2 # } # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:num) clset (nok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:num) clset (nok + nok = nok) # { # 'input' => undef, # 'name' => 'ok', # 'schema' => [ # 'num', # { # 'ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:ok' # ], # 'valid' => 1 # } # Subtest: (tags=clause:ok, type, type:num) ok ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:ok, type, type:num) ok # { # 'input' => undef, # 'name' => 'ok + op not (nok)', # 'schema' => [ # 'num', # { # '!ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:ok', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:ok, op, op:not, type, type:num) ok + op not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - (tags=clause:ok, op, op:not, type, type:num) ok + op not (nok) # { # 'input' => '0.1', # 'name' => '.err_level=error (clause=min, ok)', # 'schema' => [ # 'num', # 'min', # 0 # ], # 'tags' => [ # 'type', # 'type:num', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:num) .err_level=error (clause=min, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:num) .err_level=error (clause=min, ok) # { # 'input' => '-0.1', # 'name' => '.err_level=error (clause=min, nok)', # 'schema' => [ # 'num', # 'min', # 0 # ], # 'tags' => [ # 'type', # 'type:num', # 'attr', # 'attr:err_level' # ], # 'valid' => 0 # } # Subtest: (tags=attr, attr:err_level, type, type:num) .err_level=error (clause=min, nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:num) .err_level=error (clause=min, nok) # { # 'input' => '0.1', # 'name' => '.err_level=warn (clause=min, ok)', # 'schema' => [ # 'num', # 'min', # 0, # 'min.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:num', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:num) .err_level=warn (clause=min, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - (tags=attr, attr:err_level, type, type:num) .err_level=warn (clause=min, ok) # { # 'input' => '-0.1', # 'name' => '.err_level=warn (clause=min, nok)', # 'schema' => [ # 'num*', # 'min', # 0, # 'min.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:num', # 'attr', # 'attr:err_level' # ], # 'valid' => 1, # 'warnings' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:num) .err_level=warn (clause=min, nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:num) .err_level=warn (clause=min, nok) # { # 'input' => '1.1', # 'name' => 'is: must accept same value', # 'schema' => [ # 'num', # 'is', # '1.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, type, type:num) is: must accept same value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, type, type:num) is: must accept same value # { # 'input' => '1.1', # 'name' => 'is: must reject different value', # 'schema' => [ # 'num', # 'is', # '1.2' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, type, type:num) is: must reject different value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, type, type:num) is: must reject different value # { # 'input' => '1.1', # 'name' => '!is (nok)', # 'schema' => [ # 'num', # '!is', # '1.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:num) !is (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:num) !is (nok) # { # 'input' => '1.1', # 'name' => '!is (ok)', # 'schema' => [ # 'num', # '!is', # '1.2' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:num) !is (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - (tags=clause:is, op, op:not, opshortcut, type, type:num) !is (ok) # { # 'input' => '1.1', # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'num', # 'is', # '1.1', # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, type, type:num) is.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, type, type:num) is.op=not (nok) # { # 'input' => '1.1', # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'num', # 'is', # '1.2', # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, type, type:num) is.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:not, type, type:num) is.op=not (ok) # { # 'input' => '1.1', # 'name' => 'is& (no items)', # 'schema' => [ # 'num', # 'is&', # [] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) is& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:num) is& (no items) # { # 'input' => '1.1', # 'name' => 'is& (ok)', # 'schema' => [ # 'num', # 'is&', # [ # '1.1', # '1.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) is& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:num) is& (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'num', # 'is&', # [ # '1.2', # '1.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) is& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:num) is& (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'num', # 'is&', # [ # '1.1', # '1.2' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) is& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:num) is& (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'num', # 'is&', # [ # '1.2', # '1.2' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:num) is& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:num) is& (nok + nok) # { # 'input' => '1.1', # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'num', # 'is', # [], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:num) is.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:num) is.op=and (no items) # { # 'input' => '1.1', # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'num', # 'is', # [ # '1.1', # '1.1' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, type, type:num) is.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:num) is.op=and (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'num', # 'is', # [ # '1.2', # '1.1' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:num) is.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:num) is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'num', # 'is', # [ # '1.1', # '1.2' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:num) is.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:num) is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'num', # 'is', # [ # '1.2', # '1.2' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:num) is.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:num) is.op=and (nok + nok) # { # 'input' => '1.1', # 'name' => 'is| (no items)', # 'schema' => [ # 'num', # 'is|', # [] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) is| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:num) is| (no items) # { # 'input' => '1.1', # 'name' => 'is| (ok)', # 'schema' => [ # 'num', # 'is|', # [ # '1.1', # '1.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) is| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:num) is| (ok) # { # 'input' => '1.1', # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'num', # 'is|', # [ # '1.2', # '1.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) is| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 61 - (tags=clause:is, op, op:or, opshortcut, type, type:num) is| (nok + ok) # { # 'input' => '1.1', # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'num', # 'is|', # [ # '1.1', # '1.2' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) is| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:num) is| (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'num', # 'is|', # [ # '1.2', # '1.2' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:num) is| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:num) is| (nok + nok) # { # 'input' => '1.1', # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'num', # 'is', # [], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:num) is.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:num) is.op=or (no items) # { # 'input' => '1.1', # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'num', # 'is', # [ # '1.1', # '1.1' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:num) is.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:num) is.op=or (ok) # { # 'input' => '1.1', # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'num', # 'is', # [ # '1.2', # '1.1' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:num) is.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:num) is.op=or (nok + ok) # { # 'input' => '1.1', # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'num', # 'is', # [ # '1.1', # '1.2' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:num) is.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:num) is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'num', # 'is', # [ # '1.2', # '1.2' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, type, type:num) is.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:num) is.op=or (nok + nok) # { # 'input' => '1.1', # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'num', # 'is', # [], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:num) is.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:num) is.op=none (empty items) # { # 'input' => '1.1', # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'num', # 'is', # [ # '1.2', # '1.2' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:num) is.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:num) is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'num', # 'is', # [ # '1.2', # '1.1' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:num) is.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:num) is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'num', # 'is', # [ # '1.1', # '1.2' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:num) is.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:num) is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'num', # 'is', # [ # '1.1', # '1.1' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:num) is.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:num) is.op=none (ok + ok) # { # 'input' => '1.1', # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'num', # 'in', # [ # '1.1', # '1.2' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, type, type:num) in: must accept valid choices ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, type, type:num) in: must accept valid choices # { # 'input' => '1.1', # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'num', # 'in', # [] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, type, type:num) in: must reject empty choices ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, type, type:num) in: must reject empty choices # { # 'input' => '1.1', # 'name' => '!in (nok)', # 'schema' => [ # 'num', # '!in', # [ # '1.1', # '1.2' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:num) !in (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:num) !in (nok) # { # 'input' => '1.1', # 'name' => '!in (ok)', # 'schema' => [ # 'num', # '!in', # [] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:num) !in (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - (tags=clause:in, op, op:not, opshortcut, type, type:num) !in (ok) # { # 'input' => '1.1', # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'num', # 'in', # [ # '1.1', # '1.2' # ], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, type, type:num) in.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, type, type:num) in.op=not (nok) # { # 'input' => '1.1', # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'num', # 'in', # [], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, type, type:num) in.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:not, type, type:num) in.op=not (ok) # { # 'input' => '1.1', # 'name' => 'in& (no items)', # 'schema' => [ # 'num', # 'in&', # [] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) in& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:num) in& (no items) # { # 'input' => '1.1', # 'name' => 'in& (ok)', # 'schema' => [ # 'num', # 'in&', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) in& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:num) in& (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'num', # 'in&', # [ # [], # [ # '1.1', # '1.2' # ] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) in& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:num) in& (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'num', # 'in&', # [ # [ # '1.1', # '1.2' # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) in& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:num) in& (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'num', # 'in&', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:num) in& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:num) in& (nok + nok) # { # 'input' => '1.1', # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'num', # 'in', # [], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:num) in.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:num) in.op=and (no items) # { # 'input' => '1.1', # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'num', # 'in', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, type, type:num) in.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:num) in.op=and (ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'num', # 'in', # [ # [], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:num) in.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:num) in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'num', # 'in', # [ # [ # '1.1', # '1.2' # ], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:num) in.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:num) in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'num', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:num) in.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:num) in.op=and (nok + nok) # { # 'input' => '1.1', # 'name' => 'in| (no items)', # 'schema' => [ # 'num', # 'in|', # [] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) in| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:num) in| (no items) # { # 'input' => '1.1', # 'name' => 'in| (ok)', # 'schema' => [ # 'num', # 'in|', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) in| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:num) in| (ok) # { # 'input' => '1.1', # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'num', # 'in|', # [ # [], # [ # '1.1', # '1.2' # ] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) in| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 92 - (tags=clause:in, op, op:or, opshortcut, type, type:num) in| (nok + ok) # { # 'input' => '1.1', # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'num', # 'in|', # [ # [ # '1.1', # '1.2' # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) in| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:num) in| (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'num', # 'in|', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:num) in| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:num) in| (nok + nok) # { # 'input' => '1.1', # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'num', # 'in', # [], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:num) in.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:num) in.op=or (no items) # { # 'input' => '1.1', # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'num', # 'in', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:num) in.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:num) in.op=or (ok) # { # 'input' => '1.1', # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'num', # 'in', # [ # [], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:num) in.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:num) in.op=or (nok + ok) # { # 'input' => '1.1', # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'num', # 'in', # [ # [ # '1.1', # '1.2' # ], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:num) in.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:num) in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'num', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, type, type:num) in.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:num) in.op=or (nok + nok) # { # 'input' => '1.1', # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'num', # 'in', # [], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:num) in.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:num) in.op=none (empty items) # { # 'input' => '1.1', # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'num', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:num) in.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:num) in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'num', # 'in', # [ # [], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:num) in.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:num) in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'num', # 'in', # [ # [ # '1.1', # '1.2' # ], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:num) in.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:num) in.op=none (ok + nok) # { # 'errors' => 1, # 'input' => '1.1', # 'name' => 'in.op=none (ok + ok)', # 'schema' => [ # 'num', # 'in', # [ # [ # '1.1', # '1.2' # ], # [ # '1.1', # '1.2' # ] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:num) in.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:num) in.op=none (ok + ok) # { # 'input' => '2.1', # 'name' => 'min: 2.1 -3.1', # 'schema' => [ # 'num', # 'min', # '-3.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:num) min: 2.1 -3.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:num) min: 2.1 -3.1 # { # 'input' => '2.1', # 'name' => 'min: 2.1 2.1', # 'schema' => [ # 'num', # 'min', # '2.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:num) min: 2.1 2.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:num) min: 2.1 2.1 # { # 'input' => '-3.1', # 'name' => 'min: -3.1 2.1 -> fail', # 'schema' => [ # 'num', # 'min', # '2.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:min' # ], # 'valid' => 0 # } # Subtest: (tags=clause:min, type, type:num) min: -3.1 2.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:min, type, type:num) min: -3.1 2.1 -> fail # { # 'input' => '2.1', # 'name' => 'xmin: 2.1 -3.1', # 'schema' => [ # 'num', # 'xmin', # '-3.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:xmin' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmin, type, type:num) xmin: 2.1 -3.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xmin, type, type:num) xmin: 2.1 -3.1 # { # 'input' => '2.1', # 'name' => 'xmin: 2.1 2.1 -> fail', # 'schema' => [ # 'num', # 'xmin', # '2.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:num) xmin: 2.1 2.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:num) xmin: 2.1 2.1 -> fail # { # 'input' => '-3.1', # 'name' => 'xmin: -3.1 2.1 -> fail', # 'schema' => [ # 'num', # 'xmin', # '2.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:num) xmin: -3.1 2.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:num) xmin: -3.1 2.1 -> fail # { # 'input' => '2.1', # 'name' => 'max: 2.1 -3.1 -> fail', # 'schema' => [ # 'num', # 'max', # '-3.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:max' # ], # 'valid' => 0 # } # Subtest: (tags=clause:max, type, type:num) max: 2.1 -3.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:max, type, type:num) max: 2.1 -3.1 -> fail # { # 'input' => '2.1', # 'name' => 'max: 2.1 2.1', # 'schema' => [ # 'num', # 'max', # '2.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:num) max: 2.1 2.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:num) max: 2.1 2.1 # { # 'input' => '-3.1', # 'name' => 'max: -3.1 2.1', # 'schema' => [ # 'num', # 'max', # '2.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:num) max: -3.1 2.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:num) max: -3.1 2.1 # { # 'input' => '2.1', # 'name' => 'xmax: 2.1 -3.1 -> fail', # 'schema' => [ # 'num', # 'xmax', # '-3.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:num) xmax: 2.1 -3.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:num) xmax: 2.1 -3.1 -> fail # { # 'input' => '2.1', # 'name' => 'xmax: 2.1 2.1 -> fail', # 'schema' => [ # 'num', # 'xmax', # '2.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:num) xmax: 2.1 2.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:num) xmax: 2.1 2.1 -> fail # { # 'input' => '-3.1', # 'name' => 'xmax: -3.1 2.1', # 'schema' => [ # 'num', # 'xmax', # '2.1' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:xmax' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmax, type, type:num) xmax: -3.1 2.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 116 - (tags=clause:xmax, type, type:num) xmax: -3.1 2.1 # { # 'input' => '2.1', # 'name' => 'between: 2.1 -3.1 & 4.1', # 'schema' => [ # 'num', # 'between', # [ # '-3.1', # '4.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:num) between: 2.1 -3.1 & 4.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:num) between: 2.1 -3.1 & 4.1 # { # 'input' => '2.1', # 'name' => 'between: 2.1 -3.1 & 2.1', # 'schema' => [ # 'num', # 'between', # [ # '-3.1', # '2.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:num) between: 2.1 -3.1 & 2.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 118 - (tags=clause:between, type, type:num) between: 2.1 -3.1 & 2.1 # { # 'input' => '2.1', # 'name' => 'between: 2.1 2.1 & 2.1', # 'schema' => [ # 'num', # 'between', # [ # '2.1', # '2.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:num) between: 2.1 2.1 & 2.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:num) between: 2.1 2.1 & 2.1 # { # 'input' => '-3.1', # 'name' => 'between: -3.1 2.1 & 4.1 -> fail', # 'schema' => [ # 'num', # 'between', # [ # '2.1', # '4.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, type, type:num) between: -3.1 2.1 & 4.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, type, type:num) between: -3.1 2.1 & 4.1 -> fail # { # 'input' => '2.1', # 'name' => 'xbetween: 2.1 -3.1 & 4.1', # 'schema' => [ # 'num', # 'xbetween', # [ # '-3.1', # '4.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:xbetween' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xbetween, type, type:num) xbetween: 2.1 -3.1 & 4.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:num) xbetween: 2.1 -3.1 & 4.1 # { # 'input' => '2.1', # 'name' => 'xbetween: 2.1 -3.1 & 2.1 -> fail', # 'schema' => [ # 'num', # 'xbetween', # [ # '-3.1', # '2.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:num) xbetween: 2.1 -3.1 & 2.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:num) xbetween: 2.1 -3.1 & 2.1 -> fail # { # 'input' => '2.1', # 'name' => 'xbetween: 2.1 2.1 & 2.1 -> fail', # 'schema' => [ # 'num', # 'xbetween', # [ # '2.1', # '2.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:num) xbetween: 2.1 2.1 & 2.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 123 - (tags=clause:xbetween, type, type:num) xbetween: 2.1 2.1 & 2.1 -> fail # { # 'input' => '-3.1', # 'name' => 'xbetween: -3.1 2.1 & 4.1 -> fail', # 'schema' => [ # 'num', # 'xbetween', # [ # '2.1', # '4.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:num) xbetween: -3.1 2.1 & 4.1 -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:num) xbetween: -3.1 2.1 & 4.1 -> fail # { # 'input' => '-3.1', # 'name' => '!between (nok)', # 'schema' => [ # 'num', # '!between', # [ # '-3.1', # '-3.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:num) !between (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 125 - (tags=clause:between, op, op:not, opshortcut, type, type:num) !between (nok) # { # 'input' => '-3.1', # 'name' => '!between (ok)', # 'schema' => [ # 'num', # '!between', # [ # '2.1', # '2.1' # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:num) !between (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 126 - (tags=clause:between, op, op:not, opshortcut, type, type:num) !between (ok) # { # 'input' => '-3.1', # 'name' => 'between.op=not (nok)', # 'schema' => [ # 'num', # 'between', # [ # '-3.1', # '-3.1' # ], # 'between.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:not, type, type:num) between.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 127 - (tags=clause:between, op, op:not, type, type:num) between.op=not (nok) # { # 'input' => '-3.1', # 'name' => 'between.op=not (ok)', # 'schema' => [ # 'num', # 'between', # [ # '2.1', # '2.1' # ], # 'between.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:not, type, type:num) between.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, op, op:not, type, type:num) between.op=not (ok) # { # 'input' => '-3.1', # 'name' => 'between& (no items)', # 'schema' => [ # 'num', # 'between&', # [] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) between& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 129 - (tags=clause:between, op, op:and, opshortcut, type, type:num) between& (no items) # { # 'input' => '-3.1', # 'name' => 'between& (ok)', # 'schema' => [ # 'num', # 'between&', # [ # [ # '-3.1', # '-3.1' # ], # [ # '-3.1', # '-3.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) between& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:num) between& (ok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between& (nok + ok)', # 'schema' => [ # 'num', # 'between&', # [ # [ # '2.1', # '2.1' # ], # [ # '-3.1', # '-3.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) between& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:num) between& (nok + ok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between& (ok + nok)', # 'schema' => [ # 'num', # 'between&', # [ # [ # '-3.1', # '-3.1' # ], # [ # '2.1', # '2.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) between& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 132 - (tags=clause:between, op, op:and, opshortcut, type, type:num) between& (ok + nok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between& (nok + nok)', # 'schema' => [ # 'num', # 'between&', # [ # [ # '2.1', # '2.1' # ], # [ # '2.1', # '2.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:num) between& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 133 - (tags=clause:between, op, op:and, opshortcut, type, type:num) between& (nok + nok) # { # 'input' => '-3.1', # 'name' => 'between.op=and (no items)', # 'schema' => [ # 'num', # 'between', # [], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:num) between.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 134 - (tags=type, type:num) between.op=and (no items) # { # 'input' => '-3.1', # 'name' => 'between.op=and (ok)', # 'schema' => [ # 'num', # 'between', # [ # [ # '-3.1', # '-3.1' # ], # [ # '-3.1', # '-3.1' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, type, type:num) between.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 135 - (tags=clause:between, op, op:and, type, type:num) between.op=and (ok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=and (nok + ok)', # 'schema' => [ # 'num', # 'between', # [ # [ # '2.1', # '2.1' # ], # [ # '-3.1', # '-3.1' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:num) between.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 136 - (tags=clause:between, op, op:and, type, type:num) between.op=and (nok + ok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=and (ok + nok)', # 'schema' => [ # 'num', # 'between', # [ # [ # '-3.1', # '-3.1' # ], # [ # '2.1', # '2.1' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:num) between.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 137 - (tags=clause:between, op, op:and, type, type:num) between.op=and (ok + nok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=and (nok + nok)', # 'schema' => [ # 'num', # 'between', # [ # [ # '2.1', # '2.1' # ], # [ # '2.1', # '2.1' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:num) between.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 138 - (tags=clause:between, op, op:and, type, type:num) between.op=and (nok + nok) # { # 'input' => '-3.1', # 'name' => 'between| (no items)', # 'schema' => [ # 'num', # 'between|', # [] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) between| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:num) between| (no items) # { # 'input' => '-3.1', # 'name' => 'between| (ok)', # 'schema' => [ # 'num', # 'between|', # [ # [ # '-3.1', # '-3.1' # ], # [ # '-3.1', # '-3.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) between| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:num) between| (ok) # { # 'input' => '-3.1', # 'name' => 'between| (nok + ok)', # 'schema' => [ # 'num', # 'between|', # [ # [ # '2.1', # '2.1' # ], # [ # '-3.1', # '-3.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) between| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:num) between| (nok + ok) # { # 'input' => '-3.1', # 'name' => 'between| (ok + nok)', # 'schema' => [ # 'num', # 'between|', # [ # [ # '-3.1', # '-3.1' # ], # [ # '2.1', # '2.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) between| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 142 - (tags=clause:between, op, op:or, opshortcut, type, type:num) between| (ok + nok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between| (nok + nok)', # 'schema' => [ # 'num', # 'between|', # [ # [ # '2.1', # '2.1' # ], # [ # '2.1', # '2.1' # ] # ] # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:num) between| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 143 - (tags=clause:between, op, op:or, opshortcut, type, type:num) between| (nok + nok) # { # 'input' => '-3.1', # 'name' => 'between.op=or (no items)', # 'schema' => [ # 'num', # 'between', # [], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:num) between.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 144 - (tags=clause:between, op, op:or, type, type:num) between.op=or (no items) # { # 'input' => '-3.1', # 'name' => 'between.op=or (ok)', # 'schema' => [ # 'num', # 'between', # [ # [ # '-3.1', # '-3.1' # ], # [ # '-3.1', # '-3.1' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:num) between.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 145 - (tags=clause:between, op, op:or, type, type:num) between.op=or (ok) # { # 'input' => '-3.1', # 'name' => 'between.op=or (nok + ok)', # 'schema' => [ # 'num', # 'between', # [ # [ # '2.1', # '2.1' # ], # [ # '-3.1', # '-3.1' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:num) between.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 146 - (tags=clause:between, op, op:or, type, type:num) between.op=or (nok + ok) # { # 'input' => '-3.1', # 'name' => 'between.op=or (ok + nok)', # 'schema' => [ # 'num', # 'between', # [ # [ # '-3.1', # '-3.1' # ], # [ # '2.1', # '2.1' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:num) between.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 147 - (tags=clause:between, op, op:or, type, type:num) between.op=or (ok + nok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=or (nok + nok)', # 'schema' => [ # 'num', # 'between', # [ # [ # '2.1', # '2.1' # ], # [ # '2.1', # '2.1' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:or, type, type:num) between.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 148 - (tags=clause:between, op, op:or, type, type:num) between.op=or (nok + nok) # { # 'input' => '-3.1', # 'name' => 'between.op=none (empty items)', # 'schema' => [ # 'num', # 'between', # [], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:none, type, type:num) between.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 149 - (tags=clause:between, op, op:none, type, type:num) between.op=none (empty items) # { # 'input' => '-3.1', # 'name' => 'between.op=none (nok + nok)', # 'schema' => [ # 'num', # 'between', # [ # [ # '2.1', # '2.1' # ], # [ # '2.1', # '2.1' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:none, type, type:num) between.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 150 - (tags=clause:between, op, op:none, type, type:num) between.op=none (nok + nok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=none (nok + ok)', # 'schema' => [ # 'num', # 'between', # [ # [ # '2.1', # '2.1' # ], # [ # '-3.1', # '-3.1' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:num) between.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 151 - (tags=clause:between, op, op:none, type, type:num) between.op=none (nok + ok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=none (ok + nok)', # 'schema' => [ # 'num', # 'between', # [ # [ # '-3.1', # '-3.1' # ], # [ # '2.1', # '2.1' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:num) between.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 152 - (tags=clause:between, op, op:none, type, type:num) between.op=none (ok + nok) # { # 'errors' => 1, # 'input' => '-3.1', # 'name' => 'between.op=none (ok + ok)', # 'schema' => [ # 'num', # 'between', # [ # [ # '-3.1', # '-3.1' # ], # [ # '-3.1', # '-3.1' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:num', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:num) between.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 153 - (tags=clause:between, op, op:none, type, type:num) between.op=none (ok + ok) ok 154 1..154 ok 12 - 10-type-num.json # Subtest: 10-type-obj.json # Test version: v0.9.29 (generated by devscripts/gen-type-spectest on Mon Nov 25 15:43:40 2013) # { # 'input' => 1, # 'name' => 'can (nok)', # 'schema' => [ # 'obj', # { # 'can' => 'foo' # } # ], # 'tags' => [ # 'type', # 'type:obj', # 'clause:can' # ], # 'valid' => 0 # } # Subtest: (tags=clause:can, type, type:obj) can (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:can, type, type:obj) can (nok) # { # 'input' => 1, # 'name' => 'isa (nok)', # 'schema' => [ # 'obj', # { # 'isa' => 'foo' # } # ], # 'tags' => [ # 'type', # 'type:obj', # 'clause:isa' # ], # 'valid' => 0 # } # Subtest: (tags=clause:isa, type, type:obj) isa (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:isa, type, type:obj) isa (nok) ok 3 1..3 ok 13 - 10-type-obj.json # Subtest: 10-type-str.json # Test version: v0.9.29 (generated by devscripts/gen-type-spectest on Mon Nov 25 15:43:40 2013) # { # 'input' => 0, # 'name' => 'type check: must accept 0', # 'schema' => 'str', # 'tags' => [ # 'type', # 'type:str' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:str) type check: must accept 0 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:str) type check: must accept 0 # { # 'input' => '1.1', # 'name' => 'type check: must accept 1.1', # 'schema' => 'str', # 'tags' => [ # 'type', # 'type:str' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:str) type check: must accept 1.1 ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:str) type check: must accept 1.1 # { # 'input' => '', # 'name' => 'type check: must accept ', # 'schema' => 'str', # 'tags' => [ # 'type', # 'type:str' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:str) type check: must accept ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:str) type check: must accept # { # 'input' => 'str # ', # 'name' => 'type check: must accept str # ', # 'schema' => 'str', # 'tags' => [ # 'type', # 'type:str' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:str) type check: must accept str ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:str) type check: must accept str # # { # 'input' => [], # 'name' => 'type check: must reject []', # 'schema' => 'str', # 'tags' => [ # 'type', # 'type:str' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:str) type check: must reject [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:str) type check: must reject [] # { # 'input' => {}, # 'name' => 'type check: must reject {}', # 'schema' => 'str', # 'tags' => [ # 'type', # 'type:str' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:str) type check: must reject {} ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:str) type check: must reject {} # { # 'input' => undef, # 'name' => 'must accept undefined value', # 'schema' => 'str', # 'tags' => [ # 'type', # 'type:str' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:str) must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:str) must accept undefined value # { # 'input' => undef, # 'name' => 'defhash_v', # 'schema' => [ # 'str', # 'defhash_v', # 1 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:defhash_v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:defhash_v, type, type:str) defhash_v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:defhash_v, type, type:str) defhash_v # { # 'input' => undef, # 'name' => 'v', # 'schema' => [ # 'str', # 'v', # 1 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:v' # ], # 'valid' => 1 # } # Subtest: (tags=clause:v, type, type:str) v ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:v, type, type:str) v # { # 'input' => undef, # 'name' => 'c', # 'schema' => [ # 'str', # 'c.foo.bar', # 1 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:c' # ], # 'valid' => 1 # } # Subtest: (tags=clause:c, type, type:str) c ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:c, type, type:str) c # { # 'input' => undef, # 'name' => 'default_lang', # 'schema' => [ # 'str', # 'default_lang', # 'id_ID' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:default_lang' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default_lang, type, type:str) default_lang ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default_lang, type, type:str) default_lang # { # 'input' => undef, # 'name' => 'name', # 'schema' => [ # 'str', # 'name', # 'some name' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:name' # ], # 'valid' => 1 # } # Subtest: (tags=clause:name, type, type:str) name ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:name, type, type:str) name # { # 'input' => undef, # 'name' => 'summary', # 'schema' => [ # 'str', # 'summary', # 'some summary' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:summary' # ], # 'valid' => 1 # } # Subtest: (tags=clause:summary, type, type:str) summary ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:summary, type, type:str) summary # { # 'input' => undef, # 'name' => 'description', # 'schema' => [ # 'str', # 'description', # 'some description and `markdown`' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:description' # ], # 'valid' => 1 # } # Subtest: (tags=clause:description, type, type:str) description ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:description, type, type:str) description # { # 'input' => undef, # 'name' => 'tags', # 'schema' => [ # 'str', # 'tags', # [ # 'some', # 'tags' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:tags' # ], # 'valid' => 1 # } # Subtest: (tags=clause:tags, type, type:str) tags ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:tags, type, type:str) tags # { # 'input' => undef, # 'name' => 'req=0 must accept undefined value', # 'schema' => [ # 'str', # 'req', # 0 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:req' # ], # 'valid' => 1 # } # Subtest: (tags=clause:req, type, type:str) req=0 must accept undefined value ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:req, type, type:str) req=0 must accept undefined value # { # 'input' => undef, # 'name' => 'req=1 must reject undefined value', # 'schema' => [ # 'str', # 'req', # 1 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:req' # ], # 'valid' => 0 # } # Subtest: (tags=clause:req, type, type:str) req=1 must reject undefined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:req, type, type:str) req=1 must reject undefined value # { # 'input' => 'a', # 'name' => 'forbidden=0 must accept defined value', # 'schema' => [ # 'str', # 'forbidden', # 0 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:forbidden' # ], # 'valid' => 1 # } # Subtest: (tags=clause:forbidden, type, type:str) forbidden=0 must accept defined value ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 18 - (tags=clause:forbidden, type, type:str) forbidden=0 must accept defined value # { # 'input' => 'a', # 'name' => 'forbidden=1 must reject defined value', # 'schema' => [ # 'str', # 'forbidden', # 1 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:forbidden' # ], # 'valid' => 0 # } # Subtest: (tags=clause:forbidden, type, type:str) forbidden=1 must reject defined value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:forbidden, type, type:str) forbidden=1 must reject defined value # { # 'input' => undef, # 'name' => 'default: must accept valid default a', # 'schema' => [ # 'str*', # 'default', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:default' # ], # 'valid' => 1 # } # Subtest: (tags=clause:default, type, type:str) default: must accept valid default a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:default, type, type:str) default: must accept valid default a # { # 'input' => undef, # 'name' => 'default: must reject invalid default []', # 'schema' => [ # 'str*', # 'default', # [] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:default' # ], # 'valid' => 0 # } # Subtest: (tags=clause:default, type, type:str) default: must reject invalid default [] ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 21 - (tags=clause:default, type, type:str) default: must reject invalid default [] # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clause (dies, unknown clause)', # 'schema' => [ # 'str*', # 'clause', # [ # 'foo', # 1 # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:clause' # ] # } # Subtest: (tags=clause:clause, type, type:str) clause (dies, unknown clause) ok 1 - compile error 1..1 ok 22 - (tags=clause:clause, type, type:str) clause (dies, unknown clause) # { # 'input' => 'a', # 'name' => 'clause (ok)', # 'schema' => [ # 'str*', # 'clause', # [ # 'match', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:clause' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clause, type, type:str) clause (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clause, type, type:str) clause (ok) # { # 'input' => 'a', # 'name' => 'clause (ok) + clause nok = nok', # 'schema' => [ # 'str*', # 'clause', # [ # 'match', # 'a' # ], # 'len', # 2 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:str) clause (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:str) clause (ok) + clause nok = nok # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'clause (nok)', # 'schema' => [ # 'str*', # 'clause', # [ # 'match', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:clause' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clause, type, type:str) clause (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clause, type, type:str) clause (nok) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clset (dies, unknown clause)', # 'schema' => [ # 'str*', # 'clset', # { # 'foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:str) clset (dies, unknown clause) ok 1 - compile error 1..1 ok 26 - (tags=clause:clset, type, type:str) clset (dies, unknown clause) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'clset (dies, unknown attr)', # 'schema' => [ # 'str*', # 'clset', # { # 'min_len' => 1, # 'min_len.foo' => 1 # } # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:clset' # ] # } # Subtest: (tags=clause:clset, type, type:str) clset (dies, unknown attr) ok 1 - compile error 1..1 ok 27 - (tags=clause:clset, type, type:str) clset (dies, unknown attr) # { # 'input' => 'a', # 'name' => 'clset (empty = ok)', # 'schema' => [ # 'str*', # 'clset', # {} # ], # 'tags' => [ # 'type', # 'type:str' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:str) clset (empty = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:str) clset (empty = ok) # { # 'input' => 'a', # 'name' => 'clset (ignored clause/attr = ok)', # 'schema' => [ # 'str*', # 'clset', # { # '_foo' => 1, # 'foo._bar' => 2 # } # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:str) clset (ignored clause/attr = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:str) clset (ignored clause/attr = ok) # { # 'input' => 'a', # 'name' => 'clset (ok + ok = ok)', # 'schema' => [ # 'str*', # 'clset', # { # 'len' => 1, # 'match' => 'a' # } # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:clset' # ], # 'valid' => 1 # } # Subtest: (tags=clause:clset, type, type:str) clset (ok + ok = ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:clset, type, type:str) clset (ok + ok = ok) # { # 'input' => 'a', # 'name' => 'clset (ok) + clause nok = nok', # 'schema' => [ # 'str*', # 'clset', # { # 'match' => 'a' # }, # 'len', # 2 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:str) clset (ok) + clause nok = nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:str) clset (ok) + clause nok = nok # { # 'input' => 'a', # 'name' => 'clset (ok + nok = nok)', # 'schema' => [ # 'str*', # 'clset', # { # 'len' => 2, # 'match' => 'a' # } # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:str) clset (ok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:str) clset (ok + nok = nok) # { # 'input' => 'a', # 'name' => 'clset (nok + ok = nok)', # 'schema' => [ # 'str*', # 'clset', # { # 'len' => 1, # 'match' => 'b' # } # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:str) clset (nok + ok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:str) clset (nok + ok = nok) # { # 'input' => 'a', # 'name' => 'clset (nok + nok = nok)', # 'schema' => [ # 'str*', # 'clset', # { # 'len' => 2, # 'match' => 'b' # } # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:clset' # ], # 'valid' => 0 # } # Subtest: (tags=clause:clset, type, type:str) clset (nok + nok = nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:clset, type, type:str) clset (nok + nok = nok) # { # 'input' => undef, # 'name' => 'ok', # 'schema' => [ # 'str', # { # 'ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:ok' # ], # 'valid' => 1 # } # Subtest: (tags=clause:ok, type, type:str) ok ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:ok, type, type:str) ok # { # 'input' => undef, # 'name' => 'ok + op not (nok)', # 'schema' => [ # 'str', # { # '!ok' => 1 # } # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:ok', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:ok, op, op:not, type, type:str) ok + op not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:ok, op, op:not, type, type:str) ok + op not (nok) # { # 'input' => 'a', # 'name' => '.err_level=error (clause=is, ok)', # 'schema' => [ # 'str', # 'is', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:str) .err_level=error (clause=is, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:str) .err_level=error (clause=is, ok) # { # 'input' => 'a # ', # 'name' => '.err_level=error (clause=is, nok)', # 'schema' => [ # 'str', # 'is', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'attr', # 'attr:err_level' # ], # 'valid' => 0 # } # Subtest: (tags=attr, attr:err_level, type, type:str) .err_level=error (clause=is, nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 38 - (tags=attr, attr:err_level, type, type:str) .err_level=error (clause=is, nok) # { # 'input' => 'a', # 'name' => '.err_level=warn (clause=is, ok)', # 'schema' => [ # 'str', # 'is', # 'a', # 'is.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:str', # 'attr', # 'attr:err_level' # ], # 'valid' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:str) .err_level=warn (clause=is, ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:str) .err_level=warn (clause=is, ok) # { # 'input' => 'a # ', # 'name' => '.err_level=warn (clause=is, nok)', # 'schema' => [ # 'str*', # 'is', # 'a', # 'is.err_level', # 'warn' # ], # 'tags' => [ # 'type', # 'type:str', # 'attr', # 'attr:err_level' # ], # 'valid' => 1, # 'warnings' => 1 # } # Subtest: (tags=attr, attr:err_level, type, type:str) .err_level=warn (clause=is, nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=attr, attr:err_level, type, type:str) .err_level=warn (clause=is, nok) # { # 'input' => 'a', # 'name' => 'is: must accept same value', # 'schema' => [ # 'str', # 'is', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, type, type:str) is: must accept same value ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 41 - (tags=clause:is, type, type:str) is: must accept same value # { # 'input' => 'a', # 'name' => 'is: must reject different value', # 'schema' => [ # 'str', # 'is', # 'b' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, type, type:str) is: must reject different value ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, type, type:str) is: must reject different value # { # 'input' => 'a', # 'name' => '!is (nok)', # 'schema' => [ # 'str', # '!is', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:str) !is (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:str) !is (nok) # { # 'input' => 'a', # 'name' => '!is (ok)', # 'schema' => [ # 'str', # '!is', # 'b' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, opshortcut, type, type:str) !is (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:not, opshortcut, type, type:str) !is (ok) # { # 'input' => 'a', # 'name' => 'is.op=not (nok)', # 'schema' => [ # 'str', # 'is', # 'a', # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:not, type, type:str) is.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:not, type, type:str) is.op=not (nok) # { # 'input' => 'a', # 'name' => 'is.op=not (ok)', # 'schema' => [ # 'str', # 'is', # 'b', # 'is.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:not, type, type:str) is.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 46 - (tags=clause:is, op, op:not, type, type:str) is.op=not (ok) # { # 'input' => 'a', # 'name' => 'is& (no items)', # 'schema' => [ # 'str', # 'is&', # [] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) is& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:str) is& (no items) # { # 'input' => 'a', # 'name' => 'is& (ok)', # 'schema' => [ # 'str', # 'is&', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) is& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:str) is& (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (nok + ok)', # 'schema' => [ # 'str', # 'is&', # [ # 'b', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) is& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:str) is& (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (ok + nok)', # 'schema' => [ # 'str', # 'is&', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) is& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:str) is& (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is& (nok + nok)', # 'schema' => [ # 'str', # 'is&', # [ # 'b', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, opshortcut, type, type:str) is& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, opshortcut, type, type:str) is& (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=and (no items)', # 'schema' => [ # 'str', # 'is', # [], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:str) is.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:str) is.op=and (no items) # { # 'input' => 'a', # 'name' => 'is.op=and (ok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:and, type, type:str) is.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:str) is.op=and (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (nok + ok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'a' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:str) is.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 54 - (tags=clause:is, op, op:and, type, type:str) is.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (ok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'b' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:str) is.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 55 - (tags=clause:is, op, op:and, type, type:str) is.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=and (nok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'b' # ], # 'is.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:and, type, type:str) is.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:and, type, type:str) is.op=and (nok + nok) # { # 'input' => 'a', # 'name' => 'is| (no items)', # 'schema' => [ # 'str', # 'is|', # [] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) is| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:str) is| (no items) # { # 'input' => 'a', # 'name' => 'is| (ok)', # 'schema' => [ # 'str', # 'is|', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) is| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:str) is| (ok) # { # 'input' => 'a', # 'name' => 'is| (nok + ok)', # 'schema' => [ # 'str', # 'is|', # [ # 'b', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) is| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:str) is| (nok + ok) # { # 'input' => 'a', # 'name' => 'is| (ok + nok)', # 'schema' => [ # 'str', # 'is|', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) is| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:str) is| (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is| (nok + nok)', # 'schema' => [ # 'str', # 'is|', # [ # 'b', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, opshortcut, type, type:str) is| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, opshortcut, type, type:str) is| (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=or (no items)', # 'schema' => [ # 'str', # 'is', # [], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:str) is.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:str) is.op=or (no items) # { # 'input' => 'a', # 'name' => 'is.op=or (ok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:str) is.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:str) is.op=or (ok) # { # 'input' => 'a', # 'name' => 'is.op=or (nok + ok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'a' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:str) is.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:str) is.op=or (nok + ok) # { # 'input' => 'a', # 'name' => 'is.op=or (ok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'b' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:or, type, type:str) is.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:str) is.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=or (nok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'b' # ], # 'is.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:or, type, type:str) is.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:or, type, type:str) is.op=or (nok + nok) # { # 'input' => 'a', # 'name' => 'is.op=none (empty items)', # 'schema' => [ # 'str', # 'is', # [], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:str) is.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:str) is.op=none (empty items) # { # 'input' => 'a', # 'name' => 'is.op=none (nok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'b' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is, op, op:none, type, type:str) is.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:str) is.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (nok + ok)', # 'schema' => [ # 'str', # 'is', # [ # 'b', # 'a' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:str) is.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 69 - (tags=clause:is, op, op:none, type, type:str) is.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (ok + nok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'b' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:str) is.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:str) is.op=none (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'is.op=none (ok + ok)', # 'schema' => [ # 'str', # 'is', # [ # 'a', # 'a' # ], # 'is.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is, op, op:none, type, type:str) is.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:is, op, op:none, type, type:str) is.op=none (ok + ok) # { # 'input' => 'a', # 'name' => 'in: must accept valid choices', # 'schema' => [ # 'str', # 'in', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, type, type:str) in: must accept valid choices ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 72 - (tags=clause:in, type, type:str) in: must accept valid choices # { # 'input' => 'a', # 'name' => 'in: must reject empty choices', # 'schema' => [ # 'str', # 'in', # [] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, type, type:str) in: must reject empty choices ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, type, type:str) in: must reject empty choices # { # 'input' => 'a', # 'name' => '!in (nok)', # 'schema' => [ # 'str', # '!in', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:str) !in (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:str) !in (nok) # { # 'input' => 'a', # 'name' => '!in (ok)', # 'schema' => [ # 'str', # '!in', # [] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, opshortcut, type, type:str) !in (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:not, opshortcut, type, type:str) !in (ok) # { # 'input' => 'a', # 'name' => 'in.op=not (nok)', # 'schema' => [ # 'str', # 'in', # [ # 'a', # 'b' # ], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:not, type, type:str) in.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:not, type, type:str) in.op=not (nok) # { # 'input' => 'a', # 'name' => 'in.op=not (ok)', # 'schema' => [ # 'str', # 'in', # [], # 'in.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:not, type, type:str) in.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 77 - (tags=clause:in, op, op:not, type, type:str) in.op=not (ok) # { # 'input' => 'a', # 'name' => 'in& (no items)', # 'schema' => [ # 'str', # 'in&', # [] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) in& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:str) in& (no items) # { # 'input' => 'a', # 'name' => 'in& (ok)', # 'schema' => [ # 'str', # 'in&', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) in& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:str) in& (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (nok + ok)', # 'schema' => [ # 'str', # 'in&', # [ # [], # [ # 'a', # 'b' # ] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) in& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 80 - (tags=clause:in, op, op:and, opshortcut, type, type:str) in& (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (ok + nok)', # 'schema' => [ # 'str', # 'in&', # [ # [ # 'a', # 'b' # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) in& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 81 - (tags=clause:in, op, op:and, opshortcut, type, type:str) in& (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in& (nok + nok)', # 'schema' => [ # 'str', # 'in&', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, opshortcut, type, type:str) in& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, opshortcut, type, type:str) in& (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=and (no items)', # 'schema' => [ # 'str', # 'in', # [], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:str) in.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:str) in.op=and (no items) # { # 'input' => 'a', # 'name' => 'in.op=and (ok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:and, type, type:str) in.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:str) in.op=and (ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (nok + ok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:str) in.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:str) in.op=and (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (ok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:str) in.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 86 - (tags=clause:in, op, op:and, type, type:str) in.op=and (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=and (nok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [] # ], # 'in.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:and, type, type:str) in.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:and, type, type:str) in.op=and (nok + nok) # { # 'input' => 'a', # 'name' => 'in| (no items)', # 'schema' => [ # 'str', # 'in|', # [] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) in| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:str) in| (no items) # { # 'input' => 'a', # 'name' => 'in| (ok)', # 'schema' => [ # 'str', # 'in|', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) in| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:str) in| (ok) # { # 'input' => 'a', # 'name' => 'in| (nok + ok)', # 'schema' => [ # 'str', # 'in|', # [ # [], # [ # 'a', # 'b' # ] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) in| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:str) in| (nok + ok) # { # 'input' => 'a', # 'name' => 'in| (ok + nok)', # 'schema' => [ # 'str', # 'in|', # [ # [ # 'a', # 'b' # ], # [] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) in| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:str) in| (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in| (nok + nok)', # 'schema' => [ # 'str', # 'in|', # [ # [], # [] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, opshortcut, type, type:str) in| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, opshortcut, type, type:str) in| (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=or (no items)', # 'schema' => [ # 'str', # 'in', # [], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:str) in.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:str) in.op=or (no items) # { # 'input' => 'a', # 'name' => 'in.op=or (ok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:str) in.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:str) in.op=or (ok) # { # 'input' => 'a', # 'name' => 'in.op=or (nok + ok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:str) in.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:str) in.op=or (nok + ok) # { # 'input' => 'a', # 'name' => 'in.op=or (ok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:or, type, type:str) in.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:str) in.op=or (ok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=or (nok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [] # ], # 'in.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:or, type, type:str) in.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:or, type, type:str) in.op=or (nok + nok) # { # 'input' => 'a', # 'name' => 'in.op=none (empty items)', # 'schema' => [ # 'str', # 'in', # [], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:str) in.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:str) in.op=none (empty items) # { # 'input' => 'a', # 'name' => 'in.op=none (nok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:in, op, op:none, type, type:str) in.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:str) in.op=none (nok + nok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (nok + ok)', # 'schema' => [ # 'str', # 'in', # [ # [], # [ # 'a', # 'b' # ] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:str) in.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:str) in.op=none (nok + ok) # { # 'errors' => 1, # 'input' => 'a', # 'name' => 'in.op=none (ok + nok)', # 'schema' => [ # 'str', # 'in', # [ # [ # 'a', # 'b' # ], # [] # ], # 'in.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:str) in.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:str) 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' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:in', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:in, op, op:none, type, type:str) in.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:in, op, op:none, type, type:str) in.op=none (ok + ok) # { # 'input' => 'a', # 'name' => 'min: a ', # 'schema' => [ # 'str', # 'min', # '' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:str) min: a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:str) min: a # { # 'input' => 'a', # 'name' => 'min: a a', # 'schema' => [ # 'str', # 'min', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:min' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min, type, type:str) min: a a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:min, type, type:str) min: a a # { # 'input' => '', # 'name' => 'min: a -> fail', # 'schema' => [ # 'str', # 'min', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:min' # ], # 'valid' => 0 # } # Subtest: (tags=clause:min, type, type:str) min: a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:min, type, type:str) min: a -> fail # { # 'input' => 'a', # 'name' => 'xmin: a ', # 'schema' => [ # 'str', # 'xmin', # '' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:xmin' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmin, type, type:str) xmin: a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xmin, type, type:str) xmin: a # { # 'input' => 'a', # 'name' => 'xmin: a a -> fail', # 'schema' => [ # 'str', # 'xmin', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:str) xmin: a a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:str) xmin: a a -> fail # { # 'input' => '', # 'name' => 'xmin: a -> fail', # 'schema' => [ # 'str', # 'xmin', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:xmin' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmin, type, type:str) xmin: a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmin, type, type:str) xmin: a -> fail # { # 'input' => 'a', # 'name' => 'max: a -> fail', # 'schema' => [ # 'str', # 'max', # '' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:max' # ], # 'valid' => 0 # } # Subtest: (tags=clause:max, type, type:str) max: a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:max, type, type:str) max: a -> fail # { # 'input' => 'a', # 'name' => 'max: a a', # 'schema' => [ # 'str', # 'max', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:str) max: a a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:str) max: a a # { # 'input' => '', # 'name' => 'max: a', # 'schema' => [ # 'str', # 'max', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:max' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max, type, type:str) max: a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:max, type, type:str) max: a # { # 'input' => 'a', # 'name' => 'xmax: a -> fail', # 'schema' => [ # 'str', # 'xmax', # '' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:str) xmax: a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:str) xmax: a -> fail # { # 'input' => 'a', # 'name' => 'xmax: a a -> fail', # 'schema' => [ # 'str', # 'xmax', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:xmax' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xmax, type, type:str) xmax: a a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xmax, type, type:str) xmax: a a -> fail # { # 'input' => '', # 'name' => 'xmax: a', # 'schema' => [ # 'str', # 'xmax', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:xmax' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xmax, type, type:str) xmax: a ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 114 - (tags=clause:xmax, type, type:str) xmax: a # { # 'input' => 'a', # 'name' => 'between: a & ab', # 'schema' => [ # 'str', # 'between', # [ # '', # 'ab' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:str) between: a & ab ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:str) between: a & ab # { # 'input' => 'a', # 'name' => 'between: a & a', # 'schema' => [ # 'str', # 'between', # [ # '', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:str) between: a & a ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 116 - (tags=clause:between, type, type:str) between: a & a # { # 'input' => 'a', # 'name' => 'between: a a & a', # 'schema' => [ # 'str', # 'between', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, type, type:str) between: a a & a ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, type, type:str) between: a a & a # { # 'input' => '', # 'name' => 'between: a & ab -> fail', # 'schema' => [ # 'str', # 'between', # [ # 'a', # 'ab' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, type, type:str) between: a & ab -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, type, type:str) between: a & ab -> fail # { # 'input' => 'a', # 'name' => 'xbetween: a & ab', # 'schema' => [ # 'str', # 'xbetween', # [ # '', # 'ab' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:xbetween' # ], # 'valid' => 1 # } # Subtest: (tags=clause:xbetween, type, type:str) xbetween: a & ab ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:str) xbetween: a & ab # { # 'input' => 'a', # 'name' => 'xbetween: a & a -> fail', # 'schema' => [ # 'str', # 'xbetween', # [ # '', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:str) xbetween: a & a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:str) xbetween: a & a -> fail # { # 'input' => 'a', # 'name' => 'xbetween: a a & a -> fail', # 'schema' => [ # 'str', # 'xbetween', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:str) xbetween: a a & a -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 121 - (tags=clause:xbetween, type, type:str) xbetween: a a & a -> fail # { # 'input' => '', # 'name' => 'xbetween: a & ab -> fail', # 'schema' => [ # 'str', # 'xbetween', # [ # 'a', # 'ab' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:xbetween' # ], # 'valid' => 0 # } # Subtest: (tags=clause:xbetween, type, type:str) xbetween: a & ab -> fail ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:xbetween, type, type:str) xbetween: a & ab -> fail # { # 'input' => '', # 'name' => '!between (nok)', # 'schema' => [ # 'str', # '!between', # [ # '', # '' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:str) !between (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 123 - (tags=clause:between, op, op:not, opshortcut, type, type:str) !between (nok) # { # 'input' => '', # 'name' => '!between (ok)', # 'schema' => [ # 'str', # '!between', # [ # 'a', # 'a' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:not, opshortcut, type, type:str) !between (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 124 - (tags=clause:between, op, op:not, opshortcut, type, type:str) !between (ok) # { # 'input' => '', # 'name' => 'between.op=not (nok)', # 'schema' => [ # 'str', # 'between', # [ # '', # '' # ], # 'between.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:not' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:not, type, type:str) between.op=not (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 125 - (tags=clause:between, op, op:not, type, type:str) between.op=not (nok) # { # 'input' => '', # 'name' => 'between.op=not (ok)', # 'schema' => [ # 'str', # 'between', # [ # 'a', # 'a' # ], # 'between.op', # 'not' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:not' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:not, type, type:str) between.op=not (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 126 - (tags=clause:between, op, op:not, type, type:str) between.op=not (ok) # { # 'input' => '', # 'name' => 'between& (no items)', # 'schema' => [ # 'str', # 'between&', # [] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) between& (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 127 - (tags=clause:between, op, op:and, opshortcut, type, type:str) between& (no items) # { # 'input' => '', # 'name' => 'between& (ok)', # 'schema' => [ # 'str', # 'between&', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) between& (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:str) between& (ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between& (nok + ok)', # 'schema' => [ # 'str', # 'between&', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) between& (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:str) between& (nok + ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between& (ok + nok)', # 'schema' => [ # 'str', # 'between&', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) between& (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 130 - (tags=clause:between, op, op:and, opshortcut, type, type:str) between& (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between& (nok + nok)', # 'schema' => [ # 'str', # 'between&', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, opshortcut, type, type:str) between& (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=clause:between, op, op:and, opshortcut, type, type:str) between& (nok + nok) # { # 'input' => '', # 'name' => 'between.op=and (no items)', # 'schema' => [ # 'str', # 'between', # [], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:str) between.op=and (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 132 - (tags=type, type:str) between.op=and (no items) # { # 'input' => '', # 'name' => 'between.op=and (ok)', # 'schema' => [ # 'str', # 'between', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:and, type, type:str) between.op=and (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 133 - (tags=clause:between, op, op:and, type, type:str) between.op=and (ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=and (nok + ok)', # 'schema' => [ # 'str', # 'between', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:str) between.op=and (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 134 - (tags=clause:between, op, op:and, type, type:str) between.op=and (nok + ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=and (ok + nok)', # 'schema' => [ # 'str', # 'between', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:str) between.op=and (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 135 - (tags=clause:between, op, op:and, type, type:str) between.op=and (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=and (nok + nok)', # 'schema' => [ # 'str', # 'between', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'and' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:and' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:and, type, type:str) between.op=and (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 136 - (tags=clause:between, op, op:and, type, type:str) between.op=and (nok + nok) # { # 'input' => '', # 'name' => 'between| (no items)', # 'schema' => [ # 'str', # 'between|', # [] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) between| (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 137 - (tags=clause:between, op, op:or, opshortcut, type, type:str) between| (no items) # { # 'input' => '', # 'name' => 'between| (ok)', # 'schema' => [ # 'str', # 'between|', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) between| (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 138 - (tags=clause:between, op, op:or, opshortcut, type, type:str) between| (ok) # { # 'input' => '', # 'name' => 'between| (nok + ok)', # 'schema' => [ # 'str', # 'between|', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) between| (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 139 - (tags=clause:between, op, op:or, opshortcut, type, type:str) between| (nok + ok) # { # 'input' => '', # 'name' => 'between| (ok + nok)', # 'schema' => [ # 'str', # 'between|', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) between| (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 140 - (tags=clause:between, op, op:or, opshortcut, type, type:str) between| (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between| (nok + nok)', # 'schema' => [ # 'str', # 'between|', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:or, opshortcut, type, type:str) between| (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 141 - (tags=clause:between, op, op:or, opshortcut, type, type:str) between| (nok + nok) # { # 'input' => '', # 'name' => 'between.op=or (no items)', # 'schema' => [ # 'str', # 'between', # [], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:str) between.op=or (no items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 142 - (tags=clause:between, op, op:or, type, type:str) between.op=or (no items) # { # 'input' => '', # 'name' => 'between.op=or (ok)', # 'schema' => [ # 'str', # 'between', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:str) between.op=or (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 143 - (tags=clause:between, op, op:or, type, type:str) between.op=or (ok) # { # 'input' => '', # 'name' => 'between.op=or (nok + ok)', # 'schema' => [ # 'str', # 'between', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:str) between.op=or (nok + ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 144 - (tags=clause:between, op, op:or, type, type:str) between.op=or (nok + ok) # { # 'input' => '', # 'name' => 'between.op=or (ok + nok)', # 'schema' => [ # 'str', # 'between', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:or, type, type:str) between.op=or (ok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 145 - (tags=clause:between, op, op:or, type, type:str) between.op=or (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=or (nok + nok)', # 'schema' => [ # 'str', # 'between', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'or' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:or' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:or, type, type:str) between.op=or (nok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 146 - (tags=clause:between, op, op:or, type, type:str) between.op=or (nok + nok) # { # 'input' => '', # 'name' => 'between.op=none (empty items)', # 'schema' => [ # 'str', # 'between', # [], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:none, type, type:str) between.op=none (empty items) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 147 - (tags=clause:between, op, op:none, type, type:str) between.op=none (empty items) # { # 'input' => '', # 'name' => 'between.op=none (nok + nok)', # 'schema' => [ # 'str', # 'between', # [ # [ # 'a', # 'a' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 1 # } # Subtest: (tags=clause:between, op, op:none, type, type:str) between.op=none (nok + nok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 148 - (tags=clause:between, op, op:none, type, type:str) between.op=none (nok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=none (nok + ok)', # 'schema' => [ # 'str', # 'between', # [ # [ # 'a', # 'a' # ], # [ # '', # '' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:str) between.op=none (nok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 149 - (tags=clause:between, op, op:none, type, type:str) between.op=none (nok + ok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=none (ok + nok)', # 'schema' => [ # 'str', # 'between', # [ # [ # '', # '' # ], # [ # 'a', # 'a' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:str) between.op=none (ok + nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 150 - (tags=clause:between, op, op:none, type, type:str) between.op=none (ok + nok) # { # 'errors' => 1, # 'input' => '', # 'name' => 'between.op=none (ok + ok)', # 'schema' => [ # 'str', # 'between', # [ # [ # '', # '' # ], # [ # '', # '' # ] # ], # 'between.op', # 'none' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:between', # 'op', # 'op:none' # ], # 'valid' => 0 # } # Subtest: (tags=clause:between, op, op:none, type, type:str) between.op=none (ok + ok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 151 - (tags=clause:between, op, op:none, type, type:str) between.op=none (ok + ok) # { # 'input' => 'a', # 'name' => 'len (ok)', # 'schema' => [ # 'str', # 'len', # 1 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:len, type, type:str) len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 152 - (tags=clause:len, type, type:str) len (ok) # { # 'input' => 'a', # 'name' => 'len (nok)', # 'schema' => [ # 'str', # 'len', # 3 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:len, type, type:str) len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 153 - (tags=clause:len, type, type:str) len (nok) # { # 'input' => 'a', # 'name' => 'min_len (ok)', # 'schema' => [ # 'str', # 'min_len', # 1 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:min_len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:min_len, type, type:str) min_len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 154 - (tags=clause:min_len, type, type:str) min_len (ok) # { # 'input' => 'a', # 'name' => 'min_len (nok)', # 'schema' => [ # 'str', # 'min_len', # 3 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:min_len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:min_len, type, type:str) min_len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 155 - (tags=clause:min_len, type, type:str) min_len (nok) # { # 'input' => 'a', # 'name' => 'max_len (ok)', # 'schema' => [ # 'str', # 'min_len', # 1 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:max_len' # ], # 'valid' => 1 # } # Subtest: (tags=clause:max_len, type, type:str) max_len (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 156 - (tags=clause:max_len, type, type:str) max_len (ok) # { # 'input' => 'abc', # 'name' => 'max_len (nok)', # 'schema' => [ # 'str', # 'max_len', # 1 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:max_len' # ], # 'valid' => 0 # } # Subtest: (tags=clause:max_len, type, type:str) max_len (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 157 - (tags=clause:max_len, type, type:str) max_len (nok) # { # 'input' => 'a', # 'name' => 'len_between (ok)', # 'schema' => [ # 'str', # 'len_between', # [ # 1, # 3 # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:len_between' # ], # 'valid' => 1 # } # Subtest: (tags=clause:len_between, type, type:str) len_between (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 158 - (tags=clause:len_between, type, type:str) len_between (ok) # { # 'input' => 'abc', # 'name' => 'len_between (nok)', # 'schema' => [ # 'str', # 'len_between', # [ # 1, # 1 # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:len_between' # ], # 'valid' => 0 # } # Subtest: (tags=clause:len_between, type, type:str) len_between (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 159 - (tags=clause:len_between, type, type:str) len_between (nok) # { # 'input' => 'abc', # 'name' => 'each_index (ok)', # 'schema' => [ # 'str', # 'each_index', # [ # 'int', # 'max', # 2 # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:each_index' # ], # 'valid' => 1 # } # Subtest: (tags=clause:each_index, type, type:str) each_index (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 160 - (tags=clause:each_index, type, type:str) each_index (ok) # { # 'input' => 'abc', # 'name' => 'each_index (nok)', # 'schema' => [ # 'str', # 'each_index', # [ # 'int', # 'xmax', # 2 # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:each_index' # ], # 'valid' => 0 # } # Subtest: (tags=clause:each_index, type, type:str) each_index (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 161 - (tags=clause:each_index, type, type:str) each_index (nok) # { # 'input' => 'abc', # 'name' => 'each_elem (ok)', # 'schema' => [ # 'str', # 'each_elem', # 'str' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:each_elem' # ], # 'valid' => 1 # } # Subtest: (tags=clause:each_elem, type, type:str) each_elem (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 162 - (tags=clause:each_elem, type, type:str) each_elem (ok) # { # 'input' => 'abc', # 'name' => 'each_elem (nok)', # 'schema' => [ # 'str', # 'each_elem', # 'float' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:each_elem' # ], # 'valid' => 0 # } # Subtest: (tags=clause:each_elem, type, type:str) each_elem (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 163 - (tags=clause:each_elem, type, type:str) each_elem (nok) # { # 'invalid_inputs' => [ # '', # 'A', # 'c' # ], # 'name' => 'has', # 'schema' => [ # 'str', # 'has', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:has' # ], # 'valid_inputs' => [ # 'abc', # 'ac' # ] # } # Subtest: (tags=clause:has, type, type:str) has ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - invalid input [0] ok 5 - invalid input [1] ok 6 - invalid input [2] ok 7 - validator (rt=full) returns hash 1..7 ok 164 - (tags=clause:has, type, type:str) has # { # 'invalid_inputs' => [ # 'abc', # 'ac' # ], # 'name' => 'has + op.not', # 'schema' => [ # 'str', # '!has', # 'a' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:has', # 'op', # 'op:not', # 'opshortcut' # ], # 'valid_inputs' => [ # '', # 'A', # 'c' # ] # } # Subtest: (tags=clause:has, op, op:not, opshortcut, type, type:str) has + op.not ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - valid input [2] ok 5 - invalid input [0] ok 6 - invalid input [1] ok 7 - validator (rt=full) returns hash 1..7 ok 165 - (tags=clause:has, op, op:not, opshortcut, type, type:str) has + op.not # { # 'invalid_inputs' => [ # '', # 'A', # 'c' # ], # 'name' => 'has + op.or', # 'schema' => [ # 'str', # 'has|', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:has', # 'op', # 'op:or', # 'opshortcut' # ], # 'valid_inputs' => [ # 'abc', # 'ac' # ] # } # Subtest: (tags=clause:has, op, op:or, opshortcut, type, type:str) has + op.or ok 1 - compile success ok 2 - valid input [0] ok 3 - valid input [1] ok 4 - invalid input [0] ok 5 - invalid input [1] ok 6 - invalid input [2] ok 7 - validator (rt=full) returns hash 1..7 ok 166 - (tags=clause:has, op, op:or, opshortcut, type, type:str) has + op.or # { # 'invalid_inputs' => [ # 'ac', # '', # 'A', # 'c' # ], # 'name' => 'has + op.and', # 'schema' => [ # 'str', # 'has&', # [ # 'a', # 'b' # ] # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:has', # 'op', # 'op:and', # 'opshortcut' # ], # 'valid_inputs' => [ # 'abc' # ] # } # Subtest: (tags=clause:has, op, op:and, opshortcut, type, type:str) has + op.and ok 1 - compile success ok 2 - valid input [0] ok 3 - invalid input [0] ok 4 - invalid input [1] ok 5 - invalid input [2] ok 6 - invalid input [3] ok 7 - validator (rt=full) returns hash 1..7 ok 167 - (tags=clause:has, op, op:and, opshortcut, type, type:str) has + op.and # { # 'input' => 'a', # 'name' => 'match: (ok)', # 'schema' => [ # 'str', # 'match', # '[abc]' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:match' # ], # 'valid' => 1 # } # Subtest: (tags=clause:match, type, type:str) match: (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 168 - (tags=clause:match, type, type:str) match: (ok) # { # 'input' => 'A', # 'name' => 'match: (nok)', # 'schema' => [ # 'str', # 'match', # '[abc]' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:match' # ], # 'valid' => 0 # } # Subtest: (tags=clause:match, type, type:str) match: (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 169 - (tags=clause:match, type, type:str) match: (nok) # { # 'dies' => 1, # 'input' => 'a', # 'name' => 'match: (dies, invalid regex)', # 'schema' => [ # 'str', # 'match', # '(' # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:match' # ] # } # Subtest: (tags=clause:match, type, type:str) match: (dies, invalid regex) ok 1 - compile error 1..1 ok 170 - (tags=clause:match, type, type:str) match: (dies, invalid regex) # { # 'input' => 'a', # 'name' => 'is_re: 1 (ok)', # 'schema' => [ # 'str', # 'is_re', # 1 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is_re' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is_re, type, type:str) is_re: 1 (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 171 - (tags=clause:is_re, type, type:str) is_re: 1 (ok) # { # 'input' => 'a(', # 'name' => 'is_re: 1 (nok)', # 'schema' => [ # 'str', # 'is_re', # 1 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is_re' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is_re, type, type:str) is_re: 1 (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 172 - (tags=clause:is_re, type, type:str) is_re: 1 (nok) # { # 'input' => 'a(', # 'name' => 'is_re: 0 (ok)', # 'schema' => [ # 'str', # 'is_re', # 0 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is_re' # ], # 'valid' => 1 # } # Subtest: (tags=clause:is_re, type, type:str) is_re: 0 (ok) ok 1 - compile success ok 2 - valid (rt=bool) ok 3 - valid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 173 - (tags=clause:is_re, type, type:str) is_re: 0 (ok) # { # 'input' => 'a', # 'name' => 'is_re: 0 (nok)', # 'schema' => [ # 'str', # 'is_re', # 0 # ], # 'tags' => [ # 'type', # 'type:str', # 'clause:is_re' # ], # 'valid' => 0 # } # Subtest: (tags=clause:is_re, type, type:str) is_re: 0 (nok) ok 1 - compile success ok 2 - invalid (rt=bool) ok 3 - invalid (rt=str) ok 4 - validator (rt=full) returns hash ok 5 - errors (rt=full) ok 6 - warnings (rt=full) 1..6 ok 174 - (tags=clause:is_re, type, type:str) is_re: 0 (nok) ok 175 1..175 ok 14 - 10-type-str.json # Subtest: 10-type-undef.json # Test version: v0.9.29 (generated by devscripts/gen-type-spectest on Mon Nov 25 15:43:40 2013) # { # 'input' => undef, # 'name' => 'ok', # 'schema' => [ # 'undef' # ], # 'tags' => [ # 'type', # 'type:undef' # ], # 'valid' => 1 # } # Subtest: (tags=type, type:undef) ok ok 1 - compile success ok 2 - valid (rt=bool) ok 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 - (tags=type, type:undef) ok # { # 'input' => 0, # 'name' => 'nok', # 'schema' => [ # 'undef' # ], # 'tags' => [ # 'type', # 'type:undef' # ], # 'valid' => 0 # } # Subtest: (tags=type, type:undef) nok ok 1 - compile success ok 2 - invalid (rt=bool) ok 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 - (tags=type, type:undef) nok ok 3 1..3 ok 15 - 10-type-undef.json 1..15 ok t/util-type.t ............. # Subtest: coerce_date ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 1..8 ok 1 - coerce_date 1..1 ok Test Summary Report ------------------- t/perl-type-float.t (Wstat: 1280 Tests: 15 Failed: 5) Failed tests: 5, 9-10, 13, 15 Non-zero exit status: 5 Files=19, Tests=183, 52 wallclock secs ( 2.95 usr + 0.08 sys = 3.03 CPU) Result: FAIL Failed 1/19 test programs. 5/183 subtests failed. NMAKE : fatal error U1077: 'C:\Perl64-5.14\bin\perl.exe' : return code '0xff' Stop. SHARYANTO/Data-Sah-0.29.tar.gz nmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Data-Sah-0.29.tar.gz Running make for S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz Warning: Prerequisite 'Data::Sah => 0.14' for 'SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz' failed when processing 'SHARYANTO/Data-Sah-0.29.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. 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 SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz nmake -- OK Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl64-5.14\bin\perl.exe "-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 t/00-sanity.t .................. # Subtest: sanity (dynamic) 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 ok 7 - call res ok 8 - call actual res # Subtest: call #1: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 ok 4 - res 1..4 ok 9 - call \#1: ok 10 - wrap_res is an array ok 11 - call_res is an array 1..11 ok 1 - sanity (dynamic) # Subtest: sanity (embed) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - embed code compiles ok ok 5 - call doesn't die ok 6 - call res is array ok 7 - call status is 200 ok 8 - call res ok 9 - call actual res # Subtest: call #1: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 ok 4 - res 1..4 ok 10 - call \#1: ok 11 - wrap_res is an array ok 12 - call_res is an array 1..12 ok 2 - sanity (embed) 1..2 ok t/01-basics.t .................. # Subtest: internal properties are ignored (dynamic) ok 1 - wrap doesn't die 1..1 ok 1 - internal properties are ignored (dynamic) # Subtest: internal properties are ignored (embed) ok 1 - wrap doesn't die ok 2 - embed code compiles ok 1..2 ok 2 - internal properties are ignored (embed) # Subtest: double wrapping # Subtest: wrap 1 (dynamic) ok 1 - wrap doesn't die ok 2 - normalize_schema is by default 1 ok 3 - validate_args is by default 1 ok 4 - validate_result is by default 1 1..4 ok 1 - wrap 1 (dynamic) # Subtest: wrap 1 (embed) ok 1 - wrap doesn't die ok 2 - embed code compiles ok ok 3 - normalize_schema is by default 1 ok 4 - validate_args is by default 1 ok 5 - validate_result is by default 1 1..5 ok 2 - wrap 1 (embed) # Subtest: second wrapping (dynamic) ok 1 - wrap doesn't die ok 2 - there are two log entries ok 3 - normalize_schema is by default 0 ok 4 - validate_args is by default 0 ok 5 - validate_result is by default 0 1..5 ok 3 - second wrapping (dynamic) # Subtest: second wrapping (embed) ok 1 - wrap doesn't die ok 2 - embed code compiles ok ok 3 - there are two log entries ok 4 - normalize_schema is by default 0 ok 5 - validate_args is by default 0 ok 6 - validate_result is by default 0 1..6 ok 4 - second wrapping (embed) 1..4 ok 3 - double wrapping 1..3 ok # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 517. # Looks like you failed 1 test of 1. # Failed test 'normalized (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'normalized (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'not normalized (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'not normalized (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Looks like you failed 4 tests of 4. # Failed test 'opt: _schema_is_normalized' # at t/opt-_schema_is_normalized.t line 40. # Looks like you failed 1 test of 1. t/opt-_schema_is_normalized.t .. # Subtest: opt: _schema_is_normalized # Subtest: normalized (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 1 - normalized (dynamic) # Subtest: normalized (embed) not ok 1 - wrap doesn't die 1..1 not ok 2 - normalized (embed) # Subtest: not normalized (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 3 - not normalized (dynamic) # Subtest: not normalized (embed) not ok 1 - wrap doesn't die 1..1 not ok 4 - not normalized (embed) 1..4 not ok 1 - opt: _schema_is_normalized 1..1 Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests t/opt-log.t .................... # Subtest: opt: log # Subtest: log=1 (default) (dynamic) ok 1 - wrap doesn't die ok 2 - wrap log produced 1..2 ok 1 - log=1 (default) (dynamic) # Subtest: log=1 (default) (embed) ok 1 - wrap doesn't die ok 2 - embed code compiles ok ok 3 - wrap log produced 1..3 ok 2 - log=1 (default) (embed) # Subtest: log=0 (dynamic) ok 1 - wrap doesn't die ok 2 - wrap log not produced 1..2 ok 3 - log=0 (dynamic) # Subtest: log=0 (embed) ok 1 - wrap doesn't die ok 2 - embed code compiles ok ok 3 - wrap log not produced 1..3 ok 4 - log=0 (embed) 1..4 ok 1 - opt: log 1..1 ok t/opt-sub_name.t ............... # Subtest: specifying sub_name only instead of sub (dynamic) 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 (dynamic) # Subtest: specifying sub_name only instead of sub (embed) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - embed code compiles ok ok 5 - call result 1..5 ok 2 - specifying sub_name only instead of sub (embed) 1..2 ok # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 517. # Looks like you failed 1 test of 1. # Failed test 'validate_args=1 (default) (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'validate_args=1 (default) (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Looks like you failed 2 tests of 4. # Failed test 'arg: validate_args' # at t/opt-validate_args.t line 39. # Looks like you failed 1 test of 1. t/opt-validate_args.t .......... # Subtest: arg: validate_args # Subtest: validate_args=1 (default) (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 1 - validate_args=1 (default) (dynamic) # Subtest: validate_args=1 (default) (embed) not ok 1 - wrap doesn't die 1..1 not ok 2 - validate_args=1 (default) (embed) # Subtest: validate_args=0 (dynamic) ok 1 - wrap doesn't die # Subtest: call #1: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 2 - call \#1: # Subtest: call #2: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 3 - call \#2: # Subtest: call #3: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 4 - call \#3: # Subtest: call #4: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 5 - call \#4: # Subtest: call #5: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 6 - call \#5: # Subtest: call #6: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 7 - call \#6: 1..7 ok 3 - validate_args=0 (dynamic) # Subtest: validate_args=0 (embed) ok 1 - wrap doesn't die ok 2 - embed code compiles ok # Subtest: call #1: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 3 - call \#1: # Subtest: call #2: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 4 - call \#2: # Subtest: call #3: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 5 - call \#3: # Subtest: call #4: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 6 - call \#4: # Subtest: call #5: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 7 - call \#5: # Subtest: call #6: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 8 - call \#6: 1..8 ok 4 - validate_args=0 (embed) 1..4 not ok 1 - arg: validate_args 1..1 Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests t/opt-validate_result.t ........ ok 1 - already tested in prop-result.t 1..1 ok # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 517. # Looks like you failed 1 test of 1. # Failed test 'req arg + schema req no schema default (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'req arg + schema req no schema default (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'req arg + schema no req with schema default (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'req arg + schema no req with schema default (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'req arg + schema no req no schema default (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'req arg + schema no req no schema default (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'no req arg + schema with schema default (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'no req arg + schema with schema default (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'normal (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'normal (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'req (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'req (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'default prop supersedes schema default (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'default prop supersedes schema default (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Looks like you failed 6 tests of 6. # Failed test 'spec key: default' # at t/prop-args.t line 157. # Looks like you failed 9 tests of 21. # Failed test 'prop: args' # at t/prop-args.t line 159. # Looks like you failed 1 test of 1. t/prop-args.t .................. # Subtest: prop: args # Subtest: unknown arg spec key -> dies (dynamic) ok 1 - wrap dies 1..1 ok 1 - unknown arg spec key -> dies (dynamic) # Subtest: unknown arg spec key -> dies (embed) ok 1 - wrap dies 1..1 ok 2 - unknown arg spec key -> dies (embed) # Subtest: arg spec key x (dynamic) ok 1 - wrap doesn't die 1..1 ok 3 - arg spec key x (dynamic) # Subtest: arg spec key x (embed) ok 1 - wrap doesn't die ok 2 - embed code compiles ok 1..2 ok 4 - arg spec key x (embed) # Subtest: arg spec key prefixed by _ is ignored (dynamic) ok 1 - wrap doesn't die 1..1 ok 5 - arg spec key prefixed by _ is ignored (dynamic) # Subtest: arg spec key prefixed by _ is ignored (embed) ok 1 - wrap doesn't die ok 2 - embed code compiles ok 1..2 ok 6 - arg spec key prefixed by _ is ignored (embed) # Subtest: arg spec key prefixed by _ is ignored (dynamic) ok 1 - wrap doesn't die 1..1 ok 7 - arg spec key prefixed by _ is ignored (dynamic) # Subtest: arg spec key prefixed by _ is ignored (embed) ok 1 - wrap doesn't die ok 2 - embed code compiles ok 1..2 ok 8 - arg spec key prefixed by _ is ignored (embed) # Subtest: req arg + schema req no schema default (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 9 - req arg + schema req no schema default (dynamic) # Subtest: req arg + schema req no schema default (embed) not ok 1 - wrap doesn't die 1..1 not ok 10 - req arg + schema req no schema default (embed) # Subtest: req arg + schema no req with schema default (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 11 - req arg + schema no req with schema default (dynamic) # Subtest: req arg + schema no req with schema default (embed) not ok 1 - wrap doesn't die 1..1 not ok 12 - req arg + schema no req with schema default (embed) # Subtest: req arg + schema no req no schema default (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 13 - req arg + schema no req no schema default (dynamic) # Subtest: req arg + schema no req no schema default (embed) not ok 1 - wrap doesn't die 1..1 not ok 14 - req arg + schema no req no schema default (embed) # Subtest: req arg + no schema (dynamic) ok 1 - wrap doesn't die # Subtest: call #1: missing arg ok 1 - doesn't die ok 2 - res is array ok 3 - status is 400 1..3 ok 2 - call \#1: missing arg # Subtest: call #2: undef arg value 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 15 - req arg + no schema (dynamic) # Subtest: req arg + no schema (embed) ok 1 - wrap doesn't die ok 2 - embed code compiles ok # Subtest: call #1: missing arg ok 1 - doesn't die ok 2 - res is array ok 3 - status is 400 1..3 ok 3 - call \#1: missing arg # Subtest: call #2: undef arg value ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 4 - call \#2: undef arg value 1..4 ok 16 - req arg + no schema (embed) # Subtest: no req arg + schema no req with schema default (dynamic) ok 1 - wrap doesn't die # Subtest: call #1: missing arg ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 2 - call \#1: missing arg # Subtest: call #2: undef arg value 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 17 - no req arg + schema no req with schema default (dynamic) # Subtest: no req arg + schema no req with schema default (embed) ok 1 - wrap doesn't die ok 2 - embed code compiles ok # Subtest: call #1: missing arg ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 3 - call \#1: missing arg # Subtest: call #2: undef arg value ok 1 - doesn't die ok 2 - res is array ok 3 - status is 200 1..3 ok 4 - call \#2: undef arg value 1..4 ok 18 - no req arg + schema no req with schema default (embed) # Subtest: no req arg + schema with schema default (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 19 - no req arg + schema with schema default (dynamic) # Subtest: no req arg + schema with schema default (embed) not ok 1 - wrap doesn't die 1..1 not ok 20 - no req arg + schema with schema default (embed) # Subtest: spec key: default # Subtest: normal (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 1 - normal (dynamic) # Subtest: normal (embed) not ok 1 - wrap doesn't die 1..1 not ok 2 - normal (embed) # Subtest: req (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 3 - req (dynamic) # Subtest: req (embed) not ok 1 - wrap doesn't die 1..1 not ok 4 - req (embed) # Subtest: default prop supersedes schema default (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 5 - default prop supersedes schema default (dynamic) # Subtest: default prop supersedes schema default (embed) not ok 1 - wrap doesn't die 1..1 not ok 6 - default prop supersedes schema default (embed) 1..6 not ok 21 - spec key: default 1..21 not ok 1 - prop: args 1..1 Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 517. # Looks like you failed 1 test of 1. # Failed test 'args_as=hash (default) (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'args_as=hash (default) (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'args_as=hashref (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'args_as=hashref (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'args_as=array (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'args_as=array (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'args_as=arrayref (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'args_as=arrayref (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'convert args_as hash -> array (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'convert args_as hash -> array (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'convert args_as array -> hash (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'convert args_as array -> hash (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Looks like you failed 12 tests of 12. # Failed test 'prop: args_as' # at t/prop-args_as.t line 100. # Looks like you failed 1 test of 1. t/prop-args_as.t ............... # Subtest: prop: args_as # Subtest: args_as=hash (default) (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 1 - args_as=hash (default) (dynamic) # Subtest: args_as=hash (default) (embed) not ok 1 - wrap doesn't die 1..1 not ok 2 - args_as=hash (default) (embed) # Subtest: args_as=hashref (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 3 - args_as=hashref (dynamic) # Subtest: args_as=hashref (embed) not ok 1 - wrap doesn't die 1..1 not ok 4 - args_as=hashref (embed) # Subtest: args_as=array (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 5 - args_as=array (dynamic) # Subtest: args_as=array (embed) not ok 1 - wrap doesn't die 1..1 not ok 6 - args_as=array (embed) # Subtest: args_as=arrayref (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 7 - args_as=arrayref (dynamic) # Subtest: args_as=arrayref (embed) not ok 1 - wrap doesn't die 1..1 not ok 8 - args_as=arrayref (embed) # Subtest: convert args_as hash -> array (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 9 - convert args_as hash -> array (dynamic) # Subtest: convert args_as hash -> array (embed) not ok 1 - wrap doesn't die 1..1 not ok 10 - convert args_as hash -> array (embed) # Subtest: convert args_as array -> hash (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 11 - convert args_as array -> hash (dynamic) # Subtest: convert args_as array -> hash (embed) not ok 1 - wrap doesn't die 1..1 not ok 12 - convert args_as array -> hash (embed) 1..12 not ok 1 - prop: args_as 1..1 Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests t/prop-deps.t .................. # Subtest: deps 1 (dynamic) 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 (dynamic) # Subtest: deps 1 (embed) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - embed code compiles ok ok 5 - call doesn't die ok 6 - call res is array ok 7 - call status is 412 1..7 ok 2 - deps 1 (embed) # Subtest: deps 2 (dynamic) 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 3 - deps 2 (dynamic) # Subtest: deps 2 (embed) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - embed code compiles ok ok 5 - call doesn't die ok 6 - call res is array ok 7 - call status is 200 1..7 ok 4 - deps 2 (embed) 1..4 ok t/prop-features.t .............. # Subtest: deps 1 (dynamic) 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 (dynamic) # Subtest: deps 1 (embed) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - embed code compiles ok ok 5 - call doesn't die ok 6 - call res is array ok 7 - call status is 412 1..7 ok 2 - deps 1 (embed) # Subtest: deps 1 (dynamic) 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 3 - deps 1 (dynamic) # Subtest: deps 1 (embed) ok 1 - wrap doesn't die ok 2 - wrap res is array ok 3 - wrap status is 200 ok 4 - embed code compiles ok ok 5 - call doesn't die ok 6 - call res is array ok 7 - call status is 200 1..7 ok 4 - deps 1 (embed) 1..4 ok # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 606. # Looks like you failed 1 test of 1. # Failed test 'result spec key x (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 606. # Looks like you failed 1 test of 1. # Failed test 'result spec key x (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 606. # Looks like you failed 1 test of 1. # Failed test 'result spec key prefixed by _ is ignored (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 606. # Looks like you failed 1 test of 1. # Failed test 'result spec key prefixed by _ is ignored (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 606. # Looks like you failed 1 test of 1. # Failed test 'basics (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 606. # Looks like you failed 1 test of 1. # Failed test 'basics (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 606. # Looks like you failed 1 test of 1. # Failed test 'opt: validate_result=0 (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 606. # Looks like you failed 1 test of 1. # Failed test 'opt: validate_result=0 (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Looks like you failed 8 tests of 12. # Failed test 'prop: result' # at t/prop-result.t line 63. # Looks like you failed 1 test of 1. t/prop-result.t ................ # Subtest: prop: result # Subtest: unknown result spec key -> dies (dynamic) ok 1 - wrap dies 1..1 ok 1 - unknown result spec key -> dies (dynamic) # Subtest: unknown result spec key -> dies (embed) ok 1 - wrap dies 1..1 ok 2 - unknown result spec key -> dies (embed) # Subtest: result spec key x (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 3 - result spec key x (dynamic) # Subtest: result spec key x (embed) not ok 1 - wrap doesn't die 1..1 not ok 4 - result spec key x (embed) # Subtest: result spec key prefixed by _ is ignored (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 5 - result spec key prefixed by _ is ignored (dynamic) # Subtest: result spec key prefixed by _ is ignored (embed) not ok 1 - wrap doesn't die 1..1 not ok 6 - result spec key prefixed by _ is ignored (embed) # Subtest: wrapper checks that sub produces enveloped result (dynamic) ok 1 - wrap doesn't die # Subtest: call #1: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 500 1..3 ok 2 - call \#1: 1..2 ok 7 - wrapper checks that sub produces enveloped result (dynamic) # Subtest: wrapper checks that sub produces enveloped result (embed) ok 1 - wrap doesn't die ok 2 - embed code compiles ok # Subtest: call #1: ok 1 - doesn't die ok 2 - res is array ok 3 - status is 500 1..3 ok 3 - call \#1: 1..3 ok 8 - wrapper checks that sub produces enveloped result (embed) # Subtest: basics (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 9 - basics (dynamic) # Subtest: basics (embed) not ok 1 - wrap doesn't die 1..1 not ok 10 - basics (embed) # Subtest: opt: validate_result=0 (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 11 - opt: validate_result=0 (dynamic) # Subtest: opt: validate_result=0 (embed) not ok 1 - wrap doesn't die 1..1 not ok 12 - opt: validate_result=0 (embed) 1..12 not ok 1 - prop: result 1..1 Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't locate Data/Sah.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 517. # Looks like you failed 1 test of 1. # Failed test 'convert result_naked 0->1 (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'convert result_naked 0->1 (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'convert result_naked 1->0 (dynamic)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Failed test 'wrap doesn't die' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 46. # Can't call method "compile" on an undefined value at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Perinci/Sub/Wrapper.pm line 572. # Looks like you failed 1 test of 1. # Failed test 'convert result_naked 1->0 (embed)' # at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw\blib\lib/Test/Perinci/Sub/Wrapper.pm line 191. # Looks like you failed 4 tests of 4. # Failed test 'prop: result_naked' # at t/prop-result_naked.t line 39. # Looks like you failed 1 test of 1. t/prop-result_naked.t .......... # Subtest: prop: result_naked # Subtest: convert result_naked 0->1 (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 1 - convert result_naked 0->1 (dynamic) # Subtest: convert result_naked 0->1 (embed) not ok 1 - wrap doesn't die 1..1 not ok 2 - convert result_naked 0->1 (embed) # Subtest: convert result_naked 1->0 (dynamic) not ok 1 - wrap doesn't die 1..1 not ok 3 - convert result_naked 1->0 (dynamic) # Subtest: convert result_naked 1->0 (embed) not ok 1 - wrap doesn't die 1..1 not ok 4 - convert result_naked 1->0 (embed) 1..4 not ok 1 - prop: result_naked 1..1 Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 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/opt-_schema_is_normalized.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 t/opt-validate_args.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 t/prop-args.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 t/prop-args_as.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 t/prop-result.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 t/prop-result_naked.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=17, Tests=25, 3 wallclock secs ( 0.08 usr + 0.03 sys = 0.11 CPU) Result: FAIL Failed 6/17 test programs. 6/25 subtests failed. NMAKE : fatal error U1077: 'C:\Perl64-5.14\bin\perl.exe' : return code '0xff' Stop. SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz one dependency not OK (Data::Sah); additionally test harness failed nmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz Running test for module 'Perinci::Sub::Complete' Running make for S/SH/SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Perinci-Sub-Complete-0.53.tar.gz ok Perinci-Sub-Complete-0.53/ Perinci-Sub-Complete-0.53/README Perinci-Sub-Complete-0.53/lib/ Perinci-Sub-Complete-0.53/lib/Perinci/ Perinci-Sub-Complete-0.53/lib/Perinci/Sub/ Perinci-Sub-Complete-0.53/lib/Perinci/Sub/Complete.pm Perinci-Sub-Complete-0.53/Makefile.PL Perinci-Sub-Complete-0.53/Changes Perinci-Sub-Complete-0.53/dist.ini Perinci-Sub-Complete-0.53/LICENSE Perinci-Sub-Complete-0.53/t/ Perinci-Sub-Complete-0.53/t/00-compile.t Perinci-Sub-Complete-0.53/t/complete_from_schema.t Perinci-Sub-Complete-0.53/t/complete_cli_arg.t Perinci-Sub-Complete-0.53/t/complete_arg_val.t Perinci-Sub-Complete-0.53/t/release-pod-coverage.t Perinci-Sub-Complete-0.53/t/release-pod-syntax.t Perinci-Sub-Complete-0.53/t/release-rinci.t Perinci-Sub-Complete-0.53/t/complete_arg_elem.t Perinci-Sub-Complete-0.53/weaver.ini Perinci-Sub-Complete-0.53/MANIFEST Perinci-Sub-Complete-0.53/META.json Perinci-Sub-Complete-0.53/META.yml Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Makefile.PL Warning: prerequisite Complete::Util 0.12 not found. Warning: prerequisite Data::Sah 0.18 not found. Warning: prerequisite Perinci::Sub::Util 0.38 not found. We have 0.37. Checking if your kit is complete... Looks good Generating a nmake-style Makefile Writing Makefile for Perinci::Sub::Complete Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz ---- Complete::Util [requires] Data::Sah [requires] Perinci::Sub::Util [requires] Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Delayed until after prerequisites Running test for module 'Complete::Util' Running make for S/SH/SHARYANTO/Complete-Util-0.13.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Complete-Util-0.13-cKr_Y5 Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' Has already been made Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Won't repeat unsuccessful test during this command Has already been tested within this command Running test for module 'Data::Sah' Running make for S/SH/SHARYANTO/Data-Sah-0.29.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Data-Sah-0.29-bpnmXP Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' Has already been made Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Won't repeat unsuccessful test during this command Has already been tested within this command Running test for module 'Perinci::Sub::Util' Running make for S/SH/SHARYANTO/Perinci-Sub-Util-0.38.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Perinci-Sub-Util-0.38.tar.gz ok Perinci-Sub-Util-0.38/ Perinci-Sub-Util-0.38/README Perinci-Sub-Util-0.38/lib/ Perinci-Sub-Util-0.38/lib/Perinci/ Perinci-Sub-Util-0.38/lib/Perinci/Sub/ Perinci-Sub-Util-0.38/lib/Perinci/Sub/Util.pm Perinci-Sub-Util-0.38/Makefile.PL Perinci-Sub-Util-0.38/Changes Perinci-Sub-Util-0.38/dist.ini Perinci-Sub-Util-0.38/LICENSE Perinci-Sub-Util-0.38/t/ Perinci-Sub-Util-0.38/t/00-compile.t Perinci-Sub-Util-0.38/t/release-pod-coverage.t Perinci-Sub-Util-0.38/t/caller.t Perinci-Sub-Util-0.38/t/release-pod-syntax.t Perinci-Sub-Util-0.38/t/err.t Perinci-Sub-Util-0.38/t/release-rinci.t Perinci-Sub-Util-0.38/t/gen_modified_sub.t Perinci-Sub-Util-0.38/weaver.ini Perinci-Sub-Util-0.38/MANIFEST Perinci-Sub-Util-0.38/META.json Perinci-Sub-Util-0.38/META.yml Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-Sub-Util-0.38.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Makefile.PL Checking if your kit is complete... Looks good Generating a nmake-style Makefile Writing Makefile for Perinci::Sub::Util Writing MYMETA.yml and MYMETA.json >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/Perinci/Sub/Util.pm blib\lib\Perinci\Sub\Util.pm SHARYANTO/Perinci-Sub-Util-0.38.tar.gz nmake -- OK Prepending C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl64-5.14\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/00-compile.t ............ 1..1 ok 1 - Perinci/Sub/Util.pm loaded ok ok t/caller.t ................ skipped: Perinci::Sub::Wrapper needed for this test t/err.t ................... # Subtest: defaults ok 1 - func doesn't die ok 2 - result is defined ok 3 - result is an array ok 4 - status is 500 ok 5 - message ok 6 - result ok 7 - result metadata is hash 1..7 ok 1 - defaults # Subtest: set status ok 1 - func doesn't die ok 2 - result is defined ok 3 - result is an array ok 4 - status is 400 1..4 ok 2 - set status # Subtest: set message ok 1 - func doesn't die ok 2 - result is defined ok 3 - result is an array ok 4 - status is 500 ok 5 - message 1..5 ok 3 - set message # Subtest: set prev ok 1 - func doesn't die ok 2 - result is defined ok 3 - result is an array ok 4 - status is 400 ok 5 - message ok 6 - prev 1..6 ok 4 - set prev # Subtest: caller ok 1 - func doesn't die ok 2 - result is defined ok 3 - result is an array ok 4 - status is 500 ok 5 - message ok 6 - log[0] type ok 7 - log[0] time ok 8 - log[0] package ok 9 - log[0] func ok 10 - log[0] line 1..10 ok 5 - caller # Subtest: stack_trace ok 1 - func doesn't die ok 2 - result is defined ok 3 - result is an array ok 4 - status is 500 ok 5 - stack_trace 1..5 ok 6 - stack_trace # Subtest: stack_trace only produced once ok 1 - func doesn't die ok 2 - result is defined ok 3 - result is an array ok 4 - status is 501 ok 5 - stack_trace 1..5 ok 7 - stack_trace only produced once 1..7 ok t/gen_modified_sub.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 All tests successful. Files=7, Tests=10, 0 wallclock secs ( 0.09 usr + 0.02 sys = 0.11 CPU) Result: PASS SHARYANTO/Perinci-Sub-Util-0.38.tar.gz nmake test TEST_VERBOSE=1 -- OK PPD for Perinci-Sub-Util-0.38 already made Running make for S/SH/SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz Warning: Prerequisite 'Complete::Util => 0.12' for 'SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz' failed when processing 'SHARYANTO/Complete-Util-0.13.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Data::Sah => 0.18' for 'SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz' failed when processing 'SHARYANTO/Data-Sah-0.29.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/Perinci/Sub/Complete.pm blib\lib\Perinci\Sub\Complete.pm SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz nmake -- OK Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl64-5.14\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t # Failed test 'Perinci/Sub/Complete.pm loaded ok' # at t/00-compile.t line 37. # got: '512' # expected: '0' Can't locate Complete/Util.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb\blib\lib/Perinci/Sub/Complete.pm line 11. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb\blib\lib/Perinci/Sub/Complete.pm line 15. Compilation failed in require at -e line 1. # Looks like you failed 1 test of 1. t/00-compile.t ............ 1..1 not ok 1 - Perinci/Sub/Complete.pm loaded ok Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests t/complete_arg_elem.t ..... ok 1 1..1 ok t/complete_arg_val.t ...... ok 1 1..1 ok Can't locate Complete/Util.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at t/complete_cli_arg.t line 8. BEGIN failed--compilation aborted at t/complete_cli_arg.t line 8. t/complete_cli_arg.t ...... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Can't locate Complete/Util.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb\blib\lib/Perinci/Sub/Complete.pm line 11. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb\blib\lib/Perinci/Sub/Complete.pm line 15. Compilation failed in require at t/complete_from_schema.t line 7. BEGIN failed--compilation aborted at t/complete_from_schema.t line 7. t/complete_from_schema.t .. Dubious, test returned 2 (wstat 512, 0x200) No subtests run 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/00-compile.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 t/complete_cli_arg.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/complete_from_schema.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output Files=8, Tests=3, 1 wallclock secs ( 0.11 usr + 0.00 sys = 0.11 CPU) Result: FAIL Failed 3/8 test programs. 1/3 subtests failed. NMAKE : fatal error U1077: 'C:\Perl64-5.14\bin\perl.exe' : return code '0xff' Stop. SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz 2 dependencies missing (Data::Sah,Complete::Util); additionally test harness failed nmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz Running test for module 'Perinci::Access::Schemeless' Running make for S/SH/SHARYANTO/Perinci-Access-Perl-0.69.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Perinci-Access-Perl-0.69.tar.gz ok Perinci-Access-Perl-0.69/ Perinci-Access-Perl-0.69/README Perinci-Access-Perl-0.69/lib/ Perinci-Access-Perl-0.69/lib/Perinci/ Perinci-Access-Perl-0.69/lib/Perinci/Access/ Perinci-Access-Perl-0.69/lib/Perinci/Access/Schemeless.pm Perinci-Access-Perl-0.69/lib/Perinci/Access/Perl.pm Perinci-Access-Perl-0.69/Makefile.PL Perinci-Access-Perl-0.69/Changes Perinci-Access-Perl-0.69/dist.ini Perinci-Access-Perl-0.69/LICENSE Perinci-Access-Perl-0.69/t/ Perinci-Access-Perl-0.69/t/00-compile.t Perinci-Access-Perl-0.69/t/schemeless-patch.t Perinci-Access-Perl-0.69/t/perl.t Perinci-Access-Perl-0.69/t/release-pod-coverage.t Perinci-Access-Perl-0.69/t/release-pod-syntax.t Perinci-Access-Perl-0.69/t/release-rinci.t Perinci-Access-Perl-0.69/t/schemeless.t Perinci-Access-Perl-0.69/weaver.ini Perinci-Access-Perl-0.69/MANIFEST Perinci-Access-Perl-0.69/META.json Perinci-Access-Perl-0.69/META.yml Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-Access-Perl-0.69.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Makefile.PL Warning: prerequisite Perinci::Sub::Complete 0 not found. Warning: prerequisite Perinci::Sub::Wrapper 0.60 not found. We have 0.30. Checking if your kit is complete... Looks good Generating a nmake-style Makefile Writing Makefile for Perinci::Access::Perl Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/Perinci-Access-Perl-0.69.tar.gz ---- Perinci::Sub::Wrapper [requires] Perinci::Sub::Complete [requires] Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Delayed until after prerequisites Running test for module 'Perinci::Sub::Wrapper' Running make for S/SH/SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Wrapper-0.61-vFr5Fw Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' Warning: Prerequisite 'Data::Sah => 0.14' for 'SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz' failed when processing 'SHARYANTO/Data-Sah-0.29.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. Has already been made Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Won't repeat unsuccessful test during this command Has already been tested within this command Running test for module 'Perinci::Sub::Complete' Running make for S/SH/SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Complete-0.53-nYuxCb Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' Warning: Prerequisite 'Complete::Util => 0.12' for 'SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz' failed when processing 'SHARYANTO/Complete-Util-0.13.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Data::Sah => 0.18' for 'SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz' failed when processing 'SHARYANTO/Data-Sah-0.29.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. Has already been made Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Won't repeat unsuccessful test during this command Has already been tested within this command Running make for S/SH/SHARYANTO/Perinci-Access-Perl-0.69.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Perinci-Access-Perl-0.69-waWfDN Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-Access-Perl-0.69.tar.gz Warning: Prerequisite 'Perinci::Sub::Wrapper => 0.60' for 'SHARYANTO/Perinci-Access-Perl-0.69.tar.gz' failed when processing 'SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz' with 'make_test => NO one dependency not OK (Data::Sah); additionally test harness failed'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Perinci::Sub::Complete => 0' for 'SHARYANTO/Perinci-Access-Perl-0.69.tar.gz' failed when processing 'SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz' with 'make_test => NO 2 dependencies missing (Data::Sah,Complete::Util); additionally test harness failed'. Continuing, but chances to succeed are limited. >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/Perinci/Access/Schemeless.pm blib\lib\Perinci\Access\Schemeless.pm cp lib/Perinci/Access/Perl.pm blib\lib\Perinci\Access\Perl.pm SHARYANTO/Perinci-Access-Perl-0.69.tar.gz nmake -- OK Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl64-5.14\bin\perl.exe "-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/perl.t .................. # Subtest: request # Subtest: only pl scheme is accepted # Subtest: (req: info foo:/) ok 1 - status 1..1 ok 1 - (req: info foo:/) # Subtest: (req: info pm:/) ok 1 - status 1..1 ok 2 - (req: info pm:/) # Subtest: (req: info pl:/) ok 1 - status 1..1 ok 3 - (req: info pl:/) # Subtest: (req: info /) ok 1 - status 1..1 ok 4 - (req: info /) 1..4 ok 1 - only pl scheme is accepted 1..1 ok 1 - request # Subtest: parse_url 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 t/schemeless-patch.t ...... ok 1 1..1 ok "get_package_meta_accessor" is not exported by the Perinci::Util module Can't continue after import errors at C:/cpanfly-5.14/var/megalib/Perinci/Sub/Wrapper.pm line 8. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Perinci/Sub/Wrapper.pm line 8. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Perinci-Access-Perl-0.69-waWfDN\blib\lib/Perinci/Access/Schemeless.pm line 410. # 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 C:/cpanfly-5.14/var/megalib/Test/Builder.pm line 276. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 255 just after 3. t/schemeless.t ............ # Subtest: __match_paths ok 1 - / vs /a ok 2 - / vs /a/ ok 3 - /a vs /a ok 4 - /a/ vs /a ok 5 - /a vs /a/ ok 6 - /a/ vs /a/ ok 7 - /ab vs /a ok 8 - /ab vs /a/ ok 9 - /a/b vs /a ok 10 - /a/b vs /a/ ok 11 - /a/b/c vs /a/b ok 12 - /a/bc vs /a/b ok 13 - / vs /a/b/ ok 14 - / vs /a/b/ ok 15 - /a vs /a/b ok 16 - /a vs /a/b/ ok 17 - /a/ vs /a/b ok 18 - /a/ vs /a/b/ ok 19 - /a/ vs /a/b ok 20 - /a/b/ vs /a/b ok 21 - /a/b vs /a/b/ ok 22 - /a/b/ vs /a/b/ ok 23 - /a vs qr{\A/a(?:/|\z)} ok 24 - /a vs qr{\A/a(?:/|\z)} ok 25 - /a/b vs qr{\A/a(?:/|\z)} ok 26 - /ab vs qr{\A/a(?:/|\z)} 1..26 ok 1 - __match_paths # Subtest: __match_paths2 ok 1 - / vs /a ok 2 - / vs /a/ ok 3 - /a vs /a ok 4 - /a/ vs /a ok 5 - /a vs /a/ ok 6 - /a/ vs /a/ ok 7 - /ab vs /a ok 8 - /ab vs /a/ ok 9 - /a/b vs /a ok 10 - /a/b vs /a/ ok 11 - / vs /a/b/ ok 12 - / vs /a/b/ ok 13 - /a vs /a/b ok 14 - /a vs /a/b/ ok 15 - /a/ vs /a/b ok 16 - /a/ vs /a/b/ ok 17 - /a/b vs /a/b ok 18 - /a/b/ vs /a/b ok 19 - /a/b vs /a/b/ ok 20 - /a/b/ vs /a/b/ ok 21 - /a/b/c vs /a/b ok 22 - /a/bc vs /a/b ok 23 - /a vs qr{\A/a(?:/|\z)} ok 24 - /a vs qr{\A/a(?:/|\z)} ok 25 - /a/b vs qr{\A/a(?:/|\z)} ok 26 - /ab vs qr{\A/a(?:/|\z)} 1..26 ok 2 - __match_paths2 # Subtest: opt: after_load called (req: call /Perinci/Examples/noop) not ok 3 - opt: after_load called (req: call /Perinci/Examples/noop) Dubious, test returned 255 (wstat 65280, 0xff00) Failed 1/3 subtests Test Summary Report ------------------- t/schemeless.t (Wstat: 65280 Tests: 3 Failed: 1) Failed test: 3 Non-zero exit status: 255 Parse errors: No plan found in TAP output Files=7, Tests=8, 2 wallclock secs ( 0.06 usr + 0.00 sys = 0.06 CPU) Result: FAIL Failed 1/7 test programs. 1/8 subtests failed. NMAKE : fatal error U1077: 'C:\Perl64-5.14\bin\perl.exe' : return code '0xff' Stop. SHARYANTO/Perinci-Access-Perl-0.69.tar.gz one dependency not OK (Perinci::Sub::Complete); additionally test harness failed nmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Perinci-Access-Perl-0.69.tar.gz Running test for module 'Text::ANSITable' Running make for S/SH/SHARYANTO/Text-ANSITable-0.34.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Text-ANSITable-0.34.tar.gz ok Text-ANSITable-0.34/ Text-ANSITable-0.34/bin/ Text-ANSITable-0.34/bin/ansitable-list-style-sets Text-ANSITable-0.34/bin/ansitable-list-color-themes Text-ANSITable-0.34/bin/ansitable-list-border-styles Text-ANSITable-0.34/README Text-ANSITable-0.34/lib/ Text-ANSITable-0.34/lib/Text/ Text-ANSITable-0.34/lib/Text/ANSITable/ Text-ANSITable-0.34/lib/Text/ANSITable/BorderStyle/ Text-ANSITable-0.34/lib/Text/ANSITable/BorderStyle/Default.pm Text-ANSITable-0.34/lib/Text/ANSITable/StyleSet/ Text-ANSITable-0.34/lib/Text/ANSITable/StyleSet/AltRow.pm Text-ANSITable-0.34/lib/Text/ANSITable/ColorTheme/ Text-ANSITable-0.34/lib/Text/ANSITable/ColorTheme/Default.pm Text-ANSITable-0.34/lib/Text/ANSITable.pm Text-ANSITable-0.34/Makefile.PL Text-ANSITable-0.34/Changes Text-ANSITable-0.34/dist.ini Text-ANSITable-0.34/LICENSE Text-ANSITable-0.34/t/ Text-ANSITable-0.34/t/00-compile.t Text-ANSITable-0.34/t/01-basics.t Text-ANSITable-0.34/t/release-pod-coverage.t Text-ANSITable-0.34/t/release-pod-syntax.t Text-ANSITable-0.34/t/release-rinci.t Text-ANSITable-0.34/weaver.ini Text-ANSITable-0.34/MANIFEST Text-ANSITable-0.34/META.json Text-ANSITable-0.34/META.yml Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Text-ANSITable-0.34.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Makefile.PL Warning: prerequisite Data::Unixish::ANSI 0.02 not found. Warning: prerequisite Data::Unixish::Apply 1.33 not found. We have 1.25. Checking if your kit is complete... Looks good Generating a nmake-style Makefile Writing Makefile for Text::ANSITable Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/Text-ANSITable-0.34.tar.gz ---- Data::Unixish::Apply [requires] Data::Unixish::ANSI [requires] Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Delayed until after prerequisites Running test for module 'Data::Unixish::Apply' Running make for S/SH/SHARYANTO/Data-Unixish-1.47.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Data-Unixish-1.47.tar.gz ok Data-Unixish-1.47/ Data-Unixish-1.47/README Data-Unixish-1.47/lib/ Data-Unixish-1.47/lib/Test/ Data-Unixish-1.47/lib/Test/Data/ Data-Unixish-1.47/lib/Test/Data/Unixish.pm Data-Unixish-1.47/lib/Data/ Data-Unixish-1.47/lib/Data/Unixish.pm Data-Unixish-1.47/lib/Data/Unixish/ Data-Unixish-1.47/lib/Data/Unixish/yes.pm Data-Unixish-1.47/lib/Data/Unixish/sprintf.pm Data-Unixish-1.47/lib/Data/Unixish/pick.pm Data-Unixish-1.47/lib/Data/Unixish/sort.pm Data-Unixish-1.47/lib/Data/Unixish/randstr.pm Data-Unixish-1.47/lib/Data/Unixish/sum.pm Data-Unixish-1.47/lib/Data/Unixish/bool.pm Data-Unixish-1.47/lib/Data/Unixish/ucfirst.pm Data-Unixish-1.47/lib/Data/Unixish/rpad.pm Data-Unixish-1.47/lib/Data/Unixish/lins.pm Data-Unixish-1.47/lib/Data/Unixish/rand.pm Data-Unixish-1.47/lib/Data/Unixish/rins.pm Data-Unixish-1.47/lib/Data/Unixish/avg.pm Data-Unixish-1.47/lib/Data/Unixish/uc.pm Data-Unixish-1.47/lib/Data/Unixish/num.pm Data-Unixish-1.47/lib/Data/Unixish/indent.pm Data-Unixish-1.47/lib/Data/Unixish/sprintfn.pm Data-Unixish-1.47/lib/Data/Unixish/cond.pm Data-Unixish-1.47/lib/Data/Unixish/_pad.pm Data-Unixish-1.47/lib/Data/Unixish/lpad.pm Data-Unixish-1.47/lib/Data/Unixish/shuf.pm Data-Unixish-1.47/lib/Data/Unixish/trunc.pm Data-Unixish-1.47/lib/Data/Unixish/cat.pm Data-Unixish-1.47/lib/Data/Unixish/wrap.pm Data-Unixish-1.47/lib/Data/Unixish/wc.pm Data-Unixish-1.47/lib/Data/Unixish/rtrim.pm Data-Unixish-1.47/lib/Data/Unixish/Apply.pm Data-Unixish-1.47/lib/Data/Unixish/tail.pm Data-Unixish-1.47/lib/Data/Unixish/ltrim.pm Data-Unixish-1.47/lib/Data/Unixish/map.pm Data-Unixish-1.47/lib/Data/Unixish/head.pm Data-Unixish-1.47/lib/Data/Unixish/date.pm Data-Unixish-1.47/lib/Data/Unixish/chain.pm Data-Unixish-1.47/lib/Data/Unixish/Util.pm Data-Unixish-1.47/lib/Data/Unixish/trim.pm Data-Unixish-1.47/lib/Data/Unixish/lcfirst.pm Data-Unixish-1.47/lib/Data/Unixish/rev.pm Data-Unixish-1.47/lib/Data/Unixish/centerpad.pm Data-Unixish-1.47/lib/Data/Unixish/linum.pm Data-Unixish-1.47/lib/Data/Unixish/grep.pm Data-Unixish-1.47/lib/Data/Unixish/lc.pm Data-Unixish-1.47/Makefile.PL Data-Unixish-1.47/Changes Data-Unixish-1.47/dist.ini Data-Unixish-1.47/LICENSE Data-Unixish-1.47/t/ Data-Unixish-1.47/t/lc.t Data-Unixish-1.47/t/00-compile.t Data-Unixish-1.47/t/centerpad.t Data-Unixish-1.47/t/01-basics.t Data-Unixish-1.47/t/wrap.t Data-Unixish-1.47/t/ltrim.t Data-Unixish-1.47/t/rpad.t Data-Unixish-1.47/t/date.t Data-Unixish-1.47/t/trunc.t Data-Unixish-1.47/t/Apply.t Data-Unixish-1.47/t/sum.t Data-Unixish-1.47/t/shuf.t Data-Unixish-1.47/t/pick.t Data-Unixish-1.47/t/release-pod-coverage.t Data-Unixish-1.47/t/grep.t Data-Unixish-1.47/t/rand.t Data-Unixish-1.47/t/num.t Data-Unixish-1.47/t/linum.t Data-Unixish-1.47/t/lins.t Data-Unixish-1.47/t/release-pod-syntax.t Data-Unixish-1.47/t/map.t Data-Unixish-1.47/t/trim.t Data-Unixish-1.47/t/rev.t Data-Unixish-1.47/t/ucfirst.t Data-Unixish-1.47/t/cat.t Data-Unixish-1.47/t/lpad.t Data-Unixish-1.47/t/wc.t Data-Unixish-1.47/t/head.t Data-Unixish-1.47/t/cond.t Data-Unixish-1.47/t/uc.t Data-Unixish-1.47/t/Util.t Data-Unixish-1.47/t/rins.t Data-Unixish-1.47/t/release-rinci.t Data-Unixish-1.47/t/tail.t Data-Unixish-1.47/t/avg.t Data-Unixish-1.47/t/sort.t Data-Unixish-1.47/t/rtrim.t Data-Unixish-1.47/t/lcfirst.t Data-Unixish-1.47/t/bool.t Data-Unixish-1.47/t/chain.t Data-Unixish-1.47/t/indent.t Data-Unixish-1.47/t/sprintfn.t Data-Unixish-1.47/t/sprintf.t Data-Unixish-1.47/weaver.ini Data-Unixish-1.47/MANIFEST Data-Unixish-1.47/META.json Data-Unixish-1.47/META.yml Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Data-Unixish-1.47.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Makefile.PL Checking if your kit is complete... Looks good Generating a nmake-style Makefile Writing Makefile for Data::Unixish Writing MYMETA.yml and MYMETA.json >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/Data/Unixish/Util.pm blib\lib\Data\Unixish\Util.pm cp lib/Data/Unixish/date.pm blib\lib\Data\Unixish\date.pm cp lib/Data/Unixish/_pad.pm blib\lib\Data\Unixish\_pad.pm cp lib/Data/Unixish/lc.pm blib\lib\Data\Unixish\lc.pm cp lib/Data/Unixish/grep.pm blib\lib\Data\Unixish\grep.pm cp lib/Data/Unixish/cat.pm blib\lib\Data\Unixish\cat.pm cp lib/Data/Unixish/ltrim.pm blib\lib\Data\Unixish\ltrim.pm cp lib/Data/Unixish.pm blib\lib\Data\Unixish.pm cp lib/Data/Unixish/avg.pm blib\lib\Data\Unixish\avg.pm cp lib/Data/Unixish/lins.pm blib\lib\Data\Unixish\lins.pm cp lib/Data/Unixish/bool.pm blib\lib\Data\Unixish\bool.pm cp lib/Data/Unixish/chain.pm blib\lib\Data\Unixish\chain.pm cp lib/Data/Unixish/linum.pm blib\lib\Data\Unixish\linum.pm cp lib/Data/Unixish/map.pm blib\lib\Data\Unixish\map.pm cp lib/Data/Unixish/lpad.pm blib\lib\Data\Unixish\lpad.pm cp lib/Data/Unixish/Apply.pm blib\lib\Data\Unixish\Apply.pm cp lib/Data/Unixish/num.pm blib\lib\Data\Unixish\num.pm cp lib/Data/Unixish/centerpad.pm blib\lib\Data\Unixish\centerpad.pm cp lib/Data/Unixish/cond.pm blib\lib\Data\Unixish\cond.pm cp lib/Data/Unixish/lcfirst.pm blib\lib\Data\Unixish\lcfirst.pm cp lib/Data/Unixish/indent.pm blib\lib\Data\Unixish\indent.pm cp lib/Data/Unixish/head.pm blib\lib\Data\Unixish\head.pm cp lib/Test/Data/Unixish.pm blib\lib\Test\Data\Unixish.pm cp lib/Data/Unixish/pick.pm blib\lib\Data\Unixish\pick.pm cp lib/Data/Unixish/wrap.pm blib\lib\Data\Unixish\wrap.pm cp lib/Data/Unixish/ucfirst.pm blib\lib\Data\Unixish\ucfirst.pm cp lib/Data/Unixish/sprintf.pm blib\lib\Data\Unixish\sprintf.pm cp lib/Data/Unixish/rand.pm blib\lib\Data\Unixish\rand.pm cp lib/Data/Unixish/wc.pm blib\lib\Data\Unixish\wc.pm cp lib/Data/Unixish/yes.pm blib\lib\Data\Unixish\yes.pm cp lib/Data/Unixish/tail.pm blib\lib\Data\Unixish\tail.pm cp lib/Data/Unixish/sum.pm blib\lib\Data\Unixish\sum.pm cp lib/Data/Unixish/shuf.pm blib\lib\Data\Unixish\shuf.pm cp lib/Data/Unixish/randstr.pm blib\lib\Data\Unixish\randstr.pm cp lib/Data/Unixish/rtrim.pm blib\lib\Data\Unixish\rtrim.pm cp lib/Data/Unixish/sprintfn.pm blib\lib\Data\Unixish\sprintfn.pm cp lib/Data/Unixish/rins.pm blib\lib\Data\Unixish\rins.pm cp lib/Data/Unixish/rev.pm blib\lib\Data\Unixish\rev.pm cp lib/Data/Unixish/sort.pm blib\lib\Data\Unixish\sort.pm cp lib/Data/Unixish/trunc.pm blib\lib\Data\Unixish\trunc.pm cp lib/Data/Unixish/rpad.pm blib\lib\Data\Unixish\rpad.pm cp lib/Data/Unixish/trim.pm blib\lib\Data\Unixish\trim.pm cp lib/Data/Unixish/uc.pm blib\lib\Data\Unixish\uc.pm SHARYANTO/Data-Unixish-1.47.tar.gz nmake -- OK Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl64-5.14\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t # Failed test 'Data/Unixish/_pad.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/_pad.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/_pad.pm line 6. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/avg.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/avg.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/avg.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/bool.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/bool.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/bool.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/cat.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/cat.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/cat.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/centerpad.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/centerpad.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/centerpad.pm line 6. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/chain.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/chain.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/chain.pm line 6. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/cond.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/cond.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/cond.pm line 6. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/date.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/date.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/date.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/grep.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/grep.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/grep.pm line 6. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/head.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/head.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/head.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/indent.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/indent.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/indent.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/lc.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lc.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lc.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/lcfirst.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lcfirst.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lcfirst.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/lins.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lins.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lins.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/linum.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/linum.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/linum.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/lpad.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lpad.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lpad.pm line 6. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/ltrim.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/ltrim.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/ltrim.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/map.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/map.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/map.pm line 6. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/num.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/num.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/num.pm line 6. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/pick.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/pick.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/pick.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/rand.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rand.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rand.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/randstr.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/randstr.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/randstr.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/rev.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rev.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rev.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/rins.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rins.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rins.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/rpad.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rpad.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rpad.pm line 6. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/rtrim.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rtrim.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rtrim.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/shuf.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/shuf.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/shuf.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/sort.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sort.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sort.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/sprintf.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sprintf.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sprintf.pm line 6. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/sprintfn.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sprintfn.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sprintfn.pm line 6. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/sum.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sum.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sum.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/tail.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/tail.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/tail.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/trim.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/trim.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/trim.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/trunc.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/trunc.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/trunc.pm line 6. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/uc.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/uc.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/uc.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/ucfirst.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/ucfirst.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/ucfirst.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/wc.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/wc.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/wc.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/wrap.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/wrap.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/wrap.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/yes.pm loaded ok' # at t/00-compile.t line 79. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/yes.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/yes.pm line 5. Compilation failed in require at -e line 1. # Looks like you failed 39 tests of 43. t/00-compile.t ............ 1..43 ok 1 - Data/Unixish.pm loaded ok ok 2 - Data/Unixish/Apply.pm loaded ok ok 3 - Data/Unixish/Util.pm loaded ok not ok 4 - Data/Unixish/_pad.pm loaded ok not ok 5 - Data/Unixish/avg.pm loaded ok not ok 6 - Data/Unixish/bool.pm loaded ok not ok 7 - Data/Unixish/cat.pm loaded ok not ok 8 - Data/Unixish/centerpad.pm loaded ok not ok 9 - Data/Unixish/chain.pm loaded ok not ok 10 - Data/Unixish/cond.pm loaded ok not ok 11 - Data/Unixish/date.pm loaded ok not ok 12 - Data/Unixish/grep.pm loaded ok not ok 13 - Data/Unixish/head.pm loaded ok not ok 14 - Data/Unixish/indent.pm loaded ok not ok 15 - Data/Unixish/lc.pm loaded ok not ok 16 - Data/Unixish/lcfirst.pm loaded ok not ok 17 - Data/Unixish/lins.pm loaded ok not ok 18 - Data/Unixish/linum.pm loaded ok not ok 19 - Data/Unixish/lpad.pm loaded ok not ok 20 - Data/Unixish/ltrim.pm loaded ok not ok 21 - Data/Unixish/map.pm loaded ok not ok 22 - Data/Unixish/num.pm loaded ok not ok 23 - Data/Unixish/pick.pm loaded ok not ok 24 - Data/Unixish/rand.pm loaded ok not ok 25 - Data/Unixish/randstr.pm loaded ok not ok 26 - Data/Unixish/rev.pm loaded ok not ok 27 - Data/Unixish/rins.pm loaded ok not ok 28 - Data/Unixish/rpad.pm loaded ok not ok 29 - Data/Unixish/rtrim.pm loaded ok not ok 30 - Data/Unixish/shuf.pm loaded ok not ok 31 - Data/Unixish/sort.pm loaded ok not ok 32 - Data/Unixish/sprintf.pm loaded ok not ok 33 - Data/Unixish/sprintfn.pm loaded ok not ok 34 - Data/Unixish/sum.pm loaded ok not ok 35 - Data/Unixish/tail.pm loaded ok not ok 36 - Data/Unixish/trim.pm loaded ok not ok 37 - Data/Unixish/trunc.pm loaded ok not ok 38 - Data/Unixish/uc.pm loaded ok not ok 39 - Data/Unixish/ucfirst.pm loaded ok not ok 40 - Data/Unixish/wc.pm loaded ok not ok 41 - Data/Unixish/wrap.pm loaded ok not ok 42 - Data/Unixish/yes.pm loaded ok ok 43 - Test/Data/Unixish.pm loaded ok Dubious, test returned 39 (wstat 9984, 0x2700) Failed 39/43 subtests Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sum.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sum.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/sum in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. # Child (a input) exited without calling finalize() # Failed test 'a input' # at C:/cpanfly-5.14/var/megalib/Test/Builder.pm line 276. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 2 just after 1. t/01-basics.t ............. # Subtest: a input not ok 1 - a input Dubious, test returned 2 (wstat 512, 0x200) Failed 1/1 subtests # Failed test at t/Apply.t line 9. # Structures begin differing at: # $got->[0] = '500' # $expected->[0] = '200' # Failed test at t/Apply.t line 10. # Structures begin differing at: # $got->[0] = '500' # $expected->[0] = '200' # Looks like you failed 2 tests of 2. t/Apply.t ................. not ok 1 not ok 2 1..2 Dubious, test returned 2 (wstat 512, 0x200) Failed 2/2 subtests Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/avg.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/avg.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/avg in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/avg.t ................... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/bool.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/bool.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/bool in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/bool.t .................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run t/cat.t ................... ok 1 1..1 ok Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/centerpad.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/centerpad.pm line 6. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/centerpad in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/centerpad.t ............. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/chain.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/chain.pm line 6. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/chain in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/chain.t ................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/cond.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/cond.pm line 6. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/cond in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/cond.t .................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/date.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/date.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/date in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/date.t .................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/grep.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/grep.pm line 6. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/grep in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/grep.t .................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/head.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/head.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/head in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/head.t .................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/indent.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/indent.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/indent in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/indent.t ................ Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lc.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lc.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/lc in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/lc.t .................... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lcfirst.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lcfirst.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/lcfirst in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/lcfirst.t ............... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lins.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lins.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/lins in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/lins.t .................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/linum.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/linum.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/linum in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/linum.t ................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lpad.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/lpad.pm line 6. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/lpad in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/lpad.t .................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/ltrim.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/ltrim.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/ltrim in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/ltrim.t ................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/map.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/map.pm line 6. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/map in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/map.t ................... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/num.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/num.pm line 6. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/num in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/num.t ................... Dubious, test returned 2 (wstat 512, 0x200) No subtests run t/pick.t .................. ok 1 1..1 ok t/rand.t .................. ok 1 1..1 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 Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rev.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rev.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/rev in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/rev.t ................... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rins.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rins.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/rins in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/rins.t .................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rpad.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rpad.pm line 6. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/rpad in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/rpad.t .................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rtrim.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/rtrim.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/rtrim in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/rtrim.t ................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run t/shuf.t .................. ok 1 1..1 ok Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sort.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sort.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/sort in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/sort.t .................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sprintf.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sprintf.pm line 6. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/sprintf in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/sprintf.t ............... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sprintfn.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sprintfn.pm line 6. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/sprintfn in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/sprintfn.t .............. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sum.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/sum.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/sum in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/sum.t ................... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/tail.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/tail.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/tail in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/tail.t .................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/trim.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/trim.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/trim in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/trim.t .................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/trunc.pm line 6. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/trunc.pm line 6. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/trunc in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/trunc.t ................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/uc.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/uc.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/uc in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/uc.t .................... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/ucfirst.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/ucfirst.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/ucfirst in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/ucfirst.t ............... Dubious, test returned 2 (wstat 512, 0x200) No subtests run t/Util.t .................. ok 1 1..1 ok Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/wc.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/wc.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/wc in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/wc.t .................... Dubious, test returned 2 (wstat 512, 0x200) No subtests run Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/wrap.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib/Data/Unixish/wrap.pm line 5. Compilation failed in require at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. Can't locate Data/Unixish/wrap in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\lib C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz\blib\arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:/cpanfly-5.14/var/megalib/Module/Load.pm line 77. t/wrap.t .................. Dubious, test returned 2 (wstat 512, 0x200) No subtests run Test Summary Report ------------------- t/00-compile.t (Wstat: 9984 Tests: 43 Failed: 39) Failed tests: 4-42 Non-zero exit status: 39 t/01-basics.t (Wstat: 512 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 2 Parse errors: No plan found in TAP output t/Apply.t (Wstat: 512 Tests: 2 Failed: 2) Failed tests: 1-2 Non-zero exit status: 2 t/avg.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/bool.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/centerpad.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/chain.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/cond.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/date.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/grep.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/head.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/indent.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/lc.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/lcfirst.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/lins.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/linum.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/lpad.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/ltrim.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/map.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/num.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/rev.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/rins.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/rpad.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/rtrim.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/sort.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/sprintf.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/sprintfn.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/sum.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/tail.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/trim.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/trunc.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/uc.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/ucfirst.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/wc.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output t/wrap.t (Wstat: 512 Tests: 0 Failed: 0) Non-zero exit status: 2 Parse errors: No plan found in TAP output Files=43, Tests=51, 29 wallclock secs ( 0.05 usr + 0.00 sys = 0.05 CPU) Result: FAIL Failed 35/43 test programs. 42/51 subtests failed. NMAKE : fatal error U1077: 'C:\Perl64-5.14\bin\perl.exe' : return code '0x2' Stop. SHARYANTO/Data-Unixish-1.47.tar.gz nmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Data-Unixish-1.47.tar.gz Running test for module 'Data::Unixish::ANSI' Running make for S/SH/SHARYANTO/Data-Unixish-ANSI-0.05.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Data-Unixish-ANSI-0.05.tar.gz ok Data-Unixish-ANSI-0.05/ Data-Unixish-ANSI-0.05/README Data-Unixish-ANSI-0.05/lib/ Data-Unixish-ANSI-0.05/lib/Data/ Data-Unixish-ANSI-0.05/lib/Data/Unixish/ Data-Unixish-ANSI-0.05/lib/Data/Unixish/ANSI/ Data-Unixish-ANSI-0.05/lib/Data/Unixish/ANSI/color.pm Data-Unixish-ANSI-0.05/lib/Data/Unixish/ANSI/highlight.pm Data-Unixish-ANSI-0.05/lib/Data/Unixish/ANSI/strip.pm Data-Unixish-ANSI-0.05/lib/Data/Unixish/ANSI.pm Data-Unixish-ANSI-0.05/Makefile.PL Data-Unixish-ANSI-0.05/Changes Data-Unixish-ANSI-0.05/dist.ini Data-Unixish-ANSI-0.05/LICENSE Data-Unixish-ANSI-0.05/t/ Data-Unixish-ANSI-0.05/t/00-compile.t Data-Unixish-ANSI-0.05/t/release-pod-coverage.t Data-Unixish-ANSI-0.05/t/release-pod-syntax.t Data-Unixish-ANSI-0.05/t/release-rinci.t Data-Unixish-ANSI-0.05/weaver.ini Data-Unixish-ANSI-0.05/MANIFEST Data-Unixish-ANSI-0.05/META.json Data-Unixish-ANSI-0.05/META.yml Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Data-Unixish-ANSI-0.05.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Makefile.PL Warning: prerequisite Data::Unixish::Util 1.43 not found. Checking if your kit is complete... Looks good Generating a nmake-style Makefile Writing Makefile for Data::Unixish::ANSI Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/Data-Unixish-ANSI-0.05.tar.gz ---- Data::Unixish::Util [requires] Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Delayed until after prerequisites Running test for module 'Data::Unixish::Util' Running make for S/SH/SHARYANTO/Data-Unixish-1.47.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' Has already been made Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Won't repeat unsuccessful test during this command Has already been tested within this command Running make for S/SH/SHARYANTO/Data-Unixish-ANSI-0.05.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Data-Unixish-ANSI-0.05-M0WsoW Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Data-Unixish-ANSI-0.05.tar.gz Warning: Prerequisite 'Data::Unixish::Util => 1.43' for 'SHARYANTO/Data-Unixish-ANSI-0.05.tar.gz' failed when processing 'SHARYANTO/Data-Unixish-1.47.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/Data/Unixish/ANSI/highlight.pm blib\lib\Data\Unixish\ANSI\highlight.pm cp lib/Data/Unixish/ANSI.pm blib\lib\Data\Unixish\ANSI.pm cp lib/Data/Unixish/ANSI/strip.pm blib\lib\Data\Unixish\ANSI\strip.pm cp lib/Data/Unixish/ANSI/color.pm blib\lib\Data\Unixish\ANSI\color.pm SHARYANTO/Data-Unixish-ANSI-0.05.tar.gz nmake -- OK Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl64-5.14\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t # Failed test 'Data/Unixish/ANSI/color.pm loaded ok' # at t/00-compile.t line 40. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-ANSI-0.05-M0WsoW\blib\lib/Data/Unixish/ANSI/color.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-ANSI-0.05-M0WsoW\blib\lib/Data/Unixish/ANSI/color.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/ANSI/highlight.pm loaded ok' # at t/00-compile.t line 40. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-ANSI-0.05-M0WsoW\blib\lib/Data/Unixish/ANSI/highlight.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-ANSI-0.05-M0WsoW\blib\lib/Data/Unixish/ANSI/highlight.pm line 5. Compilation failed in require at -e line 1. # Failed test 'Data/Unixish/ANSI/strip.pm loaded ok' # at t/00-compile.t line 40. # got: '512' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/syntax.pm line 17. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-ANSI-0.05-M0WsoW\blib\lib/Data/Unixish/ANSI/strip.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Data-Unixish-ANSI-0.05-M0WsoW\blib\lib/Data/Unixish/ANSI/strip.pm line 5. Compilation failed in require at -e line 1. # Looks like you failed 3 tests of 4. t/00-compile.t ............ 1..4 ok 1 - Data/Unixish/ANSI.pm loaded ok not ok 2 - Data/Unixish/ANSI/color.pm loaded ok not ok 3 - Data/Unixish/ANSI/highlight.pm loaded ok not ok 4 - Data/Unixish/ANSI/strip.pm loaded ok Dubious, test returned 3 (wstat 768, 0x300) Failed 3/4 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/00-compile.t (Wstat: 768 Tests: 4 Failed: 3) Failed tests: 2-4 Non-zero exit status: 3 Files=4, Tests=4, 1 wallclock secs ( 0.03 usr + 0.03 sys = 0.06 CPU) Result: FAIL Failed 1/4 test programs. 3/4 subtests failed. NMAKE : fatal error U1077: 'C:\Perl64-5.14\bin\perl.exe' : return code '0xff' Stop. SHARYANTO/Data-Unixish-ANSI-0.05.tar.gz one dependency not OK (Data::Unixish::Util); additionally test harness failed nmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Data-Unixish-ANSI-0.05.tar.gz Running make for S/SH/SHARYANTO/Text-ANSITable-0.34.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Text-ANSITable-0.34-b1ZpgQ Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Text-ANSITable-0.34.tar.gz Warning: Prerequisite 'Data::Unixish::Apply => 1.33' for 'SHARYANTO/Text-ANSITable-0.34.tar.gz' failed when processing 'SHARYANTO/Data-Unixish-1.47.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Data::Unixish::ANSI => 0.02' for 'SHARYANTO/Text-ANSITable-0.34.tar.gz' failed when processing 'SHARYANTO/Data-Unixish-ANSI-0.05.tar.gz' with 'make_test => NO one dependency not OK (Data::Unixish::Util); additionally test harness failed'. Continuing, but chances to succeed are limited. >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/Text/ANSITable/StyleSet/AltRow.pm blib\lib\Text\ANSITable\StyleSet\AltRow.pm cp lib/Text/ANSITable/BorderStyle/Default.pm blib\lib\Text\ANSITable\BorderStyle\Default.pm cp lib/Text/ANSITable/ColorTheme/Default.pm blib\lib\Text\ANSITable\ColorTheme\Default.pm cp lib/Text/ANSITable.pm blib\lib\Text\ANSITable.pm C:\Perl64-5.14\bin\perl.exe -MExtUtils::Command -e cp -- bin/ansitable-list-color-themes blib\script\ansitable-list-color-themes pl2bat.bat blib\script\ansitable-list-color-themes C:\Perl64-5.14\bin\perl.exe -MExtUtils::Command -e cp -- bin/ansitable-list-style-sets blib\script\ansitable-list-style-sets pl2bat.bat blib\script\ansitable-list-style-sets C:\Perl64-5.14\bin\perl.exe -MExtUtils::Command -e cp -- bin/ansitable-list-border-styles blib\script\ansitable-list-border-styles pl2bat.bat blib\script\ansitable-list-border-styles SHARYANTO/Text-ANSITable-0.34.tar.gz nmake -- OK Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl64-5.14\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t # Failed test 'Text/ANSITable/StyleSet/AltRow.pm loaded ok' # at t/00-compile.t line 44. # got: '65280' # expected: '0' Module::Implementation version 0.06 required--this is only version 0.05 at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/Package/Stash.pm line 15. Compilation failed in require at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. BEGIN failed--compilation aborted at C:/cpanfly-5.14/var/megalib/namespace/clean.pm line 7. Compilation failed in require at C:\cpanfly-5.14\var\cpan\build\Text-ANSITable-0.34-b1ZpgQ\blib\lib/Text/ANSITable/StyleSet/AltRow.pm line 5. BEGIN failed--compilation aborted at C:\cpanfly-5.14\var\cpan\build\Text-ANSITable-0.34-b1ZpgQ\blib\lib/Text/ANSITable/StyleSet/AltRow.pm line 5. Compilation failed in require at -e line 1. # Looks like you failed 1 test of 7. t/00-compile.t ............ 1..7 ok 1 - Text/ANSITable.pm loaded ok ok 2 - Text/ANSITable/BorderStyle/Default.pm loaded ok ok 3 - Text/ANSITable/ColorTheme/Default.pm loaded ok not ok 4 - Text/ANSITable/StyleSet/AltRow.pm loaded ok ok 5 - bin/ansitable-list-border-styles compiled ok ok 6 - bin/ansitable-list-color-themes compiled ok ok 7 - bin/ansitable-list-style-sets compiled ok Dubious, test returned 1 (wstat 256, 0x100) Failed 1/7 subtests t/01-basics.t ............. # Subtest: add_row, add_rows, {get,set}_cell ok 1 - add_row() only accepts arrayref ok 2 - add_rows() only accepts arrayref ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 - unknown column name -> dies 1..10 ok 1 - add_row, add_rows, {get,set}_cell 1..1 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 Test Summary Report ------------------- t/00-compile.t (Wstat: 256 Tests: 7 Failed: 1) Failed test: 4 Non-zero exit status: 1 Files=5, Tests=8, 9 wallclock secs ( 0.03 usr + 0.02 sys = 0.05 CPU) Result: FAIL Failed 1/5 test programs. 1/8 subtests failed. NMAKE : fatal error U1077: 'C:\Perl64-5.14\bin\perl.exe' : return code '0xff' Stop. SHARYANTO/Text-ANSITable-0.34.tar.gz one dependency not OK (Data::Unixish::ANSI); additionally test harness failed nmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Text-ANSITable-0.34.tar.gz Running test for module 'Perinci::Access' Running make for S/SH/SHARYANTO/Perinci-Access-0.36.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Perinci-Access-0.36.tar.gz ok Perinci-Access-0.36/ Perinci-Access-0.36/Changes Perinci-Access-0.36/LICENSE Perinci-Access-0.36/MANIFEST Perinci-Access-0.36/lib/ Perinci-Access-0.36/lib/Perinci/ Perinci-Access-0.36/lib/Perinci/Access.pm Perinci-Access-0.36/MANIFEST.SKIP Perinci-Access-0.36/README Perinci-Access-0.36/META.json Perinci-Access-0.36/dist.ini Perinci-Access-0.36/t/ Perinci-Access-0.36/t/release-rinci.t Perinci-Access-0.36/t/01-basics.t Perinci-Access-0.36/t/release-pod-coverage.t Perinci-Access-0.36/t/00-compile.t Perinci-Access-0.36/t/release-pod-syntax.t Perinci-Access-0.36/bin/ Perinci-Access-0.36/bin/peri-access Perinci-Access-0.36/Build.PL Perinci-Access-0.36/META.yml Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-Access-0.36.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Build.PL Checking prerequisites... requires: ! Perinci::Access::Perl is not installed ! Perinci::Access::Schemeless is not installed ! Perinci::Access::Simple::Client (0.11) is installed, but we need version >= 0.13 ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions of the modules indicated above before proceeding with this installation Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Perinci-Access' version '0.36' ---- Unsatisfied dependencies detected during ---- ---- SHARYANTO/Perinci-Access-0.36.tar.gz ---- Perinci::Access::Simple::Client [requires] Perinci::Access::Schemeless [requires] Perinci::Access::Perl [requires] Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running Build test Delayed until after prerequisites Running test for module 'Perinci::Access::Simple::Client' Running make for S/SH/SHARYANTO/Perinci-Access-Simple-Client-0.16.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Perinci-Access-Simple-Client-0.16.tar.gz ok Perinci-Access-Simple-Client-0.16/ Perinci-Access-Simple-Client-0.16/README Perinci-Access-Simple-Client-0.16/lib/ Perinci-Access-Simple-Client-0.16/lib/Perinci/ Perinci-Access-Simple-Client-0.16/lib/Perinci/Access/ Perinci-Access-Simple-Client-0.16/lib/Perinci/Access/Simple/ Perinci-Access-Simple-Client-0.16/lib/Perinci/Access/Simple/Client.pm Perinci-Access-Simple-Client-0.16/Makefile.PL Perinci-Access-Simple-Client-0.16/MANIFEST.SKIP Perinci-Access-Simple-Client-0.16/Changes Perinci-Access-Simple-Client-0.16/dist.ini Perinci-Access-Simple-Client-0.16/LICENSE Perinci-Access-Simple-Client-0.16/t/ Perinci-Access-Simple-Client-0.16/t/00-compile.t Perinci-Access-Simple-Client-0.16/t/01-basics.t Perinci-Access-Simple-Client-0.16/t/release-pod-coverage.t Perinci-Access-Simple-Client-0.16/t/release-pod-syntax.t Perinci-Access-Simple-Client-0.16/t/release-rinci.t Perinci-Access-Simple-Client-0.16/MANIFEST Perinci-Access-Simple-Client-0.16/META.json Perinci-Access-Simple-Client-0.16/META.yml Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-Access-Simple-Client-0.16.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Makefile.PL Checking if your kit is complete... Looks good Generating a nmake-style Makefile Writing Makefile for Perinci::Access::Simple::Client Writing MYMETA.yml and MYMETA.json >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/Perinci/Access/Simple/Client.pm blib\lib\Perinci\Access\Simple\Client.pm SHARYANTO/Perinci-Access-Simple-Client-0.16.tar.gz nmake -- OK Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl64-5.14\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/00-compile.t ............ 1..1 ok 1 - Perinci::Access::Simple::Client loaded ok ok /tmp/abs path: No such file or directory at C:\cpanfly-5.14\var\cpan\build\Perinci-Access-Simple-Client-0.16-dtCUoP\blib\lib/Perinci/Access/Simple/Client.pm line 108. # Child (riap+unix ok 2 (uri via extra, path is unescaped)) exited without calling finalize() # Failed test 'riap+unix ok 2 (uri via extra, path is unescaped)' # at C:/cpanfly-5.14/var/megalib/Test/Builder.pm line 276. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 2 just after 7. t/01-basics.t ............. # Subtest: unknown scheme = 400 ok 1 - status 1..1 ok 1 - unknown scheme = 400 # Subtest: invalid riap+tcp 1 ok 1 - status 1..1 ok 2 - invalid riap+tcp 1 # Subtest: riap+tcp requires port ok 1 - status 1..1 ok 3 - riap+tcp requires port # Subtest: riap+tcp ok 1 ok 1 - status ok 2 - result 1..2 ok 4 - riap+tcp ok 1 # Subtest: riap+tcp ok 2 (uri via extra) ok 1 - status ok 2 - result 1..2 ok 5 - riap+tcp ok 2 (uri via extra) # Subtest: invalid riap+unix 1 ok 1 - status 1..1 ok 6 - invalid riap+unix 1 # Subtest: riap+unix ok 2 (uri via extra, path is unescaped) not ok 7 - riap+unix ok 2 (uri via extra, path is unescaped) Dubious, test returned 2 (wstat 512, 0x200) Failed 1/7 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: 512 Tests: 7 Failed: 1) Failed test: 7 Non-zero exit status: 2 Parse errors: No plan found in TAP output Files=5, Tests=8, 2 wallclock secs ( 0.06 usr + 0.00 sys = 0.06 CPU) Result: FAIL Failed 1/5 test programs. 1/8 subtests failed. NMAKE : fatal error U1077: 'C:\Perl64-5.14\bin\perl.exe' : return code '0xff' Stop. SHARYANTO/Perinci-Access-Simple-Client-0.16.tar.gz nmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Perinci-Access-Simple-Client-0.16.tar.gz Running test for module 'Perinci::Access::Schemeless' Running make for S/SH/SHARYANTO/Perinci-Access-Perl-0.69.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Perinci-Access-Perl-0.69-waWfDN Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' Warning: Prerequisite 'Perinci::Sub::Wrapper => 0.60' for 'SHARYANTO/Perinci-Access-Perl-0.69.tar.gz' failed when processing 'SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz' with 'make_test => NO one dependency not OK (Data::Sah); additionally test harness failed'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Perinci::Sub::Complete => 0' for 'SHARYANTO/Perinci-Access-Perl-0.69.tar.gz' failed when processing 'SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz' with 'make_test => NO 2 dependencies missing (Data::Sah,Complete::Util); additionally test harness failed'. Continuing, but chances to succeed are limited. Has already been made Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Won't repeat unsuccessful test during this command Has already been tested within this command Running test for module 'Perinci::Access::Perl' Running make for S/SH/SHARYANTO/Perinci-Access-Perl-0.69.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Perinci-Access-Perl-0.69-waWfDN Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' Warning: Prerequisite 'Perinci::Sub::Wrapper => 0.60' for 'SHARYANTO/Perinci-Access-Perl-0.69.tar.gz' failed when processing 'SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz' with 'make_test => NO one dependency not OK (Data::Sah); additionally test harness failed'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Perinci::Sub::Complete => 0' for 'SHARYANTO/Perinci-Access-Perl-0.69.tar.gz' failed when processing 'SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz' with 'make_test => NO 2 dependencies missing (Data::Sah,Complete::Util); additionally test harness failed'. Continuing, but chances to succeed are limited. Has already been made Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Won't repeat unsuccessful test during this command Has already been tested within this command Running Build for S/SH/SHARYANTO/Perinci-Access-0.36.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Perinci-Access-0.36-_AtKBo Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-Access-0.36.tar.gz Warning: Prerequisite 'Perinci::Access::Simple::Client => 0.13' for 'SHARYANTO/Perinci-Access-0.36.tar.gz' failed when processing 'SHARYANTO/Perinci-Access-Simple-Client-0.16.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Perinci::Access::Schemeless => 0' for 'SHARYANTO/Perinci-Access-0.36.tar.gz' failed when processing 'SHARYANTO/Perinci-Access-Perl-0.69.tar.gz' with 'make_test => NO one dependency not OK (Perinci::Sub::Complete); additionally test harness failed'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Perinci::Access::Perl => 0' for 'SHARYANTO/Perinci-Access-0.36.tar.gz' failed when processing 'SHARYANTO/Perinci-Access-Perl-0.69.tar.gz' with 'make_test => NO one dependency not OK (Perinci::Sub::Complete); additionally test harness failed'. Continuing, but chances to succeed are limited. >>> C:\Perl64-5.14\bin\perl.exe ./Build Building Perinci-Access SHARYANTO/Perinci-Access-0.36.tar.gz C:\Perl64-5.14\bin\perl.exe ./Build -- OK Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running Build test >>> C:\Perl64-5.14\bin\perl.exe ./Build test verbose=1 t/00-compile.t ............ ok 1 - Perinci/Access.pm loaded ok ok 2 - bin/peri-access compiles 1..2 ok t/01-basics.t ............. ok 1 1..1 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=3, 1 wallclock secs ( 0.05 usr + 0.01 sys = 0.06 CPU) Result: PASS SHARYANTO/Perinci-Access-0.36.tar.gz Tests succeeded but 2 dependencies missing (Perinci::Access::Perl,Perinci::Access::Schemeless) SHARYANTO/Perinci-Access-0.36.tar.gz [dependencies] -- NA Running test for module 'Data::Unixish' Running make for S/SH/SHARYANTO/Data-Unixish-1.47.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Data-Unixish-1.47-Glv7Vz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' Has already been made Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Won't repeat unsuccessful test during this command Has already been tested within this command Running test for module 'Monkey::Patch::Action' Running make for S/SH/SHARYANTO/Monkey-Patch-Action-0.04.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Checksum for C:\cpanfly-5.14\var\cpan\sources\authors\id\S\SH\SHARYANTO\Monkey-Patch-Action-0.04.tar.gz ok Monkey-Patch-Action-0.04/ Monkey-Patch-Action-0.04/README Monkey-Patch-Action-0.04/Build.PL Monkey-Patch-Action-0.04/lib/ Monkey-Patch-Action-0.04/lib/Monkey/ Monkey-Patch-Action-0.04/lib/Monkey/Patch/ Monkey-Patch-Action-0.04/lib/Monkey/Patch/Action.pm Monkey-Patch-Action-0.04/lib/Monkey/Patch/Action/ Monkey-Patch-Action-0.04/lib/Monkey/Patch/Action/Handle.pm Monkey-Patch-Action-0.04/MANIFEST.SKIP Monkey-Patch-Action-0.04/Changes Monkey-Patch-Action-0.04/dist.ini Monkey-Patch-Action-0.04/LICENSE Monkey-Patch-Action-0.04/t/ Monkey-Patch-Action-0.04/t/00-compile.t Monkey-Patch-Action-0.04/t/01-basics.t Monkey-Patch-Action-0.04/t/release-pod-coverage.t Monkey-Patch-Action-0.04/t/release-pod-syntax.t Monkey-Patch-Action-0.04/t/release-rinci.t Monkey-Patch-Action-0.04/MANIFEST Monkey-Patch-Action-0.04/META.json Monkey-Patch-Action-0.04/META.yml Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Monkey-Patch-Action-0.04.tar.gz >>> C:\Perl64-5.14\bin\perl.exe Build.PL Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Monkey-Patch-Action' version '0.04' >>> C:\Perl64-5.14\bin\perl.exe ./Build Building Monkey-Patch-Action SHARYANTO/Monkey-Patch-Action-0.04.tar.gz C:\Perl64-5.14\bin\perl.exe ./Build -- OK Prepending C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running Build test >>> C:\Perl64-5.14\bin\perl.exe ./Build test verbose=1 t/00-compile.t ............ 1..2 ok 1 - Monkey::Patch::Action loaded ok ok 2 - Monkey::Patch::Action::Handle loaded ok ok Use of uninitialized value $name in concatenation (.) or string at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 257. Use of uninitialized value $name in concatenation (.) or string at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 257. Use of uninitialized value $name in concatenation (.) or string at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 257. Use of uninitialized value $name in concatenation (.) or string at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 257. Use of uninitialized value $name in concatenation (.) or string at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 257. Use of uninitialized value $name in concatenation (.) or string at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 257. Use of uninitialized value $name in concatenation (.) or string at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 257. Use of uninitialized value $name in concatenation (.) or string at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 257. Use of uninitialized value $name in concatenation (.) or string at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 257. Use of uninitialized value $name in concatenation (.) or string at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 257. Use of uninitialized value $name in concatenation (.) or string at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 257. Warning: unapplying patch to Foo::f1 (applied in t/01-basics.t:288) before a wrapping patch at C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc\blib\lib/Monkey/Patch/Action/Handle.pm line 87. Use of uninitialized value $name in concatenation (.) or string at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 257. Use of uninitialized value $name in concatenation (.) or string at C:\cpanfly-5.14\var\megalib/Test/Builder.pm line 257. t/01-basics.t ............. # Subtest: unknown action -> dies ok 1 - patch dies 1..1 ok 1 - unknown action -> dies # Subtest: add existant -> dies ok 1 - patch dies 1..1 ok 2 - add existant -> dies # Subtest: add # Subtest: tests before patch # Subtest: Foo::fa() ok 1 - dies 1..1 ok 1 - Foo::fa() 1..1 ok 1 - tests before patch ok 2 - patch doesn't die # Subtest: tests after patch # Subtest: Foo::fa() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::fa() 1..1 ok 3 - tests after patch # Subtest: tests after unpatch # Subtest: Foo::fa() ok 1 - dies 1..1 ok 1 - Foo::fa() 1..1 ok 4 - tests after unpatch 1..4 ok 3 - add # Subtest: replace non-existant -> dies ok 1 - patch dies 1..1 ok 4 - replace non-existant -> dies # Subtest: replace # Subtest: tests before patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 1 - tests before patch ok 2 - patch doesn't die # Subtest: tests after patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 3 - tests after patch # Subtest: tests after unpatch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 4 - tests after unpatch 1..4 ok 5 - replace # Subtest: add_or_replace # Subtest: tests before patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() # Subtest: Foo::fa() ok 1 - dies 1..1 ok 2 - Foo::fa() 1..2 ok 1 - tests before patch ok 2 - patch doesn't die # Subtest: tests after patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() # Subtest: Foo::fa() ok 1 - doesn't die ok 2 - result 1..2 ok 2 - Foo::fa() 1..2 ok 3 - tests after patch # Subtest: tests after unpatch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() # Subtest: Foo::fa() ok 1 - dies 1..1 ok 2 - Foo::fa() 1..2 ok 4 - tests after unpatch 1..4 ok 6 - add_or_replace # Subtest: delete mentioning code -> dies ok 1 - patch dies 1..1 ok 7 - delete mentioning code -> dies # Subtest: delete # Subtest: tests before patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() # Subtest: Foo::fd() ok 1 - dies 1..1 ok 2 - Foo::fd() 1..2 ok 1 - tests before patch ok 2 - patch doesn't die # Subtest: tests after patch # Subtest: Foo::f1() ok 1 - dies 1..1 ok 1 - Foo::f1() # Subtest: Foo::fd() ok 1 - dies 1..1 ok 2 - Foo::fd() 1..2 ok 3 - tests after patch # Subtest: tests after unpatch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() # Subtest: Foo::fd() ok 1 - dies 1..1 ok 2 - Foo::fd() 1..2 ok 4 - tests after unpatch 1..4 ok 8 - delete # Subtest: wrap non-existant -> dies ok 1 - patch dies 1..1 ok 9 - wrap non-existant -> dies # Subtest: wrap # Subtest: tests before patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 1 - tests before patch ok 2 - patch doesn't die # Subtest: tests after patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 3 - tests after patch # Subtest: tests after unpatch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 4 - tests after unpatch 1..4 ok 10 - wrap # Subtest: stacked: wrap1 + wrap2 (wrap2 unapplied first) # Subtest: # Subtest: tests before patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 1 - tests before patch ok 2 - patch doesn't die # Subtest: tests after patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 3 - tests after patch 1..3 ok 1 - Child of stacked: wrap1 + wrap2 (wrap2 unapplied first) # Subtest: # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 2 - Child of stacked: wrap1 + wrap2 (wrap2 unapplied first) # Subtest: # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 3 - Child of stacked: wrap1 + wrap2 (wrap2 unapplied first) 1..3 ok 11 - stacked: wrap1 + wrap2 (wrap2 unapplied first) # Subtest: stacked: wrap1 + wrap2 (wrap1 unapplied first) # Subtest: # Subtest: tests before patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 1 - tests before patch ok 2 - patch doesn't die # Subtest: tests after patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 3 - tests after patch 1..3 ok 1 - Child of stacked: wrap1 + wrap2 (wrap1 unapplied first) # Subtest: # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 2 - Child of stacked: wrap1 + wrap2 (wrap1 unapplied first) # Subtest: # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 3 - Child of stacked: wrap1 + wrap2 (wrap1 unapplied first) 1..3 ok 12 - stacked: wrap1 + wrap2 (wrap1 unapplied first) # Subtest: stacked: del + add + wrap (unapply ordered) # Subtest: # Subtest: tests before patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 1 - tests before patch ok 2 - patch doesn't die # Subtest: tests after patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 3 - tests after patch 1..3 ok 1 - Child of stacked: del + add + wrap (unapply ordered) # Subtest: # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 2 - Child of stacked: del + add + wrap (unapply ordered) # Subtest: # Subtest: Foo::f1() ok 1 - dies 1..1 ok 1 - Foo::f1() 1..1 ok 3 - Child of stacked: del + add + wrap (unapply ordered) # Subtest: # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 4 - Child of stacked: del + add + wrap (unapply ordered) 1..4 ok 13 - stacked: del + add + wrap (unapply ordered) # Subtest: stacked: del + add + wrap (add unapplied -> conflict) # Subtest: # Subtest: tests before patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 1 - tests before patch ok 2 - patch doesn't die # Subtest: tests after patch # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 3 - tests after patch 1..3 ok 1 - Child of stacked: del + add + wrap (add unapplied -> conflict) # Subtest: # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 2 - Child of stacked: del + add + wrap (add unapplied -> conflict) # Subtest: # Subtest: Foo::f1() ok 1 - doesn't die ok 2 - result 1..2 ok 1 - Foo::f1() 1..1 ok 3 - Child of stacked: del + add + wrap (add unapplied -> conflict) 1..3 ok 14 - stacked: del + add + wrap (add unapplied -> conflict) 1..14 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=16, 1 wallclock secs ( 0.08 usr + 0.03 sys = 0.11 CPU) Result: PASS SHARYANTO/Monkey-Patch-Action-0.04.tar.gz C:\Perl64-5.14\bin\perl.exe ./Build test verbose=1 -- OK PPD for Monkey-Patch-Action-0.04 already made Running test for module 'Perinci::Access::Perl' Running make for S/SH/SHARYANTO/Perinci-Access-Perl-0.69.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Perinci-Access-Perl-0.69-waWfDN Prepending C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' Warning: Prerequisite 'Perinci::Sub::Wrapper => 0.60' for 'SHARYANTO/Perinci-Access-Perl-0.69.tar.gz' failed when processing 'SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz' with 'make_test => NO one dependency not OK (Data::Sah); additionally test harness failed'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Perinci::Sub::Complete => 0' for 'SHARYANTO/Perinci-Access-Perl-0.69.tar.gz' failed when processing 'SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz' with 'make_test => NO 2 dependencies missing (Data::Sah,Complete::Util); additionally test harness failed'. Continuing, but chances to succeed are limited. Has already been made Prepending C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test Won't repeat unsuccessful test during this command Has already been tested within this command Running make for S/SH/SHARYANTO/Perinci-CmdLine-1.16.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\Perinci-CmdLine-1.16-aKGFEu Prepending C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/Perinci-CmdLine-1.16.tar.gz Warning: Prerequisite 'Complete::Util => 0.12' for 'SHARYANTO/Perinci-CmdLine-1.16.tar.gz' failed when processing 'SHARYANTO/Complete-Util-0.13.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Perinci::Sub::Wrapper => 0.40' for 'SHARYANTO/Perinci-CmdLine-1.16.tar.gz' failed when processing 'SHARYANTO/Perinci-Sub-Wrapper-0.61.tar.gz' with 'make_test => NO one dependency not OK (Data::Sah); additionally test harness failed'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Perinci::Access::Schemeless => 0.65' for 'SHARYANTO/Perinci-CmdLine-1.16.tar.gz' failed when processing 'SHARYANTO/Perinci-Access-Perl-0.69.tar.gz' with 'make_test => NO one dependency not OK (Perinci::Sub::Complete); additionally test harness failed'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Perinci::Sub::Complete => 0.53' for 'SHARYANTO/Perinci-CmdLine-1.16.tar.gz' failed when processing 'SHARYANTO/Perinci-Sub-Complete-0.53.tar.gz' with 'make_test => NO 2 dependencies missing (Data::Sah,Complete::Util); additionally test harness failed'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Perinci::Access => 0.30' for 'SHARYANTO/Perinci-CmdLine-1.16.tar.gz' failed when processing 'SHARYANTO/Perinci-Access-0.36.tar.gz' with 'make_test => NO 2 dependencies missing (Perinci::Access::Perl,Perinci::Access::Schemeless)'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Text::ANSITable => 0.23' for 'SHARYANTO/Perinci-CmdLine-1.16.tar.gz' failed when processing 'SHARYANTO/Text-ANSITable-0.34.tar.gz' with 'make_test => NO one dependency not OK (Data::Unixish::ANSI); additionally test harness failed'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Data::Unixish => 1.39' for 'SHARYANTO/Perinci-CmdLine-1.16.tar.gz' failed when processing 'SHARYANTO/Data-Unixish-1.47.tar.gz' with 'make_test => NO'. Continuing, but chances to succeed are limited. Warning: Prerequisite 'Perinci::Access::Perl => 0.66' for 'SHARYANTO/Perinci-CmdLine-1.16.tar.gz' failed when processing 'SHARYANTO/Perinci-Access-Perl-0.69.tar.gz' with 'make_test => NO one dependency not OK (Perinci::Sub::Complete); additionally test harness failed'. Continuing, but chances to succeed are limited. >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp share\LocaleData\id\LC_MESSAGES\Perinci-CmdLine.mo blib\lib\auto\share\dist\Perinci-CmdLine\LocaleData\id\LC_MESSAGES\Perinci-CmdLine.mo cp share\LocaleData\fr\LC_MESSAGES\Perinci-CmdLine.mo blib\lib\auto\share\dist\Perinci-CmdLine\LocaleData\fr\LC_MESSAGES\Perinci-CmdLine.mo cp lib/Perinci/CmdLine/ColorTheme/Default.pm blib\lib\Perinci\CmdLine\ColorTheme\Default.pm cp lib/Perinci/CmdLine.pm blib\lib\Perinci\CmdLine.pm C:\Perl64-5.14\bin\perl.exe -MExtUtils::Command -e cp -- bin/peri-run blib\script\peri-run pl2bat.bat blib\script\peri-run C:\Perl64-5.14\bin\perl.exe -MExtUtils::Command -e cp -- bin/strip-result-env-yaml blib\script\strip-result-env-yaml pl2bat.bat blib\script\strip-result-env-yaml C:\Perl64-5.14\bin\perl.exe -MExtUtils::Command -e cp -- bin/strip-result-env-json blib\script\strip-result-env-json pl2bat.bat blib\script\strip-result-env-json C:\Perl64-5.14\bin\perl.exe -MExtUtils::Command -e cp -- bin/peri-func-usage blib\script\peri-func-usage pl2bat.bat blib\script\peri-func-usage SHARYANTO/Perinci-CmdLine-1.16.tar.gz nmake -- OK Prepending C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. Skip blib\lib\auto\share\dist\Perinci-CmdLine\LocaleData\id\LC_MESSAGES\Perinci-CmdLine.mo (unchanged) Skip blib\lib\auto\share\dist\Perinci-CmdLine\LocaleData\fr\LC_MESSAGES\Perinci-CmdLine.mo (unchanged) C:\Perl64-5.14\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/00-compile.t ............ 1..6 ok 1 - Perinci/CmdLine.pm loaded ok ok 2 - Perinci/CmdLine/ColorTheme/Default.pm loaded ok ok 3 - bin/peri-func-usage compiled ok ok 4 - bin/peri-run compiled ok ok 5 - bin/strip-result-env-json compiled ok ok 6 - bin/strip-result-env-yaml compiled ok ok Can't locate Complete/Util.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\Perinci-CmdLine-1.16-aKGFEu\blib\lib C:\cpanfly-5.14\var\cpan\build\Perinci-CmdLine-1.16-aKGFEu\blib\arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at C:\cpanfly-5.14\var\cpan\build\Perinci-CmdLine-1.16-aKGFEu\blib\lib/Perinci/CmdLine.pm line 614. # Child (completion) exited without calling finalize() # Failed test 'completion' # at C:/cpanfly-5.14/var/megalib/Test/Builder.pm line 276. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 255 just after 1. t/01-basics.t ............. # Subtest: completion not ok 1 - completion Dubious, test returned 255 (wstat 65280, 0xff00) Failed 1/1 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/undo.t .................. 1..1 ok 1 ok Test Summary Report ------------------- t/01-basics.t (Wstat: 65280 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 255 Parse errors: No plan found in TAP output Files=6, Tests=8, 3 wallclock secs ( 0.09 usr + 0.03 sys = 0.12 CPU) Result: FAIL Failed 1/6 test programs. 1/8 subtests failed. NMAKE : fatal error U1077: 'C:\Perl64-5.14\bin\perl.exe' : return code '0xff' Stop. SHARYANTO/Perinci-CmdLine-1.16.tar.gz 6 dependencies missing (Complete::Util,Perinci::Access::Perl,Perinci::Sub::Complete,Perinci::Access::Schemeless,Text::ANSITable,Perinci::Access); additionally test harness failed nmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/Perinci-CmdLine-1.16.tar.gz Running make for S/SH/SHARYANTO/App-GitUtils-0.01.tar.gz Prepending C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory C:\cpanfly-5.14\var\cpan\build\App-GitUtils-0.01-eXU75M Prepending C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'make' CPAN.pm: Building S/SH/SHARYANTO/App-GitUtils-0.01.tar.gz Warning: Prerequisite 'Perinci::CmdLine => 1.04' for 'SHARYANTO/App-GitUtils-0.01.tar.gz' failed when processing 'SHARYANTO/Perinci-CmdLine-1.16.tar.gz' with 'make_test => NO 6 dependencies missing (Complete::Util,Perinci::Access::Perl,Perinci::Sub::Complete,Perinci::Access::Schemeless,Text::ANSITable,Perinci::Access); additionally test harness failed'. Continuing, but chances to succeed are limited. >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/App/GitUtils.pm blib\lib\App\GitUtils.pm C:\Perl64-5.14\bin\perl.exe -MExtUtils::Command -e cp -- bin/gu blib\script\gu pl2bat.bat blib\script\gu SHARYANTO/App-GitUtils-0.01.tar.gz nmake -- OK Prepending C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib to PERL5LIB for 'test' Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. C:\Perl64-5.14\bin\perl.exe "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t # Failed test 'bin/gu compiled ok' # at t/00-compile.t line 62. # got: '512' # expected: '0' Can't locate Perinci/CmdLine.pm in @INC (@INC contains: C:\cpanfly-5.14\var\cpan\build\App-GitUtils-0.01-eXU75M\blib\arch C:\cpanfly-5.14\var\cpan\build\App-GitUtils-0.01-eXU75M\blib\lib C:\cpanfly-5.14\var\cpan\build\App-GitUtils-0.01-eXU75M\blib\lib C:\cpanfly-5.14\var\cpan\build\App-GitUtils-0.01-eXU75M\blib\arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/arch C:\cpanfly-5.14\var\cpan\build\Monkey-Patch-Action-0.04-VEIvJc/blib/lib C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/arch C:\cpanfly-5.14\var\cpan\build\Perinci-Sub-Util-0.38-H7C2Eq/blib/lib C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/arch C:\cpanfly-5.14\var\cpan\build\File-ShareDir-Tarball-0.2.2-lrWGKx/blib/lib C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/arch C:\cpanfly-5.14\var\cpan\build\Progress-Any-Output-0.03-Nz6VGw/blib/lib C:/cpanfly-5.14/var/megalib C:/Perl64-5.14/site/lib C:/Perl64-5.14/lib .) at bin/gu line 11.BEGIN failed--compilation aborted at bin/gu line 11. at t/00-compile.t line 68, line 2. # Looks like you failed 1 test of 2. t/00-compile.t ............ 1..2 ok 1 - App/GitUtils.pm loaded ok not ok 2 - bin/gu compiled ok Dubious, test returned 1 (wstat 256, 0x100) Failed 1/2 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/00-compile.t (Wstat: 256 Tests: 2 Failed: 1) Failed test: 2 Non-zero exit status: 1 Files=4, Tests=2, 1 wallclock secs ( 0.05 usr + 0.03 sys = 0.08 CPU) Result: FAIL Failed 1/4 test programs. 1/2 subtests failed. NMAKE : fatal error U1077: 'C:\Perl64-5.14\bin\perl.exe' : return code '0xff' Stop. SHARYANTO/App-GitUtils-0.01.tar.gz one dependency not OK (Perinci::CmdLine); additionally test harness failed nmake test TEST_VERBOSE=1 -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports SHARYANTO/App-GitUtils-0.01.tar.gz Finished 2014-07-14T02:38:40