Back
From: metabase:user:30f4dfbe-2aae-11df-837a-5e0a49663a4f
Subject: FAIL Data-Sah-JS-0.87 v5.16.3 Mac OS X
Date: 2017-03-18T03:50:52Z
This distribution has been tested as part of the CPAN Testers
project, supporting the Perl programming language. See
http://wiki.cpantesters.org/ for more information or email
questions to cpan-testers-discuss@perl.org
--
Dear perlancar,
This is a computer-generated report for Data-Sah-JS-0.87
on perl 5.16.3, created by CPAN-Reporter-1.2018.
Thank you for uploading your work to CPAN. However, there was a problem
testing your distribution.
If you think this report is invalid, please consult the CPAN Testers Wiki
for suggestions on how to avoid getting FAIL reports for missing library
or binary dependencies, unsupported operating systems, and so on:
http://wiki.cpantesters.org/wiki/CPANAuthorNotes
Sections of this report:
* Tester comments
* Program output
* Prerequisites
* Environment and other context
------------------------------
TESTER COMMENTS
------------------------------
Additional comments from tester:
this report is from an automated smoke testing program
and was not reviewed by a human for accuracy
------------------------------
PROGRAM OUTPUT
------------------------------
Output from '/sw/bin/make test':
PERL_DL_NONLAZY=1 "/Users/hornenj/perl5/perlbrew/perls/perl-5.16.3/bin/perl5.16.3" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-compile.t ........... ok
t/99-various.t ........... ok
t/author-pod-coverage.t .. skipped: these tests are for testing by the author
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
t/js-misc.t .............. ok
t/js-type-date.t ......... ok
t/js-type-duration.t ..... ok
# 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) array0117: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:array) array0118: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:uniq, type, type:array) array0119: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:array) array0120: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:array) array0121: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:array) array0122: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:array) array0129: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:array) array0130: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:array) array0131: prop:elems: properties are not yet implemented
# Failed test 'js file executed successfully'
# at /Users/hornenj/.cpan/build/Data-Sah-JS-0.87-0/blib/lib/Test/Data/Sah/JS.pm line 245.
# output=<< ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 1 - (tags=type, type:array) array0001: type check: must accept []
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 2 - (tags=type, type:array) array0002: type check: must accept [1,"a"]
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 3 - (tags=type, type:array) array0003: type check: must accept [[]]
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 4 - (tags=type, type:array) array0004: type check: must reject 1
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 5 - (tags=type, type:array) array0005: type check: must reject a
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 6 - (tags=type, type:array) array0006: type check: must reject {}
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 7 - (tags=type, type:array) array0007: must accept undefined value
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 8 - (tags=clause:defhash_v, type, type:array) array0008: defhash_v
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 9 - (tags=clause:v, type, type:array) array0009: v
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 10 - (tags=clause:c, type, type:array) array0010: c
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 11 - (tags=clause:default_lang, type, type:array) array0011: default_lang
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 12 - (tags=clause:name, type, type:array) array0012: name
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 13 - (tags=clause:summary, type, type:array) array0013: summary
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 14 - (tags=clause:description, type, type:array) array0014: description
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 15 - (tags=clause:tags, type, type:array) array0015: tags
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 16 - (tags=clause:req, type, type:array) array0016: req=0 must accept undefined value
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 17 - (tags=clause:req, type, type:array) array0017: req=1 must reject undefined value
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 18 - (tags=clause:forbidden, type, type:array) array0018: forbidden=0 must accept defined value
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 19 - (tags=clause:forbidden, type, type:array) array0019: forbidden=1 must reject defined value
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 20 - (tags=clause:default, type, type:array) array0020: default: must accept valid default []
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 21 - (tags=clause:default, type, type:array) array0021: default: must reject invalid default a
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 22 - (tags=clause:clause, type, type:array) array0023: clause (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 23 - (tags=clause:clause, type, type:array) array0024: clause (ok) + clause nok = nok
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 24 - (tags=clause:clause, type, type:array) array0025: clause (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 25 - (tags=type, type:array) array0028: clset (empty = ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 26 - (tags=clause:clset, type, type:array) array0029: clset (ignored clause/attr = ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 27 - (tags=clause:clset, type, type:array) array0030: clset (ok + ok = ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 28 - (tags=clause:clset, type, type:array) array0031: clset (ok) + clause nok = nok
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 29 - (tags=clause:clset, type, type:array) array0032: clset (ok + nok = nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 30 - (tags=clause:clset, type, type:array) array0033: clset (nok + ok = nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 31 - (tags=clause:clset, type, type:array) array0034: clset (nok + nok = nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 32 - (tags=clause:ok, type, type:array) array0035: ok
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 33 - (tags=clause:ok, op, op:not, type, type:array) array0036: ok + op not (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 34 - (tags=attr, attr:err_level, type, type:array) array0037: .err_level=error (clause=is, ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 35 - (tags=attr, attr:err_level, type, type:array) array0038: .err_level=error (clause=is, nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 36 - (tags=attr, attr:err_level, type, type:array) array0039: .err_level=warn (clause=is, ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 37 - (tags=attr, attr:err_level, type, type:array) array0040: .err_level=warn (clause=is, nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 38 - (tags=clause:is, type, type:array) array0041: is: must accept same value
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 39 - (tags=clause:is, type, type:array) array0042: is: must reject different value
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 40 - (tags=clause:is, op, op:not, opshortcut, type, type:array) array0043: !is (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 41 - (tags=clause:is, op, op:not, opshortcut, type, type:array) array0044: !is (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 42 - (tags=clause:is, op, op:not, type, type:array) array0045: is.op=not (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 43 - (tags=clause:is, op, op:not, type, type:array) array0046: is.op=not (ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 44 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0047: is& (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 45 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0048: is& (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 46 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0049: is& (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 47 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0050: is& (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 48 - (tags=clause:is, op, op:and, opshortcut, type, type:array) array0051: is& (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 49 - (tags=type, type:array) array0052: is.op=and (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 50 - (tags=clause:is, op, op:and, type, type:array) array0053: is.op=and (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 51 - (tags=clause:is, op, op:and, type, type:array) array0054: is.op=and (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 52 - (tags=clause:is, op, op:and, type, type:array) array0055: is.op=and (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 53 - (tags=clause:is, op, op:and, type, type:array) array0056: is.op=and (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 54 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0057: is| (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 55 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0058: is| (ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 56 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0059: is| (nok + ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 57 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0060: is| (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 58 - (tags=clause:is, op, op:or, opshortcut, type, type:array) array0061: is| (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 59 - (tags=clause:is, op, op:or, type, type:array) array0062: is.op=or (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 60 - (tags=clause:is, op, op:or, type, type:array) array0063: is.op=or (ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 61 - (tags=clause:is, op, op:or, type, type:array) array0064: is.op=or (nok + ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 62 - (tags=clause:is, op, op:or, type, type:array) array0065: is.op=or (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 63 - (tags=clause:is, op, op:or, type, type:array) array0066: is.op=or (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 64 - (tags=clause:is, op, op:none, type, type:array) array0067: is.op=none (empty items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 65 - (tags=clause:is, op, op:none, type, type:array) array0068: is.op=none (nok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 66 - (tags=clause:is, op, op:none, type, type:array) array0069: is.op=none (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 67 - (tags=clause:is, op, op:none, type, type:array) array0070: is.op=none (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 68 - (tags=clause:is, op, op:none, type, type:array) array0071: is.op=none (ok + ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 69 - (tags=clause:in, type, type:array) array0072: in: must accept valid choices
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 70 - (tags=clause:in, type, type:array) array0073: in: must reject empty choices
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 71 - (tags=clause:in, op, op:not, opshortcut, type, type:array) array0074: !in (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 72 - (tags=clause:in, op, op:not, opshortcut, type, type:array) array0075: !in (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 73 - (tags=clause:in, op, op:not, type, type:array) array0076: in.op=not (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 74 - (tags=clause:in, op, op:not, type, type:array) array0077: in.op=not (ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 75 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0078: in& (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 76 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0079: in& (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 77 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0080: in& (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 78 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0081: in& (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 79 - (tags=clause:in, op, op:and, opshortcut, type, type:array) array0082: in& (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 80 - (tags=type, type:array) array0083: in.op=and (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 81 - (tags=clause:in, op, op:and, type, type:array) array0084: in.op=and (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 82 - (tags=clause:in, op, op:and, type, type:array) array0085: in.op=and (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 83 - (tags=clause:in, op, op:and, type, type:array) array0086: in.op=and (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 84 - (tags=clause:in, op, op:and, type, type:array) array0087: in.op=and (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 85 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0088: in| (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 86 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0089: in| (ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 87 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0090: in| (nok + ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 88 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0091: in| (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 89 - (tags=clause:in, op, op:or, opshortcut, type, type:array) array0092: in| (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 90 - (tags=clause:in, op, op:or, type, type:array) array0093: in.op=or (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 91 - (tags=clause:in, op, op:or, type, type:array) array0094: in.op=or (ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 92 - (tags=clause:in, op, op:or, type, type:array) array0095: in.op=or (nok + ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 93 - (tags=clause:in, op, op:or, type, type:array) array0096: in.op=or (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 94 - (tags=clause:in, op, op:or, type, type:array) array0097: in.op=or (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 95 - (tags=clause:in, op, op:none, type, type:array) array0098: in.op=none (empty items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 96 - (tags=clause:in, op, op:none, type, type:array) array0099: in.op=none (nok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 97 - (tags=clause:in, op, op:none, type, type:array) array0100: in.op=none (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 98 - (tags=clause:in, op, op:none, type, type:array) array0101: in.op=none (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 99 - (tags=clause:in, op, op:none, type, type:array) array0102: in.op=none (ok + ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 100 - (tags=clause:len, type, type:array) array0103: len (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 101 - (tags=clause:len, type, type:array) array0104: len (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 102 - (tags=clause:min_len, type, type:array) array0105: min_len (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 103 - (tags=clause:min_len, type, type:array) array0106: min_len (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 104 - (tags=clause:max_len, type, type:array) array0107: max_len (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 105 - (tags=clause:max_len, type, type:array) array0108: max_len (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 106 - (tags=clause:len_between, type, type:array) array0109: len_between (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 107 - (tags=clause:len_between, type, type:array) array0110: len_between (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 108 - (tags=clause:each_index, type, type:array) array0111: each_index (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 109 - (tags=clause:each_index, type, type:array) array0112: each_index (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 110 - (tags=clause:each_elem, type, type:array) array0113: each_elem (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 111 - (tags=clause:each_elem, type, type:array) array0114: each_elem (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 112 - (tags=clause:of, type, type:array) array0115: of (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 113 - (tags=clause:of, type, type:array) array0116: of (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 114 - (tags=clause:elems, type, type:array) array0123: elems (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 115 - (tags=clause:elems, type, type:array) array0124: elems (nok)
# not ok 1 - valid input [0]
# not ok 2 - valid input [1]
# ok 3 - invalid input [0]
# ok 4 - invalid input [1]
# # 2 failed test(s)
# 1..4
# not ok 116 - (tags=clause:has, type, type:array) array0125: has
# ok 1 - valid input [0]
# ok 2 - valid input [1]
# not ok 3 - invalid input [0]
# not ok 4 - invalid input [1]
# # 2 failed test(s)
# 1..4
# not ok 117 - (tags=clause:has, op, op:not, opshortcut, type, type:array) array0126: has + op.not
# not ok 1 - valid input [0]
# not ok 2 - valid input [1]
# ok 3 - invalid input [0]
# ok 4 - invalid input [1]
# # 2 failed test(s)
# 1..4
# not ok 118 - (tags=clause:has, op, op:or, opshortcut, type, type:array) array0127: has + op.or
# not ok 1 - valid input [0]
# ok 2 - invalid input [0]
# ok 3 - invalid input [1]
# ok 4 - invalid input [2]
# # 1 failed test(s)
# 1..4
# not ok 119 - (tags=clause:has, op, op:and, opshortcut, type, type:array) array0128: has + op.and
# ok 1 - valid input [0]
# ok 2 - valid input [1]
# ok 3 - invalid input [0]
# 1..3
# ok 120 - (tags=clause:of, type, type:array) array0132: array[array[int]] (test nested loop variable in implementation)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 121 - (tags=clause:elems, type, type:array) array0133: elems (nok, first elem required)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 122 - (tags=clause:elems, type, type:array) array0134: elems (ok, missing elem set to undef)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 123 - (tags=clause:elems, type, type:array) array0135: elems (ok, second elem optional)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 124 - (tags=clause:elems, type, type:array) array0136: elems (ok 2)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 125 - (tags=clause:elems, type, type:array) array0137: elems (ok, extra elems ignored)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 126 - (tags=clause:elems, type, type:array) array0138: elems (ok, extra elems ignored 2)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 127 - (tags=clause:elems, type, type:array) array0139: elems (ok, create_default=0)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 128 - (tags=clause:elems, type, type:array) array0140: elems (ok 2, create_default=0)
# # 4 failed test(s)
# 1..128
# >>, exit status ($?)=256, errno ($!)=Illegal seek, result=256Illegal seek
# Looks like you failed 1 test of 346.
# Failed test '10-type-array.json'
# at /Users/hornenj/.cpan/build/Data-Sah-0.87-1/blib/lib/Test/Data/Sah.pm line 276.
# Loading 10-type-bool.json ...
# Failed test 'js file executed successfully'
# at /Users/hornenj/.cpan/build/Data-Sah-JS-0.87-0/blib/lib/Test/Data/Sah/JS.pm line 245.
# output=<< ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 1 - (tags=type, type:bool) bool0001: type check: must accept 0
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 2 - (tags=type, type:bool) bool0002: type check: must accept 1
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 3 - (tags=type, type:bool) bool0003: type check: must reject []
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 4 - (tags=type, type:bool) bool0004: type check: must reject {}
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 5 - (tags=type, type:bool) bool0005: must accept undefined value
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 6 - (tags=clause:defhash_v, type, type:bool) bool0006: defhash_v
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 7 - (tags=clause:v, type, type:bool) bool0007: v
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 8 - (tags=clause:c, type, type:bool) bool0008: c
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 9 - (tags=clause:default_lang, type, type:bool) bool0009: default_lang
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 10 - (tags=clause:name, type, type:bool) bool0010: name
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 11 - (tags=clause:summary, type, type:bool) bool0011: summary
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 12 - (tags=clause:description, type, type:bool) bool0012: description
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 13 - (tags=clause:tags, type, type:bool) bool0013: tags
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 14 - (tags=clause:req, type, type:bool) bool0014: req=0 must accept undefined value
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 15 - (tags=clause:req, type, type:bool) bool0015: req=1 must reject undefined value
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 16 - (tags=clause:forbidden, type, type:bool) bool0016: forbidden=0 must accept defined value
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 17 - (tags=clause:forbidden, type, type:bool) bool0017: forbidden=1 must reject defined value
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 18 - (tags=clause:default, type, type:bool) bool0018: default: must accept valid default 1
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 19 - (tags=clause:default, type, type:bool) bool0019: default: must reject invalid default []
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 20 - (tags=type, type:bool) bool0023: clset (empty = ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 21 - (tags=clause:clset, type, type:bool) bool0024: clset (ignored clause/attr = ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 22 - (tags=clause:ok, type, type:bool) bool0025: ok
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 23 - (tags=clause:ok, op, op:not, type, type:bool) bool0026: ok + op not (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 24 - (tags=attr, attr:err_level, type, type:bool) bool0027: .err_level=error (clause=is, ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 25 - (tags=attr, attr:err_level, type, type:bool) bool0028: .err_level=error (clause=is, nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 26 - (tags=attr, attr:err_level, type, type:bool) bool0029: .err_level=warn (clause=is, ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 27 - (tags=attr, attr:err_level, type, type:bool) bool0030: .err_level=warn (clause=is, nok)
# not ok 1 - valid (rt=bool)
# not ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 28 - (tags=clause:is, type, type:bool) bool0031: is: must accept same value
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 29 - (tags=clause:is, type, type:bool) bool0032: is: must reject different value
# not ok 1 - invalid (rt=bool)
# not ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 30 - (tags=clause:is, op, op:not, opshortcut, type, type:bool) bool0033: !is (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 31 - (tags=clause:is, op, op:not, opshortcut, type, type:bool) bool0034: !is (ok)
# not ok 1 - invalid (rt=bool)
# not ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 32 - (tags=clause:is, op, op:not, type, type:bool) bool0035: is.op=not (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 33 - (tags=clause:is, op, op:not, type, type:bool) bool0036: is.op=not (ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 34 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0037: is& (no items)
# not ok 1 - valid (rt=bool)
# not ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 35 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0038: is& (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 36 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0039: is& (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 37 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0040: is& (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 38 - (tags=clause:is, op, op:and, opshortcut, type, type:bool) bool0041: is& (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 39 - (tags=type, type:bool) bool0042: is.op=and (no items)
# not ok 1 - valid (rt=bool)
# not ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 40 - (tags=clause:is, op, op:and, type, type:bool) bool0043: is.op=and (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 41 - (tags=clause:is, op, op:and, type, type:bool) bool0044: is.op=and (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 42 - (tags=clause:is, op, op:and, type, type:bool) bool0045: is.op=and (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 43 - (tags=clause:is, op, op:and, type, type:bool) bool0046: is.op=and (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 44 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0047: is| (no items)
# not ok 1 - valid (rt=bool)
# not ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 45 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0048: is| (ok)
# not ok 1 - valid (rt=bool)
# not ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 46 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0049: is| (nok + ok)
# not ok 1 - valid (rt=bool)
# not ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 47 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0050: is| (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 48 - (tags=clause:is, op, op:or, opshortcut, type, type:bool) bool0051: is| (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 49 - (tags=clause:is, op, op:or, type, type:bool) bool0052: is.op=or (no items)
# not ok 1 - valid (rt=bool)
# not ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 50 - (tags=clause:is, op, op:or, type, type:bool) bool0053: is.op=or (ok)
# not ok 1 - valid (rt=bool)
# not ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 51 - (tags=clause:is, op, op:or, type, type:bool) bool0054: is.op=or (nok + ok)
# not ok 1 - valid (rt=bool)
# not ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 52 - (tags=clause:is, op, op:or, type, type:bool) bool0055: is.op=or (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 53 - (tags=clause:is, op, op:or, type, type:bool) bool0056: is.op=or (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 54 - (tags=clause:is, op, op:none, type, type:bool) bool0057: is.op=none (empty items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 55 - (tags=clause:is, op, op:none, type, type:bool) bool0058: is.op=none (nok + nok)
# not ok 1 - invalid (rt=bool)
# not ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 56 - (tags=clause:is, op, op:none, type, type:bool) bool0059: is.op=none (nok + ok)
# not ok 1 - invalid (rt=bool)
# not ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 57 - (tags=clause:is, op, op:none, type, type:bool) bool0060: is.op=none (ok + nok)
# not ok 1 - invalid (rt=bool)
# not ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 58 - (tags=clause:is, op, op:none, type, type:bool) bool0061: is.op=none (ok + ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 59 - (tags=clause:in, type, type:bool) bool0062: in: must accept valid choices
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 60 - (tags=clause:in, type, type:bool) bool0063: in: must reject empty choices
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 61 - (tags=clause:in, op, op:not, opshortcut, type, type:bool) bool0064: !in (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 62 - (tags=clause:in, op, op:not, opshortcut, type, type:bool) bool0065: !in (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 63 - (tags=clause:in, op, op:not, type, type:bool) bool0066: in.op=not (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 64 - (tags=clause:in, op, op:not, type, type:bool) bool0067: in.op=not (ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 65 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0068: in& (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 66 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0069: in& (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 67 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0070: in& (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 68 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0071: in& (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 69 - (tags=clause:in, op, op:and, opshortcut, type, type:bool) bool0072: in& (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 70 - (tags=type, type:bool) bool0073: in.op=and (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 71 - (tags=clause:in, op, op:and, type, type:bool) bool0074: in.op=and (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 72 - (tags=clause:in, op, op:and, type, type:bool) bool0075: in.op=and (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 73 - (tags=clause:in, op, op:and, type, type:bool) bool0076: in.op=and (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 74 - (tags=clause:in, op, op:and, type, type:bool) bool0077: in.op=and (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 75 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0078: in| (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 76 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0079: in| (ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 77 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0080: in| (nok + ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 78 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0081: in| (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 79 - (tags=clause:in, op, op:or, opshortcut, type, type:bool) bool0082: in| (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 80 - (tags=clause:in, op, op:or, type, type:bool) bool0083: in.op=or (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 81 - (tags=clause:in, op, op:or, type, type:bool) bool0084: in.op=or (ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 82 - (tags=clause:in, op, op:or, type, type:bool) bool0085: in.op=or (nok + ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 83 - (tags=clause:in, op, op:or, type, type:bool) bool0086: in.op=or (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 84 - (tags=clause:in, op, op:or, type, type:bool) bool0087: in.op=or (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 85 - (tags=clause:in, op, op:none, type, type:bool) bool0088: in.op=none (empty items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 86 - (tags=clause:in, op, op:none, type, type:bool) bool0089: in.op=none (nok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 87 - (tags=clause:in, op, op:none, type, type:bool) bool0090: in.op=none (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 88 - (tags=clause:in, op, op:none, type, type:bool) bool0091: in.op=none (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 89 - (tags=clause:in, op, op:none, type, type:bool) bool0092: in.op=none (ok + ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 90 - (tags=clause:min, type, type:bool) bool0093: min: 1 0
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 91 - (tags=clause:min, type, type:bool) bool0094: min: 1 1
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 92 - (tags=clause:min, type, type:bool) bool0095: min: 0 1 -> fail
# not ok 1 - valid (rt=bool)
# not ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 93 - (tags=clause:xmin, type, type:bool) bool0096: xmin: 1 0
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 94 - (tags=clause:xmin, type, type:bool) bool0097: xmin: 1 1 -> fail
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 95 - (tags=clause:xmin, type, type:bool) bool0098: xmin: 0 1 -> fail
# not ok 1 - invalid (rt=bool)
# not ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 96 - (tags=clause:max, type, type:bool) bool0099: max: 1 0 -> fail
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 97 - (tags=clause:max, type, type:bool) bool0100: max: 1 1
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 98 - (tags=clause:max, type, type:bool) bool0101: max: 0 1
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 99 - (tags=clause:xmax, type, type:bool) bool0102: xmax: 1 0 -> fail
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 100 - (tags=clause:xmax, type, type:bool) bool0103: xmax: 1 1 -> fail
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 101 - (tags=clause:xmax, type, type:bool) bool0104: xmax: 0 1
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 102 - (tags=clause:between, type, type:bool) bool0105: between: 1 0 & 1
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 103 - (tags=clause:between, type, type:bool) bool0106: between: 1 0 & 1
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 104 - (tags=clause:between, type, type:bool) bool0107: between: 1 1 & 1
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 105 - (tags=clause:between, type, type:bool) bool0108: between: 0 1 & 1 -> fail
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 106 - (tags=clause:xbetween, type, type:bool) bool0109: xbetween: 1 0 & 1
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 107 - (tags=clause:xbetween, type, type:bool) bool0110: xbetween: 1 0 & 1 -> fail
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 108 - (tags=clause:xbetween, type, type:bool) bool0111: xbetween: 1 1 & 1 -> fail
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 109 - (tags=clause:xbetween, type, type:bool) bool0112: xbetween: 0 1 & 1 -> fail
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 110 - (tags=clause:between, op, op:not, opshortcut, type, type:bool) bool0113: !between (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 111 - (tags=clause:between, op, op:not, opshortcut, type, type:bool) bool0114: !between (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 112 - (tags=clause:between, op, op:not, type, type:bool) bool0115: between.op=not (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 113 - (tags=clause:between, op, op:not, type, type:bool) bool0116: between.op=not (ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 114 - (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0117: between& (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 115 - (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0118: between& (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 116 - (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0119: between& (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 117 - (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0120: between& (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 118 - (tags=clause:between, op, op:and, opshortcut, type, type:bool) bool0121: between& (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 119 - (tags=type, type:bool) bool0122: between.op=and (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 120 - (tags=clause:between, op, op:and, type, type:bool) bool0123: between.op=and (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 121 - (tags=clause:between, op, op:and, type, type:bool) bool0124: between.op=and (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 122 - (tags=clause:between, op, op:and, type, type:bool) bool0125: between.op=and (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 123 - (tags=clause:between, op, op:and, type, type:bool) bool0126: between.op=and (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 124 - (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0127: between| (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 125 - (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0128: between| (ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 126 - (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0129: between| (nok + ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 127 - (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0130: between| (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 128 - (tags=clause:between, op, op:or, opshortcut, type, type:bool) bool0131: between| (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 129 - (tags=clause:between, op, op:or, type, type:bool) bool0132: between.op=or (no items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 130 - (tags=clause:between, op, op:or, type, type:bool) bool0133: between.op=or (ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 131 - (tags=clause:between, op, op:or, type, type:bool) bool0134: between.op=or (nok + ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 132 - (tags=clause:between, op, op:or, type, type:bool) bool0135: between.op=or (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 133 - (tags=clause:between, op, op:or, type, type:bool) bool0136: between.op=or (nok + nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 134 - (tags=clause:between, op, op:none, type, type:bool) bool0137: between.op=none (empty items)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 135 - (tags=clause:between, op, op:none, type, type:bool) bool0138: between.op=none (nok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 136 - (tags=clause:between, op, op:none, type, type:bool) bool0139: between.op=none (nok + ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 137 - (tags=clause:between, op, op:none, type, type:bool) bool0140: between.op=none (ok + nok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 138 - (tags=clause:between, op, op:none, type, type:bool) bool0141: between.op=none (ok + ok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 139 - (tags=clause:is_true, type, type:bool) bool0142: is_true: 1 (ok)
# ok 1 - invalid (rt=bool)
# ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 140 - (tags=clause:is_true, type, type:bool) bool0143: is_true: 1 (nok)
# not ok 1 - valid (rt=bool)
# not ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 141 - (tags=clause:is_true, type, type:bool) bool0144: is_true: 0 (ok)
# not ok 1 - invalid (rt=bool)
# not ok 2 - invalid (rt=str)
# ok 3 - validator (rt=full) returns object
# not ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# # 3 failed test(s)
# 1..5
# not ok 142 - (tags=clause:is_true, type, type:bool) bool0145: is_true: 0 (nok)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 143 - (tags=clause:is_true, type, type:bool) bool0146: is_true: undef (ok 1)
# ok 1 - valid (rt=bool)
# ok 2 - valid (rt=str)
# ok 3 - validator (rt=full) returns object
# ok 4 - errors (rt=full)
# ok 5 - warnings (rt=full)
# 1..5
# ok 144 - (tags=clause:is_true, type, type:bool) bool0147: is_true: undef (ok 2)
# # 18 failed test(s)
# 1..144
# >>, exit status ($?)=256, errno ($!)=Illegal seek, result=256Illegal seek
# Looks like you failed 1 test of 388.
# Failed test '10-type-bool.json'
# at /Users/hornenj/.cpan/build/Data-Sah-0.87-1/blib/lib/Test/Data/Sah.pm line 276.
# Loading 10-type-buf.json ...
# Skipping test (tags=clause:check_each_index, type, type:buf) buf0164: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:buf) buf0165: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:uniq, type, type:buf) buf0166: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:buf) buf0167: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:buf) buf0168: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:buf) buf0169: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:buf) buf0174: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:buf) buf0175: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:buf) buf0176: prop:elems: properties are not yet implemented
# Loading 10-type-cistr.json ...
# Skipping test (tags=clause:check_each_index, type, type:cistr) cistr0164: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:cistr) cistr0165: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:uniq, type, type:cistr) cistr0166: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:cistr) cistr0167: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:cistr) cistr0168: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:cistr) cistr0169: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:cistr) cistr0174: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:cistr) cistr0175: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:cistr) cistr0176: 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) hash0121: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_key, type, type:hash) hash0122: check_each_key: clause check_each_key not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:hash) hash0123: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:check_each_value, type, type:hash) hash0124: check_each_value: clause check_each_value not yet implemented
# Skipping test (tags=clause:uniq, type, type:hash) hash0125: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:hash) hash0126: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:hash) hash0127: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:hash) hash0128: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:hash) hash0133: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:hash) hash0134: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:keys, type, type:hash) hash0135: prop:keys: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:hash) hash0136: prop:elems: properties are not yet implemented
# Skipping test (tags=prop:values, type, type:hash) hash0137: prop:values: properties are not yet implemented
# Skipping test (tags=prop:keys, type, type:hash) hash0263: prop:keys: properties are not yet implemented
# Skipping test (tags=prop:values, type, type:hash) hash0264: 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=clause:isa, type, type:obj) obj0002: isa (nok): obj clause isa not yet implemented
# Skipping test (tags=prop:meths, type, type:obj) obj0003: prop:meths (nok): properties are not yet implemented
# Skipping test (tags=prop:attrs, type, type:obj) obj0004: prop:attrs (nok): properties are not yet implemented
# Loading 10-type-str.json ...
# Skipping test (tags=clause:check_each_index, type, type:str) str0164: check_each_index: clause check_each_index not yet implemented
# Skipping test (tags=clause:check_each_elem, type, type:str) str0165: check_each_elem: clause check_each_elem not yet implemented
# Skipping test (tags=clause:uniq, type, type:str) str0166: uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, type, type:str) str0167: uniq=0: clause uniq not yet implemented
# Skipping test (tags=clause:uniq, op, op:not, opshortcut, type, type:str) str0168: !uniq=1: clause uniq not yet implemented
# Skipping test (tags=clause:exists, type, type:str) str0169: exists: clause exists not yet implemented
# Skipping test (tags=prop:len, type, type:str) str0174: prop:len: properties are not yet implemented
# Skipping test (tags=prop:indices, type, type:str) str0175: prop:indices: properties are not yet implemented
# Skipping test (tags=prop:elems, type, type:str) str0176: prop:elems: properties are not yet implemented
# Loading 10-type-undef.json ...
# Looks like you failed 2 tests of 13.
t/spectest-js.t ..........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/13 subtests
Test Summary Report
-------------------
t/spectest-js.t (Wstat: 512 Tests: 13 Failed: 2)
Failed tests: 3-4
Non-zero exit status: 2
Files=8, Tests=46, 9 wallclock secs ( 0.49 usr 0.06 sys + 6.79 cusr 1.46 csys = 8.80 CPU)
Result: FAIL
Failed 1/8 test programs. 2/46 subtests failed.
make: *** [Makefile:1012: test_dynamic] Error 2
------------------------------
PREREQUISITES
------------------------------
Prerequisite modules loaded:
requires:
Module Need Have
----------------------------- -------- --------
Capture::Tiny 0 0.30
Data::Clean::JSON 0.11 0.38
Data::Sah 0.84 0.87
Data::Sah::Coerce 0.014 0.021
Data::Sah::Compiler::Prog 0 0.87
Data::Sah::Compiler::Prog::TH 0 0.87
Data::Sah::Type::array 0 0.87
Data::Sah::Type::bool 0 0.87
Data::Sah::Type::buf 0 0.87
Data::Sah::Type::cistr 0 0.87
Data::Sah::Type::code 0 0.87
Data::Sah::Type::date 0 0.87
Data::Sah::Type::duration 0 0.87
Data::Sah::Type::float 0 0.87
Data::Sah::Type::hash 0 0.87
Data::Sah::Type::int 0 0.87
Data::Sah::Type::num 0 0.87
Data::Sah::Type::obj 0 0.87
Data::Sah::Type::re 0 0.87
Data::Sah::Type::str 0 0.87
Data::Sah::Type::undef 0 0.87
Exporter 0 5.72
File::Temp 0 0.2304
IPC::System::Options 0.27 0.30
JSON::MaybeXS 0 1.003005
Mo 0 0.40
Nodejs::Util 0.006 0.006
parent 0 0.234
perl 5.010001 5.016003
Role::Tiny::With 0 2.000001
Scalar::Util 0 1.42
Scalar::Util::Numeric::PP 0 0.04
strict 0 1.07
String::Indent 0 0.03
Test::Data::Sah 0.87 0.87
Test::More 0.98 1.302075
warnings 0 1.13
build_requires:
Module Need Have
----------------------------- -------- --------
ExtUtils::MakeMaker 0 7.22
File::Spec 0 3.47
IO::Handle 0 1.33
IPC::Open3 0 1.12
Sah::SpecTest v0.9.42 0.9.45
Test::Exception 0 0.43
Test::More 0.98 1.302075
configure_requires:
Module Need Have
----------------------------- -------- --------
ExtUtils::MakeMaker 0 7.22
------------------------------
ENVIRONMENT AND OTHER CONTEXT
------------------------------
Environment variables:
AUTOMATED_TESTING = 1
LANG = en_US.UTF-8
LC_ALL = POSIX
LDFLAGS =
PATH = /Users/hornenj/perl5/perlbrew/bin:/Users/hornenj/perl5/perlbrew/perls/perl-5.16.3/bin:/Users/hornenj/perl5/perlbrew/bin:/Users/hornenj/bin:/sw/lib/perl5/ExtUtils:/sw/bin:/am/ncbiapdata/bin:/usr/bin:/bin:/usr/X11R6/bin:/netopt/ncbi_tools/bin:/usr/local/ncbi/blast/bin:/net/traces01.be-md.ncbi.nlm.nih.gov/trace_software/vdb/mac/release/x86_64/bin
PERL5LIB = /Users/hornenj/.cpan/build/String-Indent-0.03-1/blib/arch:/Users/hornenj/.cpan/build/String-Indent-0.03-1/blib/lib:/Users/hornenj/.cpan/build/Perl-osnames-0.11-2/blib/arch:/Users/hornenj/.cpan/build/Perl-osnames-0.11-2/blib/lib:/Users/hornenj/.cpan/build/Data-Clean-JSON-0.38-2/blib/arch:/Users/hornenj/.cpan/build/Data-Clean-JSON-0.38-2/blib/lib:/Users/hornenj/.cpan/build/Data-Clean-0.48-2/blib/arch:/Users/hornenj/.cpan/build/Data-Clean-0.48-2/blib/lib:/Users/hornenj/.cpan/build/String-PerlQuote-0.02-2/blib/arch:/Users/hornenj/.cpan/build/String-PerlQuote-0.02-2/blib/lib:/Users/hornenj/.cpan/build/String-LineNumber-0.01-2/blib/arch:/Users/hornenj/.cpan/build/String-LineNumber-0.01-2/blib/lib:/Users/hornenj/.cpan/build/Clone-PP-1.06-4/blib/arch:/Users/hornenj/.cpan/build/Clone-PP-1.06-4/blib/lib:/Users/hornenj/.cpan/build/Data-Sah-Format-0.002-0/blib/arch:/Users/hornenj/.cpan/build/Data-Sah-Format-0.002-0/blib/lib:/Users/hornenj/.cpan/build/Data-Sah-0.87-1/blib/arch:/Users/hornenj/.cpan/build/Data-Sah-0.87-1/blib/lib:/Users/hornenj/.cpan/build/lib-filter-0.27-1/blib/arch:/Users/hornenj/.cpan/build/lib-filter-0.27-1/blib/lib:/Users/hornenj/.cpan/build/Module-Path-More-0.33-2/blib/arch:/Users/hornenj/.cpan/build/Module-Path-More-0.33-2/blib/lib:/Users/hornenj/.cpan/build/experimental-0.016-2/blib/arch:/Users/hornenj/.cpan/build/experimental-0.016-2/blib/lib:/Users/hornenj/.cpan/build/Time-Duration-Parse-AsHash-0.10.6-1/blib/arch:/Users/hornenj/.cpan/build/Time-Duration-Parse-AsHash-0.10.6-1/blib/lib:/Users/hornenj/.cpan/build/Text-sprintfn-0.08-1/blib/arch:/Users/hornenj/.cpan/build/Text-sprintfn-0.08-1/blib/lib:/Users/hornenj/.cpan/build/Scalar-Util-Numeric-PP-0.04-1/blib/arch:/Users/hornenj/.cpan/build/Scalar-Util-Numeric-PP-0.04-1/blib/lib:/Users/hornenj/.cpan/build/Sah-0.9.45-1/blib/arch:/Users/hornenj/.cpan/build/Sah-0.9.45-1/blib/lib:/Users/hornenj/.cpan/build/Module-Installed-Tiny-0.003-1/blib/arch:/Users/hornenj/.cpan/build/Module-Installed-Tiny-0.003-1/blib/lib:/Users/hornenj/.cpan/build/File-Slurper-0.009-4/blib/arch:/Users/hornenj/.cpan/build/File-Slurper-0.009-4/blib/lib:/Users/hornenj/.cpan/build/File-ShareDir-Tarball-0.2.2-1/blib/arch:/Users/hornenj/.cpan/build/File-ShareDir-Tarball-0.2.2-1/blib/lib:/Users/hornenj/.cpan/build/Test-File-ShareDir-1.001002-24/blib/arch:/Users/hornenj/.cpan/build/Test-File-ShareDir-1.001002-24/blib/lib:/Users/hornenj/.cpan/build/Data-Sah-Resolve-0.004-1/blib/arch:/Users/hornenj/.cpan/build/Data-Sah-Resolve-0.004-1/blib/lib:/Users/hornenj/.cpan/build/Sah-Schemas-Examples-0.005-1/blib/arch:/Users/hornenj/.cpan/build/Sah-Schemas-Examples-0.005-1/blib/lib:/Users/hornenj/.cpan/build/Sah-Schemas-Int-0.06-1/blib/arch:/Users/hornenj/.cpan/build/Sah-Schemas-Int-0.06-1/blib/lib:/Users/hornenj/.cpan/build/Data-ModeMerge-0.35-1/blib/arch:/Users/hornenj/.cpan/build/Data-ModeMerge-0.35-1/blib/lib:/Users/hornenj/.cpan/build/Mo-0.40-2/blib/arch:/Users/hornenj/.cpan/build/Mo-0.40-2/blib/lib:/Users/hornenj/.cpan/build/Data-Sah-Normalize-0.04-2/blib/arch:/Users/hornenj/.cpan/build/Data-Sah-Normalize-0.04-2/blib/lib:/Users/hornenj/.cpan/build/Data-Sah-Coerce-0.021-1/blib/arch:/Users/hornenj/.cpan/build/Data-Sah-Coerce-0.021-1/blib/lib:/Users/hornenj/.cpan/build/Test-Needs-0.002005-14/blib/arch:/Users/hornenj/.cpan/build/Test-Needs-0.002005-14/blib/lib:/Users/hornenj/.cpan/build/PERLANCAR-Module-List-0.003005-2/blib/arch:/Users/hornenj/.cpan/build/PERLANCAR-Module-List-0.003005-2/blib/lib:/Users/hornenj/.cpan/build/Nodejs-Util-0.006-1/blib/arch:/Users/hornenj/.cpan/build/Nodejs-Util-0.006-1/blib/lib:/Users/hornenj/.cpan/build/IPC-System-Options-0.30-2/blib/arch:/Users/hornenj/.cpan/build/IPC-System-Options-0.30-2/blib/lib:/Users/hornenj/.cpan/build/String-ShellQuote-1.04-3/blib/arch:/Users/hornenj/.cpan/build/String-ShellQuote-1.04-3/blib/lib:/Users/hornenj/.cpan/build/Proc-ChildError-0.04-2/blib/arch:/Users/hornenj/.cpan/build/Proc-ChildError-0.04-2/blib/lib:/Users/hornenj/.cpan/build/Data-Dmp-0.23-2/blib/arch:/Users/hornenj/.cpan/build/Data-Dmp-0.23-2/blib/lib:/Users/hornenj/.cpan/build/Regexp-Stringify-0.06-2/blib/arch:/Users/hornenj/.cpan/build/Regexp-Stringify-0.06-2/blib/lib:/Users/hornenj/.cpan/build/Data-Dump-Color-0.23-0/blib/arch:/Users/hornenj/.cpan/build/Data-Dump-Color-0.23-0/blib/lib:/Users/hornenj/.cpan/build/Scalar-Util-LooksLikeNumber-1.39.2-0/blib/arch:/Users/hornenj/.cpan/build/Scalar-Util-LooksLikeNumber-1.39.2-0/blib/lib:/Users/hornenj/.cpan/build/Complete-Module-0.24-1/blib/arch:/Users/hornenj/.cpan/build/Complete-Module-0.24-1/blib/lib:/Users/hornenj/.cpan/build/Filesys-Cap-0.02-1/blib/arch:/Users/hornenj/.cpan/build/Filesys-Cap-0.02-1/blib/lib:/Users/hornenj/.cpan/build/UUID-Random-0.04-2/blib/arch:/Users/hornenj/.cpan/build/UUID-Random-0.04-2/blib/lib:/Users/hornenj/.cpan/build/File-chdir-0.1010-53/blib/arch:/Users/hornenj/.cpan/build/File-chdir-0.1010-53/blib/lib:/Users/hornenj/.cpan/build/File-Slurp-Tiny-0.004-32/blib/arch:/Users/hornenj/.cpan/build/File-Slurp-Tiny-0.004-32/blib/lib:/Users/hornenj/.cpan/build/Complete-Path-0.23-2/blib/arch:/Users/hornenj/.cpan/build/Complete-Path-0.23-2/blib/lib:/Users/hornenj/.cpan/build/Complete-Util-0.58-2/blib/arch:/Users/hornenj/.cpan/build/Complete-Util-0.58-2/blib/lib:/Users/hornenj/.cpan/build/Log-Any-IfLOG-0.08-2/blib/arch:/Users/hornenj/.cpan/build/Log-Any-IfLOG-0.08-2/blib/lib:/Users/hornenj/.cpan/build/Complete-Common-0.22-2/blib/arch:/Users/hornenj/.cpan/build/Complete-Common-0.22-2/blib/lib
PERL5OPT =
PERL5_CPANPLUS_IS_RUNNING = 96224
PERL5_CPAN_IS_RUNNING = 96224
PERL5_MINISMOKEBOX = 0.58
PERLBREW_BASHRC_VERSION = 0.77
PERLBREW_HOME = /Users/hornenj/.perlbrew
PERLBREW_LIB =
PERLBREW_MANPATH = /Users/hornenj/perl5/perlbrew/perls/perl-5.16.3/man
PERLBREW_PATH = /Users/hornenj/perl5/perlbrew/bin:/Users/hornenj/perl5/perlbrew/perls/perl-5.16.3/bin
PERLBREW_PERL = perl-5.16.3
PERLBREW_ROOT = /Users/hornenj/perl5/perlbrew
PERLBREW_VERSION = 0.77
PERL_EXTUTILS_AUTOINSTALL = --defaultdeps
PERL_LOCAL_LIB_ROOT =
PERL_MM_USE_DEFAULT = 1
SHELL = /bin/bash
TERM = xterm-256color
TMPDIR = /var/folders/pz/pd7y1qjs6s3cbk170cw50fjc000c61/T/
ac_cv_path_INTLTOOL_PERL = /usr/bin/perl
Perl special variables (and OS-specific diagnostics, for MSWin32):
$^X = /Users/hornenj/perl5/perlbrew/perls/perl-5.16.3/bin/perl5.16.3
$UID/$EUID = 12481 / 12481
$GID = 14 14 5344 37191 527 37223 241
$EGID = 14 14 5344 37191 527 37223 241
Perl module toolchain versions installed:
Module Have
------------------- --------
CPAN 2.14
CPAN::Meta 2.150005
Cwd 3.47
ExtUtils::CBuilder 0.280224
ExtUtils::Command 7.22
ExtUtils::Install 2.04
ExtUtils::MakeMaker 7.22
ExtUtils::Manifest 1.70
ExtUtils::ParseXS 3.30
File::Spec 3.47
JSON 2.90
JSON::PP 2.27400
Module::Build 0.4214
Module::Signature n/a
Parse::CPAN::Meta 1.4422
Test::Harness 3.36
Test::More 1.302075
YAML 1.21
YAML::Syck 1.29
version 0.9912
--
Summary of my perl5 (revision 5 version 16 subversion 3) configuration:
Platform:
osname=darwin, osvers=13.4.0, archname=darwin-thread-multi-2level
uname='darwin ncbimac2008.ncbi.nlm.nih.gov 13.4.0 darwin kernel version 13.4.0: sun aug 17 19:50:11 pdt 2014; root:xnu-2422.115.4~1release_x86_64 x86_64 '
config_args='-de -Dprefix=/Users/hornenj/perl5/perlbrew/perls/perl-5.16.3 -Duseithreads -Dusemultiplicity -Dusedevel -Accflags=-O2 -W -Wformat=2 -Wswitch -Wshadow -Wwrite-strings -Wuninitialized -Wall -pipe -mtune=native -march=native -fomit-frame-pointer -msse2 -msse -mmmx -pedantic -D_FORTIFY_SOURCE=2 -Wpointer-arith -Wstrict-prototypes -fstack-protector -Wstack-protector -Wextra -Wbad-function-cast -Wcast-align -Wcast-qual -Wdisabled-optimization -Wendif-labels -Wfloat-equal -Wformat-nonliteral -Winline -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wundef -Wformat-security -fassociative-math -Acc=cc -Aeval:scriptdir=/Users/hornenj/perl5/perlbrew/perls/perl-5.16.3/bin'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc=' cc', ccflags ='-fno-common -DPERL_DARWIN -O2 -W -Wformat=2 -Wswitch -Wshadow -Wwrite-strings -Wuninitialized -Wall -pipe -mtune=native -march=native -fomit-frame-pointer -msse2 -msse -mmmx -pedantic -D_FORTIFY_SOURCE=2 -Wpointer-arith -Wstrict-prototypes -fstack-protector -Wstack-protector -Wextra -Wbad-function-cast -Wcast-align -Wcast-qual -Wdisabled-optimization -Wendif-labels -Wfloat-equal -Wformat-nonliteral -Winline -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wundef -Wformat-security -fassociative-math -fno-strict-aliasing -I/usr/local/include',
optimize='-O3',
cppflags='-fno-common -DPERL_DARWIN -O2 -W -Wformat=2 -Wswitch -Wshadow -Wwrite-strings -Wuninitialized -Wall -pipe -mtune=native -march=native -fomit-frame-pointer -msse2 -msse -mmmx -pedantic -D_FORTIFY_SOURCE=2 -Wpointer-arith -Wstrict-prototypes -fstack-protector -Wstack-protector -Wextra -Wbad-function-cast -Wcast-align -Wcast-qual -Wdisabled-optimization -Wendif-labels -Wfloat-equal -Wformat-nonliteral -Winline -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wundef -Wformat-security -fassociative-math -fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.51)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib
libs=-ldbm -ldl -lm -lutil -lc
perllibs=-ldl -lm -lutil -lc
libc=, so=dylib, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags=' -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PERL_USE_DEVEL
USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_PERLIO
USE_PERL_ATOF USE_REENTRANT_API
Built under darwin
Compiled at Nov 6 2014 09:32:39
%ENV:
PERL5LIB="/Users/hornenj/.cpan/build/String-Indent-0.03-1/blib/arch:/Users/hornenj/.cpan/build/String-Indent-0.03-1/blib/lib:/Users/hornenj/.cpan/build/Perl-osnames-0.11-2/blib/arch:/Users/hornenj/.cpan/build/Perl-osnames-0.11-2/blib/lib:/Users/hornenj/.cpan/build/Data-Clean-JSON-0.38-2/blib/arch:/Users/hornenj/.cpan/build/Data-Clean-JSON-0.38-2/blib/lib:/Users/hornenj/.cpan/build/Data-Clean-0.48-2/blib/arch:/Users/hornenj/.cpan/build/Data-Clean-0.48-2/blib/lib:/Users/hornenj/.cpan/build/String-PerlQuote-0.02-2/blib/arch:/Users/hornenj/.cpan/build/String-PerlQuote-0.02-2/blib/lib:/Users/hornenj/.cpan/build/String-LineNumber-0.01-2/blib/arch:/Users/hornenj/.cpan/build/String-LineNumber-0.01-2/blib/lib:/Users/hornenj/.cpan/build/Clone-PP-1.06-4/blib/arch:/Users/hornenj/.cpan/build/Clone-PP-1.06-4/blib/lib:/Users/hornenj/.cpan/build/Data-Sah-Format-0.002-0/blib/arch:/Users/hornenj/.cpan/build/Data-Sah-Format-0.002-0/blib/lib:/Users/hornenj/.cpan/build/Data-Sah-0.87-1/blib/arch:/Users/hornenj/.cpan/build/Data-Sah-0.87-1/blib/lib:/Users/hornenj/.cpan/build/lib-filter-0.27-1/blib/arch:/Users/hornenj/.cpan/build/lib-filter-0.27-1/blib/lib:/Users/hornenj/.cpan/build/Module-Path-More-0.33-2/blib/arch:/Users/hornenj/.cpan/build/Module-Path-More-0.33-2/blib/lib:/Users/hornenj/.cpan/build/experimental-0.016-2/blib/arch:/Users/hornenj/.cpan/build/experimental-0.016-2/blib/lib:/Users/hornenj/.cpan/build/Time-Duration-Parse-AsHash-0.10.6-1/blib/arch:/Users/hornenj/.cpan/build/Time-Duration-Parse-AsHash-0.10.6-1/blib/lib:/Users/hornenj/.cpan/build/Text-sprintfn-0.08-1/blib/arch:/Users/hornenj/.cpan/build/Text-sprintfn-0.08-1/blib/lib:/Users/hornenj/.cpan/build/Scalar-Util-Numeric-PP-0.04-1/blib/arch:/Users/hornenj/.cpan/build/Scalar-Util-Numeric-PP-0.04-1/blib/lib:/Users/hornenj/.cpan/build/Sah-0.9.45-1/blib/arch:/Users/hornenj/.cpan/build/Sah-0.9.45-1/blib/lib:/Users/hornenj/.cpan/build/Module-Installed-Tiny-0.003-1/blib/arch:/Users/hornenj/.cpan/build/Module-Installed-Tiny-0.003-1/blib/lib:/Users/hornenj/.cpan/build/File-Slurper-0.009-4/blib/arch:/Users/hornenj/.cpan/build/File-Slurper-0.009-4/blib/lib:/Users/hornenj/.cpan/build/File-ShareDir-Tarball-0.2.2-1/blib/arch:/Users/hornenj/.cpan/build/File-ShareDir-Tarball-0.2.2-1/blib/lib:/Users/hornenj/.cpan/build/Test-File-ShareDir-1.001002-24/blib/arch:/Users/hornenj/.cpan/build/Test-File-ShareDir-1.001002-24/blib/lib:/Users/hornenj/.cpan/build/Data-Sah-Resolve-0.004-1/blib/arch:/Users/hornenj/.cpan/build/Data-Sah-Resolve-0.004-1/blib/lib:/Users/hornenj/.cpan/build/Sah-Schemas-Examples-0.005-1/blib/arch:/Users/hornenj/.cpan/build/Sah-Schemas-Examples-0.005-1/blib/lib:/Users/hornenj/.cpan/build/Sah-Schemas-Int-0.06-1/blib/arch:/Users/hornenj/.cpan/build/Sah-Schemas-Int-0.06-1/blib/lib:/Users/hornenj/.cpan/build/Data-ModeMerge-0.35-1/blib/arch:/Users/hornenj/.cpan/build/Data-ModeMerge-0.35-1/blib/lib:/Users/hornenj/.cpan/build/Mo-0.40-2/blib/arch:/Users/hornenj/.cpan/build/Mo-0.40-2/blib/lib:/Users/hornenj/.cpan/build/Data-Sah-Normalize-0.04-2/blib/arch:/Users/hornenj/.cpan/build/Data-Sah-Normalize-0.04-2/blib/lib:/Users/hornenj/.cpan/build/Data-Sah-Coerce-0.021-1/blib/arch:/Users/hornenj/.cpan/build/Data-Sah-Coerce-0.021-1/blib/lib:/Users/hornenj/.cpan/build/Test-Needs-0.002005-14/blib/arch:/Users/hornenj/.cpan/build/Test-Needs-0.002005-14/blib/lib:/Users/hornenj/.cpan/build/PERLANCAR-Module-List-0.003005-2/blib/arch:/Users/hornenj/.cpan/build/PERLANCAR-Module-List-0.003005-2/blib/lib:/Users/hornenj/.cpan/build/Nodejs-Util-0.006-1/blib/arch:/Users/hornenj/.cpan/build/Nodejs-Util-0.006-1/blib/lib:/Users/hornenj/.cpan/build/IPC-System-Options-0.30-2/blib/arch:/Users/hornenj/.cpan/build/IPC-System-Options-0.30-2/blib/lib:/Users/hornenj/.cpan/build/String-ShellQuote-1.04-3/blib/arch:/Users/hornenj/.cpan/build/String-ShellQuote-1.04-3/blib/lib:/Users/hornenj/.cpan/build/Proc-ChildError-0.04-2/blib/arch:/Users/hornenj/.cpan/build/Proc-ChildError-0.04-2/blib/lib:/Users/hornenj/.cpan/build/Data-Dmp-0.23-2/blib/arch:/Users/hornenj/.cpan/build/Data-Dmp-0.23-2/blib/lib:/Users/hornenj/.cpan/build/Regexp-Stringify-0.06-2/blib/arch:/Users/hornenj/.cpan/build/Regexp-Stringify-0.06-2/blib/lib:/Users/hornenj/.cpan/build/Data-Dump-Color-0.23-0/blib/arch:/Users/hornenj/.cpan/build/Data-Dump-Color-0.23-0/blib/lib:/Users/hornenj/.cpan/build/Scalar-Util-LooksLikeNumber-1.39.2-0/blib/arch:/Users/hornenj/.cpan/build/Scalar-Util-LooksLikeNumber-1.39.2-0/blib/lib:/Users/hornenj/.cpan/build/Complete-Module-0.24-1/blib/arch:/Users/hornenj/.cpan/build/Complete-Module-0.24-1/blib/lib:/Users/hornenj/.cpan/build/Filesys-Cap-0.02-1/blib/arch:/Users/hornenj/.cpan/build/Filesys-Cap-0.02-1/blib/lib:/Users/hornenj/.cpan/build/UUID-Random-0.04-2/blib/arch:/Users/hornenj/.cpan/build/UUID-Random-0.04-2/blib/lib:/Users/hornenj/.cpan/build/File-chdir-0.1010-53/blib/arch:/Users/hornenj/.cpan/build/File-chdir-0.1010-53/blib/lib:/Users/hornenj/.cpan/build/File-Slurp-Tiny-0.004-32/blib/arch:/Users/hornenj/.cpan/build/File-Slurp-Tiny-0.004-32/blib/lib:/Users/hornenj/.cpan/build/Complete-Path-0.23-2/blib/arch:/Users/hornenj/.cpan/build/Complete-Path-0.23-2/blib/lib:/Users/hornenj/.cpan/build/Complete-Util-0.58-2/blib/arch:/Users/hornenj/.cpan/build/Complete-Util-0.58-2/blib/lib:/Users/hornenj/.cpan/build/Log-Any-IfLOG-0.08-2/blib/arch:/Users/hornenj/.cpan/build/Log-Any-IfLOG-0.08-2/blib/lib:/Users/hornenj/.cpan/build/Complete-Common-0.22-2/blib/arch:/Users/hornenj/.cpan/build/Complete-Common-0.22-2/blib/lib"
PERL5OPT=""
PERL5_CPANPLUS_IS_RUNNING="96224"
PERL5_CPAN_IS_RUNNING="96224"
PERL5_MINISMOKEBOX="0.58"
PERLBREW_BASHRC_VERSION="0.77"
PERLBREW_HOME="/Users/hornenj/.perlbrew"
PERLBREW_LIB=""
PERLBREW_MANPATH="/Users/hornenj/perl5/perlbrew/perls/perl-5.16.3/man"
PERLBREW_PATH="/Users/hornenj/perl5/perlbrew/bin:/Users/hornenj/perl5/perlbrew/perls/perl-5.16.3/bin"
PERLBREW_PERL="perl-5.16.3"
PERLBREW_ROOT="/Users/hornenj/perl5/perlbrew"
PERLBREW_VERSION="0.77"
PERL_EXTUTILS_AUTOINSTALL="--defaultdeps"
PERL_LOCAL_LIB_ROOT=""
PERL_MM_USE_DEFAULT="1"
@INC:
/Users/hornenj/.cpan/build/String-Indent-0.03-1/blib/arch
/Users/hornenj/.cpan/build/String-Indent-0.03-1/blib/lib
/Users/hornenj/.cpan/build/Perl-osnames-0.11-2/blib/arch
/Users/hornenj/.cpan/build/Perl-osnames-0.11-2/blib/lib
/Users/hornenj/.cpan/build/Data-Clean-JSON-0.38-2/blib/arch
/Users/hornenj/.cpan/build/Data-Clean-JSON-0.38-2/blib/lib
/Users/hornenj/.cpan/build/Data-Clean-0.48-2/blib/arch
/Users/hornenj/.cpan/build/Data-Clean-0.48-2/blib/lib
/Users/hornenj/.cpan/build/String-PerlQuote-0.02-2/blib/arch
/Users/hornenj/.cpan/build/String-PerlQuote-0.02-2/blib/lib
/Users/hornenj/.cpan/build/String-LineNumber-0.01-2/blib/arch
/Users/hornenj/.cpan/build/String-LineNumber-0.01-2/blib/lib
/Users/hornenj/.cpan/build/Clone-PP-1.06-4/blib/arch
/Users/hornenj/.cpan/build/Clone-PP-1.06-4/blib/lib
/Users/hornenj/.cpan/build/Data-Sah-Format-0.002-0/blib/arch
/Users/hornenj/.cpan/build/Data-Sah-Format-0.002-0/blib/lib
/Users/hornenj/.cpan/build/Data-Sah-0.87-1/blib/arch
/Users/hornenj/.cpan/build/Data-Sah-0.87-1/blib/lib
/Users/hornenj/.cpan/build/lib-filter-0.27-1/blib/arch
/Users/hornenj/.cpan/build/lib-filter-0.27-1/blib/lib
/Users/hornenj/.cpan/build/Module-Path-More-0.33-2/blib/arch
/Users/hornenj/.cpan/build/Module-Path-More-0.33-2/blib/lib
/Users/hornenj/.cpan/build/experimental-0.016-2/blib/arch
/Users/hornenj/.cpan/build/experimental-0.016-2/blib/lib
/Users/hornenj/.cpan/build/Time-Duration-Parse-AsHash-0.10.6-1/blib/arch
/Users/hornenj/.cpan/build/Time-Duration-Parse-AsHash-0.10.6-1/blib/lib
/Users/hornenj/.cpan/build/Text-sprintfn-0.08-1/blib/arch
/Users/hornenj/.cpan/build/Text-sprintfn-0.08-1/blib/lib
/Users/hornenj/.cpan/build/Scalar-Util-Numeric-PP-0.04-1/blib/arch
/Users/hornenj/.cpan/build/Scalar-Util-Numeric-PP-0.04-1/blib/lib
/Users/hornenj/.cpan/build/Sah-0.9.45-1/blib/arch
/Users/hornenj/.cpan/build/Sah-0.9.45-1/blib/lib
/Users/hornenj/.cpan/build/Module-Installed-Tiny-0.003-1/blib/arch
/Users/hornenj/.cpan/build/Module-Installed-Tiny-0.003-1/blib/lib
/Users/hornenj/.cpan/build/File-Slurper-0.009-4/blib/arch
/Users/hornenj/.cpan/build/File-Slurper-0.009-4/blib/lib
/Users/hornenj/.cpan/build/File-ShareDir-Tarball-0.2.2-1/blib/arch
/Users/hornenj/.cpan/build/File-ShareDir-Tarball-0.2.2-1/blib/lib
/Users/hornenj/.cpan/build/Test-File-ShareDir-1.001002-24/blib/arch
/Users/hornenj/.cpan/build/Test-File-ShareDir-1.001002-24/blib/lib
/Users/hornenj/.cpan/build/Data-Sah-Resolve-0.004-1/blib/arch
/Users/hornenj/.cpan/build/Data-Sah-Resolve-0.004-1/blib/lib
/Users/hornenj/.cpan/build/Sah-Schemas-Examples-0.005-1/blib/arch
/Users/hornenj/.cpan/build/Sah-Schemas-Examples-0.005-1/blib/lib
/Users/hornenj/.cpan/build/Sah-Schemas-Int-0.06-1/blib/arch
/Users/hornenj/.cpan/build/Sah-Schemas-Int-0.06-1/blib/lib
/Users/hornenj/.cpan/build/Data-ModeMerge-0.35-1/blib/arch
/Users/hornenj/.cpan/build/Data-ModeMerge-0.35-1/blib/lib
/Users/hornenj/.cpan/build/Mo-0.40-2/blib/arch
/Users/hornenj/.cpan/build/Mo-0.40-2/blib/lib
/Users/hornenj/.cpan/build/Data-Sah-Normalize-0.04-2/blib/arch
/Users/hornenj/.cpan/build/Data-Sah-Normalize-0.04-2/blib/lib
/Users/hornenj/.cpan/build/Data-Sah-Coerce-0.021-1/blib/arch
/Users/hornenj/.cpan/build/Data-Sah-Coerce-0.021-1/blib/lib
/Users/hornenj/.cpan/build/Test-Needs-0.002005-14/blib/arch
/Users/hornenj/.cpan/build/Test-Needs-0.002005-14/blib/lib
/Users/hornenj/.cpan/build/PERLANCAR-Module-List-0.003005-2/blib/arch
/Users/hornenj/.cpan/build/PERLANCAR-Module-List-0.003005-2/blib/lib
/Users/hornenj/.cpan/build/Nodejs-Util-0.006-1/blib/arch
/Users/hornenj/.cpan/build/Nodejs-Util-0.006-1/blib/lib
/Users/hornenj/.cpan/build/IPC-System-Options-0.30-2/blib/arch
/Users/hornenj/.cpan/build/IPC-System-Options-0.30-2/blib/lib
/Users/hornenj/.cpan/build/String-ShellQuote-1.04-3/blib/arch
/Users/hornenj/.cpan/build/String-ShellQuote-1.04-3/blib/lib
/Users/hornenj/.cpan/build/Proc-ChildError-0.04-2/blib/arch
/Users/hornenj/.cpan/build/Proc-ChildError-0.04-2/blib/lib
/Users/hornenj/.cpan/build/Data-Dmp-0.23-2/blib/arch
/Users/hornenj/.cpan/build/Data-Dmp-0.23-2/blib/lib
/Users/hornenj/.cpan/build/Regexp-Stringify-0.06-2/blib/arch
/Users/hornenj/.cpan/build/Regexp-Stringify-0.06-2/blib/lib
/Users/hornenj/.cpan/build/Data-Dump-Color-0.23-0/blib/arch
/Users/hornenj/.cpan/build/Data-Dump-Color-0.23-0/blib/lib
/Users/hornenj/.cpan/build/Scalar-Util-LooksLikeNumber-1.39.2-0/blib/arch
/Users/hornenj/.cpan/build/Scalar-Util-LooksLikeNumber-1.39.2-0/blib/lib
/Users/hornenj/.cpan/build/Complete-Module-0.24-1/blib/arch
/Users/hornenj/.cpan/build/Complete-Module-0.24-1/blib/lib
/Users/hornenj/.cpan/build/Filesys-Cap-0.02-1/blib/arch
/Users/hornenj/.cpan/build/Filesys-Cap-0.02-1/blib/lib
/Users/hornenj/.cpan/build/UUID-Random-0.04-2/blib/arch
/Users/hornenj/.cpan/build/UUID-Random-0.04-2/blib/lib
/Users/hornenj/.cpan/build/File-chdir-0.1010-53/blib/arch
/Users/hornenj/.cpan/build/File-chdir-0.1010-53/blib/lib
/Users/hornenj/.cpan/build/File-Slurp-Tiny-0.004-32/blib/arch
/Users/hornenj/.cpan/build/File-Slurp-Tiny-0.004-32/blib/lib
/Users/hornenj/.cpan/build/Complete-Path-0.23-2/blib/arch
/Users/hornenj/.cpan/build/Complete-Path-0.23-2/blib/lib
/Users/hornenj/.cpan/build/Complete-Util-0.58-2/blib/arch
/Users/hornenj/.cpan/build/Complete-Util-0.58-2/blib/lib
/Users/hornenj/.cpan/build/Log-Any-IfLOG-0.08-2/blib/arch
/Users/hornenj/.cpan/build/Log-Any-IfLOG-0.08-2/blib/lib
/Users/hornenj/.cpan/build/Complete-Common-0.22-2/blib/arch
/Users/hornenj/.cpan/build/Complete-Common-0.22-2/blib/lib
/Users/hornenj/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/darwin-thread-multi-2level
/Users/hornenj/perl5/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3
/Users/hornenj/perl5/perlbrew/perls/perl-5.16.3/lib/5.16.3/darwin-thread-multi-2level
/Users/hornenj/perl5/perlbrew/perls/perl-5.16.3/lib/5.16.3
.