Setting PATH to /opt/SUNWspro/bin:/usr/local/bin:/opt/csw/bin:/usr/ccs/bin:/usr/bin:/usr/sbin Start 2010-04-24T14:24:27 ActivePerl-1200 CPAN-1.9402 Going to read '/export/home/fly1264/var/cpan/Metadata' Database was generated on Fri, 23 Apr 2010 21:26:58 GMT Running make for D/DR/DROLSKY/Fey-ORM-Mock-0.04.tar.gz Checksum for /net/nas/data/cpan/authors/id/D/DR/DROLSKY/Fey-ORM-Mock-0.04.tar.gz ok Fey-ORM-Mock-0.04 Fey-ORM-Mock-0.04/META.yml Fey-ORM-Mock-0.04/Changes Fey-ORM-Mock-0.04/README Fey-ORM-Mock-0.04/MANIFEST Fey-ORM-Mock-0.04/Makefile.PL Fey-ORM-Mock-0.04/SIGNATURE Fey-ORM-Mock-0.04/Build.PL Fey-ORM-Mock-0.04/t Fey-ORM-Mock-0.04/t/Action.t Fey-ORM-Mock-0.04/t/Mock.t Fey-ORM-Mock-0.04/lib Fey-ORM-Mock-0.04/lib/Fey Fey-ORM-Mock-0.04/lib/Fey/ORM Fey-ORM-Mock-0.04/lib/Fey/ORM/Mock.pm Fey-ORM-Mock-0.04/lib/Fey/ORM/Mock Fey-ORM-Mock-0.04/lib/Fey/ORM/Mock/Action.pm Fey-ORM-Mock-0.04/lib/Fey/ORM/Mock/Recorder.pm Fey-ORM-Mock-0.04/lib/Fey/ORM/Mock/Seeder.pm Fey-ORM-Mock-0.04/lib/Fey/ORM/Mock/Action Fey-ORM-Mock-0.04/lib/Fey/ORM/Mock/Action/Update.pm Fey-ORM-Mock-0.04/lib/Fey/ORM/Mock/Action/Delete.pm Fey-ORM-Mock-0.04/lib/Fey/ORM/Mock/Action/Insert.pm Fey-ORM-Mock-0.04/lib/Fey/Object Fey-ORM-Mock-0.04/lib/Fey/Object/Mock Fey-ORM-Mock-0.04/lib/Fey/Object/Mock/Schema.pm Fey-ORM-Mock-0.04/lib/Fey/Object/Mock/Table.pm Fey-ORM-Mock-0.04/xt Fey-ORM-Mock-0.04/xt/pod-spell.t Fey-ORM-Mock-0.04/xt/pod.t Fey-ORM-Mock-0.04/xt/pod-coverage.t Fey-ORM-Mock-0.04/xt/kwalitee.t CPAN.pm: Going to build D/DR/DROLSKY/Fey-ORM-Mock-0.04.tar.gz >>> /export/home/fly1264/bin/perl Makefile.PL Warning: prerequisite DBD::Mock 0 not found. Warning: prerequisite Fey::DBIManager 0.08 not found. Warning: prerequisite Fey::ORM 0.12 not found. Checking if your kit is complete... Looks good Writing Makefile for Fey::ORM::Mock ---- Unsatisfied dependencies detected during ---- ---- DROLSKY/Fey-ORM-Mock-0.04.tar.gz ---- DBD::Mock [requires] Fey::DBIManager [requires] Fey::ORM [requires] Running make test Delayed until after prerequisites Running test for module 'DBD::Mock' Running make for D/DR/DROLSKY/DBD-Mock-1.39.tar.gz Checksum for /net/nas/data/cpan/authors/id/D/DR/DROLSKY/DBD-Mock-1.39.tar.gz ok DBD-Mock-1.39/ DBD-Mock-1.39/t/ DBD-Mock-1.39/t/013_st_execute_bound_params.t DBD-Mock-1.39/t/010_rollback.t DBD-Mock-1.39/t/026_st_bind_col.t DBD-Mock-1.39/t/005_db_parser.t DBD-Mock-1.39/t/001_db_handle.t DBD-Mock-1.39/t/998_pod.t DBD-Mock-1.39/t/016_mock_add_resultset_test.t DBD-Mock-1.39/t/999_pod_coverage.t DBD-Mock-1.39/t/024_selcol_fetchhash.t DBD-Mock-1.39/t/007_mock_attribute_aliases.t DBD-Mock-1.39/t/020_db_pool.t DBD-Mock-1.39/t/003_db_can_connect.t DBD-Mock-1.39/t/012_st_handle.t DBD-Mock-1.39/t/008_db_connect_cached.t DBD-Mock-1.39/t/025_mock_last_insert_id.t DBD-Mock-1.39/t/017_st_can_connect.t DBD-Mock-1.39/t/018_mock_statement_track.t DBD-Mock-1.39/t/019_mock_statement_track_iterator.t DBD-Mock-1.39/t/004_misc_mock_attr.t DBD-Mock-1.39/t/009_info.t DBD-Mock-1.39/t/015_st_fetch_records.t DBD-Mock-1.39/t/000_basic.t DBD-Mock-1.39/t/011_st_execute_empty.t DBD-Mock-1.39/t/022_DBD_Mock_Session_bound_params.t DBD-Mock-1.39/t/021_DBD_Mock_Session.t DBD-Mock-1.39/t/023_statement_failure.t DBD-Mock-1.39/t/002_dr_handle.t DBD-Mock-1.39/t/bug_0001.t DBD-Mock-1.39/t/014_st_execute_pass_params.t DBD-Mock-1.39/t/006_prepare_cached.t DBD-Mock-1.39/.shipit DBD-Mock-1.39/META.yml DBD-Mock-1.39/Changes DBD-Mock-1.39/README DBD-Mock-1.39/MANIFEST DBD-Mock-1.39/Makefile.PL DBD-Mock-1.39/lib/ DBD-Mock-1.39/lib/DBD/ DBD-Mock-1.39/lib/DBD/Mock.pm DBD-Mock-1.39/Build.PL CPAN.pm: Going to build D/DR/DROLSKY/DBD-Mock-1.39.tar.gz >>> /export/home/fly1264/bin/perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for DBD::Mock >>> make cp lib/DBD/Mock.pm blib/lib/DBD/Mock.pm Manifying blib/man3/DBD::Mock.3 DROLSKY/DBD-Mock-1.39.tar.gz make -- OK Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 /export/home/fly1264/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/000_basic.t .......................... 1..1 ok 1 - use DBD::Mock; ok t/001_db_handle.t ...................... 1..24 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The object isa DBI::db ok 4 - ... if no db-name is given ok 5 - ... AutoCommit DB attribute defaults to set ok 6 - ... this attribute should be 10 ok 7 - ... this attribute should be 15 ok 8 - ... this attribute should be 2000 ok 9 - ... this attribute should be 15,000 ok 10 - RaiseError DB attribute set after connect() ok 11 - PrintError DB attribute set after connect() ok 12 - AutoCommit DB attribute set after connect() ok 13 - RaiseError DB attribute set in connect() ok 14 - PrintError DB attribute set in connect() ok 15 - AutoCommit DB attribute set in connect() ok 16 - RaiseError DB attribute unset in connect() ok 17 - PrintError DB attribute unset in connect() ok 18 - AutoCommit DB attribute unset in connect() ok 19 - ... got the right data sources ok 20 - ... got the right data sources ok 21 - RaiseError DB attribute set in connect() and then changed ok 22 - PrintError DB attribute set in connect() and then changed ok 23 - PrintWarn DB attribute set in connect() and then changed ok 24 - AutoCommit DB attribute set in connect() and then changed ok t/002_dr_handle.t ...................... 1..24 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The object isa DBI::dr ok 4 - ... got the right name ok 5 - ... got the right version ok 6 - ... got the right attribution ok 7 - The object isa DBI::dr ok 8 - ... got the same driver ok 9 - ... got the expected data sources ok 10 - ... got the expected data sources ok 11 - ... got the expected data sources ok 12 - The object isa DBI::db ok 13 - ... our driver is as we expect ok 14 - ... the default is set not to fail ok 15 - The object isa DBI::db ok 16 - ... we are set to fail ok 17 - ... could not connect (as expected) ok 18 - ... got the error we expected too ok 19 - ... we should not have an exception here ok 20 - ... we are set not to fail ok 21 - ... could connect (as expected) ok 22 - The object isa DBI::db ok 23 - ... we only support our attributes ok 24 - ... we only support our attributes ok t/003_db_can_connect.t ................. 1..22 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The object isa DBI::db ok 4 - ... make sure RaiseError is set correctly ok 5 - ...our handle with the default settting is Active ok 6 - ...and successfuly pinged handle ok 7 - ... can connect is set to 0 ok 8 - ...our handle is no longer Active after setting mock_can_connect ok 9 - ...and unsuccessfuly pinged handle (good) ok 10 - ... we should have an exception ok 11 - Preparing statement against inactive handle throws expected exception ok 12 - Preparing statement against inactive handle sets expected DBI error ok 13 - The object isa DBI::db ok 14 - ... make sure PrintError is set correctly ok 15 - ...our handle with the default settting is Active ok 16 - ...and successfuly pinged handle ok 17 - ... can connect is set to 0 ok 18 - ...our handle is no longer Active after setting mock_can_connect ok 19 - ...and unsuccessfuly pinged handle (good) ok 20 - ...got the expected warning ok 21 - ... we should not have an exception ok 22 - ... and our statement should be undefined ok t/004_misc_mock_attr.t ................. 1..27 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The object isa DBI::db ok 4 - ... it handles AutoCommit as well ok 5 - ... and turns off AutoCommit as well ok 6 - ... we have 6 statements ok 7 - ... we have 0 statements ok 8 - ... not executed yet ok 9 - ... has been executed now ok 10 - ... got something back for our history ok 11 - The object isa DBD::Mock::StatementTrack ok 12 - ... our statement is as expected ok 13 - ... our fields is as expected ok 14 - ... we have 3 records ok 15 - ... we have 3 records ok 16 - ... we are at record number 0 ok 17 - ... we are not yet finished ok 18 - ... nor are we depleted ok 19 - ... got the expected row ok 20 - ... we are at record number 1 ok 21 - ... got the expected row ok 22 - ... we are at record number 2 ok 23 - ... got the expected row ok 24 - ... we are at record number 3 ok 25 - ... now we are depleted ok 26 - ... we are not yet finished ok 27 - ... and we are now finished ok t/005_db_parser.t ...................... 1..26 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The object isa DBI::db ok 4 - ... make sure RaiseError is set correctly ok 5 - ... parser successfully added to dbh ok 6 - ... the same parser is stored ok 7 - The object isa DBI::st ok 8 - ... we should get nothing back from here ok 9 - ... parser failure generated correct error ok 10 - The object isa DBI::db ok 11 - ... make sure PrintError is set correctly ok 12 - ... parser successfully added to dbh ok 13 - ... the same parser is stored ok 14 - The object isa DBI::st ok 15 - ...got the expected warning ok 16 - ... we should get nothing back from here ok 17 - The object isa DBI::db ok 18 - ... make sure RaiseError is set correctly ok 19 - ... bad parser successfully not added to dbh ok 20 - ... bad parser successfully not added to dbh ok 21 - The object isa DBI::db ok 22 - ... make sure PrintError is set correctly ok 23 - ... bad parser successfully not added to dbh ok 24 - ... this returns undef too ok 25 - ... bad parser successfully not added to dbh ok 26 - ... this returns undef too ok t/006_prepare_cached.t ................. 1..11 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The object isa DBI::db ok 4 - ... have 1 statement executions ok 5 - ... have 2 statement executions ok 6 - ... the history has been is cleared ok 7 - ... have 1 statement executions ok 8 - ... have 2 statement executions ok 9 - The object isa DBD::Mock::StatementTrack ok 10 - ... our statements match ok 11 - ... got the expected amount of params ok t/007_mock_attribute_aliases.t ......... 1..25 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - ... got our non-mock DB successfully ok 4 - The object isa DBI::db ok 5 - ... nothing here ok 6 - ... nothing here ok 7 - ... got our non-mock DB successfully ok 8 - The object isa DBI::db ok 9 - ... nothing here ok 10 - ... nothing here ok 11 - ... got the error we expected ok 12 - ... got our mock DB successfully ok 13 - The object isa DBI::db ok 14 - ... and its the name we expected ok 15 - ... got something here ok 16 - ... and its the hash we expected ok 17 - The object isa DBI::st ok 18 - ... our alias works ok 19 - ... got our mock DB successfully ok 20 - The object isa DBI::db ok 21 - ... and its the name we expected ok 22 - ... got something here ok 23 - ... and its the hash we expected ok 24 - The object isa DBI::st ok 25 - ... our alias works ok t/008_db_connect_cached.t .............. 1..5 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The object isa DBI::db ok 4 - The object isa DBI::db ok 5 - .. these should be the same handles ok t/009_info.t ........................... 1..3 ok 1 - use DBI; ok 2 - The object isa DBI::db ok 3 - Retrieved info successfully ok t/010_rollback.t ....................... 1..38 ok 1 - use DBI; ok 2 - The object isa DBI::db ok 3 - AutoCommit is off ok 4 - commit() returns true ok 5 - rollback() returns true ok 6 - begin_work() fails if AutoCommit is off ok 7 ok 8 - Correct number of statements ok 9 ok 10 - No parameters ok 11 ok 12 - No parameters ok 13 - AutoCommit is still off ok 14 - AutoCommit is on ok 15 - Commit returns false ok 16 ok 17 - Rollback returns false ok 18 ok 19 - AutoCommit is still on ok 20 - Correct number of statements ok 21 - AutoCommit is on ok 22 - begin_work() returns true ok 23 - AutoCommit is now off ok 24 - rollback() returns true ok 25 - AutoCommit is back on ok 26 - begin_work() returns true ok 27 - AutoCommit is now off ok 28 - rollback() returns true ok 29 - AutoCommit is back on ok 30 - Correct number of statements ok 31 ok 32 - No parameters ok 33 ok 34 - No parameters ok 35 ok 36 - No parameters ok 37 ok 38 - No parameters ok t/011_st_execute_empty.t ............... 1..15 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - Statement handle prepared ok ok 4 - Statement handle returned of the proper type ok 5 - Statement handle stores SQL (method on tracker) ok 6 - Statement handle stores SQL (attribute) ok 7 - Execute flag not set yet ok 8 - Called execute() ok (no params) ok 9 - ... we got back 0E0 for num of rows ok 10 - Execute flag set after execute() ok 11 - No parameters tracked (method on tracker) ok 12 - No parameters tracked (attribute) ok 13 - Finished flag not set yet ok 14 - Called finish() ok ok 15 - Finished flag set after finish() ok t/012_st_handle.t ...................... 1..15 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The object isa DBI::db ok 4 - ... $sth handle prepared ok ok 5 - The object isa DBI::st ok 6 - ... got the right statement ok 7 - ... got the right Database handle ok 8 - ... got the right number of fields ok 9 - ... got the right number of params ok 10 - ... got the right NAME attributes ok 11 - ... got the right NAME_lc attributes ok 12 - ... got the right NAME_uc attributes ok 13 - ... got the right NAME_hash attributes ok 14 - ... got the right NAME_hash_lc attributes ok 15 - ... got the right NAME_hash_uc attributes ok t/013_st_execute_bound_params.t ........ 1..18 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - Parameters bound to statement handle with bind_param() ok 4 - Called execute() ok (empty, after bind_param calls) ok 5 - Correct number of parameters bound (method on tracker) ok 6 - Statement handle stored bound parameter from bind_param() (method on tracker) ok 7 - Statement handle stored bound parameter from bind_param() (method on tracker) ok 8 - Correct number of parameters bound (attribute) ok 9 - Statement handle stored bound parameter from bind_param() (attribute) ok 10 - Statement handle stored bound parameter from bind_param() (attribute) ok 11 - Parameters bound to statement handle with bind_param_inout() ok 12 - Called execute() ok (empty, after bind_param_inout calls) ok 13 - Correct number of parameters bound (method on tracker) ok 14 - Statement handle stored bound parameter from bind_param_inout() (method on tracker) ok 15 - Statement handle stored bound parameter from bind_param_inout() (method on tracker) ok 16 - Correct number of parameters bound (attribute) ok 17 - Statement handle stored bound parameter from bind_param_inout() (attribute) ok 18 - Statement handle stored bound parameter from bind_param_inout() (attribute) ok t/014_st_execute_pass_params.t ......... 1..9 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - Called execute() ok (inline params) ok 4 - Correct number of parameters bound (inline; method on tracker) ok 5 - Statement handle stored bound inline parameter (method on tracker) ok 6 - Statement handle stored bound inline parameter (method on tracker) ok 7 - Correct number of parameters bound (inline; attribute) ok 8 - Statement handle stored bound inline parameter (attribute) ok 9 - Statement handle stored bound inline parameter (attribute) ok t/015_st_fetch_records.t ............... 1..43 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - Correct number of records reported by statement ok 4 - Correct number of rows reported by statement ok 5 - Correct number of rows reported by statement ok 6 - Current record number correct before fetching ok 7 - ... this should be an active handle ok 8 - Record 1, correct number of fields (2) ok 9 - Record 1, field 1 ok 10 - Record 1, field 2 ok 11 - Record 1, current record number tracked ok 12 - Resultset not yet depleted ok 13 - Record 2, correct number of fields (2) ok 14 - Record 2, field 1 ok 15 - Record 2, field 2 ok 16 - Record 2, current record number tracked ok 17 - Resultset depleted properly ok 18 - ...this should not be an active handle anymore ok 19 - Correct number of records reported by statement ok 20 - Correct number of rows reported by statement ok 21 - Correct number of rows reported by statement ok 22 - Current record number correct before fetching ok 23 - ... this should be an active handle ok 24 - Record 1, correct number of fields (3) ok 25 - Record 1, field 1 ok 26 - Record 1, field 2 ok 27 - Record 1, field 3 ok 28 - Record 1, current record number tracked ok 29 - Resultset not yet depleted ok 30 - Record 2, correct number of fields (3) ok 31 - Record 2, field 1 ok 32 - Record 2, field 2 ok 33 - Record 2, field 3 ok 34 - Record 2, current record number tracked ok 35 - Resultset not yet depleted ok 36 - Record 3, correct number of fields (3) ok 37 - Record 3, field 1 ok 38 - Record 3, field 2 ok 39 - Record 3, field 3 ok 40 - Record 3, current record number tracked ok 41 - Resultset depleted properly ok 42 - ...this should not be an active handle anymore ok 43 - ...this should not be an active handle ok t/016_mock_add_resultset_test.t ........ 1..19 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The object isa DBI::db ok 4 - The object isa DBI::st ok 5 - ... got back 0E0 for rows with a SELECT statement ok 6 - ... got the result we expected ok 7 - The object isa DBI::st ok 8 - ... got back 0E0 for rows with a SELECT statement ok 9 - ... got the result we expected ok 10 - The object isa DBI::st ok 11 - ... got back 0E0 for rows with a SELECT statement ok 12 - ... got the result we expected ok 13 - The object isa DBI::st ok 14 - ... got back 0E0 for rows with a SELECT statement ok 15 - ... got the result we expected ok 16 - The object isa DBI::st ok 17 - ... got back 1 for rows with our INSERT statement ok 18 - The object isa DBI::st ok 19 - ... got back 4 for rows with our UPDATE statement ok t/017_st_can_connect.t ................. 1..23 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The object isa DBI::db ok 4 - ... RaiseError is set correctly ok 5 - ... PrintError is set correctly ok 6 - The object isa DBI::st ok 7 - ... can connect is set to 0 ok 8 - ... the handle is not Active ok 9 - ... and ping returns false ok 10 - ... we got an exception ok 11 - ... we got the expected execption ok 12 - ... can connect is set to 1 ok 13 - ... the handle is Active ok 14 - ... and ping returns true ok 15 - The object isa DBI::st ok 16 - ... executed without exception ok 17 - ... the first row was returned without execption ok 18 - ... we got back the expected data in the first row ok 19 - ... can connect is set to 0 ok 20 - ... the handle is not Active ok 21 - ... and ping returns false ok 22 - ... we got the exception ok 23 - ... fetching row against inactive db throws expected exception ok t/018_mock_statement_track.t ........... 1..68 ok 1 - use DBD::Mock; ok 2 - DBD::Mock::StatementTrack->can('new') ok 3 - The object isa DBD::Mock::StatementTrack ok 4 - DBD::Mock::StatementTrack->can('num_fields') ok 5 - DBD::Mock::StatementTrack->can('num_params') ok 6 - DBD::Mock::StatementTrack->can('bound_param') ok 7 - DBD::Mock::StatementTrack->can('bound_param_trailing') ok 8 - DBD::Mock::StatementTrack->can('is_active') ok 9 - DBD::Mock::StatementTrack->can('is_finished') ok 10 - DBD::Mock::StatementTrack->can('mark_executed') ok 11 - DBD::Mock::StatementTrack->can('next_record') ok 12 - DBD::Mock::StatementTrack->can('is_depleted') ok 13 - DBD::Mock::StatementTrack->can('to_string') ok 14 - DBD::Mock::StatementTrack->can('is_executed') ok 15 - DBD::Mock::StatementTrack->can('statement') ok 16 - DBD::Mock::StatementTrack->can('current_record_num') ok 17 - DBD::Mock::StatementTrack->can('return_data') ok 18 - DBD::Mock::StatementTrack->can('fields') ok 19 - DBD::Mock::StatementTrack->can('bound_params') ok 20 - The object isa DBD::Mock::StatementTrack ok 21 - ... we have no fields in the default ok 22 - ... we have no fields in the default ok 23 - ... we have no bound params in the default ok 24 - ... we have no bound params in the default ok 25 - ... we have no return data in the default ok 26 - ... our current record num is 0 in the default ok 27 - ... our statement is a blank string in the default ok 28 - ... our statement is not executed in the default ok 29 - ... the default state is depleted ok 30 - ... the default state has no next record since it is depleted ok 31 - ... our statement is not finished in the default ok 32 - ... the default state is not active ok 33 - The object isa DBD::Mock::StatementTrack ok 34 - ... we have the expected num of fields ok 35 - ... we have the expected fields ok 36 - ... we have the expected num of bound params ok 37 - ... we have the expected bound params ok 38 - ... we have the expected return data ok 39 - ... our current record num is 0 in the default ok 40 - ... our statement as expected ok 41 - ... our statement is not executed ok 42 - ... the state is not depleted ok 43 - ... our statement is not finished ok 44 - ... the default state is active ok 45 - ... we have the expected bound params ok 46 - ... we have the expected bound params ok 47 - ... we have the expected num of bound params ok 48 - ... our statement as expected ok 49 - ... with an INSERT we are not considered active ok 50 - ... restore our statement ok 51 - ... our statement is now executed ok 52 - ... our current record num is 0 ok 53 - ... we are active now that we are executed ok 54 - ... the state is not depleted ok 55 - ... got the next record as expected ok 56 - ... our current record num is now 1 ok 57 - ... the state is not depleted ok 58 - ... got the next record as expected ok 59 - ... our current record num is now 2 ok 60 - ... the state is not depleted ok 61 - ... got the next record as expected ok 62 - ... our current record num is now 3 ok 63 - ... no more records ok 64 - ... we are now depleted ok 65 - ... we are no longer active now that we are depleted ok 66 - ... passing in nothing just returns the value ok 67 - ... our statement is now finished ok 68 - ... our statement is no longer finished ok t/019_mock_statement_track_iterator.t .. 1..22 ok 1 - use DBD::Mock; ok 2 - The object isa DBD::Mock::StatementTrack::Iterator ok 3 - ... got 1 ok 4 - ... got 2 ok 5 - ... got 3 ok 6 - ... got 4 ok 7 - ... got 5 ok 8 - ... got undef ok 9 - ... got 1 ok 10 - ... got 2 ok 11 - ... got 3 ok 12 - ... got 4 ok 13 - ... got 5 ok 14 - ... got undef ok 15 - The object isa DBI::db ok 16 - The object isa DBD::Mock::StatementTrack::Iterator ok 17 - ... nothing in the iterator ok 18 - ... now something in the iterator (which is what we want) ok 19 - ... something in the iterator ok 20 - The object isa DBD::Mock::StatementTrack ok 21 - ... its our old insert statement too ok 22 - ... now nothing in the iterator ok t/020_db_pool.t ........................ 1..16 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The object isa DBD::Mock::Pool::db ok 4 - The object isa DBD::Mock::Pool::db ok 5 - ... these handles should be the same ok 6 - ... this will not actually do anything just return true ok 7 - ... this will not actually do anything just return true ok 8 - The object isa DBD::Mock::Pool::db ok 9 - ... not really disconnecting, just returning true ok 10 - The object isa DBD::Mock::Pool::db ok 11 - ... got our row correctly ok 12 - ... not really disconnecting, just returning true ok 13 - The object isa DBD::Mock::Pool::db ok 14 - ... we executed 1 statement ok 15 - ... this the statement we executed ok 16 - ... not really disconnecting, just returning true ok t/021_DBD_Mock_Session.t ............... 1..59 ok 1 - use DBD::Mock; ok 2 - The object isa DBD::Mock::Session ok 3 - ... got the first default session name ok 4 - ... it is the same session we put in ok 5 - ... we no longer have a session in there ok 6 - The object isa DBD::Mock::Session ok 7 - ... got the second default session name ok 8 - The object isa DBD::Mock::Session ok 9 - ... got the right name ok 10 - ... logged in successfully ok 11 - ... got the exception ok 12 - ... got the exception we expected ok 13 - ... logged in successfully ok 14 - The object isa DBD::Mock::Session ok 15 - ... got the right name ok 16 - ... username is not found ok 17 - The object isa DBD::Mock::Session ok 18 - ... got the right name ok 19 - ... username is found, but the password is wrong ok 20 - The object isa DBD::Mock::Session ok 21 - ... got the right name ok 22 - ... username is found, and the password is wrong, and the user account is now locked ok 23 - The object isa DBD::Mock::Session ok 24 - ... got an error, as expected ok 25 - ... got the error we expected ok 26 - ... got an error, as expected ok 27 - ... got the error we expected ok 28 - ... got an error, as expected ok 29 - ... got the error we expected ok 30 - ... got an error, as expected ok 31 - ... got the error we expected ok 32 - ... got an error, as expected ok 33 - ... got the error we expected ok 34 - ... got an error, as expected ok 35 - ... got the error we expected ok 36 - The object isa DBD::Mock::Session ok 37 - ... got an error, as expected ok 38 - ... got the error we expected ok 39 - The object isa DBD::Mock::Session ok 40 - ... got an error, as expected ok 41 - ... got the error we expected ok 42 - The object isa DBD::Mock::Session ok 43 - ... got an error, as expected ok 44 - ... got the error we expected ok 45 - The object isa DBD::Mock::Session ok 46 - ... got an error, as expected ok 47 - ... got the error we expected ok 48 - The object isa DBD::Mock::Session ok 49 - ... got an error, as expected ok 50 - ... got the error we expected ok 51 - The object isa DBD::Mock::Session ok 52 - ... got an error, as expected ok 53 - ... got the error we expected ok 54 - The object isa DBD::Mock::Session ok 55 - ... got an error, as expected ok 56 - ... got the error we expected ok 57 - The object isa DBD::Mock::Session ok 58 - ... got an error, as expected ok 59 - ... got the error we expected ok t/022_DBD_Mock_Session_bound_params.t .. 1..29 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The object isa DBI::db ok 4 - The object isa DBD::Mock::Session ok 5 - ... got the right value ok 6 - ... everything worked as planned ok 7 - ... got the right value ok 8 - ... everything worked as planned ok 9 - The object isa DBI::db ok 10 - The object isa DBD::Mock::Session ok 11 - ... got the right value ok 12 - ... first state worked as planned ok 13 - ... got the right value ok 14 - ... second state worked as planned ok 15 - ... got the right number of affected rows ok 16 - ... third state worked as planned ok 17 - The object isa DBI::db ok 18 - The object isa DBD::Mock::Session ok 19 - ... everything failed as planned ok 20 - ... everything failed as planned ok 21 - The object isa DBI::db ok 22 - The object isa DBD::Mock::Session ok 23 - ... everything failed as planned ok 24 - ... everything failed as planned ok 25 - The object isa DBI::db ok 26 - The object isa DBD::Mock::Session ok 27 - ... first execute got the right value ok 28 - ... second execute got the right value ok 29 - ... everything worked as planned ok t/023_statement_failure.t .............. 1..28 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The object isa DBI::db ok 4 - $sth handle prepared correctly ok 5 - The object isa DBI::st ok 6 - $sth handled executed and died ok 7 - $sth handle failed to prepare ok 8 - DBD::Mock::db prepare failed: Cannot prepare at t/023_statement_failure.t line 59. # should contain 'Cannot prepare' ok 9 - 4 should be 4 ok 10 - $sth handle failed to execute ok 11 - DBD::Mock::st execute failed: Cannot execute at t/023_statement_failure.t line 90. # should contain 'Cannot execute' ok 12 - 4 should be 4 ok 13 - $sth handle failed to fetch ok 14 - $sth handle failed to fetch ok 15 - $sth handle failed to fetch ok 16 - $sth handle failed to fetch ok 17 - prepare and execute should work ok 18 - The object isa DBI::st ok 19 - fetch should work ok 20 - -99 should be -99 ok 21 - fetch should work ok 22 - -98 should be -98 ok 23 - fetch should work ok 24 - -97 should be -97 ok 25 - fetch should work ok 26 - -96 should be -96 ok 27 - fetch should work ok 28 - -95 should be -95 ok t/024_selcol_fetchhash.t ............... 1..8 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - The reference isa REF ok 4 - The reference isa ARRAY ok 5 - Checking if selectcol_arrayref works. ok 6 - Checking if selectcol_arrayref works with Columns attribute ok 7 - ... selectall_hashref worked correctly ok 8 - ... selectall_hashref worked correctly ok t/025_mock_last_insert_id.t ............ 1..12 ok 1 - ... got the right insert id ok 2 - ... got the right insert id from last_insert_id ok 3 - ... got the right insert id ok 4 - ... got the right insert id from last_insert_id ok 5 - ... got the right insert id ok 6 - ... got the right insert id from last_insert_id ok 7 - ... got the right insert id ok 8 - ... got the right insert id from last_insert_id ok 9 - ... got the right insert id ok 10 - ... got the right insert id from last_insert_id ok 11 - ... got the right insert id ok 12 - ... got the right insert id from last_insert_id ok t/026_st_bind_col.t .................... 1..12 ok 1 - use DBD::Mock; ok 2 - use DBI; ok 3 - fetch() returned data ok 4 - bind_col to $id == 1 ok 5 - bind_col to $type == "european" ok 6 - bind_col to $inventory_id == 42 ok 7 - fetch() returned data ok 8 - bind_columns with hash, id == 1 ok 9 - bind_columns with hash, type == "african" ok 10 - bind_columns with hash, inventory_id == 2 ok 11 - fetchrow_arrayref returns false after data is exhausted, even with bound columns ok 12 - bind_col implementation does not break selectall_* methods ok t/998_pod.t ............................ 1..1 ok 1 - POD test for blib/lib/DBD/Mock.pm ok t/999_pod_coverage.t ................... 1..1 ok 1 - Pod coverage on DBD::Mock ok t/bug_0001.t ........................... 1..4 ok 1 - use DBI; ok 2 - The object isa DBI::db ok 3 - Bind failed ok 4 - Bind passed ok All tests successful. Files=30, Tests=608, 10 wallclock secs ( 0.69 usr 0.29 sys + 8.19 cusr 0.99 csys = 10.16 CPU) Result: PASS DROLSKY/DBD-Mock-1.39.tar.gz make test TEST_VERBOSE=1 -- OK Dave Rolsky <autarch@urth.org> Mock database driver for testing >>> (cd /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o && tar cvf - DBD-Mock-1.39.ppd blib) | gzip -c >/export/home/fly1264/var/REPO/D/DR/DROLSKY/DBD-Mock-1.39.tar.gz DBD-Mock-1.39.ppd blib/ blib/lib/ blib/lib/DBD/ blib/lib/DBD/Mock.pm blib/man3/ blib/man3/DBD::Mock.3 >>> mv /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/DBD-Mock-1.39.ppd /export/home/fly1264/var/REPO/D/DR/DROLSKY Running test for module 'Fey::DBIManager' Running make for D/DR/DROLSKY/Fey-DBIManager-0.11.tar.gz Prepending /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/arch /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/lib to PERL5LIB for 'get' Checksum for /net/nas/data/cpan/authors/id/D/DR/DROLSKY/Fey-DBIManager-0.11.tar.gz ok Fey-DBIManager-0.11 Fey-DBIManager-0.11/META.yml Fey-DBIManager-0.11/Changes Fey-DBIManager-0.11/README Fey-DBIManager-0.11/MANIFEST Fey-DBIManager-0.11/Makefile.PL Fey-DBIManager-0.11/SIGNATURE Fey-DBIManager-0.11/Build.PL Fey-DBIManager-0.11/t Fey-DBIManager-0.11/t/Source-SQLite.t Fey-DBIManager-0.11/t/Source.t Fey-DBIManager-0.11/t/DBIManager.t Fey-DBIManager-0.11/lib Fey-DBIManager-0.11/lib/Fey Fey-DBIManager-0.11/lib/Fey/DBIManager.pm Fey-DBIManager-0.11/lib/Fey/DBIManager Fey-DBIManager-0.11/lib/Fey/DBIManager/Source.pm Fey-DBIManager-0.11/xt Fey-DBIManager-0.11/xt/pod-spell.t Fey-DBIManager-0.11/xt/pod.t Fey-DBIManager-0.11/xt/versions-match.t Fey-DBIManager-0.11/xt/pod-coverage.t Fey-DBIManager-0.11/xt/kwalitee.t Prepending /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/arch /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/lib to PERL5LIB for 'make' CPAN.pm: Going to build D/DR/DROLSKY/Fey-DBIManager-0.11.tar.gz >>> /export/home/fly1264/bin/perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for Fey::DBIManager >>> make cp lib/Fey/DBIManager/Source.pm blib/lib/Fey/DBIManager/Source.pm cp lib/Fey/DBIManager.pm blib/lib/Fey/DBIManager.pm Manifying blib/man3/Fey::DBIManager::Source.3 Manifying blib/man3/Fey::DBIManager.3 DROLSKY/Fey-DBIManager-0.11.tar.gz make -- OK Prepending /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/arch /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/lib to PERL5LIB for 'test' Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 /export/home/fly1264/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/DBIManager.t ..... ok 1 - The object isa Fey::DBIManager ok 2 - manager has no sources ok 3 - default_source() fails before any sources are added ok 4 - manager has one source ok 5 - cannot add the same source twice ok 6 - default source is the only source it has ok 7 - no default source with multiple sources, none named "default" ok 8 - default_source() returns the source named "default" ok 9 - source_for_sql() returns the default source ok 10 - source_for_sql() returns the default source ok 11 - no default source with multiple sources, none named "default" 1..11 ok t/Source-SQLite.t .. ok 1 - source allows nested transactions is false with SQLite ok 2 - no warnings checking for nested transaction support with DBD::SQLite 1..2 ok t/Source.t ......... ok 1 - source is named default ok 2 - dsn passed to new() is returned by dsn() ok 3 - default username is empty string ok 4 - default password is empty string ok 5 - check default attributes ok 6 - no post_connect hook by default ok 7 - auto_refresh defaults to true ok 8 - threads is false ok 9 - dsn passed to new() is returned by dsn() ok 10 - username is user ok 11 - password is password ok 12 - attributes include values passed in, except AutoCommit is 1 ok 13 - post_connect is set ok 14 - auto_refresh is false ok 15 - threads is true ok 16 - The object isa DBI::db ok 17 - db name passed to DBI->connect() is same as the one passed to new() ok 18 - username passed to DBI->connect() is same as the one passed to new() ok 19 - post_connect sub was called with DBI handle as argument ok 20 - AutoCommit should be true ok 21 - PrintError should be false ok 22 - PrintWarn should be true ok 23 - RaiseError should be true ok 24 - ShowErrorStatement should be true ok 25 - one DBI handle made so far ok 26 - InactiveDestroy was set to true ok 27 - The object isa DBI::db ok 28 - db name passed to DBI->connect() is same as the one passed to new() ok 29 - username passed to DBI->connect() is same as the one passed to new() ok 30 - post_connect sub was called with DBI handle as argument ok 31 - AutoCommit should be true ok 32 - PrintError should be false ok 33 - PrintWarn should be true ok 34 - RaiseError should be true ok 35 - ShowErrorStatement should be true ok 36 - new handle made when pid changes ok 37 - InactiveDestroy was not set ok 38 - The object isa DBI::db ok 39 - db name passed to DBI->connect() is same as the one passed to new() ok 40 - username passed to DBI->connect() is same as the one passed to new() ok 41 - post_connect sub was called with DBI handle as argument ok 42 - AutoCommit should be true ok 43 - PrintError should be false ok 44 - PrintWarn should be true ok 45 - RaiseError should be true ok 46 - ShowErrorStatement should be true ok 47 - new handle made when tid changes ok 48 - no new handle made with same pid & tid ok 49 - new handle made when Active is false ok 50 - new handle made when ping returns false ok 51 - one DBI handle made so far ok 52 - no new handle when pid changes ok 53 - no new handle when tid changes ok 54 - no new handle made when Active is false ok 55 - no new handle made when ping returns false ok 56 - explicit name passed to constructor ok 57 - source allows nested transactions is false by default with DBD::Mock ok 58 - AutoCommit is true after checking allows_nested_transactions ok 59 - source allows nested transactions is true ok 60 - DBI attribute AutoCommit is set to required value for Source ok 61 - DBI attribute PrintError is set to required value for Source ok 62 - DBI attribute PrintWarn is set to required value for Source ok 63 - DBI attribute RaiseError is set to required value for Source ok 64 - DBI attribute ShowErrorStatement is set to required value for Source ok 65 - DBD::Mock does not support nested transactions ok 66 - no warnings checking for nested transaction support with DBD::Mock 1..66 ok All tests successful. Files=3, Tests=79, 6 wallclock secs ( 0.15 usr 0.03 sys + 5.21 cusr 0.48 csys = 5.87 CPU) Result: PASS DROLSKY/Fey-DBIManager-0.11.tar.gz make test TEST_VERBOSE=1 -- OK Dave Rolsky <autarch@urth.org> Manage a set of DBI handles >>> (cd /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2 && tar cvf - Fey-DBIManager-0.11.ppd blib) | gzip -c >/export/home/fly1264/var/REPO/D/DR/DROLSKY/Fey-DBIManager-0.11.tar.gz Fey-DBIManager-0.11.ppd blib/ blib/lib/ blib/lib/Fey/ blib/lib/Fey/DBIManager/ blib/lib/Fey/DBIManager/Source.pm blib/lib/Fey/DBIManager.pm blib/man3/ blib/man3/Fey::DBIManager::Source.3 blib/man3/Fey::DBIManager.3 >>> mv /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2/Fey-DBIManager-0.11.ppd /export/home/fly1264/var/REPO/D/DR/DROLSKY Running test for module 'Fey::ORM' Running make for D/DR/DROLSKY/Fey-ORM-0.32.tar.gz Prepending /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2/blib/arch /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2/blib/lib /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/arch /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/lib to PERL5LIB for 'get' Checksum for /net/nas/data/cpan/authors/id/D/DR/DROLSKY/Fey-ORM-0.32.tar.gz ok Fey-ORM-0.32 Fey-ORM-0.32/META.yml Fey-ORM-0.32/Changes Fey-ORM-0.32/README Fey-ORM-0.32/TODO Fey-ORM-0.32/MANIFEST Fey-ORM-0.32/Makefile.PL Fey-ORM-0.32/SIGNATURE Fey-ORM-0.32/Build.PL Fey-ORM-0.32/t Fey-ORM-0.32/t/Object Fey-ORM-0.32/t/Object/Table-select-attr.t Fey-ORM-0.32/t/Object/Table-has_one.t Fey-ORM-0.32/t/Object/Schema.t Fey-ORM-0.32/t/Object/Table.t Fey-ORM-0.32/t/Object/Table-query-method.t Fey-ORM-0.32/t/Object/Table-cache.t Fey-ORM-0.32/t/Object/Table-has_many.t Fey-ORM-0.32/t/Object/Iterator Fey-ORM-0.32/t/Object/Iterator/FromArray.t Fey-ORM-0.32/t/Object/Iterator/FromSelect.t Fey-ORM-0.32/t/Object/Iterator/FromSelect Fey-ORM-0.32/t/Object/Iterator/FromSelect/Caching.t Fey-ORM-0.32/t/lib Fey-ORM-0.32/t/lib/Fey Fey-ORM-0.32/t/lib/Fey/ORM Fey-ORM-0.32/t/lib/Fey/ORM/Test.pm Fey-ORM-0.32/t/lib/Fey/ORM/Test Fey-ORM-0.32/t/lib/Fey/ORM/Test/Iterator.pm Fey-ORM-0.32/t/Class Fey-ORM-0.32/t/Class/Table-has_one.t Fey-ORM-0.32/t/Class/Schema.t Fey-ORM-0.32/t/Class/Table.t Fey-ORM-0.32/t/Class/Table-has_many.t Fey-ORM-0.32/t/Class/Policy.t Fey-ORM-0.32/lib Fey-ORM-0.32/lib/Fey Fey-ORM-0.32/lib/Fey/ORM.pm Fey-ORM-0.32/lib/Fey/Meta Fey-ORM-0.32/lib/Fey/Meta/FK.pm Fey-ORM-0.32/lib/Fey/Meta/HasMany.pm Fey-ORM-0.32/lib/Fey/Meta/HasOne.pm Fey-ORM-0.32/lib/Fey/Meta/HasMany Fey-ORM-0.32/lib/Fey/Meta/HasMany/ViaFK.pm Fey-ORM-0.32/lib/Fey/Meta/HasMany/ViaSelect.pm Fey-ORM-0.32/lib/Fey/Meta/Role Fey-ORM-0.32/lib/Fey/Meta/Role/FromSelect.pm Fey-ORM-0.32/lib/Fey/Meta/Method Fey-ORM-0.32/lib/Fey/Meta/Method/Constructor.pm Fey-ORM-0.32/lib/Fey/Meta/Method/FromSelect.pm Fey-ORM-0.32/lib/Fey/Meta/Attribute Fey-ORM-0.32/lib/Fey/Meta/Attribute/FromInflator.pm Fey-ORM-0.32/lib/Fey/Meta/Attribute/FromColumn.pm Fey-ORM-0.32/lib/Fey/Meta/Attribute/FromSelect.pm Fey-ORM-0.32/lib/Fey/Meta/HasOne Fey-ORM-0.32/lib/Fey/Meta/HasOne/ViaFK.pm Fey-ORM-0.32/lib/Fey/Meta/HasOne/ViaSelect.pm Fey-ORM-0.32/lib/Fey/Meta/Class Fey-ORM-0.32/lib/Fey/Meta/Class/Schema.pm Fey-ORM-0.32/lib/Fey/Meta/Class/Table.pm Fey-ORM-0.32/lib/Fey/ORM Fey-ORM-0.32/lib/Fey/ORM/Exceptions.pm Fey-ORM-0.32/lib/Fey/ORM/Schema.pm Fey-ORM-0.32/lib/Fey/ORM/Table.pm Fey-ORM-0.32/lib/Fey/ORM/Manual.pod Fey-ORM-0.32/lib/Fey/ORM/Policy.pm Fey-ORM-0.32/lib/Fey/ORM/Manual Fey-ORM-0.32/lib/Fey/ORM/Manual/Intro.pod Fey-ORM-0.32/lib/Fey/ORM/Role Fey-ORM-0.32/lib/Fey/ORM/Role/Iterator.pm Fey-ORM-0.32/lib/Fey/Object Fey-ORM-0.32/lib/Fey/Object/Schema.pm Fey-ORM-0.32/lib/Fey/Object/Table.pm Fey-ORM-0.32/lib/Fey/Object/Policy.pm Fey-ORM-0.32/lib/Fey/Object/Iterator Fey-ORM-0.32/lib/Fey/Object/Iterator/FromArray.pm Fey-ORM-0.32/lib/Fey/Object/Iterator/FromSelect.pm Fey-ORM-0.32/lib/Fey/Object/Iterator/FromSelect Fey-ORM-0.32/lib/Fey/Object/Iterator/FromSelect/Caching.pm Fey-ORM-0.32/lib/Fey/Hash Fey-ORM-0.32/lib/Fey/Hash/ColumnsKey.pm Fey-ORM-0.32/xt Fey-ORM-0.32/xt/pod-spell.t Fey-ORM-0.32/xt/pod.t Fey-ORM-0.32/xt/versions-match.t Fey-ORM-0.32/xt/pod-coverage.t Fey-ORM-0.32/xt/kwalitee.t Prepending /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2/blib/arch /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2/blib/lib /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/arch /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/lib to PERL5LIB for 'make' CPAN.pm: Going to build D/DR/DROLSKY/Fey-ORM-0.32.tar.gz >>> /export/home/fly1264/bin/perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for Fey::ORM >>> make cp lib/Fey/Meta/HasMany/ViaSelect.pm blib/lib/Fey/Meta/HasMany/ViaSelect.pm cp lib/Fey/ORM/Manual.pod blib/lib/Fey/ORM/Manual.pod cp lib/Fey/ORM/Manual/Intro.pod blib/lib/Fey/ORM/Manual/Intro.pod cp lib/Fey/Object/Iterator/FromSelect/Caching.pm blib/lib/Fey/Object/Iterator/FromSelect/Caching.pm cp lib/Fey/Meta/HasOne/ViaSelect.pm blib/lib/Fey/Meta/HasOne/ViaSelect.pm cp lib/Fey/Object/Policy.pm blib/lib/Fey/Object/Policy.pm cp lib/Fey/Meta/Method/FromSelect.pm blib/lib/Fey/Meta/Method/FromSelect.pm cp lib/Fey/Object/Iterator/FromSelect.pm blib/lib/Fey/Object/Iterator/FromSelect.pm cp lib/Fey/ORM/Schema.pm blib/lib/Fey/ORM/Schema.pm cp lib/Fey/Meta/Role/FromSelect.pm blib/lib/Fey/Meta/Role/FromSelect.pm cp lib/Fey/ORM.pm blib/lib/Fey/ORM.pm cp lib/Fey/Meta/HasOne.pm blib/lib/Fey/Meta/HasOne.pm cp lib/Fey/Hash/ColumnsKey.pm blib/lib/Fey/Hash/ColumnsKey.pm cp lib/Fey/Meta/Attribute/FromInflator.pm blib/lib/Fey/Meta/Attribute/FromInflator.pm cp lib/Fey/ORM/Exceptions.pm blib/lib/Fey/ORM/Exceptions.pm cp lib/Fey/ORM/Table.pm blib/lib/Fey/ORM/Table.pm cp lib/Fey/Meta/Class/Schema.pm blib/lib/Fey/Meta/Class/Schema.pm cp lib/Fey/Meta/Attribute/FromColumn.pm blib/lib/Fey/Meta/Attribute/FromColumn.pm cp lib/Fey/Object/Table.pm blib/lib/Fey/Object/Table.pm cp lib/Fey/Meta/Class/Table.pm blib/lib/Fey/Meta/Class/Table.pm cp lib/Fey/ORM/Policy.pm blib/lib/Fey/ORM/Policy.pm cp lib/Fey/Meta/Attribute/FromSelect.pm blib/lib/Fey/Meta/Attribute/FromSelect.pm cp lib/Fey/Meta/HasMany/ViaFK.pm blib/lib/Fey/Meta/HasMany/ViaFK.pm cp lib/Fey/Meta/FK.pm blib/lib/Fey/Meta/FK.pm cp lib/Fey/Object/Schema.pm blib/lib/Fey/Object/Schema.pm cp lib/Fey/Meta/HasMany.pm blib/lib/Fey/Meta/HasMany.pm cp lib/Fey/Meta/Method/Constructor.pm blib/lib/Fey/Meta/Method/Constructor.pm cp lib/Fey/Meta/HasOne/ViaFK.pm blib/lib/Fey/Meta/HasOne/ViaFK.pm cp lib/Fey/ORM/Role/Iterator.pm blib/lib/Fey/ORM/Role/Iterator.pm cp lib/Fey/Object/Iterator/FromArray.pm blib/lib/Fey/Object/Iterator/FromArray.pm Manifying blib/man3/Fey::Meta::HasMany::ViaSelect.3 Manifying blib/man3/Fey::Object::Iterator::FromSelect::Caching.3 Manifying blib/man3/Fey::ORM::Manual::Intro.3 Manifying blib/man3/Fey::ORM::Manual.3 Manifying blib/man3/Fey::Object::Policy.3 Manifying blib/man3/Fey::Meta::HasOne::ViaSelect.3 Manifying blib/man3/Fey::Object::Iterator::FromSelect.3 Manifying blib/man3/Fey::Meta::Method::FromSelect.3 Manifying blib/man3/Fey::ORM::Schema.3 Manifying blib/man3/Fey::ORM.3 Manifying blib/man3/Fey::Hash::ColumnsKey.3 Manifying blib/man3/Fey::Meta::HasOne.3 Manifying blib/man3/Fey::Meta::Attribute::FromInflator.3 Manifying blib/man3/Fey::ORM::Table.3 Manifying blib/man3/Fey::ORM::Exceptions.3 Manifying blib/man3/Fey::Meta::Class::Schema.3 Manifying blib/man3/Fey::Meta::Attribute::FromColumn.3 Manifying blib/man3/Fey::Object::Table.3 Manifying blib/man3/Fey::ORM::Policy.3 Manifying blib/man3/Fey::Meta::Class::Table.3 Manifying blib/man3/Fey::Object::Schema.3 Manifying blib/man3/Fey::Meta::FK.3 Manifying blib/man3/Fey::Meta::HasMany::ViaFK.3 Manifying blib/man3/Fey::Meta::Attribute::FromSelect.3 Manifying blib/man3/Fey::Meta::HasMany.3 Manifying blib/man3/Fey::Object::Iterator::FromArray.3 Manifying blib/man3/Fey::ORM::Role::Iterator.3 Manifying blib/man3/Fey::Meta::HasOne::ViaFK.3 DROLSKY/Fey-ORM-0.32.tar.gz make -- OK Prepending /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2/blib/arch /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2/blib/lib /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/arch /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/lib to PERL5LIB for 'test' Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 /export/home/fly1264/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/Object/*.t t/Object/Iterator/*.t t/Object/Iterator/FromSelect/*.t t/lib/*.t t/lib/Fey/*.t t/lib/Fey/ORM/*.t t/lib/Fey/ORM/Test/*.t t/Class/*.t t/Class/Policy.t ........................ ok 1 - The object isa Fey::Object::Policy ok 2 - has_one_namer returns expected value when called ok 3 - has_many_namer returns expected value ok 4 - policy has one transform ok 5 - date type column matches transform ok 6 - int type column does not match transform ok 7 - inflate returns expected date object ok 8 - deflate returns expected string ok 9 - found a transform for date column ok 10 - did not find a transform for int column ok 11 - policy object was set from policy-defining class ok 12 - policy object was set from an object 1..12 ok t/Class/Schema.t ........................ ok 1 - meta()->_has_schema() is true ok 2 - Schema() returns expected schema ok 3 - The object isa Fey::DBIManager ok 4 - SQLFactoryClass() is Fey::SQL ok 5 - Schema->isa('Fey::Object::Schema') ok 6 - ClassForSchema() return Schema as class name ok 7 - cannot associate the same schema with multiple classes 1..7 ok t/Class/Table-has_many.t ................ ok 1 - User->can('messages') ok 2 - User has one has_many relationship ok 3 - The object isa Fey::Meta::HasMany::ViaFK ok 4 - associated_class is User->meta() ok 5 - name is message ok 6 - table is User table object ok 7 - foreign_table is Message table object ok 8 - is_cached is false ok 9 - fk source table is User ok 10 - fk target table is Message ok 11 - associated_method is same as messages meta method ok 12 - iterator class is Fey::Object::Iterator::FromSelect ok 13 - order_by is undefined ok 14 - no has manies after calling remove_has_many ok 15 - no messages method after calling remove_has_many ok 16 - User has one has_many relationship ok 17 - is_cached is true ok 18 - iterator class is Fey::Object::Iterator::FromSelect::Caching ok 19 - found method for messages ok 20 - order_by is just message_id column ok 21 - Cannot declare a has_many relationship to a table with which we have no FK ok 22 - no exception declaring a self-referential has_many ok 23 - table without a schema passed to has_many() ok 24 - Message->can('child_message_users') ok 25 - Message has one has_many relationship ok 26 - The object isa Fey::Meta::HasMany::ViaSelect ok 27 - associated_class is Message->meta() ok 28 - name is message ok 29 - table is Message table object ok 30 - foreign_table is User table object ok 31 - is_cached is false ok 32 - associated_method is same as child_message_users meta method ok 33 - iterator class is Fey::Object::Iterator::FromSelect ok 34 - Message->can('child_message_users') ok 35 - found method for child_message_users ok 36 - exception is thrown if trying to make a has_many() when there is >1 fk between the two tables ok 37 - no error when specifying passing a disambiguating fk to has_many 1..37 ok t/Class/Table-has_one.t ................. ok 1 - Message->can('user') ok 2 - found attribute for user ok 3 - user attribute default is a coderef ok 4 - user attribute type constraint is Fey::Object::Table ok 5 - one has_one for Message class ok 6 - The object isa Fey::Meta::HasOne::ViaFK ok 7 - associated_class is Message->meta() ok 8 - name is user ok 9 - table is Message table object ok 10 - foreign_table is User table object ok 11 - is_cached is true ok 12 - allows_undef is false ok 13 - fk source table is Message ok 14 - fk target table is User ok 15 - associated_method is undef ok 16 - associated attribute is same as the one in the metaclass ok 17 - no has_ones after calling remove_has_one ok 18 - does not have a user attribute after calling remove_has_one ok 19 - user attribute type constraint is Maybe[Fey::Object::Table] ok 20 - one has_one for Message class ok 21 - allows_undef is true ok 22 - Message->can('my_user') ok 23 - Message->can('_clear_my_user') ok 24 - found attribute for my_user ok 25 - my_user attribute default is a coderef ok 26 - my_user attribute type constraint is Fey::Object::Table ok 27 - Message->can('user') ok 28 - no clearer for non-cached has_one ok 29 - Message does not have an attribute for user (but does have a user() method) ok 30 - one has_one for Message class ok 31 - associated_method matches user method in Message class ok 32 - Message->can('username') ok 33 - Message->can('email') ok 34 - Cannot declare a has_one relationship to a table with which we have no FK ok 35 - no exception declaring a self-referential has_one ok 36 - table without a schema passed to has_one() ok 37 - exception is thrown if trying to make a has_one() when there is >1 fk between the two tables ok 38 - no error when specifying passing a disambiguating fk to has_one ok 39 - fk matches the one passed to has_one ok 40 - Message->can('most_recent_child') ok 41 - found attribute for most_recent_child ok 42 - most_recent_child attribute default is a coderef ok 43 - most_recent_child attribute type constraint is Maybe[Fey::Object::Table] ok 44 - one has_one for Message class ok 45 - The object isa Fey::Meta::HasOne::ViaSelect ok 46 - name is most_recent_child ok 47 - allows_undef is true ok 48 - Message->can('most_recent_child') ok 49 - Message does not have a most_recent_child attribute, but does have a method for it 1..49 ok t/Class/Table.t ......................... ok 1 - cannot call has_table() before schema class is loaded ok 2 - cannot call has_table() more than once for a class ok 3 - cannot associate the same table with multiple classes ok 4 - tables passed to has_table() must have a schema ok 5 - tables passed to has_table() must have at least one key ok 6 - User->isa('Fey::Object::Table') ok 7 - User->can('Table') ok 8 - User->Table() returns User table ok 9 - Fey::Meta::Class::Table->TableForClass('User') returns User table ok 10 - Fey::Meta::Class::Table->ClassForTable('User') returns User class ok 11 - Fey::Meta::Class::Table->ClassForTable( 'User', 'Group' ) returns expected classes ok 12 - User->can('email') ok 13 - column for email meta-attribute matches column from table ok 14 - User->can('user_id') ok 15 - column for user_id meta-attribute matches column from table ok 16 - User->can('username') ok 17 - column for username meta-attribute matches column from table ok 18 - inflator for email attribute is a code ref ok 19 - User->can('email_raw') ok 20 - type for user_id is Int ok 21 - type for username is Str ok 22 - type for email is Str|Undef ok 23 - User has an inflator coderef for email ok 24 - User has a deflator coderef for email ok 25 - email_raw() returns a plain string ok 26 - email_raw = test@example.com ok 27 - The object isa Email ok 28 - inflated values are cached ok 29 - predicate for email is false after is cleared ok 30 - clearer also clears inflated value ok 31 - setting an inflated attribute clears the inflated value so it gets rebuilt ok 32 - cannot provide more than one inflator for a column ok 33 - cannot provide more than one deflator for a column ok 34 - cannot transform a nonexistent column ok 35 - Message has a deflator coderef for message ok 36 - Message has a deflator coderef for quality ok 37 - column attributes do not overwrite existing methods ok 38 - table for User2 class is User ok 39 - schema for User2 class table is Schema2 ok 40 - delegation for address was created ok 41 - address method return stringified email address 1..41 ok t/Object/Iterator/FromArray.t ........... ok 1 - index() is 0 before any data has been fetched ok 2 - The object isa User ok 3 - index() is 1 after first row has been fetched ok 4 - user_id = 1 ok 5 - username = autarch ok 6 - email = autarch@example.com ok 7 - index() is 2 after second row has been fetched ok 8 - user_id = 42 ok 9 - username = bubba ok 10 - email = bubba@example.com ok 11 - index() is 2 after attempt to fetch another row ok 12 - $user is undef when there are no more objects to fetch ok 13 - index() is 1 after reset and first row has been fetched ok 14 - user_id = 1 ok 15 - username = autarch ok 16 - email = autarch@example.com ok 17 - all() returns expected result ok 18 - next_as_hash() returns hash with one key ok 19 - found expected user via next_as_hash() ok 20 - all_as_hashes returns arrayref of hashes with expected keys ok 21 - found expected first user in result ok 22 - found expected second user in result ok 23 - remaining() returns expected result ok 24 - remaining_as_hashes returns arrayref of hashes with expected keys ok 25 - first user_id with bind params in sql object ok 26 - second user_id with bind params in sql object ok 27 - first user_id with explicit bind params ok 28 - second user_id with explicit bind params ok 29 - first user id is 1 ok 30 - first message id is 1 ok 31 - The object isa User ok 32 - all() returns expected set of objects ok 33 - first user id is 1 ok 34 - first message id is 1 ok 35 - all_as_hashes() returns expected set of objects ok 36 - message object is undefined ok 37 - user object is defined ok 38 - The object isa FakeUser ok 39 - user_id = 1 ok 40 - username = autarch ok 41 - email = autarch@example.com ok 42 - cannot call next_as_hash when iterating with FakeUser class ok 43 - cannot call remaining_as_hashes when iterating with FakeUser class ok 44 - cannot call all_as_hashes when iterating with FakeUser class 1..44 ok t/Object/Iterator/FromSelect.t .......... ok 1 - index() is 0 before any data has been fetched ok 2 - The object isa User ok 3 - index() is 1 after first row has been fetched ok 4 - user_id = 1 ok 5 - username = autarch ok 6 - email = autarch@example.com ok 7 - index() is 2 after second row has been fetched ok 8 - user_id = 42 ok 9 - username = bubba ok 10 - email = bubba@example.com ok 11 - index() is 2 after attempt to fetch another row ok 12 - $user is undef when there are no more objects to fetch ok 13 - index() is 1 after reset and first row has been fetched ok 14 - user_id = 1 ok 15 - username = autarch ok 16 - email = autarch@example.com ok 17 - all() returns expected result ok 18 - next_as_hash() returns hash with one key ok 19 - found expected user via next_as_hash() ok 20 - all_as_hashes returns arrayref of hashes with expected keys ok 21 - found expected first user in result ok 22 - found expected second user in result ok 23 - remaining() returns expected result ok 24 - remaining_as_hashes returns arrayref of hashes with expected keys ok 25 - first user_id with bind params in sql object ok 26 - second user_id with bind params in sql object ok 27 - first user_id with explicit bind params ok 28 - second user_id with explicit bind params ok 29 - first user id is 1 ok 30 - first message id is 1 ok 31 - The object isa User ok 32 - all() returns expected set of objects ok 33 - first user id is 1 ok 34 - first message id is 1 ok 35 - all_as_hashes() returns expected set of objects ok 36 - message object is undefined ok 37 - user object is defined ok 38 - The object isa FakeUser ok 39 - user_id = 1 ok 40 - username = autarch ok 41 - email = autarch@example.com ok 42 - cannot call next_as_hash when iterating with FakeUser class ok 43 - cannot call remaining_as_hashes when iterating with FakeUser class ok 44 - cannot call all_as_hashes when iterating with FakeUser class ok 45 - raw_row returns expected data ok 46 - raw_row returns expected data ok 47 - raw_row returns undef when iterator is exhausted ok 48 - cannot pass empty array for classes attribute ok 49 - classes attribute must contain Fey::Object subclasses ok 50 - cannot pass strings for classes attribute, must be a Fey::Object subclass 1..50 ok t/Object/Iterator/FromSelect/Caching.t .. ok 1 - index() is 0 before any data has been fetched ok 2 - The object isa User ok 3 - index() is 1 after first row has been fetched ok 4 - user_id = 1 ok 5 - username = autarch ok 6 - email = autarch@example.com ok 7 - index() is 2 after second row has been fetched ok 8 - user_id = 42 ok 9 - username = bubba ok 10 - email = bubba@example.com ok 11 - index() is 2 after attempt to fetch another row ok 12 - $user is undef when there are no more objects to fetch ok 13 - index() is 1 after reset and first row has been fetched ok 14 - user_id = 1 ok 15 - username = autarch ok 16 - email = autarch@example.com ok 17 - all() returns expected result ok 18 - next_as_hash() returns hash with one key ok 19 - found expected user via next_as_hash() ok 20 - all_as_hashes returns arrayref of hashes with expected keys ok 21 - found expected first user in result ok 22 - found expected second user in result ok 23 - remaining() returns expected result ok 24 - remaining_as_hashes returns arrayref of hashes with expected keys ok 25 - first user_id with bind params in sql object ok 26 - second user_id with bind params in sql object ok 27 - first user_id with explicit bind params ok 28 - second user_id with explicit bind params ok 29 - first user id is 1 ok 30 - first message id is 1 ok 31 - The object isa User ok 32 - all() returns expected set of objects ok 33 - first user id is 1 ok 34 - first message id is 1 ok 35 - all_as_hashes() returns expected set of objects ok 36 - message object is undefined ok 37 - user object is defined ok 38 - The object isa FakeUser ok 39 - user_id = 1 ok 40 - username = autarch ok 41 - email = autarch@example.com ok 42 - cannot call next_as_hash when iterating with FakeUser class ok 43 - cannot call remaining_as_hashes when iterating with FakeUser class ok 44 - cannot call all_as_hashes when iterating with FakeUser class ok 45 - raw_row returns expected data ok 46 - raw_row returns expected data ok 47 - raw_row returns undef when iterator is exhausted ok 48 - index() is 1 after reset and first row has been fetched ok 49 - user_id = 1 ok 50 - username = autarch ok 51 - email = autarch@example.com ok 52 - index() is 2 after second row has been fetched ok 53 - user_id = 42 ok 54 - username = bubba ok 55 - email = bubba@example.com ok 56 - index() is 2 after attempt to fetch another row ok 57 - $user is undef when there are no more objects to fetch 1..57 ok t/Object/Schema.t ....................... ok 1 - object cache is enabled in User after Schema->EnableObjectCaches() ok 2 - object cache is enabled in Message after Schema->EnableObjectCaches() ok 3 - object cache is disabled in User after Schema->DisableObjectCaches() ok 4 - object cache is disabled in Message after Schema->DisableObjectCaches() ok 5 - User has two unique objects in its cache ok 6 - Message has two unique objects in its cache ok 7 - User has no objects in its cache after Schema->ClearObjectCaches() ok 8 - Message has no objects in its cache after Schema->ClearObjectCaches() ok 9 - username of foo was inserted via RunInTransaction ok 10 - username of bar was not inserted via RunInTransaction because of rollback ok 11 - username of baz was inserted via nested RunInTransaction ok 12 - username of quux was not inserted via nested RunInTransaction because of rollback ok 13 - RunInTransaction returns value ok 14 - nested RunInTransaction returns value ok 15 - RunInTransaction respects calling context ok 16 - nested RunInTransaction respects calling context 1..16 ok t/Object/Table-cache.t .................. ok 1 - two objects for the same id are identical when the object cache is enabled ok 2 - two objects for the same id are identical when the object cache is enabled - one object created via hashref to new() ok 3 - two objects for the same id are not identical when the object cache is disabled ok 4 - two objects for the same id are not identical when the object cache is enabled but cleared between calls to new() ok 5 - two objects for the same id are identical when the object cache is enabled ok 6 - two objects for the same id are identical when the object cache is enabled - one object created via hashref to new() ok 7 - two objects for the same id are not identical when the object cache is disabled ok 8 - two objects for the same id are not identical when the object cache is enabled but cleared between calls to new() 1..8 ok t/Object/Table-has_many.t ............... ok 1 - messages() method returns iterator with expected message data ok 2 - child_messages() method returns iterator with expected message data ok 3 - messages() method returns iterator with expected message data, respecting order_by ok 4 - The object isa Fey::Object::Iterator::FromSelect::Caching ok 5 - cached has_many methods return a new iterator on each call ok 6 - first iterator ->next returns first message ok 7 - second iterator ->next returns first message (they do not share state) ok 8 - first iterator ->next returns second message ok 9 - first iterator ->next returns third message ok 10 - second iterator ->next returns second message (they do not share state) ok 11 - Can access a cloned iterator while looping over the original ok 12 - messages() method returns iterator with expected message data ok 13 - messages() method returns iterator with expected message data ok 14 - messages() method resets iterator with each call ok 15 - found two users from child_message_user() ok 16 - users are returned in expected order ok 17 - two objects do not share a single iterator 1..17 ok t/Object/Table-has_one.t ................ ok 1 - user() for parent message returns expected user object ok 2 - user() attribute is cached ok 3 - parent message has no parent itself ok 4 - parent_message() attribute created via has_one returns expected message ok 5 - user() for parent message returns expected user object ok 6 - user() attribute is not cached ok 7 - user() for parent message returns expected user object ok 8 - parent message has no parent itself ok 9 - parent_message() attribute created via has_one returns expected message ok 10 - most_recent_message() returns Message object isa Message ok 11 - message object is the most recently inserted message ok 12 - message belongs to the user 1..12 ok t/Object/Table-query-method.t ........... ok 1 - email_length meta-method isa Fey::Meta::Method::FromSelect ok 2 - select for uqery method is the expected SQL ok 3 - bind_params subroutine reference returns user_id ok 4 - user_ids meta-method isa Fey::Meta::Method::FromSelect ok 5 - select for method is the expected SQL ok 6 - method has no associated bind_params sub ref 1..6 ok t/Object/Table-select-attr.t ............ ok 1 - email_length accessor gets the right value ok 2 - user_ids returns an arrayref with the expected values ok 3 - email_length meta-attr isa Fey::Meta::Attribute::FromSelect ok 4 - select for attr is the expected SQL ok 5 - bind_params subroutine reference returns user_id ok 6 - user_ids meta-attr isa Fey::Meta::Attribute::FromSelect ok 7 - select for attr is the expected SQL ok 8 - attr has no associated bind_params sub ref 1..8 ok t/Object/Table.t ........................ 1..79 ok 1 - Count() finds two rows ok 2 - was able to load user where user_id = 1 ok 3 - username is set as side effect of calling _get_column_values() ok 4 - email is set as side effect of calling _get_column_values() ok 5 - calling User->new() twice with the same user_id returns two different objects ok 6 - username is fetched as needed ok 7 - email is set as side effect of calling username() ok 8 - nonexistent user_id to new() returns undef ok 9 - new() is not called when insert() is done in void context ok 10 - Count() is now 3 ok 11 - object returned from insert() has username = new2 ok 12 - object returned from insert() has a user id > 0 (fetched via last_insert_id()) ok 13 - Count() is now 4 ok 14 - literals are handled correctly in an insert ok 15 - got expected user when creating object via username ok 16 - error message when we cannot find a matching row in the dbms ok 17 - error message when we cannot find a matching row for any keys ok 18 - insert_many() does not alter its parameters ok 19 - two new users were inserted ok 20 - users were returned with expected data in the order they were provided ok 21 - email is not cleared when update value is a non-reference ok 22 - username = updated ok 23 - email = updated@example.com ok 24 - username is cleared when update value is a reference ok 25 - username = updated2 ok 26 - _load_from_dbms() is not called when _from_query is passed to the constructor ok 27 - data passed to constructor is available from object ok 28 - new() with _from_query requires the primary key ok 29 - new() with _from_query works when given a candidate key ok 30 - pk_values_list returns expected values ok 31 - pk_values_list returns expected values ok 32 - UserGroup row user_id == 1 ok 33 - UserGroup row group_id == 3 ok 34 - nonexistent rows do not overwrite $@ ok 35 - The object isa Email ok 36 - deflator intercepts Email object passed to update and turns it into a string ok 37 - check email in dbms after update with deflator ok 38 - deflator intercepts Email object passed to insert and turns it into a string ok 39 - check email in dbms after insert with deflator ok 40 - Count() finds two rows ok 41 - was able to load user where user_id = 1 ok 42 - username is set as side effect of calling _get_column_values() ok 43 - email is set as side effect of calling _get_column_values() ok 44 - calling User->new() twice with the same user_id returns two different objects ok 45 - username is fetched as needed ok 46 - email is set as side effect of calling username() ok 47 - nonexistent user_id to new() returns undef ok 48 - new() is not called when insert() is done in void context ok 49 - Count() is now 3 ok 50 - object returned from insert() has username = new2 ok 51 - object returned from insert() has a user id > 0 (fetched via last_insert_id()) ok 52 - Count() is now 4 ok 53 - literals are handled correctly in an insert ok 54 - got expected user when creating object via username ok 55 - error message when we cannot find a matching row in the dbms ok 56 - error message when we cannot find a matching row for any keys ok 57 - insert_many() does not alter its parameters ok 58 - two new users were inserted ok 59 - users were returned with expected data in the order they were provided ok 60 - email is not cleared when update value is a non-reference ok 61 - username = updated ok 62 - email = updated@example.com ok 63 - username is cleared when update value is a reference ok 64 - username = updated2 ok 65 - _load_from_dbms() is not called when _from_query is passed to the constructor ok 66 - data passed to constructor is available from object ok 67 - new() with _from_query requires the primary key ok 68 - new() with _from_query works when given a candidate key ok 69 - pk_values_list returns expected values ok 70 - pk_values_list returns expected values ok 71 - UserGroup row user_id == 1 ok 72 - UserGroup row group_id == 3 ok 73 - nonexistent rows do not overwrite $@ ok 74 - The object isa Email ok 75 - deflator intercepts Email object passed to update and turns it into a string ok 76 - check email in dbms after update with deflator ok 77 - deflator intercepts Email object passed to insert and turns it into a string ok 78 - check email in dbms after insert with deflator ok 79 - after delete() user is no longer in dbms ok All tests successful. Files=15, Tests=443, 75 wallclock secs ( 0.34 usr 0.20 sys + 70.56 cusr 3.61 csys = 74.71 CPU) Result: PASS DROLSKY/Fey-ORM-0.32.tar.gz make test TEST_VERBOSE=1 -- OK Dave Rolsky <autarch@urth.org> A Fey-based ORM >>> (cd /export/home/fly1264/var/cpan/build/Fey-ORM-0.32-FlBCDT && tar cvf - Fey-ORM-0.32.ppd blib) | gzip -c >/export/home/fly1264/var/REPO/D/DR/DROLSKY/Fey-ORM-0.32.tar.gz Fey-ORM-0.32.ppd blib/ blib/lib/ blib/lib/Fey/ blib/lib/Fey/Meta/ blib/lib/Fey/Meta/HasMany/ blib/lib/Fey/Meta/HasMany/ViaSelect.pm blib/lib/Fey/Meta/HasMany/ViaFK.pm blib/lib/Fey/Meta/HasOne/ blib/lib/Fey/Meta/HasOne/ViaSelect.pm blib/lib/Fey/Meta/HasOne/ViaFK.pm blib/lib/Fey/Meta/Method/ blib/lib/Fey/Meta/Method/FromSelect.pm blib/lib/Fey/Meta/Method/Constructor.pm blib/lib/Fey/Meta/Role/ blib/lib/Fey/Meta/Role/FromSelect.pm blib/lib/Fey/Meta/HasOne.pm blib/lib/Fey/Meta/Attribute/ blib/lib/Fey/Meta/Attribute/FromInflator.pm blib/lib/Fey/Meta/Attribute/FromColumn.pm blib/lib/Fey/Meta/Attribute/FromSelect.pm blib/lib/Fey/Meta/Class/ blib/lib/Fey/Meta/Class/Schema.pm blib/lib/Fey/Meta/Class/Table.pm blib/lib/Fey/Meta/FK.pm blib/lib/Fey/Meta/HasMany.pm blib/lib/Fey/ORM/ blib/lib/Fey/ORM/Manual.pod blib/lib/Fey/ORM/Manual/ blib/lib/Fey/ORM/Manual/Intro.pod blib/lib/Fey/ORM/Schema.pm blib/lib/Fey/ORM/Exceptions.pm blib/lib/Fey/ORM/Table.pm blib/lib/Fey/ORM/Policy.pm blib/lib/Fey/ORM/Role/ blib/lib/Fey/ORM/Role/Iterator.pm blib/lib/Fey/Object/ blib/lib/Fey/Object/Iterator/ blib/lib/Fey/Object/Iterator/FromSelect/ blib/lib/Fey/Object/Iterator/FromSelect/Caching.pm blib/lib/Fey/Object/Iterator/FromSelect.pm blib/lib/Fey/Object/Iterator/FromArray.pm blib/lib/Fey/Object/Policy.pm blib/lib/Fey/Object/Table.pm blib/lib/Fey/Object/Schema.pm blib/lib/Fey/ORM.pm blib/lib/Fey/Hash/ blib/lib/Fey/Hash/ColumnsKey.pm blib/man3/ blib/man3/Fey::Meta::HasMany::ViaSelect.3 blib/man3/Fey::Object::Iterator::FromSelect::Caching.3 blib/man3/Fey::ORM::Manual::Intro.3 blib/man3/Fey::ORM::Manual.3 blib/man3/Fey::Object::Policy.3 blib/man3/Fey::Meta::HasOne::ViaSelect.3 blib/man3/Fey::Object::Iterator::FromSelect.3 blib/man3/Fey::Meta::Method::FromSelect.3 blib/man3/Fey::ORM::Schema.3 blib/man3/Fey::ORM.3 blib/man3/Fey::Hash::ColumnsKey.3 blib/man3/Fey::Meta::HasOne.3 blib/man3/Fey::Meta::Attribute::FromInflator.3 blib/man3/Fey::ORM::Table.3 blib/man3/Fey::ORM::Exceptions.3 blib/man3/Fey::Meta::Class::Schema.3 blib/man3/Fey::Meta::Attribute::FromColumn.3 blib/man3/Fey::Object::Table.3 blib/man3/Fey::ORM::Policy.3 blib/man3/Fey::Meta::Class::Table.3 blib/man3/Fey::Object::Schema.3 blib/man3/Fey::Meta::FK.3 blib/man3/Fey::Meta::HasMany::ViaFK.3 blib/man3/Fey::Meta::Attribute::FromSelect.3 blib/man3/Fey::Meta::HasMany.3 blib/man3/Fey::Object::Iterator::FromArray.3 blib/man3/Fey::ORM::Role::Iterator.3 blib/man3/Fey::Meta::HasOne::ViaFK.3 >>> mv /export/home/fly1264/var/cpan/build/Fey-ORM-0.32-FlBCDT/Fey-ORM-0.32.ppd /export/home/fly1264/var/REPO/D/DR/DROLSKY Running make for D/DR/DROLSKY/Fey-ORM-Mock-0.04.tar.gz Prepending /export/home/fly1264/var/cpan/build/Fey-ORM-0.32-FlBCDT/blib/arch /export/home/fly1264/var/cpan/build/Fey-ORM-0.32-FlBCDT/blib/lib /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2/blib/arch /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2/blib/lib /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/arch /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/lib to PERL5LIB for 'get' Has already been unwrapped into directory /export/home/fly1264/var/cpan/build/Fey-ORM-Mock-0.04-iK8CyH Prepending /export/home/fly1264/var/cpan/build/Fey-ORM-0.32-FlBCDT/blib/arch /export/home/fly1264/var/cpan/build/Fey-ORM-0.32-FlBCDT/blib/lib /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2/blib/arch /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2/blib/lib /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/arch /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/lib to PERL5LIB for 'make' CPAN.pm: Going to build D/DR/DROLSKY/Fey-ORM-Mock-0.04.tar.gz >>> make cp lib/Fey/ORM/Mock/Action/Delete.pm blib/lib/Fey/ORM/Mock/Action/Delete.pm cp lib/Fey/ORM/Mock/Action/Insert.pm blib/lib/Fey/ORM/Mock/Action/Insert.pm cp lib/Fey/Object/Mock/Table.pm blib/lib/Fey/Object/Mock/Table.pm cp lib/Fey/ORM/Mock/Action/Update.pm blib/lib/Fey/ORM/Mock/Action/Update.pm cp lib/Fey/ORM/Mock/Seeder.pm blib/lib/Fey/ORM/Mock/Seeder.pm cp lib/Fey/ORM/Mock/Action.pm blib/lib/Fey/ORM/Mock/Action.pm cp lib/Fey/ORM/Mock/Recorder.pm blib/lib/Fey/ORM/Mock/Recorder.pm cp lib/Fey/ORM/Mock.pm blib/lib/Fey/ORM/Mock.pm cp lib/Fey/Object/Mock/Schema.pm blib/lib/Fey/Object/Mock/Schema.pm Manifying blib/man3/Fey::ORM::Mock::Action::Insert.3 Manifying blib/man3/Fey::ORM::Mock::Action::Delete.3 Manifying blib/man3/Fey::Object::Mock::Table.3 Manifying blib/man3/Fey::ORM::Mock::Action::Update.3 Manifying blib/man3/Fey::ORM::Mock::Seeder.3 Manifying blib/man3/Fey::ORM::Mock::Action.3 Manifying blib/man3/Fey::ORM::Mock::Recorder.3 Manifying blib/man3/Fey::ORM::Mock.3 Manifying blib/man3/Fey::Object::Mock::Schema.3 DROLSKY/Fey-ORM-Mock-0.04.tar.gz make -- OK Prepending /export/home/fly1264/var/cpan/build/Fey-ORM-0.32-FlBCDT/blib/arch /export/home/fly1264/var/cpan/build/Fey-ORM-0.32-FlBCDT/blib/lib /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2/blib/arch /export/home/fly1264/var/cpan/build/Fey-DBIManager-0.11-_Ygtc2/blib/lib /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/arch /export/home/fly1264/var/cpan/build/DBD-Mock-1.39-Kbka_o/blib/lib to PERL5LIB for 'test' Running make test >>> make test TEST_VERBOSE=1 PERL_DL_NONLAZY=1 /export/home/fly1264/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/Action.t .. ok 1 - is_insert is true for insert ok 2 - is_update is false for insert ok 3 - is_delete is false for insert ok 4 - is_insert is flase for update ok 5 - is_update is true for update ok 6 - is_delete is false for update ok 7 - is_insert is flase for delete ok 8 - is_update is false for delete ok 9 - is_delete is true for delete 1..9 ok t/Mock.t .... ok 1 - after mock_schema() Test::Schema inherits from Fey::Object::Mock::Schema ok 2 - after mock_schema() User inherits from Fey::Object::Mock::Table ok 3 - after mock_schema() Message inherits from Fey::Object::Mock::Table ok 4 - after mock_schema() Group inherits from Fey::Object::Mock::Table ok 5 - after mock_schema() UserGroup inherits from Fey::Object::Mock::Table ok 6 - Test::Schema->Recorder() returns a new recorder object isa Fey::ORM::Mock::Recorder ok 7 - recorder for mock object and schema class are identical ok 8 - DBI handle is for DBD::Mock ok 9 - mocked insert() return an object isa User ok 10 - no actions for the Message class ok 11 - one action for the User class ok 12 - action type is insert ok 13 - action class is User ok 14 - action values contains expected data ok 15 - no actions for the User class after clearing ok 16 - method modifiers are reapplied properly ok 17 - one action for the Message class ok 18 - two actions for the User class ok 19 - first action type is insert ok 20 - second action type is update ok 21 - update values contains expected data ok 22 - update pk contains expected data ok 23 - three actions for the User class after deleting user ok 24 - third action type is delete ok 25 - delete pk contains expected data ok 26 - no actions for the Message class after clear_all ok 27 - no actions for the User class after clear_all ok 28 - got constructor value for class ok 29 - also got seeded values for class ok 30 - got constructor value for class ok 31 - also got seeded values for class ok 32 - cannot get a new user once seeder is exhausted 1..32 ok All tests successful. Files=2, Tests=41, 7 wallclock secs ( 0.13 usr 0.04 sys + 6.08 cusr 0.33 csys = 6.58 CPU) Result: PASS DROLSKY/Fey-ORM-Mock-0.04.tar.gz make test TEST_VERBOSE=1 -- OK Dave Rolsky <autarch@urth.org> Mock Fey::ORM based classes so you can test without a DBMS >>> (cd /export/home/fly1264/var/cpan/build/Fey-ORM-Mock-0.04-iK8CyH && tar cvf - Fey-ORM-Mock-0.04.ppd blib) | gzip -c >/export/home/fly1264/var/REPO/D/DR/DROLSKY/Fey-ORM-Mock-0.04.tar.gz Fey-ORM-Mock-0.04.ppd blib/ blib/lib/ blib/lib/Fey/ blib/lib/Fey/ORM/ blib/lib/Fey/ORM/Mock/ blib/lib/Fey/ORM/Mock/Action/ blib/lib/Fey/ORM/Mock/Action/Delete.pm blib/lib/Fey/ORM/Mock/Action/Insert.pm blib/lib/Fey/ORM/Mock/Action/Update.pm blib/lib/Fey/ORM/Mock/Seeder.pm blib/lib/Fey/ORM/Mock/Action.pm blib/lib/Fey/ORM/Mock/Recorder.pm blib/lib/Fey/ORM/Mock.pm blib/lib/Fey/Object/ blib/lib/Fey/Object/Mock/ blib/lib/Fey/Object/Mock/Table.pm blib/lib/Fey/Object/Mock/Schema.pm blib/man3/ blib/man3/Fey::ORM::Mock::Action::Insert.3 blib/man3/Fey::ORM::Mock::Action::Delete.3 blib/man3/Fey::Object::Mock::Table.3 blib/man3/Fey::ORM::Mock::Action::Update.3 blib/man3/Fey::ORM::Mock::Seeder.3 blib/man3/Fey::ORM::Mock::Action.3 blib/man3/Fey::ORM::Mock::Recorder.3 blib/man3/Fey::ORM::Mock.3 blib/man3/Fey::Object::Mock::Schema.3 >>> mv /export/home/fly1264/var/cpan/build/Fey-ORM-Mock-0.04-iK8CyH/Fey-ORM-Mock-0.04.ppd /export/home/fly1264/var/REPO/D/DR/DROLSKY Finished 2010-04-24T14:26:30