PATH=/usr/bin:/bin Start 2013-05-07T01:40:20 ActivePerl-1400 CPAN-1.9800 Reading '/Users/fly1400/var/cpan/Metadata' Database was generated on Tue, 07 May 2013 07:08:26 GMT Running make for T/TO/TOBYINK/Type-Tie-0.001.tar.gz Checksum for /net/nas/data/cpan/authors/id/T/TO/TOBYINK/Type-Tie-0.001.tar.gz ok Type-Tie-0.001/ Type-Tie-0.001/inc/ Type-Tie-0.001/inc/YAML/ Type-Tie-0.001/inc/YAML/Tiny.pm Type-Tie-0.001/inc/Module/ Type-Tie-0.001/inc/Module/AutoInstall.pm Type-Tie-0.001/inc/Module/Package.pm Type-Tie-0.001/inc/Module/Install/ Type-Tie-0.001/inc/Module/Install/Fetch.pm Type-Tie-0.001/inc/Module/Install/AutoInstall.pm Type-Tie-0.001/inc/Module/Install/Package.pm Type-Tie-0.001/inc/Module/Install/Win32.pm Type-Tie-0.001/inc/Module/Install/Makefile.pm Type-Tie-0.001/inc/Module/Install/Can.pm Type-Tie-0.001/inc/Module/Install/Base.pm Type-Tie-0.001/inc/Module/Install/WriteAll.pm Type-Tie-0.001/inc/Module/Install/Include.pm Type-Tie-0.001/inc/Module/Install/Metadata.pm Type-Tie-0.001/inc/Module/Install/AutoManifest.pm Type-Tie-0.001/inc/Module/Install/TrustMetaYml.pm Type-Tie-0.001/inc/Module/Install.pm Type-Tie-0.001/inc/Module/Package/ Type-Tie-0.001/inc/Module/Package/Dist/ Type-Tie-0.001/inc/Module/Package/Dist/RDF.pm Type-Tie-0.001/COPYRIGHT Type-Tie-0.001/CONTRIBUTING Type-Tie-0.001/t/ Type-Tie-0.001/t/01basic.t Type-Tie-0.001/README Type-Tie-0.001/lib/ Type-Tie-0.001/lib/Type/ Type-Tie-0.001/lib/Type/Tie.pm Type-Tie-0.001/MANIFEST Type-Tie-0.001/SIGNATURE Type-Tie-0.001/META.ttl Type-Tie-0.001/CREDITS Type-Tie-0.001/LICENSE Type-Tie-0.001/Makefile.PL Type-Tie-0.001/meta/ Type-Tie-0.001/meta/people.pret Type-Tie-0.001/meta/changes.pret Type-Tie-0.001/meta/doap.pret Type-Tie-0.001/meta/makefile.pret Type-Tie-0.001/META.yml Type-Tie-0.001/Changes CPAN.pm: Building T/TO/TOBYINK/Type-Tie-0.001.tar.gz >>> /Users/fly1400/ap1400/bin/perl Makefile.PL *** Module::AutoInstall version 1.06 *** Checking for Perl dependencies... *** Since we're running under CPAN, I'll just let it take care of the dependency's installation later. [Core Features] - ExtUtils::MakeMaker ...loaded. (6.66 >= 6.59) - Test::Fatal ...loaded. (0.010) - Types::Standard ...loaded. (0.004 >= 0.004) - Exporter::TypeTiny ...loaded. (0.004 >= 0.004) - Hash::FieldHash ...loaded. (0.13) *** Module::AutoInstall configuration finished. Checking if your kit is complete... Looks good Writing Makefile for Type::Tie Writing MYMETA.yml and MYMETA.json ---- Unsatisfied dependencies detected during ---- ---- TOBYINK/Type-Tie-0.001.tar.gz ---- Exporter::TypeTiny [requires] Types::Standard [requires] Running make test Delayed until after prerequisites Running test for module 'Exporter::TypeTiny' Running make for T/TO/TOBYINK/Type-Tiny-0.004.tar.gz Checksum for /net/nas/data/cpan/authors/id/T/TO/TOBYINK/Type-Tiny-0.004.tar.gz ok Type-Tiny-0.004/ Type-Tiny-0.004/inc/ Type-Tiny-0.004/inc/YAML/ Type-Tiny-0.004/inc/YAML/Tiny.pm Type-Tiny-0.004/inc/Try/ Type-Tiny-0.004/inc/Try/Tiny.pm Type-Tiny-0.004/inc/Test/ Type-Tiny-0.004/inc/Test/Requires.pm Type-Tiny-0.004/inc/Test/Fatal.pm Type-Tiny-0.004/inc/Module/ Type-Tiny-0.004/inc/Module/AutoInstall.pm Type-Tiny-0.004/inc/Module/Package.pm Type-Tiny-0.004/inc/Module/Install/ Type-Tiny-0.004/inc/Module/Install/Fetch.pm Type-Tiny-0.004/inc/Module/Install/AutoInstall.pm Type-Tiny-0.004/inc/Module/Install/Package.pm Type-Tiny-0.004/inc/Module/Install/Contributors.pm Type-Tiny-0.004/inc/Module/Install/Win32.pm Type-Tiny-0.004/inc/Module/Install/Makefile.pm Type-Tiny-0.004/inc/Module/Install/Can.pm Type-Tiny-0.004/inc/Module/Install/Base.pm Type-Tiny-0.004/inc/Module/Install/WriteAll.pm Type-Tiny-0.004/inc/Module/Install/Include.pm Type-Tiny-0.004/inc/Module/Install/Metadata.pm Type-Tiny-0.004/inc/Module/Install/AutoManifest.pm Type-Tiny-0.004/inc/Module/Install/TrustMetaYml.pm Type-Tiny-0.004/inc/Module/Install.pm Type-Tiny-0.004/inc/Module/Package/ Type-Tiny-0.004/inc/Module/Package/Dist/ Type-Tiny-0.004/inc/Module/Package/Dist/RDF.pm Type-Tiny-0.004/COPYRIGHT Type-Tiny-0.004/CONTRIBUTING Type-Tiny-0.004/NEWS Type-Tiny-0.004/t/ Type-Tiny-0.004/t/type-intersection.t Type-Tiny-0.004/t/eval.t Type-Tiny-0.004/t/mouse-coercion.t Type-Tiny-0.004/t/library-assert.t Type-Tiny-0.004/t/type-class.t Type-Tiny-0.004/t/params-badsigs.t Type-Tiny-0.004/t/coercion-inlining.t Type-Tiny-0.004/t/stdlib.t Type-Tiny-0.004/t/stdlib-optlist.t Type-Tiny-0.004/t/type-role.t Type-Tiny-0.004/t/oo-objectaccessor.t Type-Tiny-0.004/t/moo.t Type-Tiny-0.004/t/type-duck.t Type-Tiny-0.004/t/params-mixednamed.t Type-Tiny-0.004/t/params-carping.t Type-Tiny-0.004/t/type-enum.t Type-Tiny-0.004/t/library-is.t Type-Tiny-0.004/t/lib/ Type-Tiny-0.004/t/lib/DemoLib.pm Type-Tiny-0.004/t/lib/BiggerLib.pm Type-Tiny-0.004/t/coercion-union.t Type-Tiny-0.004/t/stdlib-str.t Type-Tiny-0.004/t/stdlib-overload.t Type-Tiny-0.004/t/stdlib-structures.t Type-Tiny-0.004/t/coercion-classy.t Type-Tiny-0.004/t/stdlib-tied.t Type-Tiny-0.004/t/moo-inflation.t Type-Tiny-0.004/t/params-named.t Type-Tiny-0.004/t/exporter.t Type-Tiny-0.004/t/library-types.t Type-Tiny-0.004/t/coercion-automatic.t Type-Tiny-0.004/t/stdlib-inlined.t Type-Tiny-0.004/t/validationclass.t Type-Tiny-0.004/t/coercion-frozen.t Type-Tiny-0.004/t/moose-autott.t Type-Tiny-0.004/t/stdlib-strmatch.t Type-Tiny-0.004/t/mouse.t Type-Tiny-0.004/t/params-noninline.t Type-Tiny-0.004/t/params-optional.t Type-Tiny-0.004/t/syntax.t Type-Tiny-0.004/t/exporter-installer.t Type-Tiny-0.004/t/params-methods.t Type-Tiny-0.004/t/type.t Type-Tiny-0.004/t/moo-coercion.t Type-Tiny-0.004/t/01-api.t Type-Tiny-0.004/t/library-to.t Type-Tiny-0.004/t/coercion.t Type-Tiny-0.004/t/oo-classinsideout.t Type-Tiny-0.004/t/00-compile.t Type-Tiny-0.004/t/parameterization.t Type-Tiny-0.004/t/moose-coercion.t Type-Tiny-0.004/t/params-slurpy.t Type-Tiny-0.004/t/type-union.t Type-Tiny-0.004/t/arithmetic.t Type-Tiny-0.004/t/params-coerce.t Type-Tiny-0.004/t/moose.t Type-Tiny-0.004/t/params-positional.t Type-Tiny-0.004/t/coercion-modifiers.t Type-Tiny-0.004/t/exporter-roleconflict.t Type-Tiny-0.004/README Type-Tiny-0.004/lib/ Type-Tiny-0.004/lib/Types/ Type-Tiny-0.004/lib/Types/TypeTiny.pm Type-Tiny-0.004/lib/Types/Standard/ Type-Tiny-0.004/lib/Types/Standard/DeepCoercion.pm Type-Tiny-0.004/lib/Types/Standard.pm Type-Tiny-0.004/lib/Test/ Type-Tiny-0.004/lib/Test/TypeTiny.pm Type-Tiny-0.004/lib/Type/ Type-Tiny-0.004/lib/Type/Params.pm Type-Tiny-0.004/lib/Type/Tiny/ Type-Tiny-0.004/lib/Type/Tiny/Manual.pod Type-Tiny-0.004/lib/Type/Tiny/Enum.pm Type-Tiny-0.004/lib/Type/Tiny/Manual/ Type-Tiny-0.004/lib/Type/Tiny/Manual/Coercions.pod Type-Tiny-0.004/lib/Type/Tiny/Manual/UsingWithOther.pod Type-Tiny-0.004/lib/Type/Tiny/Manual/Params.pod Type-Tiny-0.004/lib/Type/Tiny/Manual/UsingWithMoose.pod Type-Tiny-0.004/lib/Type/Tiny/Manual/Libraries.pod Type-Tiny-0.004/lib/Type/Tiny/Manual/UsingWithMouse.pod Type-Tiny-0.004/lib/Type/Tiny/Manual/UsingWithMoo.pod Type-Tiny-0.004/lib/Type/Tiny/Class.pm Type-Tiny-0.004/lib/Type/Tiny/Union.pm Type-Tiny-0.004/lib/Type/Tiny/Intersection.pm Type-Tiny-0.004/lib/Type/Tiny/Duck.pm Type-Tiny-0.004/lib/Type/Tiny/Role.pm Type-Tiny-0.004/lib/Type/Coercion.pm Type-Tiny-0.004/lib/Type/Library.pm Type-Tiny-0.004/lib/Type/Coercion/ Type-Tiny-0.004/lib/Type/Coercion/Union.pm Type-Tiny-0.004/lib/Type/Tiny.pm Type-Tiny-0.004/lib/Type/Utils.pm Type-Tiny-0.004/lib/Eval/ Type-Tiny-0.004/lib/Eval/TypeTiny.pm Type-Tiny-0.004/lib/Exporter/ Type-Tiny-0.004/lib/Exporter/TypeTiny.pm Type-Tiny-0.004/TODO Type-Tiny-0.004/MANIFEST Type-Tiny-0.004/SIGNATURE Type-Tiny-0.004/META.ttl Type-Tiny-0.004/CREDITS Type-Tiny-0.004/LICENSE Type-Tiny-0.004/examples/ Type-Tiny-0.004/examples/datetime-coercions.pl Type-Tiny-0.004/examples/benchmark-param-validation.pl Type-Tiny-0.004/examples/benchmark-mkopt.pl Type-Tiny-0.004/examples/benchmark-coercions.pl Type-Tiny-0.004/examples/benchmark-constraints.pl Type-Tiny-0.004/Makefile.PL Type-Tiny-0.004/meta/ Type-Tiny-0.004/meta/people.pret Type-Tiny-0.004/meta/changes.pret Type-Tiny-0.004/meta/doap.pret Type-Tiny-0.004/meta/rights.pret Type-Tiny-0.004/meta/makefile.pret Type-Tiny-0.004/META.yml Type-Tiny-0.004/Changes Type-Tiny-0.004/TODO.mm CPAN.pm: Building T/TO/TOBYINK/Type-Tiny-0.004.tar.gz >>> /Users/fly1400/ap1400/bin/perl Makefile.PL *** Module::AutoInstall version 1.06 *** Checking for Perl dependencies... *** Since we're running under CPAN, I'll just let it take care of the dependency's installation later. [Core Features] - Test::More ...loaded. (0.98 >= 0.96) - ExtUtils::MakeMaker ...loaded. (6.66 >= 6.59) *** Module::AutoInstall configuration finished. Checking if your kit is complete... Looks good Writing Makefile for Type::Tiny Writing MYMETA.yml and MYMETA.json >>> make cp lib/Type/Tiny/Manual/Params.pod blib/lib/Type/Tiny/Manual/Params.pod cp lib/Test/TypeTiny.pm blib/lib/Test/TypeTiny.pm cp lib/Type/Tiny/Duck.pm blib/lib/Type/Tiny/Duck.pm cp lib/Type/Coercion/Union.pm blib/lib/Type/Coercion/Union.pm cp lib/Eval/TypeTiny.pm blib/lib/Eval/TypeTiny.pm cp lib/Type/Tiny/Intersection.pm blib/lib/Type/Tiny/Intersection.pm cp lib/Type/Coercion.pm blib/lib/Type/Coercion.pm cp lib/Type/Tiny/Manual/UsingWithMoose.pod blib/lib/Type/Tiny/Manual/UsingWithMoose.pod cp lib/Type/Tiny/Manual/UsingWithMouse.pod blib/lib/Type/Tiny/Manual/UsingWithMouse.pod cp lib/Type/Tiny/Manual/UsingWithOther.pod blib/lib/Type/Tiny/Manual/UsingWithOther.pod cp lib/Types/Standard.pm blib/lib/Types/Standard.pm cp lib/Type/Tiny/Manual/Libraries.pod blib/lib/Type/Tiny/Manual/Libraries.pod cp lib/Type/Tiny/Manual.pod blib/lib/Type/Tiny/Manual.pod cp lib/Type/Tiny/Enum.pm blib/lib/Type/Tiny/Enum.pm cp lib/Type/Params.pm blib/lib/Type/Params.pm cp lib/Type/Tiny/Class.pm blib/lib/Type/Tiny/Class.pm cp lib/Type/Utils.pm blib/lib/Type/Utils.pm cp lib/Type/Tiny.pm blib/lib/Type/Tiny.pm cp lib/Type/Tiny/Role.pm blib/lib/Type/Tiny/Role.pm cp lib/Exporter/TypeTiny.pm blib/lib/Exporter/TypeTiny.pm cp lib/Type/Tiny/Manual/UsingWithMoo.pod blib/lib/Type/Tiny/Manual/UsingWithMoo.pod cp lib/Types/TypeTiny.pm blib/lib/Types/TypeTiny.pm cp lib/Type/Tiny/Union.pm blib/lib/Type/Tiny/Union.pm cp lib/Type/Tiny/Manual/Coercions.pod blib/lib/Type/Tiny/Manual/Coercions.pod cp lib/Type/Library.pm blib/lib/Type/Library.pm cp lib/Types/Standard/DeepCoercion.pm blib/lib/Types/Standard/DeepCoercion.pm Manifying blib/man3/Type::Tiny::Manual::Params.3 Manifying blib/man3/Test::TypeTiny.3 Manifying blib/man3/Type::Tiny::Duck.3 Manifying blib/man3/Type::Coercion::Union.3 Manifying blib/man3/Eval::TypeTiny.3 Manifying blib/man3/Type::Tiny::Intersection.3 Manifying blib/man3/Type::Coercion.3 Manifying blib/man3/Type::Tiny::Manual::UsingWithMoose.3 Manifying blib/man3/Types::Standard.3 Manifying blib/man3/Type::Tiny::Manual::UsingWithOther.3 Manifying blib/man3/Type::Tiny::Manual::UsingWithMouse.3 Manifying blib/man3/Type::Tiny::Manual::Libraries.3 Manifying blib/man3/Type::Tiny::Manual.3 Manifying blib/man3/Type::Tiny::Enum.3 Manifying blib/man3/Type::Params.3 Manifying blib/man3/Type::Tiny::Class.3 Manifying blib/man3/Type::Tiny.3 Manifying blib/man3/Type::Utils.3 Manifying blib/man3/Exporter::TypeTiny.3 Manifying blib/man3/Type::Tiny::Role.3 Manifying blib/man3/Type::Tiny::Manual::UsingWithMoo.3 Manifying blib/man3/Types::TypeTiny.3 Manifying blib/man3/Type::Tiny::Union.3 Manifying blib/man3/Type::Library.3 Manifying blib/man3/Type::Tiny::Manual::Coercions.3 Manifying blib/man3/Types::Standard::DeepCoercion.3 TOBYINK/Type-Tiny-0.004.tar.gz make -- OK Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 /Users/fly1400/ap1400/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'inc', 'blib/lib', 'blib/arch')" t/00-compile.t t/01-api.t t/arithmetic.t t/coercion-automatic.t t/coercion-classy.t t/coercion-frozen.t t/coercion-inlining.t t/coercion-modifiers.t t/coercion-union.t t/coercion.t t/eval.t t/exporter-installer.t t/exporter-roleconflict.t t/exporter.t t/library-assert.t t/library-is.t t/library-to.t t/library-types.t t/moo-coercion.t t/moo-inflation.t t/moo.t t/moose-autott.t t/moose-coercion.t t/moose.t t/mouse-coercion.t t/mouse.t t/oo-classinsideout.t t/oo-objectaccessor.t t/parameterization.t t/params-badsigs.t t/params-carping.t t/params-coerce.t t/params-methods.t t/params-mixednamed.t t/params-named.t t/params-noninline.t t/params-optional.t t/params-positional.t t/params-slurpy.t t/stdlib-inlined.t t/stdlib-optlist.t t/stdlib-overload.t t/stdlib-str.t t/stdlib-strmatch.t t/stdlib-structures.t t/stdlib-tied.t t/stdlib.t t/syntax.t t/type-class.t t/type-duck.t t/type-enum.t t/type-intersection.t t/type-role.t t/type-union.t t/type.t t/validationclass.t t/00-compile.t ............. ok 1 - use Eval::TypeTiny; ok 2 - use Exporter::TypeTiny; ok 3 - use Test::TypeTiny; ok 4 - use Type::Coercion; ok 5 - use Type::Coercion::Union; ok 6 - use Type::Library; ok 7 - use Types::Standard; ok 8 - use Types::TypeTiny; ok 9 - use Type::Tiny; ok 10 - use Type::Tiny::Class; ok 11 - use Type::Tiny::Duck; ok 12 - use Type::Tiny::Enum; ok 13 - use Type::Tiny::Intersection; ok 14 - use Type::Tiny::Role; ok 15 - use Type::Tiny::Union; ok 16 - use Type::Utils; ok 17 - use Type::Params; 1..17 ok t/01-api.t ................. ok 1 - Moose::Meta::TypeConstraint API: TestType->can('_actually_compile_type_constraint') ok 2 - Moose::Meta::TypeConstraint API: TestType->can('_collect_all_parents') ok 3 - Moose::Meta::TypeConstraint API: TestType->can('_compile_hand_optimized_type_constraint') ok 4 - Moose::Meta::TypeConstraint API: TestType->can('_compile_subtype') ok 5 - Moose::Meta::TypeConstraint API: TestType->can('_compile_type') ok 6 - Moose::Meta::TypeConstraint API: TestType->can('_compiled_type_constraint') ok 7 - Moose::Meta::TypeConstraint API: TestType->can('_default_message') ok 8 - Moose::Meta::TypeConstraint API: TestType->can('_has_compiled_type_constraint') ok 9 - Moose::Meta::TypeConstraint API: TestType->can('_has_inlined_type_constraint') ok 10 - Moose::Meta::TypeConstraint API: TestType->can('_inline_check') ok 11 - Moose::Meta::TypeConstraint API: TestType->can('_inline_environment') ok 12 - Moose::Meta::TypeConstraint API: TestType->can('_new') ok 13 - Moose::Meta::TypeConstraint API: TestType->can('_package_defined_in') ok 14 - Moose::Meta::TypeConstraint API: TestType->can('_set_constraint') ok 15 - Moose::Meta::TypeConstraint API: TestType->can('assert_coerce') ok 16 - Moose::Meta::TypeConstraint API: TestType->can('assert_valid') ok 17 - Moose::Meta::TypeConstraint API: TestType->can('can_be_inlined') ok 18 - Moose::Meta::TypeConstraint API: TestType->can('check') ok 19 - Moose::Meta::TypeConstraint API: TestType->can('coerce') ok 20 - Moose::Meta::TypeConstraint API: TestType->can('coercion') ok 21 - Moose::Meta::TypeConstraint API: TestType->can('compile_type_constraint') ok 22 - Moose::Meta::TypeConstraint API: TestType->can('constraint') ok 23 - Moose::Meta::TypeConstraint API: TestType->can('create_child_type') ok 24 - Moose::Meta::TypeConstraint API: TestType->can('equals') ok 25 - Moose::Meta::TypeConstraint API: TestType->can('get_message') ok 26 - Moose::Meta::TypeConstraint API: TestType->can('hand_optimized_type_constraint') ok 27 - Moose::Meta::TypeConstraint API: TestType->can('has_coercion') ok 28 - Moose::Meta::TypeConstraint API: TestType->can('has_hand_optimized_type_constraint') ok 29 - Moose::Meta::TypeConstraint API: TestType->can('has_message') ok 30 - Moose::Meta::TypeConstraint API: TestType->can('has_parent') ok 31 - Moose::Meta::TypeConstraint API: TestType->can('inline_environment') ok 32 - Moose::Meta::TypeConstraint API: TestType->can('inlined') ok 33 - Moose::Meta::TypeConstraint API: TestType->can('is_a_type_of') ok 34 - Moose::Meta::TypeConstraint API: TestType->can('is_subtype_of') ok 35 - Moose::Meta::TypeConstraint API: TestType->can('message') ok 36 - Moose::Meta::TypeConstraint API: TestType->can('meta') ok 37 - Moose::Meta::TypeConstraint API: TestType->can('name') ok 38 - Moose::Meta::TypeConstraint API: TestType->can('new') ok 39 - Moose::Meta::TypeConstraint API: TestType->can('parent') ok 40 - Moose::Meta::TypeConstraint API: TestType->can('parents') ok 41 - Moose::Meta::TypeConstraint API: TestType->can('validate') ok 42 - Mouse::Meta::TypeConstraint API: TestType->can('__is_parameterized') ok 43 - Mouse::Meta::TypeConstraint API: TestType->can('_add_type_coercions') ok 44 - Mouse::Meta::TypeConstraint API: TestType->can('_as_string') ok 45 - Mouse::Meta::TypeConstraint API: TestType->can('_compiled_type_coercion') ok 46 - Mouse::Meta::TypeConstraint API: TestType->can('_compiled_type_constraint') ok 47 - Mouse::Meta::TypeConstraint API: TestType->can('_identity') ok 48 - Mouse::Meta::TypeConstraint API: TestType->can('_unite') ok 49 - Mouse::Meta::TypeConstraint API: TestType->can('assert_valid') ok 50 - Mouse::Meta::TypeConstraint API: TestType->can('check') ok 51 - Mouse::Meta::TypeConstraint API: TestType->can('coerce') ok 52 - Mouse::Meta::TypeConstraint API: TestType->can('compile_type_constraint') ok 53 - Mouse::Meta::TypeConstraint API: TestType->can('create_child_type') ok 54 - Mouse::Meta::TypeConstraint API: TestType->can('get_message') ok 55 - Mouse::Meta::TypeConstraint API: TestType->can('has_coercion') ok 56 - Mouse::Meta::TypeConstraint API: TestType->can('is_a_type_of') ok 57 - Mouse::Meta::TypeConstraint API: TestType->can('message') ok 58 - Mouse::Meta::TypeConstraint API: TestType->can('name') ok 59 - Mouse::Meta::TypeConstraint API: TestType->can('new') ok 60 - Mouse::Meta::TypeConstraint API: TestType->can('parameterize') ok 61 - Mouse::Meta::TypeConstraint API: TestType->can('parent') ok 62 - Mouse::Meta::TypeConstraint API: TestType->can('type_parameter') ok 63 - Moose::Meta::TypeCoercion API: TestCoercion->can('_compiled_type_coercion') ok 64 - Moose::Meta::TypeCoercion API: TestCoercion->can('_new') ok 65 - Moose::Meta::TypeCoercion API: TestCoercion->can('add_type_coercions') ok 66 - Moose::Meta::TypeCoercion API: TestCoercion->can('coerce') ok 67 - Moose::Meta::TypeCoercion API: TestCoercion->can('compile_type_coercion') ok 68 - Moose::Meta::TypeCoercion API: TestCoercion->can('has_coercion_for_type') ok 69 - Moose::Meta::TypeCoercion API: TestCoercion->can('meta') ok 70 - Moose::Meta::TypeCoercion API: TestCoercion->can('new') ok 71 - Moose::Meta::TypeCoercion API: TestCoercion->can('type_coercion_map') ok 72 - Moose::Meta::TypeCoercion API: TestCoercion->can('type_constraint') 1..72 ok t/arithmetic.t ............. ok 1 - \123 fails type constraint ~ScalarRef ok 2 - [] fails type constraint ~ArrayRef ok 3 - {} fails type constraint ~HashRef ok 4 - sub { "DUMMY" } fails type constraint ~CodeRef ok 5 - \*::STDOUT fails type constraint ~GlobRef ok 6 - \\"Hello" fails type constraint ~Ref ok 7 - \*::STDOUT fails type constraint ~FileHandle ok 8 - qr/(?^:x)/ fails type constraint ~RegexpRef ok 9 - value "1" fails type constraint ~Str ok 10 - value "1" fails type constraint ~Num ok 11 - value "1" fails type constraint ~Int ok 12 - value "1" fails type constraint ~Defined ok 13 - value "1" fails type constraint ~Value ok 14 - undef fails type constraint ~Undef ok 15 - undef fails type constraint ~Item ok 16 - undef fails type constraint ~Any ok 17 - value "Type::Tiny" fails type constraint ~ClassName ok 18 - value "Type::Library" fails type constraint ~RoleName ok 19 - undef fails type constraint ~Bool ok 20 - value "" fails type constraint ~Bool ok 21 - value "0" fails type constraint ~Bool ok 22 - value "1" fails type constraint ~Bool ok 23 - value "7" passes type constraint ~Bool ok 24 - \\"Hello" fails type constraint ~ScalarRef ok 25 - value "Type::Tiny" passes type constraint ~RoleName ok 26 - [] passes type constraint ~Str ok 27 - [] passes type constraint ~Num ok 28 - [] passes type constraint ~Int ok 29 - value "4x4" fails type constraint ~Str ok 30 - value "4x4" passes type constraint ~Num ok 31 - value "4.2" passes type constraint ~Int ok 32 - undef passes type constraint ~Str ok 33 - undef passes type constraint ~Num ok 34 - undef passes type constraint ~Int ok 35 - undef passes type constraint ~Defined ok 36 - undef passes type constraint ~Value ok 37 - undef passes type constraint ~ClassName ok 38 - [] passes type constraint ~ClassName ok 39 - value "Local::Class2" fails type constraint ~ClassName ok 40 - value "Local::Class3" fails type constraint ~ClassName ok 41 - value "Local::Class4" fails type constraint ~ClassName ok 42 - value "Local::Dummy1" passes type constraint ~ClassName ok 43 - [] fails type constraint ~ArrayRef[Int] ok 44 - [1,2,3] fails type constraint ~ArrayRef[Int] ok 45 - ["1.1",2,3] passes type constraint ~ArrayRef[Int] ok 46 - [1,2,"3.1"] passes type constraint ~ArrayRef[Int] ok 47 - [[]] passes type constraint ~ArrayRef[Int] ok 48 - [[3]] fails type constraint ~ArrayRef[ArrayRef[Int]] ok 49 - [["A"]] passes type constraint ~ArrayRef[ArrayRef[Int]] ok 50 - undef fails type constraint ~Maybe[Int] ok 51 - value "123" fails type constraint ~Maybe[Int] ok 52 - value "1.3" passes type constraint ~Maybe[Int] ok 53 - value "-2" passes type constraint Even&Negative ok 54 - value "-1" passes type constraint Even&Negative ok 55 - value "0" passes type constraint Even&~Negative&~Positive ok 56 - value "1" passes type constraint Even&Positive ok 57 - value "2" passes type constraint Even&Positive ok 58 - value "3" passes type constraint Even|Even ok 59 - value "4" passes type constraint Even|Even ok 60 - value "5" passes type constraint Negative|Positive ok 61 - value "-6" passes type constraint Negative|Positive ok 62 - value "-3" fails type constraint Even&Negative ok 63 - value "1" fails type constraint Even&Negative ok 64 - value "1" fails type constraint Even&~Negative&~Positive ok 65 - value "2" fails type constraint Even&Positive ok 66 - value "1" fails type constraint Even&Positive ok 67 - value "Str" fails type constraint Even|Even ok 68 - value "1.1" fails type constraint Even|Even ok 69 - value "0" fails type constraint Negative|Positive ok 70 - value "Str" fails type constraint Negative|Positive ok 71 - coolio stringification ok 72 - Item > Value ok 73 - Value > Str ok 74 - Str > Num ok 75 - Num > Int ok 76 - Int > $odd ok 77 - Item >= Value ok 78 - Value >= Str ok 79 - Str >= Num ok 80 - Num >= Int ok 81 - Int >= $odd ok 82 - Value < Item ok 83 - Str < Value ok 84 - Num < Str ok 85 - Int < Num ok 86 - $even < Int ok 87 - Value <= Item ok 88 - Str <= Value ok 89 - Num <= Str ok 90 - Int <= Num ok 91 - $even < Int ok 92 - not(Int > Int) ok 93 - not(Int < Int) ok 94 - Int <= Int ok 95 - Int >= Int ok 96 - not(ArrayRef[Int] > ArrayRef[Num]) ok 97 - not(ArrayRef[Int] == ArrayRef[Num]) ok 98 - ArrayRef[Int] == ArrayRef[Int] ok 99 - not(ArrayRef == ArrayRef[Int]) ok 100 1..100 ok t/coercion-automatic.t ..... ok 1 - $ArrayOfFoo has coercion ok 2 - $ArrayOfFoo does not coerce value that needs no coercion ok 3 - $ArrayOfFoo does coerce value that can be coerced ok 4 - $ArrayOfFoo does not coerce value that cannot be coerced ok 5 - $HashOfFoo has coercion ok 6 - $HashOfFoo does not coerce value that needs no coercion ok 7 - $HashOfFoo does coerce value that can be coerced ok 8 - $HashOfFoo does not coerce value that cannot be coerced ok 9 - $RefOfFoo has coercion ok 10 - $RefOfFoo does not coerce value that needs no coercion ok 11 - $RefOfFoo does coerce value that can be coerced ok 12 - $RefOfFoo does not coerce value that cannot be coerced ok 13 - $ArrayOfBar has coercion ok 14 - $ArrayOfBar coercion can be inlined ok 15 - $ArrayOfBar does not coerce value that needs no coercion ok 16 - $ArrayOfBar does coerce value that can be coerced ok 17 - $ArrayOfBar does not coerce value that cannot be coerced ok 18 - $HashOfBar has coercion ok 19 - $HashOfBar coercion can be inlined ok 20 - $HashOfBar does not coerce value that needs no coercion ok 21 - $HashOfBar does coerce value that can be coerced ok 22 - $HashOfBar does not coerce value that cannot be coerced ok 23 - $RefOfBar has coercion ok 24 - $RefOfBar coercion can be inlined ok 25 - $RefOfBar does not coerce value that needs no coercion ok 26 - $RefOfBar does coerce value that can be coerced ok 27 - $RefOfBar does not coerce value that cannot be coerced ok 28 - Map[IntFromNum,IntFromStr] has an inlinable coercion ok 29 - Coercions to Map[IntFromNum,IntFromStr] ok 30 - Impossible coercion to Map[IntFromNum,IntFromStr] ok 31 - Unneeded coercion to Map[IntFromNum,IntFromStr] ok 32 - Map[IntFromNum,IntFromArray] has a coercion, but it cannot be inlined ok 33 - Coercions to Map[IntFromNum,IntFromArray] ok 34 - Impossible coercion to Map[IntFromNum,IntFromArray] ok 35 - Unneeded coercion to Map[IntFromNum,IntFromArray] ok 36 - Dict[a=>IntFromStr,b=>IntFromNum,c=>Optional[IntFromNum]] has an inlinable coercion ok 37 - Coercion (A) to Dict[a=>IntFromStr,b=>IntFromNum,c=>Optional[IntFromNum]] ok 38 - Coercion (B) to Dict[a=>IntFromStr,b=>IntFromNum,c=>Optional[IntFromNum]] ok 39 - Coercion (C) to Dict[a=>IntFromStr,b=>IntFromNum,c=>Optional[IntFromNum]] - changed in 0.003_11; the presence of an additional value cancels coercion ok 40 - Tuple[IntFromNum,Optional[IntFromStr],slurpy ArrayRef[IntFromNum]] has an inlinable coercion ok 41 - Coercion (A) to Tuple[IntFromNum,Optional[IntFromStr],slurpy ArrayRef[IntFromNum]] ok 42 - Coercion (B) to Tuple[IntFromNum,Optional[IntFromStr],slurpy ArrayRef[IntFromNum]] ok 43 - Coercion (A) to Tuple[IntFromNum] ok 44 - Coercion (B) to Tuple[IntFromNum] - changed in 0.003_11; the presence of an additional value cancels coercion 1..44 ok t/coercion-classy.t ........ ok 1 - "Person"->meta->get_attribute("addr")->type_constraint->is_a_type_of($Address) ok 2 - coercion worked 1..2 ok t/coercion-frozen.t ........ ok 1 - coercions are not initially frozen ok 2 - coercions do not freeze because of adding code ok 3 - coercions do freeze when forced inflation to Moose ok 4 - cannot add code to a frozen coercion 1..4 ok t/coercion-inlining.t ...... ok 1 - inlined coercion works ok 2 - no coercion necessary ok 3 - no coercion possible 1..3 ok t/coercion-modifiers.t ..... ok 1 - has_coercian_for_type - obvious ok 2 - has_coercian_for_type - subtle ok 3 - has_coercian_for_type - negative ok 4 - plus_coercions - added coercion ok 5 - plus_coercions - added coercion ok 6 - plus_coercions - retained coercion ok 7 - plus_coercions - retained coercion ok 8 - minus_coercions - retained coercion ok 9 - minus_coercions - removed coercion ok 10 - minus_coercions - retained coercion ok 11 - minus_coercions - removed coercion ok 12 - no_coercions - removed coercion ok 13 - no_coercions - removed coercion ok 14 - no_coercions - removed coercion ok 15 - no_coercions - removed coercion 1..15 ok t/coercion-union.t ......... ok 1 - value "4" passes type constraint RoundedInteger ok 2 - value "1.1" fails type constraint RoundedInteger ok 3 - value "xyz" fails type constraint RoundedInteger ok 4 - value "xyz" passes type constraint String3 ok 5 - value "x" fails type constraint String3 ok 6 - value "wxyz" fails type constraint String3 ok 7 - value "3.4" passes type constraint RoundedInteger|String3 ok 8 - value "30" passes type constraint RoundedInteger|String3 ok 9 - value "3.12" fails type constraint RoundedInteger|String3 ok 10 - value "wxyz" fails type constraint RoundedInteger|String3 ok 11 - RoundedInteger coerces from Num ok 12 - RoundedInteger does not coerce from Str ok 13 - String3 coerces from Str ok 14 - String3 does not coerce from ArrayRef ok 15 - unions automatically have a coercion if their child constraints do # (((defined $X and $X =~ /\A-?[0-9]+\z/) or (do { !ref($X) and $X =~ /(?^:^.{3}$)/ }))) ? $X : ((!ref($X) && Scalar::Util::looks_like_number($X))) ? do { local $_ = $X; scalar(int($_)) } : ((do { defined($X) and do { ref(\$X) eq 'SCALAR' or ref(\(my $val = $X)) eq 'SCALAR' } })) ? do { local $_ = $X; scalar(substr("$_ ", 0, 3)) } : $X ok 16 - unions do not automatically have a coercion if their child constraints do not ok 17 - Union1 does not need to coerce an Int ok 18 - Union1 does not need to coerce a String3 ok 19 - Union1 does not need to coerce a String3, even if it looks like a Num ok 20 - Union1 coerces Str -> String3 ok 21 - given the choice of two valid coercions, Union1 prefers RoundedInteger because it occurs sooner ok 22 - Union1 cannot coerce an arrayref 1..22 ok t/coercion.t ............... ok 1 - coercion works ok 2 - coercion overloads &{} ok 3 - BigInteger has_coercion_for_type ArrayRef ok 4 - BigInteger has_coercion_for_type SmallInteger ok 5 - not BigInteger has_coercion_for_type SmallInteger ok 6 - BigInteger has_coercion_for_type BigInteger eq "0 but true" ok 7 - BigInteger has_coercion_for_type $BiggerInteger eq "0 but true" ok 8 - BigInteger has_coercion_for_value [] ok 9 - BigInteger has_coercion_for_value 2 ok 10 - not BigInteger has_coercion_for_value {} ok 11 - BigInteger has_coercion_for_value 200 eq "0 but true" ok 12 - coerce doesn't throw an exception if it can coerce ok 13 - coerce doesn't throw an exception if it can't coerce ok 14 - assert_coerce doesn't throw an exception if it can coerce ok 15 - assert_coerce DOES throw an exception if it can't coerce ok 16 - ArrayRefFromAny isa Type::Coercion ok 17 - ArrayRefFromAny coercion works ok 18 - Coercion ArrayRefFromAny+ArrayRefFromPiped prioritizes ArrayRefFromAny ok 19 - Coercion ArrayRefFromPiped+ArrayRefFromAny prioritizes ArrayRefFromPiped ok 20 - Type $arr coercion works ok 21 - Type $sum3 coercion works ok 22 - Type $sum4 coercion works 1..22 ok t/eval.t ................... ok 1 - closure over scalar ok 2 - closure over array ok 3 - closure over hash ok 4 - throw exception when code does not compile ok 5 - "description" option works ok 6 - "line" option works 1..6 ok t/exporter-installer.t ..... ok 1 - the ArrayRef function was cleaned away ok 2 - ArrayRef does not appear to be a method 1..2 ok t/exporter-roleconflict.t .. ok 1 - no exception when trying to compose two roles that use type constraints # 4304565480 # 4304565480 1..1 ok t/exporter.t ............... ok 1 - No exception exporting a legitimate function ok 2 - main->can('Any') ok 3 - Attempt to export a function which does not exist ok 4 - Attempt to export a function which exists but not in @EXPORT_OK ok 5 - "-types" shortcut works ok 6 - "-coercions" shortcut works ok 7 - renaming works ok 8 - prefixes work ok 9 - suffixes work ok 10 - plus notation works for Type::Library 1..10 ok t/library-assert.t ......... ok 1 - assert_String works (value that should pass) ok 2 - assert_String works (value that should fail) ok 3 - BiggerLib::assert_String works (value that should pass) ok 4 - BiggerLib::assert_String works (value that should fail) ok 5 - assert_SmallInteger works (value that should pass) ok 6 - assert_SmallInteger works (value that should fail) 1..6 ok t/library-is.t ............. ok 1 - is_String works (value that should pass) ok 2 - is_String works (value that should fail) ok 3 - is_Number works (value that should pass) ok 4 - is_Number works (value that should fail) ok 5 - is_Integer works (value that should pass) ok 6 - is_Integer works (value that should fail) ok 7 - is_SmallInteger works (value that should pass) ok 8 - is_SmallInteger works (value that should fail) 1..8 ok t/library-to.t ............. ok 1 - to_BigInteger converts a small integer OK ok 2 - to_BigInteger leaves an existing BigInteger OK ok 3 - to_BigInteger ignores something it cannot coerce ok 4 - no coercion for Str - should die 1..4 ok t/library-types.t .......... ok 1 - String isa Type::Tiny ok 2 - Number isa Type::Tiny ok 3 - Integer isa Type::Tiny ok 4 - DemoLib::String isa Type::Tiny ok 5 - DemoLib::Number isa Type::Tiny ok 6 - DemoLib::Integer isa Type::Tiny ok 7 - String has correct stringification ok 8 - Number has correct stringification ok 9 - Integer has correct stringification ok 10 - DemoLib::String has correct stringification ok 11 - DemoLib::Number has correct stringification ok 12 - DemoLib::Integer has correct stringification ok 13 - coderef overload works (value that should pass) ok 14 - coderef overload works (value that should throw) ok 15 - Sub::Exporter-style export renaming 1..15 ok t/moo-coercion.t ........... ok 1 - The object isa Type::Tiny ok 2 - no exception on coercion in constructor - mutable class ok 3 - 'big' attribute coerces in constructor - mutable class ok 4 - 'small' attribute coerces in constructor - mutable class ok 5 - 'big' attribute throws when it cannot coerce in constructor - mutable class ok 6 - 'small' attribute throws when it cannot coerce in constructor - mutable class ok 7 - 'big' attribute coerces in accessor - mutable class ok 8 - 'small' attribute coerces in accessor - mutable class ok 9 - 'big' attribute throws when it cannot coerce in accessor - mutable class ok 10 - 'small' attribute throws when it cannot coerce in accessor - mutable class ok 11 - no exception on coercion in constructor - immutable class ok 12 - 'big' attribute coerces in constructor - immutable class ok 13 - 'small' attribute coerces in constructor - immutable class ok 14 - 'big' attribute throws when it cannot coerce in constructor - immutable class ok 15 - 'small' attribute throws when it cannot coerce in constructor - immutable class ok 16 - 'big' attribute coerces in accessor - immutable class ok 17 - 'small' attribute coerces in accessor - immutable class ok 18 - 'big' attribute throws when it cannot coerce in accessor - immutable class ok 19 - 'small' attribute throws when it cannot coerce in accessor - immutable class 1..19 ok t/moo-inflation.t .......... # { # 'Type::Tiny::Class=HASH(0x1009e7f00)' => sub { "DUMMY" }, # 'Type::Tiny::Class=HASH(0x1009eacf0)' => sub { "DUMMY" }, # 'Type::Tiny::Duck=HASH(0x1009eefc0)' => sub { "DUMMY" }, # 'Type::Tiny::Duck=HASH(0x1009ef9f8)' => sub { "DUMMY" }, # 'Type::Tiny::Role=HASH(0x10097f4a0)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1008e45e8)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1008e4de0)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1009180f0)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x100918258)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x100918390)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x10093d6a8)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x100964e30)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x100965868)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x100983620)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x100983e30)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x100986620)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x100986de8)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1009885f0)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x100988e18)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x10098c650)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x10098ce48)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x10098e620)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x10098efc8)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x100990578)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x100990fc8)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x10099b9e0)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x10099d320)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x10099dc38)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x10099f230)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x10099f698)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1009a3308)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1009a3500)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1009a7dc8)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1009a7fc0)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1009a88f0)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1009ab1b8)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1009aecf8)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1009b1e48)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1009b2100)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1009b6a80)' => sub { "DUMMY" }, # 'Type::Tiny=HASH(0x1009e31a0)' => sub { "DUMMY" } # } ok 1 - some values that should pass their type constraint - Moose is not loaded ok 2 - direct violation of type constraint - Moose is not loaded ok 3 - violation of parent type constraint - Moose is not loaded ok 4 - violation of grandparent type constraint - Moose is not loaded ok 5 - violation of great-grandparent type constraint - Moose is not loaded ok 6 - some values that should pass their type constraint - Moose is loaded ok 7 - direct violation of type constraint - Moose is loaded ok 8 - violation of parent type constraint - Moose is loaded ok 9 - violation of grandparent type constraint - Moose is loaded ok 10 - violation of great-grandparent type constraint - Moose is loaded ok 11 - type constraint metaobject inflates from Moo to Moose 1..11 ok t/moo.t .................... ok 1 - some values that should pass their type constraint ok 2 - direct violation of type constraint ok 3 - violation of parent type constraint ok 4 - violation of grandparent type constraint ok 5 - violation of great-grandparent type constraint 1..5 ok t/moose-autott.t ........... ok 1 - Int isa Moose::Meta::TypeConstraint ok 2 - Str isa Moose::Meta::TypeConstraint ok 3 - $PositiveInt isa Type::Tiny ok 4 - $PositiveInt->parent isa Type::Tiny 1..4 ok t/moose-coercion.t ......... ok 1 - The object isa Moose::Meta::TypeConstraint ok 2 - no_coercions and friends available on Moose type constraint objects ok 3 - no exception on coercion in constructor - mutable class ok 4 - 'big' attribute coerces in constructor - mutable class ok 5 - 'small' attribute coerces in constructor - mutable class ok 6 - 'big' attribute throws when it cannot coerce in constructor - mutable class ok 7 - 'small' attribute throws when it cannot coerce in constructor - mutable class ok 8 - 'big' attribute coerces in accessor - mutable class ok 9 - 'small' attribute coerces in accessor - mutable class ok 10 - 'big' attribute throws when it cannot coerce in accessor - mutable class ok 11 - 'small' attribute throws when it cannot coerce in accessor - mutable class ok 12 - no exception on coercion in constructor - immutable class ok 13 - 'big' attribute coerces in constructor - immutable class ok 14 - 'small' attribute coerces in constructor - immutable class ok 15 - 'big' attribute throws when it cannot coerce in constructor - immutable class ok 16 - 'small' attribute throws when it cannot coerce in constructor - immutable class ok 17 - 'big' attribute coerces in accessor - immutable class ok 18 - 'small' attribute coerces in accessor - immutable class ok 19 - 'big' attribute throws when it cannot coerce in accessor - immutable class ok 20 - 'small' attribute throws when it cannot coerce in accessor - immutable class 1..20 ok t/moose.t .................. ok 1 - some values that should pass their type constraint ok 2 - direct violation of type constraint ok 3 - violation of parent type constraint ok 4 - violation of grandparent type constraint ok 5 - violation of great-grandparent type constraint ok 6 - equivalence between Types::Standard types and core Moose types ok 7 - $classtype isa Moose::Meta::TypeConstraint::Class ok 8 - Type::Tiny::Class provides meta information to Moose::Meta::TypeConstraint::Class ok 9 - $classtype->tt_type isa Type::Tiny::Class ok 10 - $roletype isa Moose::Meta::TypeConstraint ok 11 - NB! Type::Tiny::Role does not inflate to Moose::Meta::TypeConstraint::Role because of differing notions as to what constitutes a role. ok 12 - $roletype->tt_type isa Type::Tiny::Role ok 13 - $ducktype isa Moose::Meta::TypeConstraint::DuckType ok 14 - Type::Tiny::Duck provides meta information to Moose::Meta::TypeConstraint::DuckType ok 15 - $ducktype->tt_type isa Type::Tiny::Duck ok 16 - $classtype isa Moose::Meta::TypeConstraint::Enum ok 17 - Type::Tiny::Enum provides meta information to Moose::Meta::TypeConstraint::Enum ok 18 - $enumtype->tt_type isa Type::Tiny::Enum ok 19 - $union isa Moose::Meta::TypeConstraint::Union ok 20 - Type::Tiny::Union provides meta information to Moose::Meta::TypeConstraint::Union ok 21 - $union->tt_type isa Type::Tiny::Union ok 22 - $union->type_constraints->[$i]->tt_type provides access to underlying Type::Tiny objects ok 23 - $intersect isa Moose::Meta::TypeConstraint ok 24 - $intersect->tt_type isa Type::Tiny::Intersection 1..24 ok t/mouse-coercion.t ......... ok 1 - The object isa Mouse::Meta::TypeConstraint ok 2 - no exception on coercion in constructor - mutable class ok 3 - 'big' attribute coerces in constructor - mutable class ok 4 - 'small' attribute coerces in constructor - mutable class ok 5 - 'big' attribute throws when it cannot coerce in constructor - mutable class ok 6 - 'small' attribute throws when it cannot coerce in constructor - mutable class ok 7 - 'big' attribute coerces in accessor - mutable class ok 8 - 'small' attribute coerces in accessor - mutable class ok 9 - 'big' attribute throws when it cannot coerce in accessor - mutable class ok 10 - 'small' attribute throws when it cannot coerce in accessor - mutable class ok 11 - no exception on coercion in constructor - immutable class ok 12 - 'big' attribute coerces in constructor - immutable class ok 13 - 'small' attribute coerces in constructor - immutable class ok 14 - 'big' attribute throws when it cannot coerce in constructor - immutable class ok 15 - 'small' attribute throws when it cannot coerce in constructor - immutable class ok 16 - 'big' attribute coerces in accessor - immutable class ok 17 - 'small' attribute coerces in accessor - immutable class ok 18 - 'big' attribute throws when it cannot coerce in accessor - immutable class ok 19 - 'small' attribute throws when it cannot coerce in accessor - immutable class 1..19 ok t/mouse.t .................. ok 1 - some values that should pass their type constraint ok 2 - direct violation of type constraint ok 3 - violation of parent type constraint ok 4 - violation of grandparent type constraint ok 5 - violation of great-grandparent type constraint 1..5 ok t/oo-classinsideout.t ...... ok 1 - Object::HookedTT has/inherited its expected properties ok 2 - Creating a Object::HookedTT object ok 3 - integer(3.14) dies ok 4 - integer(42) lives ok 5 - integer() == 42 ok 6 - word(^^^^) dies ok 7 - word(apple) lives ok 8 - word() eq 'apple' ok 9 - uppercase(banana) lives ok 10 - uppercase() eq 'BANANA' ok 11 - list(qw(foo bar bam)) lives ok 12 - list() gives qw(foo bar bam) ok 13 - list( [qw(foo bar bam)] ) lives ok 14 - list() gives qw(foo bar bam) ok 15 - reverser(qw(foo bar bam)) lives ok 16 - reverser() in list context gives qw(bam bar foo) ok 17 - reverser() in scalar context gives mabraboof ok 18 - write_only lives on write ok 19 - write only dies on write (and was caught) 1..19 ok t/oo-objectaccessor.t ...... ok 1 - write then read on accessor works ok 2 - exception thrown for bad value 1..2 ok t/parameterization.t ....... ok 1 - Avoid duplicating parameterized types ok 2 - ... except when necessary! 1..2 ok t/params-badsigs.t ......... ok 1 - Cannot follow an optional parameter with a required parameter ok 2 - Cannot follow a slurpy parameter with anything ok 3 - Slurpy parameters must be hashrefs or arrayrefs 1..3 ok t/params-carping.t ......... ok 1 ok 2 1..2 ok t/params-coerce.t .......... ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 - if value passes type constraint; no need to clone arrayref ok 8 - if value fails type constraint; need to clone arrayref ok 9 1..9 ok t/params-methods.t ......... ok 1 ok 2 ok 3 ok 4 ok 5 - clean operation ok 6 - exception calling new() with no args ok 7 - exception calling ->new() with no args ok 8 - exception calling set() with no args 1..8 ok t/params-mixednamed.t ...... ok 1 ok 2 ok 3 1..3 ok t/params-named.t ........... ok 1 ok 2 ok 3 ok 4 ok 5 1..5 ok t/params-noninline.t ....... ok 1 - (1, 2) ok 2 - (1.1, 2) ok 3 - () ok 4 - (1) ok 5 - (undef, 1) ok 6 - (42) 1..6 ok t/params-optional.t ........ ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 1..7 ok t/params-positional.t ...... ok 1 - (1, 2) ok 2 - (1.1, 2) ok 3 - (1) ok 4 - (1) ok 5 - (undef, 1) ok 6 - (1) 1..6 ok t/params-slurpy.t .......... ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 1..6 ok t/stdlib-inlined.t ......... ok 1 - value 'SCALAR(0x100875848)' passes type constraint 'ScalarRef' ((ref($_) eq 'SCALAR' or ref($_) eq 'REF')) ok 2 - value 'ARRAY(0x100803ae8)' passes type constraint 'ArrayRef' ((ref($_) eq 'ARRAY')) ok 3 - value 'HASH(0x100803ce0)' passes type constraint 'HashRef' ((ref($_) eq 'HASH')) ok 4 - value 'CODE(0x1008f7b20)' passes type constraint 'CodeRef' ((ref($_) eq 'CODE')) ok 5 - value 'GLOB(0x100813870)' passes type constraint 'GlobRef' ((ref($_) eq 'GLOB')) ok 6 - value 'REF(0x1008723a0)' passes type constraint 'Ref' ((!!ref($_))) ok 7 - value 'GLOB(0x100813870)' passes type constraint 'FileHandle' (((ref($_) eq "GLOB" && Scalar::Util::openhandle($_)) or (Scalar::Util::blessed($_) && $_->isa("IO::Handle")))) ok 8 - value '(?^:x)' passes type constraint 'RegexpRef' ((ref($_) eq 'Regexp')) ok 9 - value '1' passes type constraint 'Str' ((do { defined($_) and do { ref(\$_) eq 'SCALAR' or ref(\(my $val = $_)) eq 'SCALAR' } })) ok 10 - value '1' passes type constraint 'Num' ((!ref($_) && Scalar::Util::looks_like_number($_))) ok 11 - value '1' passes type constraint 'Int' ((defined $_ and $_ =~ /\A-?[0-9]+\z/)) ok 12 - value '1' passes type constraint 'Defined' ((defined($_))) ok 13 - value '1' passes type constraint 'Value' ((defined($_) and not ref($_))) ok 14 - undef passes type constraint 'Undef' ((!defined($_))) ok 15 - undef passes type constraint 'Item' ((!!1)) ok 16 - undef passes type constraint 'Any' ((!!1)) ok 17 - value 'Type::Tiny' passes type constraint 'ClassName' ((Types::Standard::_is_class_loaded($_))) ok 18 - value 'Type::Library' passes type constraint 'RoleName' ((Types::Standard::_is_class_loaded($_) and not $_->can('new'))) ok 19 - undef passes type constraint 'Bool' ((!defined $_ or $_ eq q() or $_ eq '0' or $_ eq '1')) ok 20 - value '' passes type constraint 'Bool' ((!defined $_ or $_ eq q() or $_ eq '0' or $_ eq '1')) ok 21 - value '0' passes type constraint 'Bool' ((!defined $_ or $_ eq q() or $_ eq '0' or $_ eq '1')) ok 22 - value '1' passes type constraint 'Bool' ((!defined $_ or $_ eq q() or $_ eq '0' or $_ eq '1')) ok 23 - value '7' fails type constraint 'Bool' ((!defined $_ or $_ eq q() or $_ eq '0' or $_ eq '1')) ok 24 - value 'REF(0x1009899c0)' passes type constraint 'ScalarRef' ((ref($_) eq 'SCALAR' or ref($_) eq 'REF')) ok 25 - value 'Type::Tiny' fails type constraint 'RoleName' ((Types::Standard::_is_class_loaded($_) and not $_->can('new'))) ok 26 - value 'ARRAY(0x1008ec190)' fails type constraint 'Str' ((do { defined($_) and do { ref(\$_) eq 'SCALAR' or ref(\(my $val = $_)) eq 'SCALAR' } })) ok 27 - value 'ARRAY(0x10081ff80)' fails type constraint 'Num' ((!ref($_) && Scalar::Util::looks_like_number($_))) ok 28 - value 'ARRAY(0x1008ec190)' fails type constraint 'Int' ((defined $_ and $_ =~ /\A-?[0-9]+\z/)) ok 29 - value '4x4' passes type constraint 'Str' ((do { defined($_) and do { ref(\$_) eq 'SCALAR' or ref(\(my $val = $_)) eq 'SCALAR' } })) ok 30 - value '4x4' fails type constraint 'Num' ((!ref($_) && Scalar::Util::looks_like_number($_))) ok 31 - value '4.2' fails type constraint 'Int' ((defined $_ and $_ =~ /\A-?[0-9]+\z/)) ok 32 - undef fails type constraint 'Str' ((do { defined($_) and do { ref(\$_) eq 'SCALAR' or ref(\(my $val = $_)) eq 'SCALAR' } })) ok 33 - undef fails type constraint 'Num' ((!ref($_) && Scalar::Util::looks_like_number($_))) ok 34 - undef fails type constraint 'Int' ((defined $_ and $_ =~ /\A-?[0-9]+\z/)) ok 35 - undef fails type constraint 'Defined' ((defined($_))) ok 36 - undef fails type constraint 'Value' ((defined($_) and not ref($_))) ok 37 - undef fails type constraint 'ClassName' ((Types::Standard::_is_class_loaded($_))) ok 38 - value 'ARRAY(0x100820538)' fails type constraint 'ClassName' ((Types::Standard::_is_class_loaded($_))) ok 39 - value 'Local::Class2' passes type constraint 'ClassName' ((Types::Standard::_is_class_loaded($_))) ok 40 - value 'Local::Class3' passes type constraint 'ClassName' ((Types::Standard::_is_class_loaded($_))) ok 41 - value 'Local::Class4' passes type constraint 'ClassName' ((Types::Standard::_is_class_loaded($_))) ok 42 - value 'Local::Dummy1' fails type constraint 'ClassName' ((Types::Standard::_is_class_loaded($_))) ok 43 - value 'ARRAY(0x100820538)' passes type constraint 'ArrayRef[Int]' ((do { ref($_) eq 'ARRAY' and do { my $ok = 1; for my $i (@{$_}) { $ok = 0 && last unless (defined $i and $i =~ /\A-?[0-9]+\z/) }; $ok } })) ok 44 - value 'ARRAY(0x10099bfb0)' passes type constraint 'ArrayRef[Int]' ((do { ref($_) eq 'ARRAY' and do { my $ok = 1; for my $i (@{$_}) { $ok = 0 && last unless (defined $i and $i =~ /\A-?[0-9]+\z/) }; $ok } })) ok 45 - value 'ARRAY(0x10099bff8)' fails type constraint 'ArrayRef[Int]' ((do { ref($_) eq 'ARRAY' and do { my $ok = 1; for my $i (@{$_}) { $ok = 0 && last unless (defined $i and $i =~ /\A-?[0-9]+\z/) }; $ok } })) ok 46 - value 'ARRAY(0x10099bf20)' fails type constraint 'ArrayRef[Int]' ((do { ref($_) eq 'ARRAY' and do { my $ok = 1; for my $i (@{$_}) { $ok = 0 && last unless (defined $i and $i =~ /\A-?[0-9]+\z/) }; $ok } })) ok 47 - value 'ARRAY(0x10099bff8)' fails type constraint 'ArrayRef[Int]' ((do { ref($_) eq 'ARRAY' and do { my $ok = 1; for my $i (@{$_}) { $ok = 0 && last unless (defined $i and $i =~ /\A-?[0-9]+\z/) }; $ok } })) ok 48 - value 'ARRAY(0x10099bff8)' passes type constraint 'ArrayRef[ArrayRef[Int]]' ((do { ref($_) eq 'ARRAY' and do { my $ok = 1; for my $i (@{$_}) { $ok = 0 && last unless (do { ref($i) eq 'ARRAY' and do { my $ok = 1; for my $i (@{$i}) { $ok = 0 && last unless (defined $i and $i =~ /\A-?[0-9]+\z/) }; $ok } }) }; $ok } })) ok 49 - value 'ARRAY(0x100820730)' fails type constraint 'ArrayRef[ArrayRef[Int]]' ((do { ref($_) eq 'ARRAY' and do { my $ok = 1; for my $i (@{$_}) { $ok = 0 && last unless (do { ref($i) eq 'ARRAY' and do { my $ok = 1; for my $i (@{$i}) { $ok = 0 && last unless (defined $i and $i =~ /\A-?[0-9]+\z/) }; $ok } }) }; $ok } })) ok 50 - undef passes type constraint 'Maybe[Int]' ((!defined($_) or (defined $_ and $_ =~ /\A-?[0-9]+\z/))) ok 51 - value '123' passes type constraint 'Maybe[Int]' ((!defined($_) or (defined $_ and $_ =~ /\A-?[0-9]+\z/))) ok 52 - value '1.3' fails type constraint 'Maybe[Int]' ((!defined($_) or (defined $_ and $_ =~ /\A-?[0-9]+\z/))) ok 53 - value 'Local::Class4=ARRAY(0x10099c1d8)' passes type constraint 'Ref[ARRAY]' ((ref($_) and Scalar::Util::reftype($_) eq q(ARRAY))) ok 54 - value 'Local::Class4=HASH(0x100820538)' passes type constraint 'Ref[HASH]' ((ref($_) and Scalar::Util::reftype($_) eq q(HASH))) ok 55 - value 'ARRAY(0x10099c1d8)' passes type constraint 'Ref[ARRAY]' ((ref($_) and Scalar::Util::reftype($_) eq q(ARRAY))) ok 56 - value 'HASH(0x100820538)' passes type constraint 'Ref[HASH]' ((ref($_) and Scalar::Util::reftype($_) eq q(HASH))) ok 57 - value 'Local::Class4=ARRAY(0x10099c1d8)' fails type constraint 'Ref[HASH]' ((ref($_) and Scalar::Util::reftype($_) eq q(HASH))) ok 58 - value 'Local::Class4=HASH(0x100820538)' fails type constraint 'Ref[ARRAY]' ((ref($_) and Scalar::Util::reftype($_) eq q(ARRAY))) ok 59 - value 'ARRAY(0x10099c1d8)' fails type constraint 'Ref[HASH]' ((ref($_) and Scalar::Util::reftype($_) eq q(HASH))) ok 60 - value 'HASH(0x100820538)' fails type constraint 'Ref[ARRAY]' ((ref($_) and Scalar::Util::reftype($_) eq q(ARRAY))) 1..60 ok t/stdlib-optlist.t ......... ok 1 - [] passes type constraint OptList ok 2 - [["foo",undef]] passes type constraint OptList ok 3 - [["foo",'ARRAY(0x1008b24d0)']] passes type constraint OptList ok 4 - [["foo",'HASH(0x100803ce0)']] passes type constraint OptList ok 5 - [] passes type constraint OptList ok 6 - [["foo",undef]] passes type constraint OptList ok 7 - [["foo",'ARRAY(0x1009b50b0)']] passes type constraint OptList ok 8 - [["foo",'HASH(0x100803ce0)']] passes type constraint OptList ok 9 - [[undef]] fails type constraint OptList ok 10 - [['ARRAY(0x1008af128)']] fails type constraint OptList ok 11 - [['HASH(0x1009b50b0)']] fails type constraint OptList ok 12 - [[undef]] fails type constraint OptList ok 13 - [['ARRAY(0x1008f1fd0)']] fails type constraint OptList ok 14 - [['HASH(0x1008af128)']] fails type constraint OptList ok 15 - not OptList has coercion ok 16 - OptList has coercion ok 17 - $OM->coerce(undef) ok 18 - $OM->coerce([]) ok 19 - simple $OM coercion test ok 20 - another simple $OM coercion test 1..20 ok t/stdlib-overload.t ........ ok 1 - bless( [], 'Local::Class' ) passes type constraint Any ok 2 - bless( [], 'Local::Class' ) passes type constraint Item ok 3 - bless( [], 'Local::Class' ) passes type constraint Defined ok 4 - bless( [], 'Local::Class' ) passes type constraint Ref ok 5 - bless( [], 'Local::Class' ) passes type constraint Ref[ARRAY] ok 6 - bless( [], 'Local::Class' ) passes type constraint Object ok 7 - bless( [], 'Local::Class' ) passes type constraint Overload ok 8 - bless( [], 'Local::Class' ) passes type constraint Overload[&] ok 9 - bless( [], 'Local::Class' ) fails type constraint Ref[HASH] ok 10 - bless( [], 'Local::Class' ) fails type constraint Overload[|] ok 11 - value "Local::Class" fails type constraint Overload ok 12 - [] fails type constraint Overload ok 13 - Item subtype: Overload[&] ok 14 - Defined subtype: Overload[&] ok 15 - Ref subtype: Overload[&] ok 16 - Object subtype: Overload[&] ok 17 - Overload subtype: Overload[&] 1..17 ok t/stdlib-str.t ............. ok 1 - length $chars == 4 ok 2 - length $bytes_utf8 == 5 ok 3 - length $bytes_western == 4 ok 4 - utf8::is_utf8 $chars ok 5 - not utf8::is_utf8 $bytes_utf8 ok 6 - not utf8::is_utf8 $bytes_western ok 7 - value "caf\x{e9}" passes type constraint Str ok 8 - value "caf\x{e9}" passes type constraint Chars ok 9 - value "caf\x{e9}" fails type constraint Bytes ok 10 - value "caf\303\251" passes type constraint Str ok 11 - value "caf\303\251" fails type constraint Chars ok 12 - value "caf\303\251" passes type constraint Bytes ok 13 - value "caf\351" passes type constraint Str ok 14 - value "caf\351" fails type constraint Chars ok 15 - value "caf\351" passes type constraint Bytes ok 16 - coerce using Bytes + Encode["utf-8"] ok 17 - coerce using Bytes + Encode["iso-8859-1"] ok 18 - coerce using Chars + Decode["utf-8"] ok 19 - coerce using Chars + Decode["iso-8859-1"] ok 20 - length $chars == 17 ok 21 - length $bytes_utf8 == 19 ok 22 - length $bytes_western == 17 ok 23 - $SplitSpace can be inlined ok 24 - $SplitPipe can be inlined ok 25 - $SplitSpace->coerce($chars) ok 26 - $SplitSpace->coerce($bytes_utf8) ok 27 - $SplitSpace->coerce($bytes_western) ok 28 - ["Caf\x{e9}","Paris|Gar\x{e7}on"] passes type constraint ArrayRef[Str] ok 29 - ["Caf\x{e9}","Paris|Gar\x{e7}on"] passes type constraint ArrayRef[Chars] ok 30 - ["Caf\x{e9}","Paris|Gar\x{e7}on"] fails type constraint ArrayRef[Bytes] ok 31 - ["Caf\303\251","Paris|Gar\303\247on"] passes type constraint ArrayRef[Str] ok 32 - ["Caf\303\251","Paris|Gar\303\247on"] fails type constraint ArrayRef[Chars] ok 33 - ["Caf\303\251","Paris|Gar\303\247on"] passes type constraint ArrayRef[Bytes] ok 34 - ["Caf\351","Paris|Gar\347on"] passes type constraint ArrayRef[Str] ok 35 - ["Caf\351","Paris|Gar\347on"] fails type constraint ArrayRef[Chars] ok 36 - ["Caf\351","Paris|Gar\347on"] passes type constraint ArrayRef[Bytes] ok 37 - $SplitPipe->coerce($chars) ok 38 - $SplitPipe->coerce($bytes_utf8) ok 39 - $SplitPipe->coerce($bytes_western) ok 40 - $JoinPipe->coerce($arr_chars) ok 41 - value "Caf\x{e9} Paris|Gar\x{e7}on" passes type constraint Chars ok 42 - $JoinPipe->coerce($arr_bytes_utf8) ok 43 - value "Caf\303\251 Paris|Gar\303\247on" passes type constraint Bytes ok 44 - $JoinPipe->coerce($arr_bytes_western) ok 45 - value "Caf\351 Paris|Gar\347on" passes type constraint Bytes ok 46 - length $chars == 11 ok 47 - length $bytes_utf8 == 11 ok 48 - length $bytes_western == 11 ok 49 - value "coffee shop" passes type constraint Str ok 50 - value "coffee shop" passes type constraint Chars ok 51 - value "coffee shop" passes type constraint Bytes ok 52 - value "coffee shop" passes type constraint Str ok 53 - value "coffee shop" passes type constraint Chars ok 54 - value "coffee shop" passes type constraint Bytes ok 55 - value "coffee shop" passes type constraint Str ok 56 - value "coffee shop" passes type constraint Chars ok 57 - value "coffee shop" passes type constraint Bytes 1..57 ok t/stdlib-strmatch.t ........ ok 1 - value "mm" passes type constraint Enum[cm,km,m,mm] ok 2 - value "cm" passes type constraint Enum[cm,km,m,mm] ok 3 - value "m" passes type constraint Enum[cm,km,m,mm] ok 4 - value "km" passes type constraint Enum[cm,km,m,mm] ok 5 - value "MM" fails type constraint Enum[cm,km,m,mm] ok 6 - value "mm " fails type constraint Enum[cm,km,m,mm] ok 7 - value " mm" fails type constraint Enum[cm,km,m,mm] ok 8 - value "miles" fails type constraint Enum[cm,km,m,mm] ok 9 - value "5 km" passes type constraint Distance ok 10 - value "5 mm" passes type constraint Distance ok 11 - value "4 miles" fails type constraint Distance ok 12 - value "5.5 km" fails type constraint Distance ok 13 - [5,"km"] fails type constraint Distance ok 14 - value "true" passes type constraint Boolean ok 15 - value "True" passes type constraint Boolean ok 16 - value "TRUE" passes type constraint Boolean ok 17 - value "false" passes type constraint Boolean ok 18 - value "False" passes type constraint Boolean ok 19 - value "FALSE" passes type constraint Boolean ok 20 - value "0" passes type constraint Boolean ok 21 - value "1" passes type constraint Boolean ok 22 - value "True " fails type constraint Boolean ok 23 - value "11" fails type constraint Boolean 1..23 ok t/stdlib-structures.t ...... ok 1 - {1 => 111,2 => 222} passes type constraint Map[Int,Num] ok 2 - {1 => "1.1",2 => "2.2"} passes type constraint Map[Int,Num] ok 3 - {1 => "Str",2 => 222} fails type constraint Map[Int,Num] ok 4 - {"1.1" => 1,2 => "2.2"} fails type constraint Map[Int,Num] ok 5 - [1,"1.1"] passes type constraint Tuple[Int,Num,Optional[Int],slurpy ArrayRef[Num]] ok 6 - [1,"1.1",2] passes type constraint Tuple[Int,Num,Optional[Int],slurpy ArrayRef[Num]] ok 7 - [1,"1.1",2,"2.2"] passes type constraint Tuple[Int,Num,Optional[Int],slurpy ArrayRef[Num]] ok 8 - [1,"1.1",2,"2.2","2.3"] passes type constraint Tuple[Int,Num,Optional[Int],slurpy ArrayRef[Num]] ok 9 - [1,"1.1",2,"2.2","2.3","2.4"] passes type constraint Tuple[Int,Num,Optional[Int],slurpy ArrayRef[Num]] ok 10 - {} fails type constraint Tuple[Int,Num,Optional[Int],slurpy ArrayRef[Num]] ok 11 - [] fails type constraint Tuple[Int,Num,Optional[Int],slurpy ArrayRef[Num]] ok 12 - [1] fails type constraint Tuple[Int,Num,Optional[Int],slurpy ArrayRef[Num]] ok 13 - ["1.1","1.1"] fails type constraint Tuple[Int,Num,Optional[Int],slurpy ArrayRef[Num]] ok 14 - [1,"1.1","2.1"] fails type constraint Tuple[Int,Num,Optional[Int],slurpy ArrayRef[Num]] ok 15 - [1,"1.1","2.1"] fails type constraint Tuple[Int,Num,Optional[Int],slurpy ArrayRef[Num]] ok 16 - [1,"1.1",2,"2.2","2.3","2.4","xyz"] fails type constraint Tuple[Int,Num,Optional[Int],slurpy ArrayRef[Num]] ok 17 - [1,"1.1",undef] fails type constraint Tuple[Int,Num,Optional[Int],slurpy ArrayRef[Num]] ok 18 - [1,"1.1"] passes type constraint Tuple[Int,Num,Optional[Int]] ok 19 - [1,"1.1",2] passes type constraint Tuple[Int,Num,Optional[Int]] ok 20 - [1,"1.1",2,"2.2"] fails type constraint Tuple[Int,Num,Optional[Int]] ok 21 - [1,"1.1",2,"2.2","2.3"] fails type constraint Tuple[Int,Num,Optional[Int]] ok 22 - [1,"1.1",2,"2.2","2.3","2.4"] fails type constraint Tuple[Int,Num,Optional[Int]] ok 23 - {} fails type constraint Tuple[Int,Num,Optional[Int]] ok 24 - [] fails type constraint Tuple[Int,Num,Optional[Int]] ok 25 - [1] fails type constraint Tuple[Int,Num,Optional[Int]] ok 26 - ["1.1","1.1"] fails type constraint Tuple[Int,Num,Optional[Int]] ok 27 - [1,"1.1","2.1"] fails type constraint Tuple[Int,Num,Optional[Int]] ok 28 - [1,"1.1","2.1"] fails type constraint Tuple[Int,Num,Optional[Int]] ok 29 - [1,"1.1",2,"2.2","2.3","2.4","xyz"] fails type constraint Tuple[Int,Num,Optional[Int]] ok 30 - [1,"1.1",undef] fails type constraint Tuple[Int,Num,Optional[Int]] ok 31 - {"name" => "Bob","height" => "1.76","age" => 40} passes type constraint Dict[age=>Int,height=>Optional[Num],name=>Str] ok 32 - {"name" => "Bob","age" => 40} passes type constraint Dict[age=>Int,height=>Optional[Num],name=>Str] ok 33 - {"name" => "Bob"} fails type constraint Dict[age=>Int,height=>Optional[Num],name=>Str] ok 34 - {"age" => 40} fails type constraint Dict[age=>Int,height=>Optional[Num],name=>Str] ok 35 - {"name" => "Bob","age" => "40.1"} fails type constraint Dict[age=>Int,height=>Optional[Num],name=>Str] ok 36 - {"weight" => "80.3","name" => "Bob","age" => 40} fails type constraint Dict[age=>Int,height=>Optional[Num],name=>Str] ok 37 - {"weight" => "80.3","name" => "Bob","height" => "1.76","age" => 40} fails type constraint Dict[age=>Int,height=>Optional[Num],name=>Str] ok 38 - {"name" => "Bob","height" => "xyz","age" => 40} fails type constraint Dict[age=>Int,height=>Optional[Num],name=>Str] ok 39 - {"name" => "Bob","height" => undef,"age" => 40} fails type constraint Dict[age=>Int,height=>Optional[Num],name=>Str] ok 40 - {"name" => "Bob","height" => "1.76","age" => undef} fails type constraint Dict[age=>Int,height=>Optional[Num],name=>Str] ok 41 - Optional[Int] check () ok 42 - Optional[Int] check (1) not ok 43 - Optional[Int] check (undef) # TODO `exists $arr[$idx]` behaves oddly in all versions of Perl # Failed (TODO) test 'Optional[Int] check (undef)' # at t/stdlib-structures.t line 86. ok 44 - Optional[Int] check ('xxx') 1..44 ok t/stdlib-tied.t ............ ok 1 - [] passes type constraint Tied ok 2 - {} passes type constraint Tied ok 3 - \undef passes type constraint Tied ok 4 - undef fails type constraint Tied ok 5 - [] passes type constraint Tied["MyTie::Array"] ok 6 - {} fails type constraint Tied["MyTie::Array"] ok 7 - \undef fails type constraint Tied["MyTie::Array"] ok 8 - [] fails type constraint Tied["MyTie::Hash"] ok 9 - {} passes type constraint Tied["MyTie::Hash"] ok 10 - \undef fails type constraint Tied["MyTie::Hash"] ok 11 - [] fails type constraint Tied["MyTie::Scalar"] ok 12 - {} fails type constraint Tied["MyTie::Scalar"] ok 13 - \undef passes type constraint Tied["MyTie::Scalar"] ok 14 - [] passes type constraint Tied[MyTieArray] ok 15 - {} fails type constraint Tied[MyTieArray] ok 16 - \undef fails type constraint Tied[MyTieArray] ok 17 - [] fails type constraint Tied[MyTieHash] ok 18 - {} passes type constraint Tied[MyTieHash] ok 19 - \undef fails type constraint Tied[MyTieHash] ok 20 - [] fails type constraint Tied[MyTieScalar] ok 21 - {} fails type constraint Tied[MyTieScalar] ok 22 - \undef passes type constraint Tied[MyTieScalar] ok 23 - {} passes type constraint Tied&HashRef ok 24 - [] fails type constraint Tied&HashRef ok 25 - \undef fails type constraint Tied&HashRef ok 26 - {"foo" => 2} fails type constraint Tied&HashRef 1..26 ok t/stdlib.t ................. ok 1 - \123 passes type constraint ScalarRef ok 2 - [] passes type constraint ArrayRef ok 3 - {} passes type constraint HashRef ok 4 - sub { "DUMMY" } passes type constraint CodeRef ok 5 - \*::STDOUT passes type constraint GlobRef ok 6 - \\"Hello" passes type constraint Ref ok 7 - \*::STDOUT passes type constraint FileHandle ok 8 - qr/(?^:x)/ passes type constraint RegexpRef ok 9 - value "1" passes type constraint Str ok 10 - value "1" passes type constraint Num ok 11 - value "1" passes type constraint Int ok 12 - value "1" passes type constraint Defined ok 13 - value "1" passes type constraint Value ok 14 - undef passes type constraint Undef ok 15 - undef passes type constraint Item ok 16 - undef passes type constraint Any ok 17 - value "Type::Tiny" passes type constraint ClassName ok 18 - value "Type::Library" passes type constraint RoleName ok 19 - undef passes type constraint Bool ok 20 - value "" passes type constraint Bool ok 21 - value "0" passes type constraint Bool ok 22 - value "1" passes type constraint Bool ok 23 - value "7" fails type constraint Bool ok 24 - \\"Hello" passes type constraint ScalarRef ok 25 - value "Type::Tiny" fails type constraint RoleName ok 26 - [] fails type constraint Str ok 27 - [] fails type constraint Num ok 28 - [] fails type constraint Int ok 29 - value "4x4" passes type constraint Str ok 30 - value "4x4" fails type constraint Num ok 31 - value "4.2" fails type constraint Int ok 32 - undef fails type constraint Str ok 33 - undef fails type constraint Num ok 34 - undef fails type constraint Int ok 35 - undef fails type constraint Defined ok 36 - undef fails type constraint Value ok 37 - undef fails type constraint ClassName ok 38 - [] fails type constraint ClassName ok 39 - value "Local::Class2" passes type constraint ClassName ok 40 - value "Local::Class3" passes type constraint ClassName ok 41 - value "Local::Class4" passes type constraint ClassName ok 42 - value "Local::Dummy1" fails type constraint ClassName ok 43 - [] passes type constraint ArrayRef[Int] ok 44 - [1,2,3] passes type constraint ArrayRef[Int] ok 45 - ["1.1",2,3] fails type constraint ArrayRef[Int] ok 46 - [1,2,"3.1"] fails type constraint ArrayRef[Int] ok 47 - [[]] fails type constraint ArrayRef[Int] ok 48 - [[3]] passes type constraint ArrayRef[ArrayRef[Int]] ok 49 - [["A"]] fails type constraint ArrayRef[ArrayRef[Int]] ok 50 - ArrayRef[HashRef[ArrayRef[HashRef[Int]]]] can be inlined ok 51 - [{"foo1" => 'ARRAY(0x1009cd180)'},{"foo2" => 'ARRAY(0x1009cd048)'}] passes type constraint ArrayRef[HashRef[ArrayRef[HashRef[Int]]]] ok 52 - [{"foo1" => 'ARRAY(0x1009cc520)'},{"foo2" => 'ARRAY(0x1009cd2e8)'}] passes type constraint ArrayRef[HashRef[ArrayRef[HashRef[Int]]]] ok 53 - [{"foo1" => 'ARRAY(0x1009cc8e0)'},{"foo2" => 'ARRAY(0x1009cd318)'}] fails type constraint ArrayRef[HashRef[ArrayRef[HashRef[Int]]]] ok 54 - undef passes type constraint Maybe[Int] ok 55 - value "123" passes type constraint Maybe[Int] ok 56 - value "1.3" fails type constraint Maybe[Int] ok 57 - \"Hello" passes type constraint ScalarRef[Str] ok 58 - \"1.1" passes type constraint ScalarRef[Str] ok 59 - \1 passes type constraint ScalarRef[Str] ok 60 - \"Hello" fails type constraint ScalarRef[Num] ok 61 - \"1.1" passes type constraint ScalarRef[Num] ok 62 - \1 passes type constraint ScalarRef[Num] ok 63 - \"Hello" fails type constraint ScalarRef[Int] ok 64 - \"1.1" fails type constraint ScalarRef[Int] ok 65 - \1 passes type constraint ScalarRef[Int] ok 66 - bless( [], 'Local::Class4' ) passes type constraint Ref[ARRAY] ok 67 - bless( {}, 'Local::Class4' ) passes type constraint Ref[HASH] ok 68 - [] passes type constraint Ref[ARRAY] ok 69 - {} passes type constraint Ref[HASH] ok 70 - bless( [], 'Local::Class4' ) fails type constraint Ref[HASH] ok 71 - bless( {}, 'Local::Class4' ) fails type constraint Ref[ARRAY] ok 72 - [] fails type constraint Ref[HASH] ok 73 - {} fails type constraint Ref[ARRAY] ok 74 - ArrayRef["Int"] is not a valid type constraint ok 75 - HashRef[[]] is not a valid type constraint ok 76 - ScalarRef[undef] is not a valid type constraint ok 77 - Ref[{}] is not a valid type constraint 1..77 ok t/syntax.t ................. ok 1 - $type1==$type2 ok 2 - $type1==$type3 ok 3 - $type2==$type3 1..3 ok t/type-class.t ............. ok 1 - FooBar isa Type::Tiny ok 2 - FooBar isa Type::Tiny::Class ok 3 - FooBaz isa Type::Tiny ok 4 - FooBaz isa Type::Tiny::Class ok 5 - FooBar->new isa Foo::Bar ok 6 - FooBaz->new isa Foo::Baz ok 7 - FooBar->class->new isa Foo::Bar ok 8 - FooBaz->class->new isa Foo::Baz ok 9 - bless( {}, 'Foo::Bar' ) passes type constraint FooBar ok 10 - bless( {}, 'Foo::Baz' ) passes type constraint FooBar ok 11 - bless( {}, 'Foo::Bar' ) fails type constraint FooBaz ok 12 - bless( {}, 'Foo::Baz' ) passes type constraint FooBaz ok 13 - undef fails type constraint FooBar ok 14 - undef fails type constraint FooBaz ok 15 - {} fails type constraint FooBar ok 16 - {} fails type constraint FooBaz ok 17 - bless( {"compiled_check" => sub { "DUMMY" },"name" => "FooBar","library" => "BiggerLib","display_name" => "FooBar","_caller_level" => 1,"inlined" => sub { "DUMMY" },"class" => "Foo::Bar","constraint" => sub { "DUMMY" },"uniq" => 42}, 'Type::Tiny::Class' ) fails type constraint FooBar ok 18 - bless( {"compiled_check" => sub { "DUMMY" },"name" => "FooBar","library" => "BiggerLib","display_name" => "FooBar","_caller_level" => 1,"inlined" => sub { "DUMMY" },"class" => "Foo::Bar","constraint" => sub { "DUMMY" },"uniq" => 42}, 'Type::Tiny::Class' ) fails type constraint FooBaz ok 19 - bless( {"compiled_check" => sub { "DUMMY" },"name" => "FooBaz","library" => "BiggerLib","display_name" => "FooBaz","_caller_level" => 1,"inlined" => sub { "DUMMY" },"class" => "Foo::Baz","constraint" => sub { "DUMMY" },"uniq" => 43}, 'Type::Tiny::Class' ) fails type constraint FooBar ok 20 - bless( {"compiled_check" => sub { "DUMMY" },"name" => "FooBaz","library" => "BiggerLib","display_name" => "FooBaz","_caller_level" => 1,"inlined" => sub { "DUMMY" },"class" => "Foo::Baz","constraint" => sub { "DUMMY" },"uniq" => 43}, 'Type::Tiny::Class' ) fails type constraint FooBaz ok 21 - value "Foo::Bar" fails type constraint FooBar ok 22 - value "Foo::Bar" fails type constraint FooBaz ok 23 - value "Foo::Baz" fails type constraint FooBar ok 24 - value "Foo::Baz" fails type constraint FooBaz ok 25 - DWIM Type::Tiny::Class::new 1..25 ok t/type-duck.t .............. ok 1 - CanFooBar isa Type::Tiny ok 2 - CanFooBar isa Type::Tiny::Duck ok 3 - bless( {}, 'Foo::Bar' ) passes type constraint CanFooBar ok 4 - bless( {}, 'Foo::Bar' ) fails type constraint CanFooBaz ok 5 - bless( {}, 'Foo::Baz' ) passes type constraint CanFooBar ok 6 - bless( {}, 'Foo::Baz' ) passes type constraint CanFooBaz ok 7 - undef fails type constraint CanFooBar ok 8 - {} fails type constraint CanFooBar ok 9 - bless( {"compiled_check" => sub { "DUMMY" },"name" => "FooBar","library" => "BiggerLib","display_name" => "FooBar","_caller_level" => 1,"inlined" => sub { "DUMMY" },"class" => "Foo::Bar","constraint" => sub { "DUMMY" },"uniq" => 42}, 'Type::Tiny::Class' ) fails type constraint CanFooBar ok 10 - bless( {"compiled_check" => sub { "DUMMY" },"name" => "FooBaz","library" => "BiggerLib","display_name" => "FooBaz","_caller_level" => 1,"inlined" => sub { "DUMMY" },"class" => "Foo::Baz","constraint" => sub { "DUMMY" },"uniq" => 43}, 'Type::Tiny::Class' ) fails type constraint CanFooBar ok 11 - bless( {"compiled_check" => sub { "DUMMY" },"name" => "CanFooBar","library" => "BiggerLib","display_name" => "CanFooBar","_caller_level" => 1,"methods" => ["foo","bar"],"inlined" => sub { "DUMMY" },"constraint" => sub { "DUMMY" },"uniq" => 44}, 'Type::Tiny::Duck' ) fails type constraint CanFooBar ok 12 - value "Foo::Bar" fails type constraint CanFooBar 1..12 ok t/type-enum.t .............. ok 1 - FBB isa Type::Tiny ok 2 - FBB isa Type::Tiny::Enum ok 3 - value "foo" passes type constraint Enum[bar,baz,foo] ok 4 - value "bar" passes type constraint Enum[bar,baz,foo] ok 5 - value "baz" passes type constraint Enum[bar,baz,foo] ok 6 - value "quux" fails type constraint Enum[bar,baz,foo] ok 7 - value " foo" fails type constraint Enum[bar,baz,foo] ok 8 - value "foo " fails type constraint Enum[bar,baz,foo] ok 9 - value "foo|" fails type constraint Enum[bar,baz,foo] ok 10 - value "|foo" fails type constraint Enum[bar,baz,foo] ok 11 - undef fails type constraint Enum[bar,baz,foo] ok 12 - {} fails type constraint Enum[bar,baz,foo] ok 13 - \"foo" fails type constraint Enum[bar,baz,foo] ok 14 - \"bar" fails type constraint Enum[bar,baz,foo] ok 15 - \"baz" fails type constraint Enum[bar,baz,foo] ok 16 - FBB->values works 1..16 ok t/type-intersection.t ...... ok 1 - FooBarAndDoesQuux isa Type::Tiny::Intersection ok 2 - FooBarAndDoesQuux->[0] isa Type::Tiny::Class ok 3 - FooBarAndDoesQuux->[1] isa Type::Tiny::Role ok 4 - stringification good ok 5 - bless( {}, 'Foo::Bar' ) fails type constraint FooBar&DoesQuux ok 6 - bless( {}, 'Foo::Baz' ) passes type constraint FooBar&DoesQuux ok 7 - bless( [], 'Something' ) fails type constraint FooBar&DoesQuux ok 8 - bless( [], 'Something::Else' ) fails type constraint FooBar&DoesQuux ok 9 - value "Foo::Bar" fails type constraint FooBar&DoesQuux ok 10 - value "Foo::Baz" fails type constraint FooBar&DoesQuux ok 11 - intersections don't get unnecessarily deep # ((Scalar::Util::blessed($X) and $X->isa(q[Foo::Bar])) and (do { Scalar::Util::blessed($X) and do { my $method = $X->can('DOES')||$X->can('isa'); $X->$method(q[Quux]) } }) and (ref($X) and Scalar::Util::reftype($X) eq q(ARRAY))) ok 12 - bless( [], 'Foo::Baz' ) passes type constraint FooBar&DoesQuux&Ref[ARRAY] ok 13 - bless( {}, 'Foo::Baz' ) fails type constraint FooBar&DoesQuux&Ref[ARRAY] 1..13 ok t/type-role.t .............. ok 1 - DoesQuux isa Type::Tiny ok 2 - DoesQuux isa Type::Tiny::Role ok 3 - bless( {}, 'Foo::Bar' ) fails type constraint DoesQuux ok 4 - bless( {}, 'Foo::Baz' ) passes type constraint DoesQuux ok 5 - undef fails type constraint DoesQuux ok 6 - {} fails type constraint DoesQuux ok 7 - bless( {"compiled_check" => sub { "DUMMY" },"name" => "FooBar","library" => "BiggerLib","display_name" => "FooBar","_caller_level" => 1,"inlined" => sub { "DUMMY" },"class" => "Foo::Bar","constraint" => sub { "DUMMY" },"uniq" => 42}, 'Type::Tiny::Class' ) fails type constraint DoesQuux ok 8 - bless( {"compiled_check" => sub { "DUMMY" },"name" => "FooBaz","library" => "BiggerLib","display_name" => "FooBaz","_caller_level" => 1,"inlined" => sub { "DUMMY" },"class" => "Foo::Baz","constraint" => sub { "DUMMY" },"uniq" => 43}, 'Type::Tiny::Class' ) fails type constraint DoesQuux ok 9 - bless( {"compiled_check" => sub { "DUMMY" },"name" => "DoesQuux","library" => "BiggerLib","display_name" => "DoesQuux","_caller_level" => 1,"inlined" => sub { "DUMMY" },"constraint" => sub { "DUMMY" },"role" => "Quux","uniq" => 41}, 'Type::Tiny::Role' ) fails type constraint DoesQuux ok 10 - value "Quux" fails type constraint DoesQuux 1..10 ok t/type-union.t ............. ok 1 - FooBarOrDoesQuux isa Type::Tiny::Union ok 2 - FooBarOrDoesQuux->[0] isa Type::Tiny::Class ok 3 - FooBarOrDoesQuux->[1] isa Type::Tiny::Role ok 4 - stringification good ok 5 - bless( {}, 'Foo::Bar' ) passes type constraint FooBar|DoesQuux ok 6 - bless( {}, 'Foo::Baz' ) passes type constraint FooBar|DoesQuux ok 7 - bless( [], 'Something' ) passes type constraint FooBar|DoesQuux ok 8 - bless( [], 'Something::Else' ) fails type constraint FooBar|DoesQuux ok 9 - value "Foo::Bar" fails type constraint FooBar|DoesQuux ok 10 - value "Foo::Baz" fails type constraint FooBar|DoesQuux ok 11 - unions don't get unnecessarily deep 1..11 ok t/type.t ................... ok 1 - Any is not anon ok 2 - Any is called Any ok 3 - Any can be inlined ok 4 - value "1" passes type constraint Any ok 5 - value "1.2" passes type constraint Any ok 6 - value "Hello World" passes type constraint Any ok 7 - [] passes type constraint Any ok 8 - {} passes type constraint Any ok 9 - undef passes type constraint Any ok 10 - \*::STDOUT passes type constraint Any ok 11 - bad type constraint name ok 12 - $Int is anon ok 13 - $Int is called __ANON__ ok 14 - $Int cannot be inlined ok 15 - value "1" passes type constraint __ANON__ ok 16 - value "-1" passes type constraint __ANON__ ok 17 - value "0" passes type constraint __ANON__ ok 18 - value "100" passes type constraint __ANON__ ok 19 - value "10000" passes type constraint __ANON__ ok 20 - value "987654" passes type constraint __ANON__ ok 21 - value "1.2" fails type constraint __ANON__ ok 22 - value "Hello World" fails type constraint __ANON__ ok 23 - [] fails type constraint __ANON__ ok 24 - {} fails type constraint __ANON__ ok 25 - undef fails type constraint __ANON__ ok 26 - \*::STDOUT fails type constraint __ANON__ ok 27 - Any subtype: __ANON__ ok 28 - Any is_supertype_of $Int ok 29 - $Int is_a_type_of Any ok 30 - $Int is_a_type_of $Int ok 31 - not $Int is_subtype_of $Int ok 32 - Below is_parameterizable ok 33 - not Below is_parameterized ok 34 - value "1" passes type constraint Below ok 35 - value "-1" passes type constraint Below ok 36 - value "0" passes type constraint Below ok 37 - value "100" passes type constraint Below ok 38 - value "10000" passes type constraint Below ok 39 - value "987654" passes type constraint Below ok 40 - value "1.2" fails type constraint Below ok 41 - value "Hello World" fails type constraint Below ok 42 - [] fails type constraint Below ok 43 - {} fails type constraint Below ok 44 - undef fails type constraint Below ok 45 - \*::STDOUT fails type constraint Below ok 46 - $Below5 is anon ok 47 - ... but still has a nice display name ok 48 - value "1" passes type constraint Below[5] ok 49 - value "-1" passes type constraint Below[5] ok 50 - value "0" passes type constraint Below[5] ok 51 - value "1.2" fails type constraint Below[5] ok 52 - value "Hello World" fails type constraint Below[5] ok 53 - [] fails type constraint Below[5] ok 54 - {} fails type constraint Below[5] ok 55 - undef fails type constraint Below[5] ok 56 - \*::STDOUT fails type constraint Below[5] ok 57 - value "100" fails type constraint Below[5] ok 58 - value "10000" fails type constraint Below[5] ok 59 - value "987654" fails type constraint Below[5] ok 60 - Any subtype: Below[5] ok 61 - __ANON__ subtype: Below[5] ok 62 - Below subtype: Below[5] ok 63 - Below[5] is_parameterized ok 64 - has_parameters method works - negative ok 65 - has_parameters method works - positive ok 66 - parameters method works 1..66 ok t/validationclass.t ........ ok 1 - can create a child type constraint from Validation::Class::Simple isa Type::Tiny ok 2 - value "Hello" fails type constraint __ANON__ ok 3 - {} fails type constraint __ANON__ ok 4 - {"email" => "tobyink\@cpan.org","pass" => "foo","name" => "Toby","pass2" => "bar"} fails type constraint __ANON__ ok 5 - {"email" => "tobyink\@cpan.org","pass" => "foo","name" => "Toby","pass2" => "foo"} passes type constraint __ANON__ ok 6 - {"email" => "tobyink\@cpan.org","pass" => "foo","name" => "Toby ","pass2" => "foo"} fails type constraint __ANON__ ok 7 - correct error message (A) ok 8 - correct error message (B) ok 9 - the type has a coercion ok 10 - ... which works 1..10 ok All tests successful. Files=56, Tests=1028, 10 wallclock secs ( 0.30 usr 0.16 sys + 7.90 cusr 0.79 csys = 9.15 CPU) Result: PASS TOBYINK/Type-Tiny-0.004.tar.gz make test TEST_VERBOSE=1 -- OK PPD for Type-Tiny-0.004 already made Running test for module 'Types::Standard' Running make for T/TO/TOBYINK/Type-Tiny-0.004.tar.gz Prepending /Users/fly1400/var/cpan/build/Type-Tiny-0.004-HMKRdC/blib/arch /Users/fly1400/var/cpan/build/Type-Tiny-0.004-HMKRdC/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory /Users/fly1400/var/cpan/build/Type-Tiny-0.004-HMKRdC Prepending /Users/fly1400/var/cpan/build/Type-Tiny-0.004-HMKRdC/blib/arch /Users/fly1400/var/cpan/build/Type-Tiny-0.004-HMKRdC/blib/lib to PERL5LIB for 'make' Has already been made Prepending /Users/fly1400/var/cpan/build/Type-Tiny-0.004-HMKRdC/blib/arch /Users/fly1400/var/cpan/build/Type-Tiny-0.004-HMKRdC/blib/lib to PERL5LIB for 'test' Running make test Has already been tested successfully Running make for T/TO/TOBYINK/Type-Tie-0.001.tar.gz Prepending /Users/fly1400/var/cpan/build/Type-Tiny-0.004-HMKRdC/blib/arch /Users/fly1400/var/cpan/build/Type-Tiny-0.004-HMKRdC/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory /Users/fly1400/var/cpan/build/Type-Tie-0.001-okhxqG Prepending /Users/fly1400/var/cpan/build/Type-Tiny-0.004-HMKRdC/blib/arch /Users/fly1400/var/cpan/build/Type-Tiny-0.004-HMKRdC/blib/lib to PERL5LIB for 'make' CPAN.pm: Building T/TO/TOBYINK/Type-Tie-0.001.tar.gz Warning: Prerequisite 'Exporter::TypeTiny => 0.004' for 'TOBYINK/Type-Tie-0.001.tar.gz' already built but the result looks suspicious. Skipping another build attempt, to prevent looping endlessly. Warning: Prerequisite 'Types::Standard => 0.004' for 'TOBYINK/Type-Tie-0.001.tar.gz' already built but the result looks suspicious. Skipping another build attempt, to prevent looping endlessly. >>> make cp lib/Type/Tie.pm blib/lib/Type/Tie.pm Manifying blib/man3/Type::Tie.3 TOBYINK/Type-Tie-0.001.tar.gz make -- OK Prepending /Users/fly1400/var/cpan/build/Type-Tiny-0.004-HMKRdC/blib/arch /Users/fly1400/var/cpan/build/Type-Tiny-0.004-HMKRdC/blib/lib to PERL5LIB for 'test' Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 /Users/fly1400/ap1400/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'inc', 'blib/lib', 'blib/arch')" t/01basic.t t/01basic.t .. ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 1..12 ok All tests successful. Files=1, Tests=12, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.09 cusr 0.01 csys = 0.12 CPU) Result: PASS TOBYINK/Type-Tie-0.001.tar.gz make test TEST_VERBOSE=1 -- OK Toby Inkster <tobyink@cpan.org> tie a variable to a type constraint >>> (cd /Users/fly1400/var/cpan/build/Type-Tie-0.001-okhxqG && tar cvf - Type-Tie-0.001.ppd blib) | gzip -c >/Users/fly1400/var/REPO/T/TO/TOBYINK/Type-Tie-0.001.tar.gz Type-Tie-0.001.ppd blib/ blib/lib/ blib/lib/Type/ blib/lib/Type/Tie.pm blib/man3/ blib/man3/Type::Tie.3 >>> mv /Users/fly1400/var/cpan/build/Type-Tie-0.001-okhxqG/Type-Tie-0.001.ppd /Users/fly1400/var/REPO/T/TO/TOBYINK Can't log to '/Users/fly1400/var/tmp/Library/Logs/ppm4.log': No such file or directory at /Users/fly1400/lib/ActivePerl/PPM/Logger.pm line 95. [InstallArea.pm:339] Created /Users/fly1400/var/megalib/etc/ppm-megalib-dirty [InstallArea.pm:362] Installing Type-Tie with id 19642 [InstallArea.pm:369] Copy /tmp/ppm-4mv__8/Type-Tie-0.001/blib/html --> /Users/fly1400/var/megalib/html [InstallArea.pm:548] /Users/fly1400/var/megalib/html/site/lib/Type/Tie.html written [InstallArea.pm:369] Copy /tmp/ppm-4mv__8/Type-Tie-0.001/blib/lib --> /Users/fly1400/var/megalib [InstallArea.pm:548] /Users/fly1400/var/megalib/Type/Tie.pm written [InstallArea.pm:418] Commit install [InstallArea.pm:454] unlink /Users/fly1400/var/megalib/etc/ppm-megalib-dirty Finished 2013-05-07T01:40:37