GrandFather has asked for the wisdom of the Perl Monks concerning the following question:
I am writing a test suite for some code I'm currently working on and found a nasty interaction between DBI and Test::More. The following sample test:
use strict; use warnings; use Test::More qw(no_plan); use DBI; print "Test::More::VERSION: $Test::More::VERSION\n"; print "DBI::VERSION: $DBI::VERSION\n"; print "Perl version: ", join ('.', unpack('C3', $^V)), "\n"; my $dbh = DBI->connect ("dbi:SQLite:delme.SQLite", '', ''); $dbh->do ("CREATE TABLE IF NOT EXISTS test (id INTEGER PRIMARY KEY NOT + NULL, name VARCHAR(20))"); my $stmt = "SELECT ALL * FROM test"; my $sth = $dbh->prepare ($stmt); $sth->execute (); my $result = $sth->fetchall_hashref ('id'); ok (1, 'after fetchall_hashref'); $sth = 0; $dbh->disconnect ();
under AS Perl on XP prints:
Test::More::VERSION: 0.47 DBI::VERSION: 1.52 Perl version: 5.8.4 Attempt to free unreferenced scalar: SV 0x219387c at C:/Perl/lib/Test/ +Builder.pm line 313. ok 1 - after fetchall_hashref 1..1
(The "Attempt ..." line is sent to stderr btw.) Is this something I am doing wrong or is it showing up a bug in either DBI or Test::More? If a bug, is there a work around for it?
Update: updating to AS Perl 5.8.8 fixes it:
Test::More::VERSION: 0.62 DBI::VERSION: 1.52 Perl version: 5.8.8 ok 1 - after fetchall_hashref 1..1
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Nastyness between DBI and Test::More
by varian (Chaplain) on Apr 21, 2007 at 06:10 UTC | |
|
Re: Nastyness between DBI and Test::More
by bobf (Monsignor) on Apr 21, 2007 at 05:57 UTC | |
|
Re: Nastyness between DBI and Test::More
by wfsp (Abbot) on Apr 21, 2007 at 06:30 UTC | |
|
Re: Nastyness between DBI and Test::More
by jZed (Prior) on Apr 21, 2007 at 15:45 UTC | |
by GrandFather (Saint) on Apr 21, 2007 at 23:34 UTC | |
by jZed (Prior) on Apr 22, 2007 at 00:40 UTC | |
|
Re: Nastyness between DBI and Test::More
by naikonta (Curate) on Apr 21, 2007 at 13:47 UTC |