[Dbix-class] Re: Failed test when installing DBIx::Class on windows using strawberry perl

Ash Berlin ash_cpan at firemirror.com
Thu May 29 11:14:30 BST 2008


On 29 May 2008, at 07:59, Ali M. wrote:

> Sorry for the delay :|
>
>
> PS C:\strawberry\cpan\build> cd DBIx-Class-0.08010-pRyFQc
> PS C:\strawberry\cpan\build\DBIx-Class-0.08010-pRyFQc> prove -lv
> t/81transactions.t
> t/81transactions......
> 1..67
> ok 1 - can't call txn_do without storage
> ok 2 - $coderef parameter check ok
> ok 3 - txn depth starts at 0
> ok 4 - successful txn added 5 cds
> ok 5 - new CD 1 year correct
> ok 6 - new CD 2 year correct
> ok 7 - new CD 3 year correct
> ok 8 - new CD 4 year correct
> ok 9 - new CD 5 year correct
> ok 10 - txn depth has been reset
> ok 11 - txn depth starts at 0
> ok 12 - added 5 CDs and returned in list context
> ok 13 - new CD 6 year correct
> ok 14 - new CD 7 year correct
> ok 15 - new CD 8 year correct
> ok 16 - new CD 9 year correct
> ok 17 - new CD 10 year correct
> ok 18 - txn depth has been reset
> ok 19 - txn depth starts at 0
> ok 20 - nested txn_do succeeded
> ok 21 - nested txn_do CD1 year ok
> ok 22 - nested txn_do CD2 year ok
> ok 23 - nested txn_do CD3 year ok
> ok 24 - nested txn_do CD4 year ok
> ok 25 - nested txn_do CD5 year ok
> ok 26 - nested txn_do CD6 year ok
> ok 27 - nested txn_do CD7 year ok
> ok 28 - nested txn_do CD8 year ok
> ok 29 - nested txn_do CD9 year ok
> ok 30 - nested txn_do CD10 year ok
> ok 31 - nested txn_do added all CDs
> ok 32 - txn depth has been reset
> ok 33 - txn depth starts at 0
> ok 34 - failed txn_do threw an exception
> ok 35 - failed txn_do didn't change the cds table
> ok 36 - txn depth has been reset
> ok 37 - txn depth starts at 0
> ok 38 - failed txn_do threw an exception
> ok 39 - failed txn_do didn't change the cds table
> ok 40 - txn depth has been reset
> ok 41 - txn depth starts at 0
> ok 42 - failed txn_do with a failed txn_rollback threw a rollback  
> exception
> ok 43 - failed txn_do with a failed txn_rollback included the  
> original exception
> ok 44 - failed txn_do with a failed txn_rollback changed the cds table
> isa DBICTest::CD
> ok 45 - deleted the failed txn's cd
> ok 46 - txn depth starts at 0
> ok 47 - nested failed txn_do threw exception
> ok 48 - failed txn_do didn't add first txn's cd 1
> ok 49 - failed txn_do didn't add first txn's cd 2
> ok 50 - failed txn_do didn't add first txn's cd 3
> ok 51 - failed txn_do didn't add first txn's cd 4
> ok 52 - failed txn_do didn't add first txn's cd 5
> ok 53 - failed txn_do didn't add failed txn's cd
> Issuing rollback() for database handle being DESTROY'd without
> explicit disconnect() at t/81transactions.t line 232.
> ok 54 - Pre-connection nested transactions.
> DBIx::Class::Storage::DBI::__ANON__(): DBI Exception: DBD::SQLite::db
> do failed: table employee already exists(1) at dbd
> imp.c line 271 [for Statement "
> --
> -- Table: employee
> --
> CREATE TABLE employee (
>  employee_id INTEGER PRIMARY KEY NOT NULL,
>  position integer NOT NULL,
>  group_id integer,
>  group_id_2 integer,
>  name varchar(100)
> )"] at t/lib/DBICTest.pm line 109
> # Looks like you planned 67 tests but only ran 54.
> # Looks like your test died just after 54.
> Dubious, test returned 255 (wstat 65280, 0xff00)
> Failed 13/67 subtests
>
> Test Summary Report
> -------------------
> t/81transactions.t (Wstat: 65280 Tests: 54 Failed: 0)
>  Non-zero exit status: 255
>  Parse errors: Bad plan.  You planned 67 tests but ran 54.
> Files=1, Tests=54,  6 wallclock secs ( 0.02 usr +  0.00 sys =  0.02  
> CPU)
> Result: FAIL
> PS C:\strawberry\cpan\build\DBIx-Class-0.08010-pRyFQc>

Huh. I think i might know whats causing it.

On win32, you can't delete a file with open handles, where as on any  
sane nix you can.

The 'Issuing rollback() for database handle being DESTROY'd without'  
could imply that we are trying to create a 2nd sqldb overthe top of  
the first one while the first one is still open...?

(I've not looked at the test file yet, just wild hypothothising)

-ash



More information about the DBIx-Class mailing list