Start 2008-11-08T06:10:39 Going to read /home/cpanfly/var/cpan/Metadata Database was generated on Sat, 08 Nov 2008 11:26:50 GMT Running make for D/DR/DROLSKY/Class-MOP-0.69.tar.gz Checksum for /net/nas/data/cpan/authors/id/D/DR/DROLSKY/Class-MOP-0.69.tar.gz ok Class-MOP-0.69/ Class-MOP-0.69/t/ Class-MOP-0.69/t/072_immutable_w_constructors.t Class-MOP-0.69/t/101_InstanceCountingClass_test.t Class-MOP-0.69/t/015_metaclass_inheritance.t Class-MOP-0.69/t/012_package_variables.t Class-MOP-0.69/t/019_anon_class_keep_alive.t Class-MOP-0.69/t/023_attribute_get_read_write.t Class-MOP-0.69/t/044_instance_metaclass_incompat_dyn.t Class-MOP-0.69/t/014_attribute_introspection.t Class-MOP-0.69/t/018_anon_class.t Class-MOP-0.69/t/302_modify_parent_method.t Class-MOP-0.69/t/041_metaclass_incompatibility.t Class-MOP-0.69/t/021_attribute_errors_and_edge_cases.t Class-MOP-0.69/t/046_rebless_instance.t Class-MOP-0.69/t/100_BinaryTree_test.t Class-MOP-0.69/t/200_Class_C3_compatibility.t Class-MOP-0.69/t/103_Perl6Attribute_test.t Class-MOP-0.69/t/005_attributes.t Class-MOP-0.69/t/010_self_introspection.t Class-MOP-0.69/t/001_basic.t Class-MOP-0.69/t/081_meta_package_extension.t Class-MOP-0.69/t/004_advanced_methods.t Class-MOP-0.69/t/000_load.t Class-MOP-0.69/t/107_C3MethodDispatchOrder_test.t Class-MOP-0.69/t/071_immutable_w_custom_metaclass.t Class-MOP-0.69/t/301_RT_27329_fix.t Class-MOP-0.69/t/013_add_attribute_alternate.t Class-MOP-0.69/t/048_anon_class_create_init.t Class-MOP-0.69/t/060_instance.t Class-MOP-0.69/t/011_create_class.t Class-MOP-0.69/t/022_attribute_duplication.t Class-MOP-0.69/t/303_RT_39001_fix.t Class-MOP-0.69/t/073_make_mutable.t Class-MOP-0.69/t/020_attribute.t Class-MOP-0.69/t/082_get_code_info.t Class-MOP-0.69/t/300_random_eval_bug.t Class-MOP-0.69/t/105_ClassEncapsulatedAttributes_test.t Class-MOP-0.69/t/106_LazyClass_test.t Class-MOP-0.69/t/006_new_and_clone_metaclasses.t Class-MOP-0.69/t/017_add_method_modifier.t Class-MOP-0.69/t/003_methods.t Class-MOP-0.69/t/030_method.t Class-MOP-0.69/t/104_AttributesWithHistory_test.t Class-MOP-0.69/t/045_metaclass_loads_classes.t Class-MOP-0.69/t/031_method_modifiers.t Class-MOP-0.69/t/043_instance_metaclass_incompat.t Class-MOP-0.69/t/047_rebless_with_extra_params.t Class-MOP-0.69/t/lib/ Class-MOP-0.69/t/lib/MyMetaClass/ Class-MOP-0.69/t/lib/MyMetaClass/Instance.pm Class-MOP-0.69/t/lib/MyMetaClass/Random.pm Class-MOP-0.69/t/lib/MyMetaClass/Method.pm Class-MOP-0.69/t/lib/MyMetaClass/Attribute.pm Class-MOP-0.69/t/lib/BinaryTree.pm Class-MOP-0.69/t/lib/MyMetaClass.pm Class-MOP-0.69/t/lib/SyntaxError.pm Class-MOP-0.69/t/042_metaclass_incompatibility_dyn.t Class-MOP-0.69/t/083_load_class.t Class-MOP-0.69/t/024_attribute_initializer.t Class-MOP-0.69/t/050_scala_style_mixin_composition.t Class-MOP-0.69/t/040_metaclass.t Class-MOP-0.69/t/016_class_errors_and_edge_cases.t Class-MOP-0.69/t/108_ArrayBasedStorage_test.t Class-MOP-0.69/t/080_meta_package.t Class-MOP-0.69/t/061_instance_inline.t Class-MOP-0.69/t/102_InsideOutClass_test.t Class-MOP-0.69/t/070_immutable_metaclass.t Class-MOP-0.69/t/002_class_precedence_list.t Class-MOP-0.69/examples/ Class-MOP-0.69/examples/InstanceCountingClass.pod Class-MOP-0.69/examples/C3MethodDispatchOrder.pod Class-MOP-0.69/examples/Perl6Attribute.pod Class-MOP-0.69/examples/ArrayBasedStorage.pod Class-MOP-0.69/examples/InsideOutClass.pod Class-MOP-0.69/examples/LazyClass.pod Class-MOP-0.69/examples/AttributesWithHistory.pod Class-MOP-0.69/examples/ClassEncapsulatedAttributes.pod Class-MOP-0.69/META.yml Class-MOP-0.69/Changes Class-MOP-0.69/README Class-MOP-0.69/MANIFEST.SKIP Class-MOP-0.69/MANIFEST Class-MOP-0.69/Makefile.PL Class-MOP-0.69/ppport.h Class-MOP-0.69/MOP.xs Class-MOP-0.69/lib/ Class-MOP-0.69/lib/metaclass.pm Class-MOP-0.69/lib/Class/ Class-MOP-0.69/lib/Class/MOP.pm Class-MOP-0.69/lib/Class/MOP/ Class-MOP-0.69/lib/Class/MOP/Package.pm Class-MOP-0.69/lib/Class/MOP/Instance.pm Class-MOP-0.69/lib/Class/MOP/Immutable.pm Class-MOP-0.69/lib/Class/MOP/Object.pm Class-MOP-0.69/lib/Class/MOP/Module.pm Class-MOP-0.69/lib/Class/MOP/Method.pm Class-MOP-0.69/lib/Class/MOP/Method/ Class-MOP-0.69/lib/Class/MOP/Method/Constructor.pm Class-MOP-0.69/lib/Class/MOP/Method/Accessor.pm Class-MOP-0.69/lib/Class/MOP/Method/Generated.pm Class-MOP-0.69/lib/Class/MOP/Method/Wrapped.pm Class-MOP-0.69/lib/Class/MOP/Class.pm Class-MOP-0.69/lib/Class/MOP/Attribute.pm Class-MOP-0.69/scripts/ Class-MOP-0.69/scripts/class_browser.pl CPAN.pm: Going to build D/DR/DROLSKY/Class-MOP-0.69.tar.gz >>> /home/cpanfly/ap1003/bin/perl-static Makefile.PL Testing if you have a C compiler Checking if your kit is complete... Looks good Writing Makefile for Class::MOP >>> make cp lib/Class/MOP/Method/Constructor.pm blib/lib/Class/MOP/Method/Constructor.pm cp lib/Class/MOP/Method/Accessor.pm blib/lib/Class/MOP/Method/Accessor.pm cp lib/metaclass.pm blib/lib/metaclass.pm cp lib/Class/MOP/Method.pm blib/lib/Class/MOP/Method.pm cp lib/Class/MOP/Method/Generated.pm blib/lib/Class/MOP/Method/Generated.pm cp lib/Class/MOP/Instance.pm blib/lib/Class/MOP/Instance.pm cp lib/Class/MOP.pm blib/lib/Class/MOP.pm cp lib/Class/MOP/Class.pm blib/lib/Class/MOP/Class.pm cp lib/Class/MOP/Method/Wrapped.pm blib/lib/Class/MOP/Method/Wrapped.pm cp lib/Class/MOP/Immutable.pm blib/lib/Class/MOP/Immutable.pm cp lib/Class/MOP/Object.pm blib/lib/Class/MOP/Object.pm cp lib/Class/MOP/Attribute.pm blib/lib/Class/MOP/Attribute.pm cp lib/Class/MOP/Package.pm blib/lib/Class/MOP/Package.pm cp lib/Class/MOP/Module.pm blib/lib/Class/MOP/Module.pm /home/cpanfly/ap1003/bin/perl-static /home/cpanfly/var/megalib/ExtUtils/xsubpp -typemap /home/cpanfly/ap1003/lib/ExtUtils/typemap MOP.xs > MOP.xsc && mv MOP.xsc MOP.c gcc -c -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.69\" -DXS_VERSION=\"0.69\" -fPIC "-I/home/cpanfly/ap1003/lib/CORE" MOP.c Running Mkbootstrap for Class::MOP () chmod 644 MOP.bs rm -f blib/arch/auto/Class/MOP/MOP.so gcc -shared -O2 MOP.o -o blib/arch/auto/Class/MOP/MOP.so \ \ chmod 755 blib/arch/auto/Class/MOP/MOP.so cp MOP.bs blib/arch/auto/Class/MOP/MOP.bs chmod 644 blib/arch/auto/Class/MOP/MOP.bs Manifying blib/man3/Class::MOP::Method::Accessor.3 Manifying blib/man3/Class::MOP::Method::Constructor.3 Manifying blib/man3/metaclass.3 Manifying blib/man3/Class::MOP::Method::Generated.3 Manifying blib/man3/Class::MOP::Method.3 Manifying blib/man3/Class::MOP::Instance.3 Manifying blib/man3/Class::MOP.3 Manifying blib/man3/Class::MOP::Class.3 Manifying blib/man3/Class::MOP::Method::Wrapped.3 Manifying blib/man3/Class::MOP::Immutable.3 Manifying blib/man3/Class::MOP::Object.3 Manifying blib/man3/Class::MOP::Attribute.3 Manifying blib/man3/Class::MOP::Module.3 Manifying blib/man3/Class::MOP::Package.3 DROLSKY/Class-MOP-0.69.tar.gz make -- OK Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 /home/cpanfly/ap1003/bin/perl-static "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/000_load................................ 1..42 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Package; ok 3 - use Class::MOP::Module; ok 4 - use Class::MOP::Class; ok 5 - use Class::MOP::Immutable; ok 6 - use Class::MOP::Attribute; ok 7 - use Class::MOP::Method; ok 8 - use Class::MOP::Method::Wrapped; ok 9 - use Class::MOP::Method::Generated; ok 10 - use Class::MOP::Method::Accessor; ok 11 - use Class::MOP::Method::Constructor; ok 12 - use Class::MOP::Instance; ok 13 - use Class::MOP::Object; ok 14 - ... Class::MOP::Package is loaded ok 15 - ... Class::MOP::Method is loaded ok 16 - ... Class::MOP::Method::Accessor is loaded ok 17 - ... Class::MOP::Method::Generated is loaded ok 18 - ... Class::MOP::Method::Wrapped is loaded ok 19 - ... Class::MOP::Instance is loaded ok 20 - ... Class::MOP::Attribute is loaded ok 21 - ... Class::MOP::Class is loaded ok 22 - ... Class::MOP::Object is loaded ok 23 - ... Class::MOP::Method::Constructor is loaded ok 24 - ... Class::MOP::Module is loaded ok 25 - ... Class::MOP::Package is immutable ok 26 - ... Class::MOP::Method is immutable ok 27 - ... Class::MOP::Method::Accessor is immutable ok 28 - ... Class::MOP::Method::Generated is immutable ok 29 - ... Class::MOP::Method::Wrapped is immutable ok 30 - ... Class::MOP::Instance is immutable ok 31 - ... Class::MOP::Attribute is immutable ok 32 - ... Class::MOP::Class is immutable ok 33 - ... Class::MOP::Object is immutable ok 34 - ... Class::MOP::Method::Constructor is immutable ok 35 - ... Class::MOP::Module is immutable ok 36 - ... got all the metaclasses ok 37 - ... got all the metaclass instances ok 38 - ... got all the metaclass names ok 39 - ... got all the metaclass identifiers ok 40 - ... Class::MOP::Class->meta == Class::MOP::Class->meta->meta ok 41 - ... Class::MOP::Class->meta == Class::MOP::Class->meta->meta->meta ok 42 - ... Class::MOP::Class->meta == Class::MOP::Class->meta->meta->meta->meta ok t/001_basic............................... 1..25 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Class; ok 3 - The object isa Class::MOP::Class ok 4 - The object isa Class::MOP::Class ok 5 - ... Foo->name == Foo ok 6 - ... Bar->name == Bar ok 7 - ... Foo->version == 0.01 ok 8 - ... Bar->version == undef ok 9 - ... Foo->authority == undef ok 10 - ... Bar->authority == cpan:JRANDOM ok 11 - ... Foo->identifier == Foo-0.01 ok 12 - ... Bar->identifier == Bar-cpan:JRANDOM ok 13 - ... Foo has no superclasses ok 14 - ... Bar->superclasses == (Foo) ok 15 - ... Foo->superclasses == (UNIVERSAL) now ok 16 - ... Foo->class_precedence_list == (Foo, UNIVERSAL) ok 17 - ... Bar->class_precedence_list == (Bar, Foo, UNIVERSAL) ok 18 - The object isa Class::MOP::Class ok 19 - ... our metaclasses are singletons ok 20 - ... Baz->name == Baz ok 21 - ... Baz->version == 0.10 ok 22 - ... Baz->authority == YOMAMA ok 23 - ... Baz->identifier == Baz-0.10-cpan:YOMAMA ok 24 - ... Baz->superclasses == (Bar) ok 25 - ... Baz->class_precedence_list == (Baz, Bar, Foo, UNIVERSAL) ok t/002_class_precedence_list............... 1..8 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Class; ok 3 - ... My::D->meta->class_precedence_list == (D B A C A) ok 4 - ... My::D->meta->linearized_isa == (D B A C) ok 5 - ... recursive inheritance breaks correctly :) ok 6 - ... My::3::D->meta->class_precedence_list == (D B A C A B A) ok 7 - ... My::3::D->meta->linearized_isa == (D B A C B) ok 8 - ... Foo::Bar::Baz->meta->class_precedence_list == @CLASS_PRECEDENCE_LIST ok t/003_methods............................. 1..65 ok 1 - ... got the method stub pie ok 2 - ... got the constant method stub cake ok 3 - ... our method is not yet blessed ok 4 - ... we added the method successfully ok 5 - The object isa Class::MOP::Method ok 6 - ... got the right name for the method ok 7 - ... got the right package name for the method ok 8 - ... Foo->has_method(foo) (defined with Sub::Name) ok 9 - ... Foo->get_method(foo) == \&foo ok 10 - ... Foo->foo() returns "Foo::foo" ok 11 - ... not Foo->has_method(FOO_CONSTANT) (defined w/ use constant) ok 12 - ... not Foo->has_method(bling) (defined in main:: using symbol tables (no Sub::Name)) ok 13 - ... Foo->has_method(bar) (defined in Foo) ok 14 - ... Foo->has_method(baz) (typeglob aliased within Foo) ok 15 - ... Foo->has_method(baaz) (typeglob aliased within Foo) ok 16 - ... Foo->has_method(floob) (defined in Foo:: using symbol tables and Sub::Name w/out package name) ok 17 - ... Foo->has_method(blah) (defined in main:: using fully qualified package name) ok 18 - ... Foo->has_method(bang) (defined in main:: using symbol tables and Sub::Name) ok 19 - ... Foo->has_method(evaled_foo) (evaled in main::) ok 20 - the method 'elk' is defined in OinkyBoinky ok 21 - the method 'bar' is not defined in OinkyBoinky ok 22 - but if you look in the inheritence chain then 'bar' does exist ok 23 - the returned value is a code ref ok 24 - The object isa Class::MOP::Method ok 25 - ... body matches CODE ref in package for baaz ok 26 - The object isa Class::MOP::Method ok 27 - ... body matches CODE ref in package for bar ok 28 - The object isa Class::MOP::Method ok 29 - ... body matches CODE ref in package for baz ok 30 - The object isa Class::MOP::Method ok 31 - ... body matches CODE ref in package for floob ok 32 - The object isa Class::MOP::Method ok 33 - ... body matches CODE ref in package for blah ok 34 - The object isa Class::MOP::Method ok 35 - ... body matches CODE ref in package for bang ok 36 - The object isa Class::MOP::Method ok 37 - ... body matches CODE ref in package for evaled_foo ok 38 - The object isa Class::MOP::Method ok 39 - ... body matches CODE ref in package for FOO_CONSTANT ok 40 - ... got the __ANON__ methods ok 41 - ... symbol matches CODE ref in package for bling ok 42 - ... Foo->has_method(alias_me) (aliased from Foo::Aliasing) ok 43 - ... Foo does have a symbol table slow for alias_me though ok 44 - ... !Foo->has_method(blessed) (imported into Foo) ok 45 - ... !Foo->has_method(boom) (defined in main:: using symbol tables and Sub::Name w/out package name) ok 46 - ... !Foo->has_method(not_a_real_method) (does not exist) ok 47 - ... Foo->get_method(not_a_real_method) == undef ok 48 - ... got the right method list for Foo ok 49 - ... got the right list of applicable methods for Foo ok 50 - ... removed the foo method ok 51 - ... !Foo->has_method(foo) we just removed it ok 52 - ... cannot call Foo->foo because it is not there ok 53 - ... got the right method list for Foo ok 54 - The object isa Class::MOP::Class ok 55 - ... Bar->has_method(foo) ok 56 - ... Bar->has_method(bar) ok 57 - ... Bar->foo == Bar::foo ok 58 - ... Bar->bar == Bar::bar ok 59 - ... overwriting a method is fine ok 60 - ... Bar-> (still) has_method(foo) ok 61 - ... Bar->foo == "Bar::foo v2" ok 62 - ... got the right method list for Bar ok 63 - ... got the right list of applicable methods for Bar ok 64 - add_method clones method objects as they are added ok 65 - ... the cloned method has the correct original method ok t/004_advanced_methods.................... 1..14 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Class; ok 3 - ... Foo::BUILD has not next method ok 4 - ... Bar::BUILD does have a next method ok 5 - ... Baz->BUILD does have a next method ok 6 - ... Foo::Bar->BUILD does have a next method ok 7 - ... Foo::Bar::Baz->BUILD does have a next method ok 8 - ... got the right list of applicable methods for Foo ok 9 - ... got the right list of applicable methods for Bar ok 10 - ... got the right list of applicable methods for Baz ok 11 - ... got the right list of applicable methods for Foo::Bar ok 12 - ... got the right list of applicable methods for Foo::Bar::Baz ok 13 - ... got the right list of BUILD methods for Foo::Bar ok 14 - ... got the right list of BUILD methods for Foo::Bar::Baz ok t/005_attributes.......................... 1..71 ok 1 - use Class::MOP; ok 2 - ... got the attributes name correctly ok 3 - ... got the attributes name correctly ok 4 - ... got the attributes name correctly ok 5 - ... we added an attribute to Foo successfully ok 6 - ... Foo has $foo attribute ok 7 - ... got the right attribute back for Foo ok 8 - ... no accessor created ok 9 - ... we added an attribute to Foo successfully ok 10 - ... Foo has $bar attribute ok 11 - ... got the right attribute back for Foo ok 12 - ... no accessor created ok 13 - ... we added an attribute to Bar successfully ok 14 - ... Bar has $bar attribute ok 15 - ... got the right attribute back for Bar ok 16 - ... got the right read method for Bar ok 17 - ... got the right write method for Bar ok 18 - ... an accessor has been created ok 19 - The object isa Class::MOP::Method::Accessor ok 20 - ... we added an attribute to Baz successfully ok 21 - ... Baz has $baz attribute ok 22 - ... got the right attribute back for Baz ok 23 - ... got the right read method for Baz ok 24 - ... got the right write method for Baz ok 25 - ... a reader has been created ok 26 - ... a writer has been created ok 27 - The object isa Class::MOP::Method::Accessor ok 28 - The object isa Class::MOP::Method::Accessor ok 29 - The object isa Class::MOP::Class ok 30 - ... got the right attribute for "bar" ok 31 - ... got the right attribute for "baz" ok 32 - ... got the right attribute for "foo" ok 33 - ... got the right list of applicable attributes for Baz ok 34 - ... got the right list of associated classes from the applicable attributes for Baz ok 35 - ... removed the $baz attribute successfully ok 36 - ... got the right attribute back for Baz ok 37 - ... Baz no longer has $baz attribute ok 38 - ... Baz no longer has $baz attribute ok 39 - ... a reader has been removed ok 40 - ... a writer has been removed ok 41 - ... got the right list of applicable attributes for Baz ok 42 - ... got the right list of associated classes from the applicable attributes for Baz ok 43 - ... removed the $bar attribute successfully ok 44 - ... got the right attribute back for Bar ok 45 - ... Bar no longer has $bar attribute ok 46 - ... a accessor has been removed ok 47 - ... got the right list of applicable attributes for Baz ok 48 - ... got the right list of associated classes from the applicable attributes for Baz ok 49 - ... attempted to remove the non-existent $blammo attribute ok 50 - ... got the right value back (undef) ok 51 - ... we added an attribute to Buzz successfully ok 52 - ... we added an attribute to Buzz successfully ok 53 - ... we added an attribute to Buzz successfully ok 54 - ... we added a method to Buzz successfully ok 55 - ...Buzz instantiated successfully ok 56 - ...foo builder works as expected ok 57 - ...bar is not set ok 58 - ...bar returns undef ok 59 - ...bar was not autovivified ok 60 - ...bar is set ok 61 - ...bar is undef ok 62 - ...bar is no longerset ok 63 - ...Buzz instantiated successfully ok 64 - ...bar is set ok 65 - ...bar is undef ok 66 - ...Buzz instantiated successfully ok 67 - ...bah is set ok 68 - ...bah returns "BAH" ok 69 - ...Buzz instantiated successfully ok 70 - ...bah is set ok 71 - ...bah is undef ok t/006_new_and_clone_metaclasses........... 1..36 ok 1 - use Class::MOP; ok 2 - The object isa Class::MOP::Class ok 3 - The object isa Class::MOP::Class ok 4 - ... it still creates the singleton ok 5 - The object isa Class::MOP::Class ok 6 - ... it creates the singleton even if you try to clone it ok 7 - The object isa Class::MOP::Class ok 8 - ... got the right Foo->meta singleton ok 9 - ... cloning got the right Foo->meta singleton ok 10 - The object isa Class::MOP::Class ok 11 - The object isa Class::MOP::Class ok 12 - ... even subclasses still create the singleton ok 13 - The object isa Class::MOP::Class ok 14 - ... and subclasses creates the singleton even if you try to clone it ok 15 - ... got the right Foo->meta singleton (w/subclass) ok 16 - ... cloning got the right Foo->meta singleton (w/subclass) ok 17 - The object isa Class::MOP::Class ok 18 - ... got the right name for the Bar metaclass ok 19 - ... Bar does not exists, so it has no version ok 20 - The object isa Class::MOP::Class ok 21 - The object isa MyMetaClass ok 22 - ... got the right Baz->meta singleton ok 23 - ... cloning got the right Baz->meta singleton ok 24 - The object isa Foo ok 25 - The object isa Bar ok 26 - The object isa Foo ok 27 - The object isa Baz ok 28 - The object isa Bar ok 29 - The object isa Foo ok 30 - The object isa Foo ok 31 - ... $cloned_foo is a new object different from $foo ok 32 - ... this dies as expected ok 33 - The object isa Class::MOP::Attribute ok 34 - The object isa Class::MOP::Attribute ok 35 - ... we successfully cloned our attributes ok 36 - ... we successfully did not clone our associated metaclass ok t/010_self_introspection.................. 1..236 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Class; ok 3 - use Class::MOP::Package; ok 4 - use Class::MOP::Module; ok 5 - ... instance and class both lead to the same meta ok 6 - The object isa Class::MOP::Class ok 7 - The object isa Class::MOP::Package ok 8 - The object isa Class::MOP::Module ok 9 - ... got the correct method list for class ok 10 - ... Class::MOP::Class->has_method(_new) ok 11 - ... Class::MOP::Class->get_method(_new) == &Class::MOP::Class::_new ok 12 - ... Class::MOP::Class->has_method(is_pristine) ok 13 - ... Class::MOP::Class->get_method(is_pristine) == &Class::MOP::Class::is_pristine ok 14 - ... Class::MOP::Class->has_method(initialize) ok 15 - ... Class::MOP::Class->get_method(initialize) == &Class::MOP::Class::initialize ok 16 - ... Class::MOP::Class->has_method(create) ok 17 - ... Class::MOP::Class->get_method(create) == &Class::MOP::Class::create ok 18 - ... Class::MOP::Class->has_method(update_package_cache_flag) ok 19 - ... Class::MOP::Class->get_method(update_package_cache_flag) == &Class::MOP::Class::update_package_cache_flag ok 20 - ... Class::MOP::Class->has_method(reset_package_cache_flag) ok 21 - ... Class::MOP::Class->get_method(reset_package_cache_flag) == &Class::MOP::Class::reset_package_cache_flag ok 22 - ... Class::MOP::Class->has_method(create_anon_class) ok 23 - ... Class::MOP::Class->get_method(create_anon_class) == &Class::MOP::Class::create_anon_class ok 24 - ... Class::MOP::Class->has_method(is_anon_class) ok 25 - ... Class::MOP::Class->get_method(is_anon_class) == &Class::MOP::Class::is_anon_class ok 26 - ... Class::MOP::Class->has_method(instance_metaclass) ok 27 - ... Class::MOP::Class->get_method(instance_metaclass) == &Class::MOP::Class::instance_metaclass ok 28 - ... Class::MOP::Class->has_method(get_meta_instance) ok 29 - ... Class::MOP::Class->get_method(get_meta_instance) == &Class::MOP::Class::get_meta_instance ok 30 - ... Class::MOP::Class->has_method(create_meta_instance) ok 31 - ... Class::MOP::Class->get_method(create_meta_instance) == &Class::MOP::Class::create_meta_instance ok 32 - ... Class::MOP::Class->has_method(new_object) ok 33 - ... Class::MOP::Class->get_method(new_object) == &Class::MOP::Class::new_object ok 34 - ... Class::MOP::Class->has_method(clone_object) ok 35 - ... Class::MOP::Class->get_method(clone_object) == &Class::MOP::Class::clone_object ok 36 - ... Class::MOP::Class->has_method(construct_instance) ok 37 - ... Class::MOP::Class->get_method(construct_instance) == &Class::MOP::Class::construct_instance ok 38 - ... Class::MOP::Class->has_method(construct_class_instance) ok 39 - ... Class::MOP::Class->get_method(construct_class_instance) == &Class::MOP::Class::construct_class_instance ok 40 - ... Class::MOP::Class->has_method(clone_instance) ok 41 - ... Class::MOP::Class->get_method(clone_instance) == &Class::MOP::Class::clone_instance ok 42 - ... Class::MOP::Class->has_method(rebless_instance) ok 43 - ... Class::MOP::Class->get_method(rebless_instance) == &Class::MOP::Class::rebless_instance ok 44 - ... Class::MOP::Class->has_method(check_metaclass_compatibility) ok 45 - ... Class::MOP::Class->get_method(check_metaclass_compatibility) == &Class::MOP::Class::check_metaclass_compatibility ok 46 - ... Class::MOP::Class->has_method(check_metaclass_compatability) ok 47 - ... Class::MOP::Class->get_method(check_metaclass_compatability) == &Class::MOP::Class::check_metaclass_compatability ok 48 - ... Class::MOP::Class->has_method(add_meta_instance_dependencies) ok 49 - ... Class::MOP::Class->get_method(add_meta_instance_dependencies) == &Class::MOP::Class::add_meta_instance_dependencies ok 50 - ... Class::MOP::Class->has_method(remove_meta_instance_depdendencies) ok 51 - ... Class::MOP::Class->get_method(remove_meta_instance_depdendencies) == &Class::MOP::Class::remove_meta_instance_depdendencies ok 52 - ... Class::MOP::Class->has_method(update_meta_instance_dependencies) ok 53 - ... Class::MOP::Class->get_method(update_meta_instance_dependencies) == &Class::MOP::Class::update_meta_instance_dependencies ok 54 - ... Class::MOP::Class->has_method(add_dependent_meta_instance) ok 55 - ... Class::MOP::Class->get_method(add_dependent_meta_instance) == &Class::MOP::Class::add_dependent_meta_instance ok 56 - ... Class::MOP::Class->has_method(remove_dependent_meta_instance) ok 57 - ... Class::MOP::Class->get_method(remove_dependent_meta_instance) == &Class::MOP::Class::remove_dependent_meta_instance ok 58 - ... Class::MOP::Class->has_method(invalidate_meta_instances) ok 59 - ... Class::MOP::Class->get_method(invalidate_meta_instances) == &Class::MOP::Class::invalidate_meta_instances ok 60 - ... Class::MOP::Class->has_method(invalidate_meta_instance) ok 61 - ... Class::MOP::Class->get_method(invalidate_meta_instance) == &Class::MOP::Class::invalidate_meta_instance ok 62 - ... Class::MOP::Class->has_method(attribute_metaclass) ok 63 - ... Class::MOP::Class->get_method(attribute_metaclass) == &Class::MOP::Class::attribute_metaclass ok 64 - ... Class::MOP::Class->has_method(method_metaclass) ok 65 - ... Class::MOP::Class->get_method(method_metaclass) == &Class::MOP::Class::method_metaclass ok 66 - ... Class::MOP::Class->has_method(superclasses) ok 67 - ... Class::MOP::Class->get_method(superclasses) == &Class::MOP::Class::superclasses ok 68 - ... Class::MOP::Class->has_method(subclasses) ok 69 - ... Class::MOP::Class->get_method(subclasses) == &Class::MOP::Class::subclasses ok 70 - ... Class::MOP::Class->has_method(class_precedence_list) ok 71 - ... Class::MOP::Class->get_method(class_precedence_list) == &Class::MOP::Class::class_precedence_list ok 72 - ... Class::MOP::Class->has_method(linearized_isa) ok 73 - ... Class::MOP::Class->get_method(linearized_isa) == &Class::MOP::Class::linearized_isa ok 74 - ... Class::MOP::Class->has_method(has_method) ok 75 - ... Class::MOP::Class->get_method(has_method) == &Class::MOP::Class::has_method ok 76 - ... Class::MOP::Class->has_method(get_method) ok 77 - ... Class::MOP::Class->get_method(get_method) == &Class::MOP::Class::get_method ok 78 - ... Class::MOP::Class->has_method(add_method) ok 79 - ... Class::MOP::Class->get_method(add_method) == &Class::MOP::Class::add_method ok 80 - ... Class::MOP::Class->has_method(remove_method) ok 81 - ... Class::MOP::Class->get_method(remove_method) == &Class::MOP::Class::remove_method ok 82 - ... Class::MOP::Class->has_method(alias_method) ok 83 - ... Class::MOP::Class->get_method(alias_method) == &Class::MOP::Class::alias_method ok 84 - ... Class::MOP::Class->has_method(wrap_method_body) ok 85 - ... Class::MOP::Class->get_method(wrap_method_body) == &Class::MOP::Class::wrap_method_body ok 86 - ... Class::MOP::Class->has_method(get_method_list) ok 87 - ... Class::MOP::Class->get_method(get_method_list) == &Class::MOP::Class::get_method_list ok 88 - ... Class::MOP::Class->has_method(get_method_map) ok 89 - ... Class::MOP::Class->get_method(get_method_map) == &Class::MOP::Class::get_method_map ok 90 - ... Class::MOP::Class->has_method(get_all_methods) ok 91 - ... Class::MOP::Class->get_method(get_all_methods) == &Class::MOP::Class::get_all_methods ok 92 - ... Class::MOP::Class->has_method(compute_all_applicable_methods) ok 93 - ... Class::MOP::Class->get_method(compute_all_applicable_methods) == &Class::MOP::Class::compute_all_applicable_methods ok 94 - ... Class::MOP::Class->has_method(find_method_by_name) ok 95 - ... Class::MOP::Class->get_method(find_method_by_name) == &Class::MOP::Class::find_method_by_name ok 96 - ... Class::MOP::Class->has_method(find_all_methods_by_name) ok 97 - ... Class::MOP::Class->get_method(find_all_methods_by_name) == &Class::MOP::Class::find_all_methods_by_name ok 98 - ... Class::MOP::Class->has_method(find_next_method_by_name) ok 99 - ... Class::MOP::Class->get_method(find_next_method_by_name) == &Class::MOP::Class::find_next_method_by_name ok 100 - ... Class::MOP::Class->has_method(add_before_method_modifier) ok 101 - ... Class::MOP::Class->get_method(add_before_method_modifier) == &Class::MOP::Class::add_before_method_modifier ok 102 - ... Class::MOP::Class->has_method(add_after_method_modifier) ok 103 - ... Class::MOP::Class->get_method(add_after_method_modifier) == &Class::MOP::Class::add_after_method_modifier ok 104 - ... Class::MOP::Class->has_method(add_around_method_modifier) ok 105 - ... Class::MOP::Class->get_method(add_around_method_modifier) == &Class::MOP::Class::add_around_method_modifier ok 106 - ... Class::MOP::Class->has_method(has_attribute) ok 107 - ... Class::MOP::Class->get_method(has_attribute) == &Class::MOP::Class::has_attribute ok 108 - ... Class::MOP::Class->has_method(get_attribute) ok 109 - ... Class::MOP::Class->get_method(get_attribute) == &Class::MOP::Class::get_attribute ok 110 - ... Class::MOP::Class->has_method(add_attribute) ok 111 - ... Class::MOP::Class->get_method(add_attribute) == &Class::MOP::Class::add_attribute ok 112 - ... Class::MOP::Class->has_method(remove_attribute) ok 113 - ... Class::MOP::Class->get_method(remove_attribute) == &Class::MOP::Class::remove_attribute ok 114 - ... Class::MOP::Class->has_method(get_attribute_list) ok 115 - ... Class::MOP::Class->get_method(get_attribute_list) == &Class::MOP::Class::get_attribute_list ok 116 - ... Class::MOP::Class->has_method(get_attribute_map) ok 117 - ... Class::MOP::Class->get_method(get_attribute_map) == &Class::MOP::Class::get_attribute_map ok 118 - ... Class::MOP::Class->has_method(get_all_attributes) ok 119 - ... Class::MOP::Class->get_method(get_all_attributes) == &Class::MOP::Class::get_all_attributes ok 120 - ... Class::MOP::Class->has_method(compute_all_applicable_attributes) ok 121 - ... Class::MOP::Class->get_method(compute_all_applicable_attributes) == &Class::MOP::Class::compute_all_applicable_attributes ok 122 - ... Class::MOP::Class->has_method(find_attribute_by_name) ok 123 - ... Class::MOP::Class->get_method(find_attribute_by_name) == &Class::MOP::Class::find_attribute_by_name ok 124 - ... Class::MOP::Class->has_method(is_mutable) ok 125 - ... Class::MOP::Class->get_method(is_mutable) == &Class::MOP::Class::is_mutable ok 126 - ... Class::MOP::Class->has_method(is_immutable) ok 127 - ... Class::MOP::Class->get_method(is_immutable) == &Class::MOP::Class::is_immutable ok 128 - ... Class::MOP::Class->has_method(make_mutable) ok 129 - ... Class::MOP::Class->get_method(make_mutable) == &Class::MOP::Class::make_mutable ok 130 - ... Class::MOP::Class->has_method(make_immutable) ok 131 - ... Class::MOP::Class->get_method(make_immutable) == &Class::MOP::Class::make_immutable ok 132 - ... Class::MOP::Class->has_method(create_immutable_transformer) ok 133 - ... Class::MOP::Class->get_method(create_immutable_transformer) == &Class::MOP::Class::create_immutable_transformer ok 134 - ... Class::MOP::Class->has_method(get_immutable_options) ok 135 - ... Class::MOP::Class->get_method(get_immutable_options) == &Class::MOP::Class::get_immutable_options ok 136 - ... Class::MOP::Class->has_method(get_immutable_transformer) ok 137 - ... Class::MOP::Class->get_method(get_immutable_transformer) == &Class::MOP::Class::get_immutable_transformer ok 138 - ... Class::MOP::Class->has_method(DESTROY) ok 139 - ... Class::MOP::Class->get_method(DESTROY) == &Class::MOP::Class::DESTROY ok 140 - ... got the correct method list for package ok 141 - ... Class::MOP::Package->has_method(_new) ok 142 - ... Class::MOP::Package->get_method(_new) == &Class::MOP::Package::_new ok 143 - ... Class::MOP::Package->has_method(initialize) ok 144 - ... Class::MOP::Package->get_method(initialize) == &Class::MOP::Package::initialize ok 145 - ... Class::MOP::Package->has_method(reinitialize) ok 146 - ... Class::MOP::Package->get_method(reinitialize) == &Class::MOP::Package::reinitialize ok 147 - ... Class::MOP::Package->has_method(name) ok 148 - ... Class::MOP::Package->get_method(name) == &Class::MOP::Package::name ok 149 - ... Class::MOP::Package->has_method(namespace) ok 150 - ... Class::MOP::Package->get_method(namespace) == &Class::MOP::Package::namespace ok 151 - ... Class::MOP::Package->has_method(add_package_symbol) ok 152 - ... Class::MOP::Package->get_method(add_package_symbol) == &Class::MOP::Package::add_package_symbol ok 153 - ... Class::MOP::Package->has_method(get_package_symbol) ok 154 - ... Class::MOP::Package->get_method(get_package_symbol) == &Class::MOP::Package::get_package_symbol ok 155 - ... Class::MOP::Package->has_method(has_package_symbol) ok 156 - ... Class::MOP::Package->get_method(has_package_symbol) == &Class::MOP::Package::has_package_symbol ok 157 - ... Class::MOP::Package->has_method(remove_package_symbol) ok 158 - ... Class::MOP::Package->get_method(remove_package_symbol) == &Class::MOP::Package::remove_package_symbol ok 159 - ... Class::MOP::Package->has_method(list_all_package_symbols) ok 160 - ... Class::MOP::Package->get_method(list_all_package_symbols) == &Class::MOP::Package::list_all_package_symbols ok 161 - ... Class::MOP::Package->has_method(get_all_package_symbols) ok 162 - ... Class::MOP::Package->get_method(get_all_package_symbols) == &Class::MOP::Package::get_all_package_symbols ok 163 - ... Class::MOP::Package->has_method(remove_package_glob) ok 164 - ... Class::MOP::Package->get_method(remove_package_glob) == &Class::MOP::Package::remove_package_glob ok 165 - ... Class::MOP::Package->has_method(_deconstruct_variable_name) ok 166 - ... Class::MOP::Package->get_method(_deconstruct_variable_name) == &Class::MOP::Package::_deconstruct_variable_name ok 167 - ... got the correct method list for module ok 168 - ... Class::MOP::Module->has_method(_new) ok 169 - ... Class::MOP::Module->get_method(_new) == &Class::MOP::Module::_new ok 170 - ... Class::MOP::Module->has_method(version) ok 171 - ... Class::MOP::Module->get_method(version) == &Class::MOP::Module::version ok 172 - ... Class::MOP::Module->has_method(authority) ok 173 - ... Class::MOP::Module->get_method(authority) == &Class::MOP::Module::authority ok 174 - ... Class::MOP::Module->has_method(identifier) ok 175 - ... Class::MOP::Module->get_method(identifier) == &Class::MOP::Module::identifier ok 176 - ... NOT Class::MOP::Class->has_method(confess) ok 177 - ... NOT Class::MOP::Class->has_method(blessed) ok 178 - ... NOT Class::MOP::Class->has_method(subname) ok 179 - ... NOT Class::MOP::Class->has_method(svref_2object) ok 180 - ... got the right list of attributes ok 181 - ... got the right list of attributes ok 182 - ... Class::MOP::Class->has_attribute(superclasses) ok 183 - The object isa Class::MOP::Attribute ok 184 - ... Class::MOP::Class->has_attribute(methods) ok 185 - The object isa Class::MOP::Attribute ok 186 - ... Class::MOP::Class->has_attribute(attributes) ok 187 - The object isa Class::MOP::Attribute ok 188 - ... Class::MOP::Class->has_attribute(attribute_metaclass) ok 189 - The object isa Class::MOP::Attribute ok 190 - ... Class::MOP::Class->has_attribute(method_metaclass) ok 191 - The object isa Class::MOP::Attribute ok 192 - ... Class::MOP::Class->has_attribute(instance_metaclass) ok 193 - The object isa Class::MOP::Attribute ok 194 - ... got the right list of attributes ok 195 - ... got the right list of attributes ok 196 - ... Class::MOP::Package->has_attribute(package) ok 197 - The object isa Class::MOP::Attribute ok 198 - ... Class::MOP::Package->has_attribute(namespace) ok 199 - The object isa Class::MOP::Attribute ok 200 - ... got the right list of attributes ok 201 - ... got the right list of attributes ok 202 - ... Class::MOP::Module->has_attribute(version) ok 203 - The object isa Class::MOP::Attribute ok 204 - ... Class::MOP::Module->has_attribute(authority) ok 205 - The object isa Class::MOP::Attribute ok 206 - ... Class::MOP::Class package has a reader ok 207 - ... Class::MOP::Class package's a reader is { name => sub { ... } } ok 208 - ... Class::MOP::Class package has a init_arg ok 209 - ... Class::MOP::Class package's a init_arg is package ok 210 - ... Class::MOP::Class attributes has a reader ok 211 - ... Class::MOP::Class attributes's a reader is &get_attribute_map ok 212 - ... Class::MOP::Class attributes has a init_arg ok 213 - ... Class::MOP::Class attributes's a init_arg is attributes ok 214 - ... Class::MOP::Class attributes has a default ok 215 - ... Class::MOP::Class attributes's a default of {} ok 216 - ... Class::MOP::Class attribute_metaclass has a reader ok 217 - ... Class::MOP::Class attribute_metaclass's a reader is &attribute_metaclass ok 218 - ... Class::MOP::Class attribute_metaclass has a init_arg ok 219 - ... Class::MOP::Class attribute_metaclass's a init_arg is attribute_metaclass ok 220 - ... Class::MOP::Class attribute_metaclass has a default ok 221 - ... Class::MOP::Class attribute_metaclass's a default is Class::MOP:::Attribute ok 222 - ... Class::MOP::Class method_metaclass has a reader ok 223 - ... Class::MOP::Class method_metaclass's a reader is &method_metaclass ok 224 - ... Class::MOP::Class method_metaclass has a init_arg ok 225 - ... Class::MOP::Class method_metaclass's init_arg is method_metaclass ok 226 - ... Class::MOP::Class method_metaclass has a default ok 227 - ... Class::MOP::Class method_metaclass's a default is Class::MOP:::Method ok 228 - ... Class::MOP::Class->name ok 229 - ... Class::MOP::Class->version ok 230 - ... Class::MOP::Class->has_package_symbol($VERSION) ok 231 - ... Class::MOP::Class->get_package_symbol($VERSION) ok 232 - ... Class::MOP::Class->superclasses == [ Class::MOP::Module ] ok 233 - ... Class::MOP::Class->class_precedence_list == [ Class::MOP::Class Class::MOP::Module Class::MOP::Package ] ok 234 - ... got the right value for attribute_metaclass ok 235 - ... got the right value for method_metaclass ok 236 - ... got the right value for instance_metaclass ok t/011_create_class........................ 1..28 ok 1 - use Class::MOP; ok 2 - The object isa Class::MOP::Class ok 3 - The object isa Class::MOP::Class ok 4 - The object isa Point ok 5 - Point->can('x') ok 6 - Point->can('y') ok 7 - Point->can('clear') ok 8 - ... got the meta from the instance too ok 9 - ... the y attribute was initialized correctly through the metaobject ok 10 - ... the y attribute was set properly with the accessor ok 11 - ... the x attribute was initialized correctly through the metaobject ok 12 - ... cannot write to a read-only accessor ok 13 - ... the x attribute was not altered ok 14 - ... the y attribute was cleared correctly ok 15 - ... the x attribute was cleared correctly ok 16 - The object isa Point3D ok 17 - The object isa Point ok 18 - ... got the meta from the instance too ok 19 - Point3D->can('x') ok 20 - Point3D->can('y') ok 21 - Point3D->can('clear') ok 22 - ... the x attribute was initialized correctly through the metaobject ok 23 - ... the y attribute was initialized correctly through the metaobject ok 24 - ... the z attribute was initialized correctly through the metaobject ok 25 - The object isa Point3D ok 26 - ... the x attribute was not initialized ok 27 - ... the y attribute was not initialized ok 28 - ... the z attribute was initialized correctly through the metaobject ok t/012_package_variables................... 1..87 ok 1 - use Class::MOP; ok 2 - ... the %foo slot has not been created yet ok 3 - ... the meta agrees ok 4 - ... created %Foo::foo successfully ok 5 - ... SCALAR shouldnt have been created too ok 6 - ... ARRAY shouldnt have been created too ok 7 - ... CODE shouldnt have been created too ok 8 - ... the %foo slot was created successfully ok 9 - ... the meta agrees ok 10 - ... our %foo was initialized correctly ok 11 - ... our %foo was initialized correctly ok 12 - ... got the right package variable back ok 13 - ... our %foo is the same as the metas ok 14 - ... our %foo was updated correctly ok 15 - ... our %foo was updated correctly ok 16 - ... the @bar slot has not been created yet ok 17 - ... created @Foo::bar successfully ok 18 - ... the @bar slot was created successfully ok 19 - ... the meta agrees ok 20 - ... SCALAR shouldnt have been created too ok 21 - ... HASH shouldnt have been created too ok 22 - ... CODE shouldnt have been created too ok 23 - ... our @bar was initialized correctly ok 24 - ... our @bar was initialized correctly ok 25 - ... the $baz slot has not been created yet ok 26 - ... created $Foo::baz successfully ok 27 - ... the $baz slot was created successfully ok 28 - ... the meta agrees ok 29 - ... ARRAY shouldnt have been created too ok 30 - ... HASH shouldnt have been created too ok 31 - ... CODE shouldnt have been created too ok 32 - ... got the right value back ok 33 - ... our $baz was assigned to correctly ok 34 - ... the meta agrees ok 35 - ... the &funk slot has not been created yet ok 36 - ... created &Foo::funk successfully ok 37 - ... the &funk slot was created successfully ok 38 - ... the meta agrees ok 39 - ... SCALAR shouldnt have been created too ok 40 - ... ARRAY shouldnt have been created too ok 41 - ... HASH shouldnt have been created too ok 42 - ... our &funk exists ok 43 - ... got the right value from the function ok 44 - ... created @Foo::foo successfully ok 45 - ... the @foo slot was added successfully ok 46 - ... got the right values for @Foo::foo ok 47 - ... created &Foo::foo successfully ok 48 - ... the meta agrees ok 49 - ... got the right value for &Foo::foo ok 50 - ... created $Foo::foo successfully ok 51 - ... the meta agrees ok 52 - ... got the right scalar value back ok 53 - ... got the right value from the scalar ok 54 - ... removed %Foo::foo successfully ok 55 - ... the %foo slot was removed successfully ok 56 - ... the @foo slot still exists ok 57 - ... the &foo slot still exists ok 58 - ... the $foo slot still exists ok 59 - ... got the right values for @Foo::foo ok 60 - ... got the right value for &Foo::foo ok 61 - ... got the right value for $Foo::foo ok 62 - ... the %foo slot has been removed successfully ok 63 - ... the @foo slot has NOT been removed ok 64 - ... the &foo slot has NOT been removed ok 65 - ... the $foo slot has NOT been removed ok 66 - ... removed &Foo::foo successfully ok 67 - ... the &foo slot no longer exists ok 68 - ... the @foo slot still exists ok 69 - ... the $foo slot still exists ok 70 - ... got the right values for @Foo::foo ok 71 - ... got the right value for $Foo::foo ok 72 - ... the %foo slot has been removed successfully ok 73 - ... the &foo slot has now been removed ok 74 - ... the @foo slot has NOT been removed ok 75 - ... the $foo slot has NOT been removed ok 76 - ... removed $Foo::foo successfully ok 77 - ... the $foo slot no longer exists ok 78 - ... the @foo slot still exists ok 79 - ... got the right values for @Foo::foo ok 80 - ... the %foo slot has been removed successfully ok 81 - ... the &foo slot has now been removed ok 82 - ... the $foo slot has now been removed ok 83 - ... the @foo slot has NOT been removed ok 84 - ... no sigil for bar ok 85 - ... no sigil for bar ok 86 - ... no sigil for bar ok 87 - ... no sigil for bar ok t/013_add_attribute_alternate............. 1..28 ok 1 - use Class::MOP; ok 2 - The object isa Class::MOP::Class ok 3 - The object isa Class::MOP::Class ok 4 - The object isa Point ok 5 - Point->can('x') ok 6 - Point->can('y') ok 7 - Point->can('clear') ok 8 - ... got the meta from the instance too ok 9 - ... the y attribute was initialized correctly through the metaobject ok 10 - ... the y attribute was set properly with the accessor ok 11 - ... the x attribute was initialized correctly through the metaobject ok 12 - ... cannot write to a read-only accessor ok 13 - ... the x attribute was not altered ok 14 - ... the y attribute was cleared correctly ok 15 - ... the x attribute was cleared correctly ok 16 - The object isa Point3D ok 17 - The object isa Point ok 18 - ... got the meta from the instance too ok 19 - Point3D->can('x') ok 20 - Point3D->can('y') ok 21 - Point3D->can('clear') ok 22 - ... the x attribute was initialized correctly through the metaobject ok 23 - ... the y attribute was initialized correctly through the metaobject ok 24 - ... the z attribute was initialized correctly through the metaobject ok 25 - The object isa Point3D ok 26 - ... the x attribute was not initialized ok 27 - ... the y attribute was not initialized ok 28 - ... the z attribute was initialized correctly through the metaobject ok t/014_attribute_introspection............. 1..63 ok 1 - use Class::MOP; ok 2 - ... instance and class both lead to the same meta ok 3 - The object isa Class::MOP::Class ok 4 - ... our method list matches ok 5 - ... Class::MOP::Attribute->has_method(new) ok 6 - ... Class::MOP::Attribute->has_method(clone) ok 7 - ... Class::MOP::Attribute->has_method(initialize_instance_slot) ok 8 - ... Class::MOP::Attribute->has_method(_set_initial_slot_value) ok 9 - ... Class::MOP::Attribute->has_method(name) ok 10 - ... Class::MOP::Attribute->has_method(has_accessor) ok 11 - ... Class::MOP::Attribute->has_method(accessor) ok 12 - ... Class::MOP::Attribute->has_method(has_writer) ok 13 - ... Class::MOP::Attribute->has_method(writer) ok 14 - ... Class::MOP::Attribute->has_method(has_write_method) ok 15 - ... Class::MOP::Attribute->has_method(get_write_method) ok 16 - ... Class::MOP::Attribute->has_method(get_write_method_ref) ok 17 - ... Class::MOP::Attribute->has_method(has_reader) ok 18 - ... Class::MOP::Attribute->has_method(reader) ok 19 - ... Class::MOP::Attribute->has_method(has_read_method) ok 20 - ... Class::MOP::Attribute->has_method(get_read_method) ok 21 - ... Class::MOP::Attribute->has_method(get_read_method_ref) ok 22 - ... Class::MOP::Attribute->has_method(has_predicate) ok 23 - ... Class::MOP::Attribute->has_method(predicate) ok 24 - ... Class::MOP::Attribute->has_method(has_clearer) ok 25 - ... Class::MOP::Attribute->has_method(clearer) ok 26 - ... Class::MOP::Attribute->has_method(has_builder) ok 27 - ... Class::MOP::Attribute->has_method(builder) ok 28 - ... Class::MOP::Attribute->has_method(has_init_arg) ok 29 - ... Class::MOP::Attribute->has_method(init_arg) ok 30 - ... Class::MOP::Attribute->has_method(has_default) ok 31 - ... Class::MOP::Attribute->has_method(default) ok 32 - ... Class::MOP::Attribute->has_method(is_default_a_coderef) ok 33 - ... Class::MOP::Attribute->has_method(has_initializer) ok 34 - ... Class::MOP::Attribute->has_method(initializer) ok 35 - ... Class::MOP::Attribute->has_method(slots) ok 36 - ... Class::MOP::Attribute->has_method(get_value) ok 37 - ... Class::MOP::Attribute->has_method(set_value) ok 38 - ... Class::MOP::Attribute->has_method(set_initial_value) ok 39 - ... Class::MOP::Attribute->has_method(has_value) ok 40 - ... Class::MOP::Attribute->has_method(clear_value) ok 41 - ... Class::MOP::Attribute->has_method(associated_class) ok 42 - ... Class::MOP::Attribute->has_method(attach_to_class) ok 43 - ... Class::MOP::Attribute->has_method(detach_from_class) ok 44 - ... Class::MOP::Attribute->has_method(accessor_metaclass) ok 45 - ... Class::MOP::Attribute->has_method(associated_methods) ok 46 - ... Class::MOP::Attribute->has_method(associate_method) ok 47 - ... Class::MOP::Attribute->has_method(process_accessors) ok 48 - ... Class::MOP::Attribute->has_method(install_accessors) ok 49 - ... Class::MOP::Attribute->has_method(remove_accessors) ok 50 - ... Class::MOP::Attribute->has_method(_new) ok 51 - ... our attribute list matches ok 52 - ... Class::MOP::Attribute->has_attribute(name) ok 53 - ... Class::MOP::Attribute->has_attribute(accessor) ok 54 - ... Class::MOP::Attribute->has_attribute(reader) ok 55 - ... Class::MOP::Attribute->has_attribute(writer) ok 56 - ... Class::MOP::Attribute->has_attribute(predicate) ok 57 - ... Class::MOP::Attribute->has_attribute(clearer) ok 58 - ... Class::MOP::Attribute->has_attribute(builder) ok 59 - ... Class::MOP::Attribute->has_attribute(init_arg) ok 60 - ... Class::MOP::Attribute->has_attribute(initializer) ok 61 - ... Class::MOP::Attribute->has_attribute(default) ok 62 - ... Class::MOP::Attribute->has_attribute(associated_class) ok 63 - ... Class::MOP::Attribute->has_attribute(associated_methods) ok t/015_metaclass_inheritance............... 1..10 ok 1 - use Class::MOP; ok 2 - The object isa Class::MOP::Class ok 3 - ... foo_meta->name == Foo ok 4 - The object isa Class::MOP::Class ok 5 - ... bar_meta->name == Bar ok 6 - ... Bar->meta != Foo->meta ok 7 - The object isa Class::MOP::Class ok 8 - ... baz_meta->name == Baz ok 9 - ... Baz->meta != Bar->meta ok 10 - ... Baz->meta != Foo->meta ok t/016_class_errors_and_edge_cases......... 1..49 ok 1 - use Class::MOP; ok 2 - ... initialize requires a name parameter ok 3 - ... initialize requires a name valid parameter ok 4 - ... initialize requires an unblessed parameter ok 5 - ... construct_class_instance requires an :package parameter ok 6 - ... construct_class_instance requires a defined :package parameter ok 7 - ... construct_class_instance requires a valid :package parameter ok 8 - ... create requires an package_name parameter ok 9 - ... create requires a defined package_name parameter ok 10 - ... create requires a valid package_name parameter ok 11 - ... create requires a valid package_name parameter ok 12 - ... can only clone instances ok 13 - ... can only clone instances ok 14 - ... add_method dies as expected ok 15 - ... add_method dies as expected ok 16 - ... add_method dies as expected ok 17 - ... add_method dies as expected ok 18 - ... alias_method dies as expected ok 19 - ... alias_method dies as expected ok 20 - ... alias_method dies as expected ok 21 - ... alias_method dies as expected ok 22 - ... has_method dies as expected ok 23 - ... has_method dies as expected ok 24 - ... get_method dies as expected ok 25 - ... get_method dies as expected ok 26 - ... remove_method dies as expected ok 27 - ... remove_method dies as expected ok 28 - ... find_all_methods_by_name dies as expected ok 29 - ... find_all_methods_by_name dies as expected ok 30 - ... add_attribute dies as expected ok 31 - ... has_attribute dies as expected ok 32 - ... has_attribute dies as expected ok 33 - ... get_attribute dies as expected ok 34 - ... get_attribute dies as expected ok 35 - ... remove_attribute dies as expected ok 36 - ... remove_attribute dies as expected ok 37 - ... add_package_symbol dies as expected ok 38 - ... add_package_symbol dies as expected ok 39 - ... add_package_symbol dies as expected ok 40 - ... add_package_symbol dies as expected ok 41 - ... has_package_symbol dies as expected ok 42 - ... has_package_symbol dies as expected ok 43 - ... has_package_symbol dies as expected ok 44 - ... get_package_symbol dies as expected ok 45 - ... get_package_symbol dies as expected ok 46 - ... get_package_symbol dies as expected ok 47 - ... remove_package_symbol dies as expected ok 48 - ... remove_package_symbol dies as expected ok 49 - ... remove_package_symbol dies as expected ok t/017_add_method_modifier................. 1..20 ok 1 - use Class::MOP; ok 2 - ... checking account now has a withdraw method ok 3 - The object isa Class::MOP::Method::Wrapped ok 4 - The object isa Class::MOP::Method ok 5 - The object isa BankAccount ok 6 - ... got the right savings balance ok 7 - ... withdrew from savings successfully ok 8 - ... got the right savings balance after withdrawl ok 9 - ... could not withdraw from savings successfully ok 10 - ... got the right savings balance after deposit ok 11 - The object isa CheckingAccount ok 12 - The object isa BankAccount ok 13 - ... got the right overdraft account ok 14 - ... got the right checkings balance ok 15 - ... withdrew from checking successfully ok 16 - ... got the right checkings balance after withdrawl ok 17 - ... got the right savings balance after checking withdrawl (no overdraft) ok 18 - ... withdrew from checking successfully ok 19 - ... got the right checkings balance after withdrawl ok 20 - ... got the right savings balance after overdraft withdrawl ok t/018_anon_class.......................... 1..19 ok 1 - use Class::MOP; ok 2 - The object isa Class::MOP::Class ok 3 - ... the package exists ok 4 - ... got an anon class package name ok 5 - ... got an empty superclass list ok 6 - ... can add a superclass to anon class ok 7 - ... got the right superclass list ok 8 - ... no foo method ok 9 - ... added a method to my anon-class ok 10 - ... we have a foo method now ok 11 - The object isa Class::MOP::Class::__ANON__::SERIAL::2 ok 12 - The object isa Foo ok 13 - ... got the right return value of our foo method ok 14 - ... got the right return value of our bar method ok 15 - ... the package still exists ok 16 - ... the package no longer exists ok 17 - The object isa Class::MOP::Class::__ANON__::SERIAL::2 ok 18 - ... but the new instance is not a Foo ok 19 - ... and it can no longer call the foo method ok t/019_anon_class_keep_alive............... 1..11 ok 1 - use Class::MOP; ok 2 - The object isa Class::MOP::Class::__ANON__::SERIAL::2 ok 3 - The object isa Class::MOP::Class ok 4 - ... Anonymous instance isa Foo isa Foo ok 5 - ... Anonymous instance can foo ok 6 - ... Anonymous instance has method foo ok 7 - ... Anonymous instance still has attribute bar ok 8 - ... Anonymous instance still has attribute baz ok 9 - ... Anonymous instance still has correct bar value ok 10 - ... Anonymous instance still has correct baz value ok 11 - ... Anonymous instance has class precedence list ok t/020_attribute........................... 1..100 ok 1 - ... can't call name() as a class method ok 2 - The object isa Class::MOP::Attribute ok 3 - ... $attr->name == $foo ok 4 - ... $attr does have an init_arg ok 5 - ... $attr init_arg is the name ok 6 - ... $attr does not have an accessor ok 7 - ... $attr does not have an reader ok 8 - ... $attr does not have an writer ok 9 - ... $attr does not have an default ok 10 - ... $attr does not have a builder ok 11 - ... it is a plain old sub ok 12 - ... it is a plain old sub ok 13 - ... it is a plain old sub ok 14 - ... it is a plain old sub ok 15 - The object isa Class::MOP::Class ok 16 - ... attached a class successfully ok 17 - ... the class was associated correctly ok 18 - ... $attr does not have an read method ok 19 - ... $attr does not have an write method ok 20 - ... it is a plain old sub ok 21 - ... it is a plain old sub ok 22 - The object isa Class::MOP::Method ok 23 - The object isa Class::MOP::Method ok 24 - The object isa Class::MOP::Attribute ok 25 - ... but they are different instances ok 26 - ... the associated classes are the same though ok 27 - ... the associated classes are the same though ok 28 - ... the associated classes are the same though ok 29 - ... but they are the same inside ok 30 - The object isa Class::MOP::Attribute ok 31 - ... $attr->name == $foo ok 32 - ... $attr does have an init_arg ok 33 - ... $attr->init_arg == -foo ok 34 - ... $attr does have an default ok 35 - ... $attr->default == BAR ok 36 - ... $attr does not have a builder ok 37 - ... $attr does not have an accessor ok 38 - ... $attr does not have an reader ok 39 - ... $attr does not have an writer ok 40 - ... $attr does not have an read method ok 41 - ... $attr does not have an write method ok 42 - ... it is a plain old sub ok 43 - ... it is a plain old sub ok 44 - ... it is a plain old sub ok 45 - ... it is a plain old sub ok 46 - The object isa Class::MOP::Attribute ok 47 - ... but they are different instances ok 48 - ... the associated classes are the same though ok 49 - ... the associated class is actually undef ok 50 - ... the associated class is actually undef ok 51 - ... but they are the same inside ok 52 - The object isa Class::MOP::Attribute ok 53 - ... $attr->name == $foo ok 54 - ... $attr does have an init_arg ok 55 - ... $attr->init_arg == -foo ok 56 - ... $attr does have an default ok 57 - ... $attr->default == BAR ok 58 - ... $attr does have an accessor ok 59 - ... $attr->accessor == foo ok 60 - ... $attr does not have an reader ok 61 - ... $attr does not have an writer ok 62 - ... $attr does not have an read method ok 63 - ... $attr does not have an write method ok 64 - ... it is not a plain old sub ok 65 - ... it is not a plain old sub ok 66 - ... it is a plain old sub ok 67 - ... it is a plain old sub ok 68 - The object isa Class::MOP::Attribute ok 69 - ... but they are different instances ok 70 - ... but they are the same inside ok 71 - The object isa Class::MOP::Attribute ok 72 - ... $attr->name == $foo ok 73 - ... $attr does have an init_arg ok 74 - ... $attr->init_arg == -foo ok 75 - ... $attr does have an default ok 76 - ... $attr->default == BAR ok 77 - ... $attr does have an reader ok 78 - ... $attr->reader == get_foo ok 79 - ... $attr does have an writer ok 80 - ... $attr->writer == set_foo ok 81 - ... $attr does not have an accessor ok 82 - ... $attr does not have an read method ok 83 - ... $attr does not have an write method ok 84 - ... it is not a plain old sub ok 85 - ... it is not a plain old sub ok 86 - ... it is a plain old sub ok 87 - ... it is a plain old sub ok 88 - The object isa Class::MOP::Attribute ok 89 - ... but they are different instances ok 90 - ... but they are the same inside ok 91 - The object isa Class::MOP::Attribute ok 92 - The object isa Class::MOP::Attribute ok 93 - ... but they are different instances ok 94 - ... we changes the name parameter ok 95 - ... $attr->name == $foo ok 96 - ... $attr_clone->name == $bar ok 97 - The object isa Class::MOP::Attribute ok 98 - ... $attr does not have a default ok 99 - ... $attr does have a builder ok 100 - ... $attr->builder == foo_builder ok t/021_attribute_errors_and_edge_cases..... 1..29 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Attribute; ok 3 - ... no refs for defaults ok 4 - ... no refs for defaults ok 5 - ... no refs for defaults ok 6 - ... no refs for defaults ok 7 - ... no refs for defaults ok 8 - ... no refs for builders ok 9 - ... no refs for builders ok 10 - ... no refs for builders ok 11 - ... no refs for builders ok 12 - ... no refs for builders ok 13 - ... no default AND builder ok 14 - ... no name argument ok 15 - ... bad name argument ok 16 - ... bad name argument ok 17 - ... attach_to_class died as expected ok 18 - ... attach_to_class died as expected ok 19 - ... attach_to_class died as expected ok 20 - ... bad reader format ok 21 - ... cannot find "fail" type generator ok 22 - ... failed to generate accessors correctly ok 23 - The object isa Class::MOP::Class ok 24 - Bar->can('has_test') ok 25 - ... removed the $test attribute ok 26 - ... Bar no longer has the "has_test" method ok 27 - ... can create accessors with reader/writers ok 28 - ... can create accessors with reader/writers ok 29 - ... can create accessors with reader/writers ok t/022_attribute_duplication............... 1..17 ok 1 - use Class::MOP; ok 2 - Foo->can('get_bar') ok 3 - Foo->can('set_bar') ok 4 - ... Foo has the attribute bar ok 5 - ... the bar attribute has the reader get_bar ok 6 - ... the bar attribute has the writer set_bar ok 7 - ... and the bar attribute is associated with Foo->meta ok 8 - ... Foo no longer has the get_bar method ok 9 - ... Foo no longer has the set_bar method ok 10 - Foo->can('assign_bar') ok 11 - ... Foo still has the attribute bar ok 12 - ... this is a new bar attribute ok 13 - ... and the old bar attribute is no longer associated with Foo->meta ok 14 - ... and the new bar attribute *is* associated with Foo->meta ok 15 - ... the bar attribute no longer has the reader get_bar ok 16 - ... the bar attribute no longer has the reader set_bar ok 17 - ... the bar attribute now has the reader assign_bar ok t/023_attribute_get_read_write............ 1..37 ok 1 - use Class::MOP; ok 2 - Foo->can('get_bar') ok 3 - Foo->can('set_bar') ok 4 - Foo->can('baz') ok 5 - Foo->can('get_gorch') ok 6 - ... Foo has the attribute bar ok 7 - ... Foo has the attribute baz ok 8 - ... Foo has the attribute gorch ok 9 - ... the bar attribute has the reader get_bar ok 10 - ... the bar attribute has the writer set_bar ok 11 - ... and the bar attribute is associated with Foo->meta ok 12 - ... $attr does have an read method ok 13 - ... $attr does have an write method ok 14 - The object isa Class::MOP::Method ok 15 - The object isa Class::MOP::Method ok 16 - ... it is the sub we are looking for ok 17 - ... it is the sub we are looking for ok 18 - ... it is a plain old sub ok 19 - ... it is a plain old sub ok 20 - ... the bar attribute has the accessor baz ok 21 - ... and the bar attribute is associated with Foo->meta ok 22 - ... $attr does have an read method ok 23 - ... $attr does have an write method ok 24 - The object isa Class::MOP::Method ok 25 - The object isa Class::MOP::Method ok 26 - ... they are the same method ok 27 - ... it is the sub we are looking for ok 28 - ... it is the sub we are looking for ok 29 - ... the gorch attribute has the reader get_gorch (HASH ref) ok 30 - ... and the gorch attribute is associated with Foo->meta ok 31 - ... $attr does have an read method ok 32 - ... $attr does not have an write method ok 33 - The object isa Class::MOP::Method ok 34 - ... it is not a plain old sub ok 35 - The object isa Class::MOP::Method ok 36 - ... it is the sub we are looking for ok 37 - ... it is the sub we are looking for ok t/024_attribute_initializer............... 1..10 ok 1 - use Class::MOP; ok 2 - Foo->can('get_bar') ok 3 - Foo->can('set_bar') ok 4 - The object isa Class::MOP::Attribute ok 5 - ... the attribute is our own ok 6 - ... initial argument was doubled as expected ok 7 - ... and setter works correctly ok 8 - The object isa Class::MOP::Attribute ok 9 - ... bar has an initializer ok 10 - ... the initializer is a CODE ref ok t/030_method.............................. 1..46 ok 1 - ... instance and class both lead to the same meta ok 2 - ... our package is main:: ok 3 - ... our sub name is __ANON__ ok 4 - ... our subs full name is main::__ANON__ ok 5 - ... no original_method ok 6 - ... the original_package_name is the same as package_name ok 7 - ... the original_name is the same as name ok 8 - ... the original_fully_qualified_name is the same as fully_qualified_name ok 9 - ... can't call wrap() without some code ok 10 - ... can't call wrap() without some code ok 11 - ... can't call wrap() without some code ok 12 - ... can't call name() as a class method ok 13 - ... can't call body() as a class method ok 14 - ... can't call package_name() as a class method ok 15 - ... can't call fully_qualified_name() as a class method ok 16 - The object isa Class::MOP::Class ok 17 - ... Class::MOP::Method->has_method(wrap) ok 18 - ... our package is Class::MOP::Method ok 19 - ... our sub name is "wrap" ok 20 - ... Class::MOP::Method->has_method(package_name) ok 21 - ... our package is Class::MOP::Method ok 22 - ... our sub name is "package_name" ok 23 - ... Class::MOP::Method->has_method(name) ok 24 - ... our package is Class::MOP::Method ok 25 - ... our sub name is "name" ok 26 - ... bad args for &wrap ok 27 - ... bad args for &wrap ok 28 - ... bad args for &wrap ok 29 - ... bad args for &wrap ok 30 - ... bad args for &wrap ok 31 - ... bad args for &wrap ok 32 - The object isa Class::MOP::Method ok 33 - ... cloned method has new package name ok 34 - ... cloned method has new sub name ok 35 - ... cloned method has new fq name ok 36 - ... cloned method has correct original_method ok 37 - ... cloned method has correct original_package_name ok 38 - ... cloned method has correct original_name ok 39 - ... cloned method has correct original_fully_qualified_name ok 40 - ... clone of clone has new package name ok 41 - ... clone of clone has new sub name ok 42 - ... clone of clone new fq name ok 43 - ... cloned method has correct original_method ok 44 - ... original_package_name follows clone chain ok 45 - ... original_name follows clone chain ok 46 - ... original_fully_qualified_name follows clone chain ok t/031_method_modifiers.................... 1..28 ok 1 - The object isa Class::MOP::Method ok 2 - ... got the right return value from method ok 3 - The object isa Class::MOP::Method::Wrapped ok 4 - The object isa Class::MOP::Method ok 5 - ... got the right return value from the wrapped method ok 6 - ... added the before modifier okay ok 7 - ... got the right return value from the wrapped method (w/ before) ok 8 - ... added the after modifier okay ok 9 - ... got the right return value from the wrapped method (w/ before) ok 10 - The object isa Class::MOP::Method ok 11 - ... got the right value from the wrapped method ok 12 - The object isa Class::MOP::Method::Wrapped ok 13 - The object isa Class::MOP::Method ok 14 - ... got the right value from the wrapped method ok 15 - ... added the around modifier okay ok 16 - ... got the right results back from the around methods (in list context) ok 17 - ... got the right results back from the around methods (in scalar context) ok 18 - The object isa Class::MOP::Method ok 19 - The object isa Class::MOP::Method::Wrapped ok 20 - The object isa Class::MOP::Method ok 21 - ... added the before modifier okay ok 22 - ... added the around modifier okay ok 23 - ... added the after modifier okay ok 24 - ... got the right tracelog from all our before/around/after methods ok 25 - check get_original_method ok 26 - check before_modifiers ok 27 - check after_modifiers ok 28 - check around_modifiers ok t/040_metaclass........................... 1..12 ok 1 - use metaclass; ok 2 - Foo->can('meta') ok 3 - The object isa FooMeta ok 4 - The object isa Class::MOP::Class ok 5 - Bar->can('meta') ok 6 - The object isa BarMeta ok 7 - The object isa Class::MOP::Class ok 8 - ... got the right attribute metaobject ok 9 - ... got the right method metaobject ok 10 - Baz->can('meta') ok 11 - The object isa Class::MOP::Class ok 12 - ... metaclasses must be subclass of Class::MOP::Class ok t/041_metaclass_incompatibility........... 1..7 ok 1 - use metaclass; ok 2 - ... Foo.meta => Foo::Meta is compatible ok 3 - ... Bar.meta => Bar::Meta is compatible ok 4 - ... Foo::Foo.meta => Bar::Meta is not compatible ok 5 - ... Bar::Bar.meta => Foo::Meta is not compatible ok 6 - ... FooBar.meta => FooBar::Meta is compatible ok 7 - ... FooBar2.meta => FooBar::Meta is compatible ok t/042_metaclass_incompatibility_dyn....... 1..7 ok 1 - use metaclass; ok 2 - ... Foo.meta => Foo::Meta is compatible ok 3 - ... Bar.meta => Bar::Meta is compatible ok 4 - ... Foo::Foo.meta => Bar::Meta is not compatible ok 5 - ... Bar::Bar.meta => Foo::Meta is not compatible ok 6 - ... FooBar.meta => FooBar::Meta is compatible ok 7 - ... FooBar2.meta => FooBar::Meta is compatible ok t/043_instance_metaclass_incompat......... 1..7 ok 1 - use metaclass; ok 2 - ... Foo.meta => Foo::Meta is compatible ok 3 - ... Bar.meta => Bar::Meta is compatible ok 4 - ... Foo::Foo.meta => Bar::Meta is not compatible ok 5 - ... Bar::Bar.meta => Foo::Meta is not compatible ok 6 - ... FooBar.meta => FooBar::Meta is compatible ok 7 - ... FooBar2.meta => FooBar::Meta is compatible ok t/044_instance_metaclass_incompat_dyn..... 1..7 ok 1 - use metaclass; ok 2 - ... Foo.meta => Foo::Meta is compatible ok 3 - ... Bar.meta => Bar::Meta is compatible ok 4 - ... Foo::Foo.meta => Bar::Meta is not compatible ok 5 - ... Bar::Bar.meta => Foo::Meta is not compatible ok 6 - ... FooBar.meta => FooBar::Meta is compatible ok 7 - ... FooBar2.meta => FooBar::Meta is compatible ok t/045_metaclass_loads_classes............. 1..9 ok 1 - use Class::MOP; ok 2 - ... Correct metaclass isa MyMetaClass ok 3 - ... metaclass loaded ok 4 - ... Correct attribute metaclass ok 5 - ... attribute metaclass loaded ok 6 - ... Correct instance metaclass ok 7 - ... instance metaclass loaded ok 8 - ... Correct method metaclass ok 9 - ... method metaclass loaded ok t/046_rebless_instance.................... 1..27 ok 1 - Parent->new gives a Parent ok 2 - Parent->whoami gives parent ok 3 - Parent->parent gives parent ok 4 - Parent->child method doesn't exist ok 5 - rebless_instance really reblessed the instance ok 6 - reblessed->whoami gives child ok 7 - reblessed->parent gives parent ok 8 - reblessed->child gives child ok 9 - threw Regexp ((?-xism:You may rebless only into a subclass of \(Child\), of which \(LeftField\) isn't\.)) ok 10 - threw Regexp ((?-xism:You may rebless only into a subclass of \(Child\), of which \(NonExistent\) isn't\.)) ok 11 - sanity check ok 12 - meta gives a Class::MOP::Class ok 13 - this Class::MOP::Class instance is for Parent ok 14 - metaclass has "new" method ok 15 - metaclass has "whoami" method ok 16 - metaclass has "parent" method ok 17 - new_object gives a Parent ok 18 - rebless really reblessed ok 19 - meta gives a Class::MOP::Class ok 20 - this Class::MOP::Class instance is for Child ok 21 - metaclass has "new" method ok 22 - metaclass has "parent" method ok 23 - no "new" method in this class ok 24 - no "parent" method in this class ok 25 - metaclass has "whoami" method ok 26 - metaclass has "child" method ok 27 - new_object gives a Child ok t/047_rebless_with_extra_params........... 1..22 ok 1 - use Class::MOP; ok 2 - The object isa Foo ok 3 - ... got the expect value ok 4 - ... no baz method though ok 5 - ... this works ok 6 - ... got the expect value ok 7 - ... we have baz method now ok 8 - ... got the expect value ok 9 - The object isa Foo ok 10 - ... got the expect value ok 11 - ... no baz method though ok 12 - ... this works ok 13 - ... got the expect value ok 14 - ... we have baz method now ok 15 - ... got the expect value ok 16 - The object isa Foo ok 17 - ... got the expect value ok 18 - ... no baz method though ok 19 - ... this works ok 20 - ... got the expect value ok 21 - ... we have baz method now ok 22 - ... got the expect value ok t/048_anon_class_create_init.............. 1..2 ok 1 - option passed to initialize() on create_anon_class() ok 2 - The object isa MyMeta ok t/050_scala_style_mixin_composition....... 1..0 # Skip SUPER 1.10 required for this test skipped: SUPER 1.10 required for this test t/060_instance............................ 1..46 ok 1 - use Class::MOP::Instance; ok 2 - Class::MOP::Instance->can('new') ok 3 - Class::MOP::Instance->can('create_instance') ok 4 - Class::MOP::Instance->can('bless_instance_structure') ok 5 - Class::MOP::Instance->can('get_all_slots') ok 6 - Class::MOP::Instance->can('initialize_all_slots') ok 7 - Class::MOP::Instance->can('deinitialize_all_slots') ok 8 - Class::MOP::Instance->can('get_slot_value') ok 9 - Class::MOP::Instance->can('set_slot_value') ok 10 - Class::MOP::Instance->can('initialize_slot') ok 11 - Class::MOP::Instance->can('deinitialize_slot') ok 12 - Class::MOP::Instance->can('is_slot_initialized') ok 13 - Class::MOP::Instance->can('weaken_slot_value') ok 14 - Class::MOP::Instance->can('strengthen_slot_value') ok 15 - Class::MOP::Instance->can('inline_get_slot_value') ok 16 - Class::MOP::Instance->can('inline_set_slot_value') ok 17 - Class::MOP::Instance->can('inline_initialize_slot') ok 18 - Class::MOP::Instance->can('inline_deinitialize_slot') ok 19 - Class::MOP::Instance->can('inline_is_slot_initialized') ok 20 - Class::MOP::Instance->can('inline_weaken_slot_value') ok 21 - Class::MOP::Instance->can('inline_strengthen_slot_value') ok 22 - The object isa Class::MOP::Instance ok 23 - ... get all slots for Foo ok 24 - The object isa Class::MOP::Instance ok 25 - ... they are not the same instance ok 26 - ... get all slots for Bar ok 27 - The object isa Foo ok 28 - The object isa Foo ok 29 - ... not the same instance ok 30 - ... but the same structure ok 31 - slot not initialized ok 32 - ... no value for slot ok 33 - ... but no value for slot ok 34 - ... get slot value ok 35 - ... Foo cant moosen ok 36 - ... white box test of weaken ok 37 - weak value is fetchable ok 38 - return value not weak ok 39 - weak value destroyed ok 40 - value not weak yet ok 41 - weak value destroyed ok 42 - ... white box test of weaken ok 43 - ... white box test of weaken ok 44 - weak value can be strengthened ok 45 - slot deinitialized ok 46 - ... no value for slot ok t/061_instance_inline..................... 1..16 ok 1 - use Class::MOP::Instance; ok 2 - ... got the right code for get_slot_value ok 3 - ... got the right code for set_slot_value ok 4 - ... got the right code for initialize_slot ok 5 - ... got the right code for get_slot_value ok 6 - ... got the right code for weaken_slot_value ok 7 - ... got the right code for strengthen_slot_value ok 8 - ... got the right code for get_slot_value ok 9 - ... got the right code for set_slot_value ok 10 - ... got the right code for initialize_slot ok 11 - ... got the right code for get_slot_value ok 12 - ... got the right code for weaken_slot_value ok 13 - ... got the right code for strengthen_slot_value ok 14 - ... got the right code string for accessor ok 15 - ... got the right code string for reader ok 16 - ... got the right code string for writer ok t/070_immutable_metaclass................. 1..85 ok 1 - use Class::MOP; ok 2 - Created immutable transformer ok 3 - ... transformer isa Class::MOP::Immutable isa Class::MOP::Immutable ok 4 - ... transformer has correct metaclass ok 5 - ... immutable_metaclass is an anonymous class ok 6 - ... immutable_metaclass is not mutable ok 7 - ... immutable_metaclass is immutable ok 8 - ... immutable_metaclass make_mutable is noop ok 9 - ... immutable_metaclass meta hack works ok 10 - ... immutable_metaclass superclasses are correct ok 11 ok 12 - ... checking the Foo metaclass ok 13 - ... our class is mutable ok 14 - ... our class is not immutable ok 15 - ... changed Foo to be immutable ok 16 - ... immutable transformer cache works ok 17 - ... make immutable now returns nothing ok 18 - ... our class is no longer mutable ok 19 - ... our class is now immutable ok 20 - The object isa Class::MOP::Class ok 21 - ... exception thrown as expected ok 22 - ... exception thrown as expected ok 23 - ... exception thrown as expected ok 24 - ... exception thrown as expected ok 25 - ... exception thrown as expected ok 26 - ... exception thrown as expected ok 27 - ... exception thrown as expected ok 28 - ... no exception for get_package_symbol special case ok 29 - ... got the superclasses okay ok 30 - ... but could not set the superclasses okay ok 31 - ... got the meta instance okay ok 32 - The object isa Class::MOP::Instance ok 33 - ... and we know it is cached ok 34 - ... got the class precedence list okay ok 35 - ... we just have ourselves in the class precedence list ok 36 - ... got the attribute list okay ok 37 - ... got the right list of attributes ok 38 - ... checking the Bar metaclass ok 39 - ... our class is mutable ok 40 - ... our class is not immutable ok 41 - ... changed Bar to be immutable ok 42 - ... make immutable now returns nothing ok 43 - ... our class is no longer mutable ok 44 - ... our class is now immutable ok 45 - The object isa Class::MOP::Class ok 46 - ... exception thrown as expected ok 47 - ... exception thrown as expected ok 48 - ... exception thrown as expected ok 49 - ... exception thrown as expected ok 50 - ... exception thrown as expected ok 51 - ... exception thrown as expected ok 52 - ... exception thrown as expected ok 53 - ... got the superclasses okay ok 54 - ... but could not set the superclasses okay ok 55 - ... got the meta instance okay ok 56 - The object isa Class::MOP::Instance ok 57 - ... and we know it is cached ok 58 - ... got the class precedence list okay ok 59 - ... we just have ourselves in the class precedence list ok 60 - ... got the attribute list okay ok 61 - ... got the right list of attributes ok 62 - ... checking the Baz metaclass ok 63 - ... our class is mutable ok 64 - ... our class is not immutable ok 65 - ... changed Baz to be immutable ok 66 - ... make immutable now returns nothing ok 67 - ... our class is no longer mutable ok 68 - ... our class is now immutable ok 69 - The object isa Class::MOP::Class ok 70 - ... exception thrown as expected ok 71 - ... exception thrown as expected ok 72 - ... exception thrown as expected ok 73 - ... exception thrown as expected ok 74 - ... exception thrown as expected ok 75 - ... exception thrown as expected ok 76 - ... exception thrown as expected ok 77 - ... got the superclasses okay ok 78 - ... but could not set the superclasses okay ok 79 - ... got the meta instance okay ok 80 - The object isa Class::MOP::Instance ok 81 - ... and we know it is cached ok 82 - ... got the class precedence list okay ok 83 - ... we just have ourselves in the class precedence list ok 84 - ... got the attribute list okay ok 85 - ... got the right list of attributes ok t/071_immutable_w_custom_metaclass........ 1..15 ok 1 - use Class::MOP; ok 2 - ... we survive the metaclass incompatibility test ok 3 - ... Baz is mutable ok 4 - Foo and Bar immutable metaclasses match ok 5 - Baz->meta blessed as MyMetaClass ok 6 - ... Baz can do method before immutable ok 7 - ... meta can do method before immutable ok 8 - Baz is now immutable ok 9 - ... Baz is immutable ok 10 - Baz->meta isa MyMetaClass ok 11 - ... Baz can do method after imutable ok 12 - ... meta can do method after immutable ok 13 - Baz and Bar immutable metaclasses are different ok 14 - Baz is now mutable ok 15 - ... Baz is mutable again ok t/072_immutable_w_constructors............ 1..93 ok 1 - use Class::MOP; ok 2 - use Class::MOP::Immutable; ok 3 - ... checking the Foo metaclass ok 4 - The object isa Class::MOP::Method::Accessor ok 5 - The object isa Class::MOP::Method ok 6 - ... the bar accessor is not inlined ok 7 - ... our class is not immutable ok 8 - ... changed Foo to be immutable ok 9 - ... our class is now immutable ok 10 - The object isa Class::MOP::Class ok 11 - Foo->can('new') ok 12 - The object isa Foo ok 13 - ... got the right default value ok 14 - The object isa Foo ok 15 - ... got the right parameter value ok 16 - The object isa Bar ok 17 - The object isa Foo ok 18 - ... got the right inherited parameter value ok 19 - ... got the right inherited parameter value ok 20 - The object isa Class::MOP::Method::Accessor ok 21 - The object isa Class::MOP::Method ok 22 - ... the bar accessor is still not inlined ok 23 - ... checking the Bar metaclass ok 24 - The object isa Class::MOP::Method::Accessor ok 25 - The object isa Class::MOP::Method ok 26 - ... the bar accessor is not inlined ok 27 - The object isa Class::MOP::Method::Accessor ok 28 - The object isa Class::MOP::Method ok 29 - ... the baz accessor is not inlined ok 30 - ... our class is not immutable ok 31 - ... changed Bar to be immutable ok 32 - ... our class is now immutable ok 33 - The object isa Class::MOP::Class ok 34 - Bar->can('new') ok 35 - The object isa Bar ok 36 - ... got the right default value ok 37 - ... got the right default value ok 38 - The object isa Bar ok 39 - ... got the right parameter value ok 40 - ... got the right parameter value ok 41 - The object isa Class::MOP::Method::Accessor ok 42 - The object isa Class::MOP::Method ok 43 - ... the bar accessor is still not inlined ok 44 - The object isa Class::MOP::Method::Accessor ok 45 - The object isa Class::MOP::Method ok 46 - ... the baz accessor is not inlined ok 47 - ... checking the Bar metaclass ok 48 - The object isa Class::MOP::Method::Accessor ok 49 - The object isa Class::MOP::Method ok 50 - ... the bar accessor is not inlined ok 51 - The object isa Class::MOP::Method::Accessor ok 52 - The object isa Class::MOP::Method ok 53 - ... the baz accessor is inlined ok 54 - The object isa Class::MOP::Method::Accessor ok 55 - The object isa Class::MOP::Method ok 56 - ... the baz accessor is not inlined ok 57 - ... our class is not immutable ok 58 - ... changed Bar to be immutable ok 59 - ... our class is now immutable ok 60 - The object isa Class::MOP::Class ok 61 - ... no constructor was made ok 62 - The object isa Bar ok 63 - ... got the right default value ok 64 - ... got the right default value ok 65 - The object isa Baz ok 66 - ... got the right parameter value ok 67 - ... got the right parameter value ok 68 - ... got the right parameter value ok 69 - The object isa Class::MOP::Method::Accessor ok 70 - The object isa Class::MOP::Method ok 71 - ... the bar accessor is still not inlined ok 72 - The object isa Class::MOP::Method::Accessor ok 73 - The object isa Class::MOP::Method ok 74 - ... the baz accessor is not inlined ok 75 - The object isa Class::MOP::Method::Accessor ok 76 - The object isa Class::MOP::Method ok 77 - ... the baz accessor is not inlined ok 78 - ...Buzz instantiated successfully ok 79 - ...bar is not set ok 80 - ...bar returns undef ok 81 - ...bar was not autovivified ok 82 - ...bar is set ok 83 - ...bar is undef ok 84 - ...bar is no longerset ok 85 - ...Buzz instantiated successfully ok 86 - ...bar is set ok 87 - ...bar is undef ok 88 - ...Buzz instantiated successfully ok 89 - ...bah is set ok 90 - ...bah returns "BAH" ok 91 - ...Buzz instantiated successfully ok 92 - ...bah is set ok 93 - ...bah is undef ok t/073_make_mutable........................ 1..112 ok 1 - use Class::MOP; ok 2 - ... checking the Baz metaclass ok 3 - ... changed Baz to be immutable ok 4 - ... our class is no longer mutable ok 5 - ... our class is now immutable ok 6 - ... make immutable now returns nothing ok 7 - ... inlined constructor created ok 8 - ... inlined constructor created for sure ok 9 - ... changed Baz to be mutable ok 10 - ... our class is mutable ok 11 - ... our class is not immutable ok 12 - ... make mutable now returns nothing ok 13 - ... inlined constructor removed ok 14 - ... inlined constructor removed for sure ok 15 - ... no straneous hashkeys ok 16 - ... Baz->meta isa Class::MOP::Class isa Class::MOP::Class ok 17 - ... added method ok 18 - ... method xyz works ok 19 - ... we dont have the aliased method yet ok 20 - ... aliased method ok 21 - ... the aliased method does register ok 22 - ... method zxy works ok 23 - ... removed method ok 24 - ... removed aliased method ok 25 - ... added attribute ok 26 - ... Baz can fickle ok 27 - ... removed attribute ok 28 - ... added package symbol ok 29 - ... values match ok 30 - ... removed it ok 31 - ... values match ok 32 - ... got the superclasses okay ok 33 - ... set the superclasses ok 34 - ... set the superclasses okay ok 35 - ... reset superclasses ok 36 - ... reset the superclasses okay ok 37 - ... get_meta_instance works ok 38 - ... compute_all_applicable_attributes works ok 39 - ... class_precedence_list works ok 40 - ... get_method_map works ok 41 - ... changed Baz to be immutable again ok 42 - ... inlined constructor recreated ok 43 - Changed Baz to be immutable ok 44 - ... changed Baz to be mutable ok 45 - ... changed Baz to be immutable ok 46 - ... exception thrown as expected ok 47 - ... exception thrown as expected ok 48 - ... exception thrown as expected ok 49 - ... exception thrown as expected ok 50 - ... exception thrown as expected ok 51 - ... exception thrown as expected ok 52 - ... exception thrown as expected ok 53 - ... got the superclasses okay ok 54 - ... set the superclasses ok 55 - ... get_meta_instance works ok 56 - ... compute_all_applicable_attributes works ok 57 - ... class_precedence_list works ok 58 - ... get_method_map works ok 59 - Superclass is immutable ok 60 - We have an anon metaclass ok 61 - ... our anon class is mutable ok 62 - ... our anon class is not immutable ok 63 - ... changed class to be immutable ok 64 - ... our class is no longer mutable ok 65 - ... our class is now immutable ok 66 - ... make immutable now returns nothing ok 67 - ... changed Baz to be mutable ok 68 - ... our class is mutable ok 69 - ... our class is not immutable ok 70 - ... make mutable now returns nothing ok 71 - ... still marked as an anon class ok 72 - ... no straneous hashkeys ok 73 - ... no straneous methods ok 74 - ... Anon class isa Class::MOP::Class isa Class::MOP::Class ok 75 - ... added method ok 76 - ... method xyz works ok 77 - ... aliased method ok 78 - ... method zxy works ok 79 - ... removed method ok 80 - ... removed aliased method ok 81 - ... added attribute ok 82 - ... instance can fickle ok 83 - ... removed attribute ok 84 - ... added package symbol ok 85 - ... values match ok 86 - ... removed it ok 87 - ... values match ok 88 - ... got the superclasses okay ok 89 - ... set the superclasses ok 90 - ... set the superclasses okay ok 91 - ... reset superclasses ok 92 - ... reset the superclasses okay ok 93 - ... get_meta_instance works ok 94 - ... compute_all_applicable_attributes works ok 95 - ... class_precedence_list works ok 96 - ... get_method_map works ok 97 - ... changed class to be immutable ok 98 - ... changed class to be mutable ok 99 - ... changed class to be immutable ok 100 - ... exception thrown as expected ok 101 - ... exception thrown as expected ok 102 - ... exception thrown as expected ok 103 - ... exception thrown as expected ok 104 - ... exception thrown as expected ok 105 - ... exception thrown as expected ok 106 - ... exception thrown as expected ok 107 - ... got the superclasses okay ok 108 - ... set the superclasses ok 109 - ... get_meta_instance works ok 110 - ... compute_all_applicable_attributes works ok 111 - ... class_precedence_list works ok 112 - ... get_method_map works ok t/080_meta_package........................ 1..97 ok 1 - ... can't call get_all_package_symbols() as a class method ok 2 - ... can't call name() as a class method ok 3 - ... the %foo slot has not been created yet ok 4 - ... the meta agrees ok 5 - ... checking doesn' vivify ok 6 - ... created %Foo::foo successfully ok 7 - ... SCALAR shouldnt have been created too ok 8 - ... ARRAY shouldnt have been created too ok 9 - ... CODE shouldnt have been created too ok 10 - ... the %foo slot was created successfully ok 11 - ... the meta agrees ok 12 - ... our %foo was initialized correctly ok 13 - ... our %foo was initialized correctly ok 14 - ... got the right package variable back ok 15 - ... our %foo is the same as the metas ok 16 - ... our %foo was updated correctly ok 17 - ... our %foo was updated correctly ok 18 - ... the @bar slot has not been created yet ok 19 - ... created @Foo::bar successfully ok 20 - ... the @bar slot was created successfully ok 21 - ... the meta agrees ok 22 - ... SCALAR shouldnt have been created too ok 23 - ... HASH shouldnt have been created too ok 24 - ... CODE shouldnt have been created too ok 25 - ... our @bar was initialized correctly ok 26 - ... our @bar was initialized correctly ok 27 - ... the $baz slot has not been created yet ok 28 - ... created $Foo::baz successfully ok 29 - ... the $baz slot was created successfully ok 30 - ... the meta agrees ok 31 - ... ARRAY shouldnt have been created too ok 32 - ... HASH shouldnt have been created too ok 33 - ... CODE shouldnt have been created too ok 34 - ... got the right value back ok 35 - ... our $baz was assigned to correctly ok 36 - ... the meta agrees ok 37 - ... the &funk slot has not been created yet ok 38 - ... created &Foo::funk successfully ok 39 - ... the &funk slot was created successfully ok 40 - ... the meta agrees ok 41 - ... SCALAR shouldnt have been created too ok 42 - ... ARRAY shouldnt have been created too ok 43 - ... HASH shouldnt have been created too ok 44 - ... our &funk exists ok 45 - ... got the right value from the function ok 46 - ... created @Foo::foo successfully ok 47 - ... the @foo slot was added successfully ok 48 - ... got the right values for @Foo::foo ok 49 - ... created &Foo::foo successfully ok 50 - ... the meta agrees ok 51 - ... got the right value for &Foo::foo ok 52 - ... created $Foo::foo successfully ok 53 - ... the meta agrees ok 54 - ... got the right scalar value back ok 55 - ... got the right value from the scalar ok 56 - ... removed %Foo::foo successfully ok 57 - ... the %foo slot was removed successfully ok 58 - ... the @foo slot still exists ok 59 - ... the &foo slot still exists ok 60 - ... the $foo slot still exists ok 61 - ... got the right values for @Foo::foo ok 62 - ... got the right value for &Foo::foo ok 63 - ... got the right value for $Foo::foo ok 64 - ... the %foo slot has been removed successfully ok 65 - ... the @foo slot has NOT been removed ok 66 - ... the &foo slot has NOT been removed ok 67 - ... the $foo slot has NOT been removed ok 68 - ... removed &Foo::foo successfully ok 69 - ... the &foo slot no longer exists ok 70 - ... the @foo slot still exists ok 71 - ... the $foo slot still exists ok 72 - ... got the right values for @Foo::foo ok 73 - ... got the right value for $Foo::foo ok 74 - ... the %foo slot has been removed successfully ok 75 - ... the &foo slot has now been removed ok 76 - ... the @foo slot has NOT been removed ok 77 - ... the $foo slot has NOT been removed ok 78 - ... removed $Foo::foo successfully ok 79 - ... the $foo slot no longer exists ok 80 - ... the @foo slot still exists ok 81 - ... got the right values for @Foo::foo ok 82 - ... the %foo slot has been removed successfully ok 83 - ... the &foo slot has now been removed ok 84 - ... the $foo slot has now been removed ok 85 - ... the @foo slot has NOT been removed ok 86 - ... the fetched symbols are the same as the listed ones ok 87 - ... the fetched symbols are the same as the listed ones ok 88 - ... got the right symbol ok 89 - ... got the right symbol ok 90 - ... got the right symbol ok 91 - ... the fetched symbols are the same as the listed ones ok 92 - ... got the right symbol ok 93 - got the right ones ok 94 - ... no sigil for bar ok 95 - ... no sigil for bar ok 96 - ... no sigil for bar ok 97 - ... no sigil for bar ok t/081_meta_package_extension.............. 1..16 ok 1 - use Class::MOP; ok 2 - The object isa My::Meta::Package ok 3 - The object isa Class::MOP::Package ok 4 - ... the %foo slot has not been created yet ok 5 - ... the meta agrees ok 6 - ... the %foo symbol is created succcessfully ok 7 - ... the %foo slot has not been created in the actual Foo package ok 8 - ... the meta agrees ok 9 - ... got the right package variable back ok 10 - ... our %foo is the same as the metas ok 11 - ... the @bar slot has not been created yet ok 12 - ... created @Foo::bar successfully ok 13 - ... the @bar slot has still not been created ok 14 - ... the %baz slot has not been created yet ok 15 - ... created %Foo::baz successfully ok 16 - ... the %baz slot has still not been created ok t/082_get_code_info....................... 1..5 ok 1 - use Class::MOP; ok 2 - sub name is main::__ANON__ ok 3 - sub name is Foo::bar ok 4 - sub name is main:: ok 5 - sub name is Class::MOP::Method::name ok t/083_load_class.......................... 1..28 ok 1 - is_class_loaded with no argument returns false ok 2 - can't load the empty class ok 3 - can't load a class name reference?? ok 4 - undef is not a valid class name ok 5 - empty string is not a valid class name ok 6 - a reference is not a valid class name ok 7 - 'bogus name' is not a valid class name ok 8 - 'Foo' is a valid class name ok 9 - 'Foo::Bar' is a valid class name ok 10 - 'Foo_::Bar2' is a valid class name ok 11 - threw Regexp ((?-xism:Invalid class name \(bogus name\))) ok 12 - errors sanely on __PACKAGE__.pm ok 13 - successfully loaded the class BinaryTree ok 14 - load_class returns the metaclass ok 15 - BinaryTree->can('traverse') ok 16 - this should not die! ok 17 - class name returned ok 18 - no metaclass for non MOP class ok 19 - threw Regexp ((?-xism:Can't locate )) ok 20 - threw Regexp ((?-xism:Missing right curly)) ok 21 - Many Moose tests rely on the exact formatting of this error ok 22 - is_class_loaded(Other) ok 23 - a class with just constants is still a class ok 24 - when an object has a metaclass it is returned isa Class::MOP::Class ok 25 - load_first_existing_class 1/2 params ok, class name returned ok 26 - load_first_existing_class 2/2 params ok, class name returned ok 27 - load_classes works ok 28 - Multiple non-existant classes cause exception ok t/100_BinaryTree_test..................... 1..70 ok 1 - use Class::MOP; ok 2 - ... the binary tree class is not loaded ok 3 - ... loaded the BinaryTree class without dying ok 4 - ... the binary tree class is now loaded ok 5 - BinaryTree->can('new') ok 6 - BinaryTree->can('setLeft') ok 7 - BinaryTree->can('setRight') ok 8 - The object isa BinaryTree ok 9 - BinaryTree->can('isRoot') ok 10 - ... this is the root ok 11 - BinaryTree->can('isLeaf') ok 12 - ... this is not a leaf node ok 13 - ... this is a leaf node ok 14 - BinaryTree->can('hasLeft') ok 15 - ... this has a left node ok 16 - BinaryTree->can('hasRight') ok 17 - ... this has a right node ok 18 - BinaryTree->can('getUID') ok 19 - ... our UID is derived from the stringified object ok 20 - BinaryTree->can('getNodeValue') ok 21 - ... got what we expected ok 22 - BinaryTree->can('getLeft') ok 23 - The object isa BinaryTree ok 24 - ... got what we expected ok 25 - BinaryTree->can('getParent') ok 26 - The object isa BinaryTree ok 27 - .. got what we expected ok 28 - BinaryTree->can('getRight') ok 29 - The object isa BinaryTree ok 30 - ... got what we expected ok 31 - BinaryTree->can('getParent') ok 32 - The object isa BinaryTree ok 33 - .. got what we expected ok 34 - BinaryTree->can('setUID') ok 35 - ... our UID is not what we expected ok 36 - BinaryTree->can('setNodeValue') ok 37 - ... got what we expected ok 38 - BinaryTree->can('removeLeft') ok 39 - The object isa BinaryTree ok 40 - ... we dont have a left node anymore ok 41 - ... and we are not a leaf node ok 42 - ... we have our left node again ok 43 - ... and it is what we told it to be ok 44 - The object isa BinaryTree ok 45 - ... our left leaf is a leaf ok 46 - ... we dont have a left leaf node anymore ok 47 - ... we have our left leaf node again ok 48 - ... and it is what we told it to be ok 49 - BinaryTree->can('removeRight') ok 50 - The object isa BinaryTree ok 51 - ... we dont have a right node anymore ok 52 - ... and we are not a leaf node ok 53 - ... we have our right node again ok 54 - ... and it is what we told it to be ok 55 - The object isa BinaryTree ok 56 - ... our right leaf is a leaf ok 57 - ... we dont have a right leaf node anymore ok 58 - ... we have our right leaf node again ok 59 - ... and it is what we told it to be ok 60 - The object isa BinaryTree ok 61 - BinaryTree->can('size') ok 62 - ... we have 14 nodes in the tree ok 63 - BinaryTree->can('height') ok 64 - ... the tree is 6 nodes tall ok 65 - The object isa BinaryTree ok 66 - ... check that our tree starts out correctly ok 67 - BinaryTree->can('mirror') ok 68 - ... check that our tree ends up correctly ok 69 - The object isa BinaryTree ok 70 - ... this should be the reverse of the original ok t/101_InstanceCountingClass_test.......... 1..12 ok 1 - use Class::MOP; ok 2 - require 'examples/InstanceCountingClass.pod'; ok 3 - ... our Foo count is 0 ok 4 - ... our Bar count is 0 ok 5 - The object isa Foo ok 6 - ... our Foo count is now 1 ok 7 - ... our Bar count is still 0 ok 8 - The object isa Bar ok 9 - ... our Foo count is still 1 ok 10 - ... our Bar count is now 1 ok 11 - ... our Foo count is now 10 ok 12 - ... our Bar count is still 1 ok t/102_InsideOutClass_test................. 1..89 ok 1 - use Class::MOP; ok 2 - require 'examples/InsideOutClass.pod'; ok 3 - The object isa Foo ok 4 - ... Foo is made with SCALAR ok 5 - Foo->can('foo') ok 6 - Foo->can('has_foo') ok 7 - Foo->can('get_bar') ok 8 - Foo->can('set_bar') ok 9 - ... Foo::foo is not defined yet ok 10 - ... Foo::foo is not defined yet ok 11 - ... Foo::bar has been initialized ok 12 - ... Foo::foo is defined now ok 13 - ... Foo::foo == "This is Foo" ok 14 - ... Foo::bar == 42 ok 15 - The object isa Foo ok 16 - ... Foo is made with SCALAR ok 17 - ... Foo2::foo is not defined yet ok 18 - ... Foo2::foo is not defined yet ok 19 - ... Foo2::bar has been initialized ok 20 - ... Foo2::bar == DONT PANIC ok 21 - ... Foo::bar == 42 ok 22 - The object isa Bar ok 23 - The object isa Foo ok 24 - ... Bar is made with SCALAR ok 25 - Bar->can('foo') ok 26 - Bar->can('has_foo') ok 27 - Bar->can('get_bar') ok 28 - Bar->can('set_bar') ok 29 - Bar->can('baz') ok 30 - Bar->can('has_baz') ok 31 - ... Bar::foo is not defined yet ok 32 - ... Bar::foo is not defined yet ok 33 - ... Bar::bar has been initialized ok 34 - ... Bar::baz is not defined yet ok 35 - ... Bar::baz is not defined yet ok 36 - ... Bar::foo is defined now ok 37 - ... Bar::foo == "This is Bar" ok 38 - ... Bar::bar has been initialized ok 39 - ... Bar::baz is defined now ok 40 - ... Bar::foo == "This is Bar" ok 41 - ... Bar::foo == "This is Bar" ok 42 - ... Bar::bar has been initialized ok 43 - The object isa Bar::Baz ok 44 - The object isa Bar ok 45 - The object isa Foo ok 46 - The object isa Baz ok 47 - ... Bar::Baz is made with SCALAR ok 48 - Bar::Baz->can('foo') ok 49 - Bar::Baz->can('has_foo') ok 50 - Bar::Baz->can('get_bar') ok 51 - Bar::Baz->can('set_bar') ok 52 - Bar::Baz->can('baz') ok 53 - Bar::Baz->can('has_baz') ok 54 - Bar::Baz->can('bling') ok 55 - ... Bar::Baz::bar has been initialized ok 56 - ... Bar::Baz::bling has been initialized ok 57 - ... Bar::Baz::foo is not defined yet ok 58 - ... Bar::Baz::foo is not defined yet ok 59 - ... Bar::Baz::baz is not defined yet ok 60 - ... Bar::Baz::baz is not defined yet ok 61 - ... Bar::Baz::foo is defined now ok 62 - ... Bar::Baz::foo == "This is Bar" ok 63 - ... Bar::Baz::bar has been initialized ok 64 - ... Bar::Baz::bling has been initialized ok 65 - ... Bar::Baz::baz is defined now ok 66 - ... Bar::Baz::foo == "This is Bar" ok 67 - ... Bar::Baz::foo == "This is Bar" ok 68 - ... Bar::Baz::bar has been initialized ok 69 - ... Bar::Baz::bling has been initialized ok 70 - ... there is a foo package variable in Foo ok 71 - ... there is a bar package variable in Foo ok 72 - ... got the right number of entries for Foo::foo ok 73 - ... got the right number of entries for Foo::bar ok 74 - ... no foo package variable in Bar ok 75 - ... no bar package variable in Bar ok 76 - ... there is a baz package variable in Bar ok 77 - ... got the right number of entries for Bar::foo ok 78 - ... got the right number of entries for Bar::bar ok 79 - ... got the right number of entries for Bar::baz ok 80 - ... there is a bar package variable in Baz ok 81 - ... got the right number of entries for Baz::bling ok 82 - ... no foo package variable in Bar::Baz ok 83 - ... no bar package variable in Bar::Baz ok 84 - ... no baz package variable in Bar::Baz ok 85 - ... no bar package variable in Baz::Baz ok 86 - ... got the right number of entries for Bar::Baz::foo ok 87 - ... got the right number of entries for Bar::Baz::bar ok 88 - ... got the right number of entries for Bar::Baz::baz ok 89 - ... got the right number of entries for Bar::Baz::bling ok t/103_Perl6Attribute_test................. 1..10 ok 1 - use Class::MOP; ok 2 - require 'examples/Perl6Attribute.pod'; ok 3 - The object isa Foo ok 4 - Foo->can('foo') ok 5 - Foo->can('bar') ok 6 - Foo->can('baz') ok 7 - ... Foo.foo == undef ok 8 - ... Foo.foo == 42 ok 9 - ... Foo.bar == [] ok 10 - ... Foo.baz == {} ok t/104_AttributesWithHistory_test.......... 1..28 ok 1 - use Class::MOP; ok 2 - require 'examples/AttributesWithHistory.pod'; ok 3 - The object isa Foo ok 4 - Foo->can('foo') ok 5 - Foo->can('get_foo_history') ok 6 - Foo->can('set_bar') ok 7 - Foo->can('get_bar') ok 8 - Foo->can('get_bar_history') ok 9 - The object isa Foo ok 10 - ... foo is not yet defined ok 11 - ... got correct empty history for foo ok 12 - ... foo2 is not yet defined ok 13 - ... got correct empty history for foo2 ok 14 - ... foo == 42 ok 15 - ... got correct history for foo ok 16 - ... foo2 is still not yet defined ok 17 - ... still got correct empty history for foo2 ok 18 - ... foo is still == 42 ok 19 - ... still got correct history for foo ok 20 - ... foo2 == 100 ok 21 - ... got correct empty history for foo2 ok 22 - ... got correct history for foo ok 23 - ... bar is not yet defined ok 24 - ... got correct empty history for foo ok 25 - ... bar == "FOO" ok 26 - ... got correct history for foo ok 27 - ... got correct history for bar ok 28 - ... still have the correct history for foo ok t/105_ClassEncapsulatedAttributes_test.... 1..29 ok 1 - use Class::MOP; ok 2 - require 'examples/ClassEncapsulatedAttributes.pod'; ok 3 - The object isa Foo ok 4 - Foo->can('foo') ok 5 - Foo->can('has_foo') ok 6 - Foo->can('get_bar') ok 7 - Foo->can('set_bar') ok 8 - The object isa Bar ok 9 - Bar->can('foo') ok 10 - Bar->can('has_foo') ok 11 - Bar->can('get_bar') ok 12 - Bar->can('set_bar') ok 13 - ... Foo::has_foo == 1 ok 14 - ... Bar::has_foo == 1 ok 15 - ... got the right default value for Foo::foo ok 16 - ... got the right default value for Bar::foo ok 17 - ... got the right default value for Bar::SUPER::foo ok 18 - ... successfully set Foo::foo through Bar::SUPER::foo ok 19 - ... BAR::SUPER::has_foo == 0 ok 20 - ... Foo::has_foo (is still) 1 ok 21 - The object isa Bar ok 22 - Bar->can('foo') ok 23 - Bar->can('has_foo') ok 24 - Bar->can('get_bar') ok 25 - Bar->can('set_bar') ok 26 - ... Bar::has_foo == 1 ok 27 - ... Bar::SUPER_has_foo == 1 ok 28 - ... got the right default value for Bar::foo ok 29 - ... got the right default value for Bar::SUPER::foo ok t/106_LazyClass_test...................... 1..26 ok 1 - use Class::MOP; ok 2 - require 'examples/LazyClass.pod'; ok 3 - The object isa BinaryTree ok 4 - ... node attribute has been initialized yet ok 5 - ... left attribute has not been initialized yet ok 6 - ... right attribute has not been initialized yet ok 7 - The object isa BinaryTree ok 8 - The object isa BinaryTree ok 9 - ... left attribute has now been initialized ok 10 - ... right attribute has now been initialized ok 11 - ... node attribute has not been initialized yet ok 12 - ... left attribute has not been initialized yet ok 13 - ... right attribute has not been initialized yet ok 14 - ... node attribute has not been initialized yet ok 15 - ... left attribute has not been initialized yet ok 16 - ... right attribute has not been initialized yet ok 17 - ... the left node is uninitialized ok 18 - ... node attribute has now been initialized ok 19 - ... the left node == 1 ok 20 - ... left attribute still has not been initialized yet ok 21 - ... right attribute still has not been initialized yet ok 22 - ... the right node is uninitialized ok 23 - ... node attribute has now been initialized ok 24 - ... the right node == 1 ok 25 - ... left attribute still has not been initialized yet ok 26 - ... right attribute still has not been initialized yet ok t/107_C3MethodDispatchOrder_test.......... 1..5 ok 1 - use Class::MOP; ok 2 - require 'examples/C3MethodDispatchOrder.pod'; ok 3 - ... got the right MRO for Diamond_D ok 4 - ... got the right dispatch order ok 5 - ... can(method) resolved itself as expected ok t/108_ArrayBasedStorage_test.............. 1..73 ok 1 - use Class::MOP; ok 2 - require 'examples/ArrayBasedStorage.pod'; ok 3 - The object isa Foo ok 4 - ... Foo is made with ARRAY ok 5 - Foo->can('foo') ok 6 - Foo->can('has_foo') ok 7 - Foo->can('get_bar') ok 8 - Foo->can('set_bar') ok 9 - Foo->can('clear_foo') ok 10 - ... Foo::foo is not defined yet ok 11 - ... Foo::foo is not defined yet ok 12 - ... Foo::bar has been initialized ok 13 - ... Foo::foo is defined now ok 14 - ... Foo::foo == "This is Foo" ok 15 - ... Foo::foo is not defined anymore ok 16 - ... Foo::foo is not defined anymore ok 17 - ... Foo::bar == 42 ok 18 - The object isa Foo ok 19 - ... Foo is made with ARRAY ok 20 - ... Foo2::foo is not defined yet ok 21 - ... Foo2::foo is not defined yet ok 22 - ... Foo2::bar has been initialized ok 23 - ... Foo2::bar == DONT PANIC ok 24 - ... Foo::bar == 42 ok 25 - The object isa Bar ok 26 - The object isa Foo ok 27 - ... Bar is made with ARRAY ok 28 - Bar->can('foo') ok 29 - Bar->can('has_foo') ok 30 - Bar->can('get_bar') ok 31 - Bar->can('set_bar') ok 32 - Bar->can('baz') ok 33 - Bar->can('has_baz') ok 34 - ... Bar::foo is not defined yet ok 35 - ... Bar::foo is not defined yet ok 36 - ... Bar::bar has been initialized ok 37 - ... Bar::baz is not defined yet ok 38 - ... Bar::baz is not defined yet ok 39 - ... Bar::foo is defined now ok 40 - ... Bar::foo == "This is Bar" ok 41 - ... Bar::bar has been initialized ok 42 - ... Bar::baz is defined now ok 43 - ... Bar::foo == "This is Bar" ok 44 - ... Bar::foo == "This is Bar" ok 45 - ... Bar::bar has been initialized ok 46 - The object isa Bar::Baz ok 47 - The object isa Bar ok 48 - The object isa Foo ok 49 - The object isa Baz ok 50 - ... Bar::Baz is made with ARRAY ok 51 - Bar::Baz->can('foo') ok 52 - Bar::Baz->can('has_foo') ok 53 - Bar::Baz->can('get_bar') ok 54 - Bar::Baz->can('set_bar') ok 55 - Bar::Baz->can('baz') ok 56 - Bar::Baz->can('has_baz') ok 57 - Bar::Baz->can('bling') ok 58 - ... Bar::Baz::bar has been initialized ok 59 - ... Bar::Baz::bling has been initialized ok 60 - ... Bar::Baz::foo is not defined yet ok 61 - ... Bar::Baz::foo is not defined yet ok 62 - ... Bar::Baz::baz is not defined yet ok 63 - ... Bar::Baz::baz is not defined yet ok 64 - ... Bar::Baz::foo is defined now ok 65 - ... Bar::Baz::foo == "This is Bar" ok 66 - ... Bar::Baz::bar has been initialized ok 67 - ... Bar::Baz::bling has been initialized ok 68 - ... Bar::Baz::baz is defined now ok 69 - ... Bar::Baz::foo == "This is Bar" ok 70 - ... Bar::Baz::foo == "This is Bar" ok 71 - ... Bar::Baz::bar has been initialized ok 72 - ... Bar::Baz::bling has been initialized ok 73 - additional slot due to refreshed meta instance ok t/200_Class_C3_compatibility.............. 1..8 ok 1 - use Class::MOP; ok 2 - ... got the right MRO for Diamond_D ok 3 - ... A has a method hello ok 4 - ... B does not have a method hello ok 5 - ... C has a method hello ok 6 - ... D does not have a method hello ok 7 # SKIP C3 does not make aliases on 5.9.5+ ok 8 # SKIP C3 does not make aliases on 5.9.5+ ok t/300_random_eval_bug..................... 1..2 ok 1 - use Class::MOP; ok 2 - ... we die correctly with bad args ok t/301_RT_27329_fix........................ 1..9 ok 1 - use Class::MOP; ok 2 - The object isa Foo ok 3 - ... got the right default value ok 4 - The object isa Foo ok 5 - ... and it is a clone ok 6 - ... got the right cloned value ok 7 - The object isa Foo ok 8 - ... and it is a clone ok 9 - ... got the right cloned value ok t/302_modify_parent_method................ 1..5 ok 1 - use Class::MOP; ok 2 ok 3 ok 4 not ok 5 - cache is correctly invalidated when the parent method is wrapped # TODO pending fix # Failed (TODO) test 'cache is correctly invalidated when the parent method is wrapped' # at t/302_modify_parent_method.t line 79. # Structures begin differing at: # $got->[1] = 'Parent::method' # $expected->[1] = 'before Parent::method' ok t/303_RT_39001_fix........................ 1..4 ok 1 - use Class::MOP; ok 2 - error occurs when extending oneself ok 3 - regular subclass ok 4 - error occurs when Bar extends Foo, when Foo is a Bar ok All tests successful. Files=58, Tests=2062, 7 wallclock secs ( 0.08 usr 0.52 sys + 4.57 cusr 1.79 csys = 6.96 CPU) Result: PASS DROLSKY/Class-MOP-0.69.tar.gz make test TEST_VERBOSE=1 -- OK Dave Rolsky <autarch@urth.org> A Meta Object Protocol for Perl 5 >>> (cd /home/cpanfly/var/cpan/build/Class-MOP-0.69-ziaYnq && tar cvf - Class-MOP-0.69.ppd blib) | gzip -c >/home/cpanfly/var/REPO/D/DR/DROLSKY/Class-MOP-0.69.tar.gz Class-MOP-0.69.ppd blib/ blib/lib/ blib/lib/Class/ blib/lib/Class/MOP/ blib/lib/Class/MOP/Method/ blib/lib/Class/MOP/Method/Constructor.pm blib/lib/Class/MOP/Method/Accessor.pm blib/lib/Class/MOP/Method/Generated.pm blib/lib/Class/MOP/Method/Wrapped.pm blib/lib/Class/MOP/Module.pm blib/lib/Class/MOP/Object.pm blib/lib/Class/MOP/Method.pm blib/lib/Class/MOP/Class.pm blib/lib/Class/MOP/Package.pm blib/lib/Class/MOP/Instance.pm blib/lib/Class/MOP/Attribute.pm blib/lib/Class/MOP/Immutable.pm blib/lib/Class/MOP.pm blib/lib/metaclass.pm blib/arch/ blib/arch/auto/ blib/arch/auto/Class/ blib/arch/auto/Class/MOP/ blib/arch/auto/Class/MOP/MOP.bs blib/arch/auto/Class/MOP/MOP.so blib/man3/ blib/man3/Class::MOP::Method.3 blib/man3/Class::MOP::Method::Wrapped.3 blib/man3/Class::MOP::Attribute.3 blib/man3/metaclass.3 blib/man3/Class::MOP::Package.3 blib/man3/Class::MOP::Method::Generated.3 blib/man3/Class::MOP::Module.3 blib/man3/Class::MOP::Instance.3 blib/man3/Class::MOP.3 blib/man3/Class::MOP::Immutable.3 blib/man3/Class::MOP::Object.3 blib/man3/Class::MOP::Method::Constructor.3 blib/man3/Class::MOP::Class.3 blib/man3/Class::MOP::Method::Accessor.3 >>> mv /home/cpanfly/var/cpan/build/Class-MOP-0.69-ziaYnq/Class-MOP-0.69.ppd /home/cpanfly/var/REPO/D/DR/DROLSKY Finished 2008-11-08T06:10:50