[Dbix-class] dbix-class fails installation test

Jerry Kaidor jerry at tr2.com
Sat Jul 19 23:59:45 BST 2008


Hello,
 It turns out that the failing test(s) is(are) in 33storage_reconnect.t.
The first two tests pass, and after that, there;s a test where it yanks
the db file out from under SQLite, creates a null one, chmod's it so
SQLite can't write it, and tests to see that SQLite fails.  Then it
tests to see if SQLite can reconnect when the original db file is
put back.

   This seems mighty contrived to me, especially since I have a functioning
mysql server on the box, and plan to use it.  I'm just going to install
this package and move on.  Unless somebody has a fix....?

                  - Jerry Kaidor ( jerry at tr2.com )


...

> Hello,
>
>    I was trying to install dbix-class in order to complete the Catalyst
> Tutorial.  Sucked it in via cpan, and there are some test failures.
> Mighty
> Google has failed to find a quick or obvious fix, although similar errors
> do
> show up for other people.
>
>    I am using a Slackware 12.1 system, perl 5.10, mysql 5.0.5.
> Here is the text of the first errors - or rather, the only text that looks
> "error like", although the word "fail" does not occur ( it does occur
> later
> in the text stream ( "failed 3/5 subtests" ).
>
>
> -------------
>
> t/32connect_code_ref.......................DBI::db=HASH(0x84abfd8)->disconnect
> invalidates 22 active statement handles (either destroy statement handles
> or
> call finish on them before disconnecting) at
> /root/.cpan/build/DBIx-Class-0.08010-X_fQOm/blib/lib/DBIx/Class/Storage/DBI.pm
> line 691.
> closing dbh with active statement handles at
> /root/.cpan/build/DBIx-Class-0.08010-X_fQOm/blib/lib/DBIx/Class/Storage/DBI.pm
> line 691.
> t/32connect_code_ref.......................ok
> t/33storage_reconnect......................1/5
> DBI::db=HASH(0x84b6158)->disconnect invalidates 22 active statement
> handles
> (either destroy statement handles or call finish on them before
> disconnecting) at t/33storage_reconnect.t line 23.
> closing dbh with active statement handles at t/33storage_reconnect.t line
> 23.
> ----------------
>
> And here is the summary:
>
> ---------- snip -----------
> Test Summary Report
> -------------------
> t/33storage_reconnect                  (Wstat: 11 Tests: 2 Failed: 0)
>   Parse errors: Bad plan.  You planned 5 tests but ran 2.
> t/81transactions                       (Wstat: 0 Tests: 67 Failed: 0)
>   TODO passed:   55, 59, 61-65
> Files=106, Tests=1967, 41 wallclock secs ( 0.57 usr  0.05 sys + 38.23 cusr
> 2.32 csys = 41.17 CPU)
> Result: FAIL
> Failed 1/106 test programs. 0/1967 subtests failed.
> make: *** [test_dynamic] Error 255
> ------------ endsnip -----------------
>
> Could it be that what it's REALLY complaining about is just the "Bad
> Plan"?
> and the messages about invalidating active statement handles are just a
> bit
> of programming advice?  If so, I suppose I could force cpan to install
> the thing.  But I don't want to do something half-baked that I will forget
> about later and which will lead to subtle and time-consuming bugs in
> production code....
>
> Thanks in advance,
>
>                              - Jerry Kaidor ( jerry at tr2.com )
>
>
>
>
> Here Follows the complete text of the test:
>
> ------------- snip ----------------------
> PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e"
> "test_harness(0, 'inc', 'blib/lib'
> t/02pod....................................ok
> t/03podcoverage............................skipped: set TEST_POD to enable
> this test
> t/04dont_break_c3..........................ok
> t/05components.............................ok
> t/100populate..............................ok
> t/101populate_rs...........................ok
> t/18inserterror............................Name
> "DBD::SQLite::sqlite_version" used only once: possible
> ok
> t/19quotes.................................Name
> "DBD::SQLite::sqlite_version" used only once: possible
> # Testing against SQLite 3.5.6
> ok
> t/19quotes_newstyle........................Name
> "DBD::SQLite::sqlite_version" used only once: possible
> # Testing against SQLite 3.5.6
> ok
> t/20setuperrors............................ok
> t/26dumper.................................skipped: Set
> $ENV{DATA_DUMPER_TEST} to run this test
> t/30dbicplain..............................ok
> t/31stats..................................Name
> "DBD::SQLite::sqlite_version" used only once: possible
> ok
> t/32connect_code_ref.......................DBI::db=HASH(0x84abfd8)->disconnect
> invalidates 22 active st
> closing dbh with active statement handles at
> /root/.cpan/build/DBIx-Class-0.08010-X_fQOm/blib/lib/DBIx/
> ok
> t/33storage_reconnect......................DBI::db=HASH(0x84b6158)->disconnect
> invalidates 22 active st
> closing dbh with active statement handles at t/33storage_reconnect.t line
> 23.
>  Failed 3/5 subtests
> t/34exception_action.......................ok
> t/35disable_sth_caching....................ok
> t/36datetime...............................skipped: Requires
> DateTime::Format::MySQL
> t/39load_namespaces_1......................ok
> t/39load_namespaces_2......................ok
> t/39load_namespaces_3......................ok
> t/39load_namespaces_4......................ok
> t/40resultsetmanager.......................ok
> t/41orrible................................ok
> t/42toplimit...............................ok
> t/46where_attribute........................ok
> t/47bind_attribute.........................Name
> "DBD::SQLite::sqlite_version" used only once: possible
> Use of uninitialized value in subroutine entry at
> /root/.cpan/build/DBIx-Class-0.08010-X_fQOm/blib/lib/
> ok
> t/50fork...................................skipped: Set
> $ENV{DBICTEST_FORK_STRESS} to run this test
> t/51threads................................skipped: Your perl does not
> support ithreads
> t/52cycle..................................skipped: leak test needs
> Test::Memory::Cycle
> t/53delete_related.........................ok
> t/54taint..................................ok
> t/55storage_stress.........................skipped: Set
> $ENV{DBICTEST_STORAGE_STRESS} to run this test
> t/60core...................................# DBICTest::Event
> ok
> t/61findnot................................ok
> t/63register_class.........................ok
> t/64db.....................................ok
> t/65multipk................................ok
> t/66relationship...........................ok
> t/67pager..................................ok
> t/68inflate................................skipped: Need DateTime for
> inflation tests
> t/68inflate_has_a..........................skipped: Need DateTime for
> inflation tests
> t/68inflate_resultclass_hashrefinflator....ok
> t/68inflate_serialize......................ok
> t/69update.................................Name
> "DBD::SQLite::sqlite_version" used only once: possible
> ok
> t/70auto...................................ok
> t/71mysql..................................skipped: Set
> $ENV{DBICTEST_MYSQL_DSN}, _USER and _PASS to ru
> t/72pg.....................................skipped: Set
> $ENV{DBICTEST_PG_DSN}, _USER and _PASS to run t
> t/73oracle.................................skipped: Set
> $ENV{DBICTEST_ORA_DSN}, _USER and _PASS to run
> t/73oracle_inflate.........................skipped: needs DateTime and
> DateTime::Format::Oracle for tes
> t/745db2...................................skipped: Set
> $ENV{DBICTEST_DB2_DSN}, _USER and _PASS to run
> t/746db2_400...............................skipped: Set
> $ENV{DBICTEST_DB2_400_DSN}, _USER and _PASS to
> t/746mssql.................................skipped: Set
> $ENV{DBICTEST_MSSQL_ODBC_DSN}, _USER and _PASS
> t/74mssql..................................skipped: Set
> $ENV{DBICTEST_MSSQL_DSN}, _USER and _PASS to ru
> t/75limit..................................Name
> "DBD::SQLite::sqlite_version" used only once: possible
> ok
> t/76joins..................................Name
> "DBD::SQLite::sqlite_version" used only once: possible
> ok
> t/77join_count.............................ok
> t/78self_referencial.......................ok
> t/79aliasing...............................ok
> t/80unique.................................ok
> t/81transactions...........................Issuing rollback() for database
> handle being DESTROY'd witho
> Issuing rollback() for database handle being DESTROY'd without explicit
> disconnect() at t/81transaction
> t/82cascade_copy...........................ok
> t/83cache..................................ok
> t/84serialize..............................ok
> t/85utf8...................................ok
> t/86might_have.............................ok
> t/86sqlt...................................skipped: SQL::Translator
> required
> t/87ordered................................ok
> t/88result_set_column......................ok
> t/89dbicadmin..............................ok
> t/89inflate_datetime.......................skipped: Need
> DateTime::Format::MySQL for inflation tests
> t/90ensure_class_loaded....................ok
> t/90join_torture...........................ok
> t/91debug..................................ok
> t/91merge_attr.............................ok
> t/92storage................................ok
> t/92storage_on_connect_do..................ok
> t/93nobindvars.............................skipped: Set
> $ENV{DBICTEST_MYSQL_DSN}, _USER and _PASS to ru
> t/93single_accessor_object.................ok
> t/94pk_mutation............................ok
> t/94versioning.............................skipped: needs DBD::SQLite and
> SQL::Translator 0.09 for test
> t/95sql_maker_quote........................Name
> "DBD::SQLite::sqlite_version" used only once: possible
> ok
> t/96file_column............................ok
> t/96multi_create...........................ok
> t/97result_class...........................ok
> t/bindtype_columns.........................skipped: Set
> $ENV{DBICTEST_PG_DSN}, _USER and _PASS to run t
> t/cdbi-sweet-t/08pager.....................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/01-columns........................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/02-Film...........................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/03-subclassing....................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/04-lazy...........................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/06-hasa...........................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/09-has_many.......................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/11-triggers.......................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/12-filter.........................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/13-constraint.....................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/14-might_have.....................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/15-accessor.......................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/16-reserved.......................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/18-has_a..........................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/19-set_sql........................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/21-iterator.......................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/22-self_referential...............skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/30-pager..........................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/cdbi-t/98-failure........................skipped: Class::Trigger and
> DBIx::ContextualFetch required
> t/resultset_class..........................ok
>
> Test Summary Report
> -------------------
> t/33storage_reconnect                  (Wstat: 11 Tests: 2 Failed: 0)
>   Parse errors: Bad plan.  You planned 5 tests but ran 2.
> t/81transactions                       (Wstat: 0 Tests: 67 Failed: 0)
>   TODO passed:   55, 59, 61-65
> Files=106, Tests=1967, 41 wallclock secs ( 0.56 usr  0.05 sys + 38.14 cusr
>  2.42 csys = 41.17 CPU)
> Result: FAIL
> Failed 1/106 test programs. 0/1967 subtests failed.
> make: *** [test_dynamic] Error 255
>
> ------------------- endsnip ---------------------------
>
>
>
>
>
>
>
> _______________________________________________
> List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
> IRC: irc.perl.org#dbix-class
> SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
> Searchable Archive:
> http://www.grokbase.com/group/dbix-class@lists.rawmode.org
>





More information about the DBIx-Class mailing list