Checking if your kit is complete... Looks good Writing Makefile for Class::InsideOut Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. cp lib/Class/InsideOut.pod blib\lib\Class\InsideOut.pod cp lib/Class/InsideOut/Manual/About.pod blib\lib\Class\InsideOut\Manual\About.pod cp lib/Class/InsideOut/Manual/Advanced.pm blib\lib\Class\InsideOut\Manual\Advanced.pm cp lib/Class/InsideOut/Manual/Advanced.pod blib\lib\Class\InsideOut\Manual\Advanced.pod cp lib/Class/InsideOut.pm blib\lib\Class\InsideOut.pm cp lib/Class/InsideOut/Manual/About.pm blib\lib\Class\InsideOut\Manual\About.pm Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. C:\cpanrun\build\5-10-0\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/01_load..........................1..14 ok 1 - use Class::InsideOut; ok 2 - Class::InsideOut->can('options') ok 3 - Class::InsideOut->can('private') ok 4 - Class::InsideOut->can('property') ok 5 - Class::InsideOut->can('public') ok 6 - Class::InsideOut->can('register') ok 7 - Class::InsideOut->can('id') ok 8 - Class::InsideOut->can('_properties') ok 9 - Class::InsideOut->can('_object_count') ok 10 - Class::InsideOut->can('_leaking_memory') ok 11 - Class::InsideOut->can('CLONE') ok 12 - DESTROY not part of the API ok 13 - STORABLE_freeze not part of the API ok 14 - STORABLE_thaw not part of the API ok t/02_register......................1..25 ok 1 - no objects registered ok 2 - require t::Object::Trivial; ok 3 - Creating a t::Object::Trivial object ok 4 - Creating another t::Object::Trivial object ok 5 - object count correct ok 6 - require t::Object::RegisterRef; ok 7 - Creating a t::Object::RegisterRef object ok 8 - Creating another t::Object::RegisterRef object ok 9 - object count correct ok 10 - require t::Object::RegisterClassname; ok 11 - Creating a t::Object::RegisterClassname object ok 12 - Creating another t::Object::RegisterClassname object ok 13 - object count correct ok 14 - Destroying an object ok 15 - object count correct ok 16 - Destroying an object ok 17 - object count correct ok 18 - Destroying an object ok 19 - object count correct ok 20 - Destroying an object ok 21 - object count correct ok 22 - Destroying an object ok 23 - object count correct ok 24 - Destroying an object ok 25 - object count correct ok t/03_properties....................1..15 ok 1 - require t::Object::Animal::Jackalope; ok 2 - t::Object::Animal::Jackalope has/inherited its expected properties ok 3 - t::Object::Animal::Jackalope has no objects registered ok 4 - Creating a t::Object::Animal::Jackalope object ok 5 - Creating another t::Object::Animal::Jackalope object ok 6 - Setting a name for the first object ok 7 - Setting a name for the second object ok 8 - Objects have different names ok 9 - Setting a color for the first object ok 10 - Setting a speed for the first object ok 11 - Setting points for the first object ok 12 - Setting a kill-count for the second object ok 13 - Destroying the first object ok 14 - Destroying the second object ok 15 - t::Object::Animal::Jackalope is not leaking memory ok t/04_threaded......................1..10 ok 1 - require t::Object::Animal; ok 2 - require t::Object::Animal::Antelope; ok 3 - Creating a t::Object::Animal object ok 4 - Creating a t::Object::Animal::Antelope object ok 5 - Setting a name for the superclass object in the parent ok 6 - Setting a name for the subclass object in the parent ok 7 - Setting a color for the subclass object in the parent ok 8 - got right superclass object name in thread ok 9 - got right subclass object name in thread ok 10 - got right subclass object name in thread ok t/05_forking.......................1..10 ok 1 - require t::Object::Animal; ok 2 - require t::Object::Animal::Antelope; ok 3 - Creating a t::Object::Animal object ok 4 - Creating a t::Object::Animal::Antelope object ok 5 - Setting a name for the superclass object in the parent ok 6 - Setting a name for the subclass object in the parent ok 7 - Setting a color for the subclass object in the parent ok 8 - got right superclass object name in child ok 9 - got right subclass object name in child ok 10 - got right subclass object name in child ok t/06_export_ok.....................1..34 ok 1 - setting package to 'export_ok_test' ok 2 - require Class::InsideOut; ok 3 - Importing all @EXPORT_OK functions ok 4 - export_ok_test->can('id') ok 5 - export_ok_test->can('private') ok 6 - export_ok_test->can('public') ok 7 - export_ok_test->can('register') ok 8 - export_ok_test->can('options') ok 9 - export_ok_test->can('property') ok 10 - export_ok_test->can('DESTROY') ok 11 - export_ok_test->can('STORABLE_freeze') ok 12 - export_ok_test->can('STORABLE_thaw') ok 13 - setting package to 'export_tags_std_test' ok 14 - require Class::InsideOut; ok 15 - Importing ':std' tag ok 16 - export_tags_std_test->can('id') ok 17 - export_tags_std_test->can('private') ok 18 - export_tags_std_test->can('public') ok 19 - export_tags_std_test->can('register') ok 20 - export_tags_std_test->can('DESTROY') ok 21 - export_tags_std_test->can('STORABLE_freeze') ok 22 - export_tags_std_test->can('STORABLE_thaw') ok 23 - setting package to 'export_tags_all_test' ok 24 - require Class::InsideOut; ok 25 - Importing ':all' tag ok 26 - export_tags_all_test->can('id') ok 27 - export_tags_all_test->can('private') ok 28 - export_tags_all_test->can('public') ok 29 - export_tags_all_test->can('register') ok 30 - export_tags_all_test->can('options') ok 31 - export_tags_all_test->can('property') ok 32 - export_tags_all_test->can('DESTROY') ok 33 - export_tags_all_test->can('STORABLE_freeze') ok 34 - export_tags_all_test->can('STORABLE_thaw') ok t/07_synopsis_obj..................1..12 ok 1 - require t::Object::Synopsis; ok 2 - t::Object::Synopsis has/inherited its expected properties ok 3 - t::Object::Synopsis has no objects registered ok 4 - Creating a t::Object::Synopsis object ok 5 - Creating another t::Object::Synopsis object ok 6 - Setting a name for the first object ok 7 - Setting a name for the second object ok 8 - Objects have different names ok 9 - Object greeting correct ok 10 - Destroying the first object ok 11 - Destroying the second object ok 12 - t::Object::Synopsis is not leaking memory ok t/08_DEMOLISH......................1..9 ok 1 - require t::Object::Animal; ok 2 - require t::Object::Animal::Antelope; ok 3 - Creating a t::Object::Animal object ok 4 - Creating a t::Object::Animal::Antelope object ok 5 - Count of animals is 2 ok 6 - Destroying the subclass object ok 7 - Subclass shouldn't inherit superclass DEMOLISH ok 8 - Destroying the first object ok 9 - t::Object::Animal::DEMOLISH decremented the count of animals to 1 ok t/09_foreign.......................1..5 ok 1 - require t::Object::Foreign; ok 2 - Creating a t::Object::Foreign object ok 3 - Object isa IO::File ok 4 - Read a line from the t::Object::Foreign object ok 5 - Setting a name for the object ok t/10_storable_values...............1..59 ok 1 - require Storable; ok 2 - require t::Object::Scalar; Can't locate package Bogus::Superclass for @t::Object::Scalar::ISA at t/Object/Scalar.pm line 11. ok 3 - ... Creating t::Object::Scalar object ok 4 - ... Object is reftype SCALAR ok 5 - ... Setting 'name' to 'Larry' ok 6 - ... Setting custom 'age' property to 32 ok 7 - ... Loading base SCALAR with data ok 8 - ... Freezing object ok 9 - ... Thawing object ok 10 - ... Thawed object is a copy ok 11 - ... Property 'name' for thawed object is correct? ok 12 - ... Property 'age' for thawed objects is correct? ok 13 - ... Thawed object contents are correct ok 14 - ... t::Object::Scalar not leaking memory ok 15 - require t::Object::Array; ok 16 - ... Creating t::Object::Array object ok 17 - ... Object is reftype ARRAY ok 18 - ... Setting 'name' to 'Moe' ok 19 - ... Setting custom 'height' property to 72 inches ok 20 - ... Loading base ARRAY with data ok 21 - ... Freezing object ok 22 - ... Thawing object ok 23 - ... Thawed object is a copy ok 24 - ... Property 'name' for thawed object is correct? ok 25 - ... Property 'height' for thawed objects is correct? ok 26 - ... Thawed object contents are correct ok 27 - ... t::Object::Array not leaking memory ok 28 - require t::Object::Hash; ok 29 - ... Creating t::Object::Hash object ok 30 - ... Object is reftype HASH ok 31 - ... Setting 'name' to 'Curly' ok 32 - ... Setting custom 'weight' property to 190 lbs ok 33 - ... Loading base HASH with data ok 34 - ... Freezing object ok 35 - ... Thawing object ok 36 - ... Thawed object is a copy ok 37 - ... Property 'name' for thawed object is correct? ok 38 - ... Property 'weight' for thawed objects is correct? ok 39 - ... Thawed object contents are correct ok 40 - ... t::Object::Hash not leaking memory ok 41 - require t::Object::Animal::Jackalope; ok 42 - ... Creating t::Object::Animal::Jackalope object ok 43 - ... Object is reftype SCALAR ok 44 - ... Setting 'name' to 'Fred' ok 45 - ... Setting custom 'color' property to white ok 46 - ... Setting custom 'speed' property to 60 mph ok 47 - ... Setting custom 'points' property to 13 ok 48 - ... Setting custom 'kills' property to 23 ok 49 - ... Loading base SCALAR with data ok 50 - ... Freezing object ok 51 - ... Thawing object ok 52 - ... Thawed object is a copy ok 53 - ... Property 'name' for thawed object is correct? ok 54 - ... Property 'color' for thawed objects is correct? ok 55 - ... Property 'speed' for thawed objects is correct? ok 56 - ... Property 'points' for thawed objects is correct? ok 57 - ... Property 'kills' for thawed objects is correct? ok 58 - ... Thawed object contents are correct ok 59 - ... t::Object::Animal::Jackalope not leaking memory ok t/11_storable_refs.................1..68 ok 1 - require Storable; ok 2 - require t::Object::Friends; ok 3 - Creating t::Object::Friends object 'Alice' ok 4 - Creating t::Object::Friends object 'Bob' ok 5 - Making Bob friends with Alice ok 6 - Creating t::Object::Friends object 'charlie' ok 7 - Making Charlie friends with Alice and Bob ok 8 - Confirming 'has_friend' method works ok 9 - Freezing Bob ok 10 - ... Thawing the frozen Bob ok 11 - ... Thawed Bob is a t::Object::Friends ok 12 - ... Thawed Bob is a new object ok 13 - ... Thawed Bob is also named Bob (hereafter Bob2) ok 14 - ... Bob2 is not friends with Alice ok 15 - ... Bob2 still has 1 friend ok 16 - ... Bob2's friend isa t::Object::Friends ok 17 - ... Bob2's friend is also named 'Alice' ok 18 - Freezing Bob and Alice together ok 19 - ... Thawing the frozen Bob and Alice ok 20 - ... Thawed Bob is a t::Object::Friends ok 21 - ... Thawed Alice is a t::Object::Friends ok 22 - ... Thawed Bob is a new object ok 23 - ... Thawed Bob is also named Bob (hereafter Bob2) ok 24 - ... Bob2 is not Bob ok 25 - ... Other thawed object is named Alice (hereafter Alice2) ok 26 - ... Alice2 is not Alice ok 27 - ... Bob2 is not friends with Alice ok 28 - ... Bob2 still has 1 friend ok 29 - ... Bob2's friend is Alice2 ok 30 - Freezing Charlie, Bob and Alice together ok 31 - ... Thawing the frozen Charlie, Bob and Alice ok 32 - ... Thawed Bob is a t::Object::Friends ok 33 - ... Thawed Bob is a t::Object::Friends ok 34 - ... Thawed Alice is a t::Object::Friends ok 35 - ... Thawed Bob is a new object ok 36 - ... One thawed object is also named Charlie (hereafter Charlie2) ok 37 - ... Charlie2 is not Charlie ok 38 - ... Another thawed object is also named Bob (hereafter Bob2) ok 39 - ... Bob2 is not Bob ok 40 - ... Another thawed object is named Alice (hereafter Alice2) ok 41 - ... Alice2 is not Alice ok 42 - ... Bob2 is not friends with Alice ok 43 - ... Charlie2 is not friends with Alice ok 44 - ... Charlie2 is not friends with Bob ok 45 - ... Charlie2 still has 2 friends ok 46 - ... Charlie2 has Alice2 as a friend ok 47 - ... Charlie2 has Bob2 as a friend ok 48 - ... Bob2 has Alice2 as a friend ok 49 - Storing a weak reference to Alice inside Alice (!!) ok 50 - Freezing Alice ok 51 - ... Thawing the frozen Alice as Alice2 ok 52 - ... Thawed Alice is a t::Object::Friends ok 53 - ... Found Alice2 inside Alice2 (Lewis Carroll eat your heart out!) ok 54 - ... Reference to Alice2 isn't weak -- limitation of Storable ok 55 - Removing Alice from herself ok 56 - Making Alice friends with herself (!!) ok 57 - Cloning Alice into Alice2 (with dclone) ok 58 - ... Thawed Alice is a t::Object::Friends ok 59 - ... Alice2 is a new object ok 60 - ... Alice2 is not friends with Alice ok 61 - ... Alice2 is friends with Alice2 ok 62 - Alice is no longer friends with herself (try therapy?) ok 63 - Making Alice friends with Bob ok 64 - Cloning Alice into Alice2 (with dclone) ok 65 - ... Thawed Alice is a t::Object::Friends ok 66 - ... Alice2 is not friends with Bob ok 67 - ... Alice2 does have a friend named Bob (hereafter Bob2) ok 68 - ... Bob2 is friends with Alice2 ok t/12_storable_hooks................1..10 ok 1 - require t::Object::Animal::Jackalope; ok 2 - ... Creating t::Object::Animal::Jackalope object ok 3 - ... Object is reftype SCALAR ok 4 - ... Freezing object ok 5 - ... t::Object::Animal::Jackalope freeze hook updated freeze count ok 6 - ... t::Object::Animal freeze hook updated freeze count (diamond pattern) ok 7 - ... Thawing object ok 8 - ... Thawed object is a copy ok 9 - ... t::Object::Animal::Jackalope thaw hook updated thaw count ok 10 - ... t::Object::Animal thaw hook updated thaw count (diamond pattern) ok t/13_options.......................1..5 ok 1 - use Class::InsideOut; ok 2 - main->can('options') ok 3 - No options set ok 4 - Setting options ok 5 - options() provides current options ok t/14_accessor_hooks................1..21 ok 1 - require t::Object::Hooked; ok 2 - t::Object::Hooked has/inherited its expected properties ok 3 - Creating a t::Object::Hooked object ok 4 - integer(3.14) dies ok 5 - 'at' count correct ok 6 - integer(42) lives ok 7 - integer() == 42 ok 8 - word(^^^^) dies ok 9 - word(apple) lives ok 10 - word() eq 'apple' ok 11 - uppercase(banana) lives ok 12 - uppercase() eq 'BANANA' ok 13 - list(qw(foo bar bam)) lives ok 14 - list() gives qw(foo bar bam) ok 15 - list( [qw(foo bar bam)] ) lives ok 16 - list() gives qw(foo bar bam) ok 17 - reverser(qw(foo bar bam)) lives ok 18 - reverser() in list context gives qw(bam bar foo) ok 19 - reverser() in scalar context gives mabraboof ok 20 - write_only lives on write ok 21 - write only dies on write (and was caught) ok t/15_no_weaken_fallback............1..2 ok 1 - require t::Object::Trivial succeeded without XS ok 2 - Saw warning for Scalar::Util::weaken unavailable ok t/16_property_argument_checking....1..20 ok 1 - require Class::InsideOut; ok 2 - property: invalid property name: bad symbols ok 3 - property: invalid property name: leading number ok 4 - property: invalid property name: object ok 5 - property: invalid property store: not a hashref ok 6 - property: invalid property options: passed arrayref, not a hashref ok 7 - property: invalid property options: passed scalar, not a hashref ok 8 - public: invalid property name: bad symbols ok 9 - public: invalid property name: leading number ok 10 - public: invalid property name: object ok 11 - public: invalid property store: not a hashref ok 12 - public: invalid property options: passed arrayref, not a hashref ok 13 - public: invalid property options: passed scalar, not a hashref ok 14 - private: invalid property name: bad symbols ok 15 - private: invalid property name: leading number ok 16 - private: invalid property name: object ok 17 - private: invalid property store: not a hashref ok 18 - private: invalid property options: passed arrayref, not a hashref ok 19 - private: invalid property options: passed scalar, not a hashref ok 20 - Duplicate property name detected ok t/17_option_argument_checking......1..7 ok 1 - require Class::InsideOut; ok 2 - invalid options argument: array is not a hash ok 3 - invalid options argument: scalar is not a hash ok 4 - invalid options argument: unknown option ok 5 - invalid options argument: bad 'privacy' option ok 6 - invalid options argument: bad 'set_hook' option ok 7 - invalid options argument: bad 'get_hook' option ok t/18_register_argument_checking....1..3 ok 1 - require Class::InsideOut; ok 2 - invalid call to register: no argument ok 3 - invalid register argument: reference with no class name ok t/19_storable_singleton............1..24 ok 1 - require t::Object::Singleton::Simple; ok 2 - ... Creating t::Object::Singleton::Simple object ok 3 - ... Setting 'name' to 'Neo' ok 4 - ... Freezing t::Object::Singleton::Simple object ok 5 - ... Setting 'name' to 'Mr. Smith' ok 6 - ... Thawing t::Object::Singleton::Simple object ok 7 - ... Thawed t::Object::Singleton::Simple object is the singleton ok 8 - ... Thawed t::Object::Singleton::Simple object 'name' is 'Mr. Smith' ok 9 - ... Destroying t::Object::Singleton::Simple singleton manually ok 10 - ... t::Object::Singleton::Simple is not leaking memory ok 11 - ... Re-thawing t::Object::Singleton::Simple object again (recreating) ok 12 - ... Re-thawed t::Object::Singleton::Simple object 'name' is undef ok 13 - require t::Object::Singleton::Hooked; ok 14 - ... Creating t::Object::Singleton::Hooked object ok 15 - ... Setting 'name' to 'Neo' ok 16 - ... Freezing t::Object::Singleton::Hooked object ok 17 - ... Setting 'name' to 'Mr. Smith' ok 18 - ... Thawing t::Object::Singleton::Hooked object ok 19 - ... Thawed t::Object::Singleton::Hooked object is the singleton ok 20 - ... Thawed t::Object::Singleton::Hooked object 'name' is 'Mr. Smith' ok 21 - ... Destroying t::Object::Singleton::Hooked singleton manually ok 22 - ... t::Object::Singleton::Hooked is not leaking memory ok 23 - ... Re-thawing t::Object::Singleton::Hooked object again (recreating) ok 24 - ... Re-thawed t::Object::Singleton::Hooked object 'name' is 'Neo' ok t/20_storable_singleton_error......1..6 ok 1 - require t::Object::Singleton::MissingConstructor; ok 2 - ... Creating t::Object::Singleton::MissingConstructor object ok 3 - ... Setting 'name' to 'Neo' ok 4 - ... Freezing t::Object::Singleton::MissingConstructor object ok 5 - ... Thawing without constructor throws error ok 6 - ... Warning message seen ok t/21_optional_new..................1..17 ok 1 - require t::Object::WithNew::Inherited; ok 2 - t::Object::WithNew::Inherited->can('new') ok 3 - new() ok 4 - The object isa t::Object::WithNew::Inherited ok 5 - new( %hash ) ok 6 - The object isa t::Object::WithNew::Inherited ok 7 - name property initialized correctly ok 8 - age property initialized correctly ok 9 - superclass age property initialized correctly ok 10 - new( \%hash ) ok 11 - The object isa t::Object::WithNew::Inherited ok 12 - name property initialized correctly ok 13 - age property initialized correctly ok 14 - superclass age property initialized correctly ok 15 - new( qw/foo/ ) croaks ok 16 - new( qw/foo bar bam/ ) croaks ok 17 - new( [ qw/foo bar/ ] ) croaks ok t/22_readonly......................1..6 ok 1 - require t::Object::ReadOnly; ok 2 - t::Object::ReadOnly has/inherited its expected properties ok 3 - Creating a t::Object::ReadOnly object ok 4 - initialized readonly accessor readable and correct ok 5 - uninitialized readonly accessor returns undef ok 6 - readonly accessor dies if given an argument ok All tests successful. Files=22, Tests=382, 4 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU) Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. Installing C:\cpanrun\build\5-10-0\html\site\lib\Class\InsideOut.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Class\InsideOut\Manual\About.html Installing C:\cpanrun\build\5-10-0\html\site\lib\Class\InsideOut\Manual\Advanced.html Installing C:\cpanrun\build\5-10-0\site\lib\Class\InsideOut.pm Installing C:\cpanrun\build\5-10-0\site\lib\Class\InsideOut.pod Installing C:\cpanrun\build\5-10-0\site\lib\Class\InsideOut\Manual\About.pm Installing C:\cpanrun\build\5-10-0\site\lib\Class\InsideOut\Manual\About.pod Installing C:\cpanrun\build\5-10-0\site\lib\Class\InsideOut\Manual\Advanced.pm Installing C:\cpanrun\build\5-10-0\site\lib\Class\InsideOut\Manual\Advanced.pod Appending installation info to C:\cpanrun\build\5-10-0\lib/perllocal.pod