Author: REHSACK
Date: Fri May 7 07:48:25 2010
New Revision: 13961
Modified:
dbi/trunk/Makefile.PL
dbi/trunk/lib/DBI/DBD.pm
dbi/trunk/t/50dbm.t
dbi/trunk/t/85gofer.t
Log:
enable DBD::DBM and DBD::Gofer are tested with SQL::Statement (when
available) and DBI::SQL::Nano
Modified: dbi/trunk/Makefile.PL
==============================================================================
--- dbi/trunk/Makefile.PL (original)
+++ dbi/trunk/Makefile.PL Fri May 7 07:48:25 2010
@@ -159,6 +159,7 @@
WriteMakefile(
dbd_edit_mm_attribs(\%opts, {
create_pp_tests => 1,
+ create_nano_tests => 1,
})
);
# WriteMakefile call is last thing executed
Modified: dbi/trunk/lib/DBI/DBD.pm
==============================================================================
--- dbi/trunk/lib/DBI/DBD.pm (original)
+++ dbi/trunk/lib/DBI/DBD.pm Fri May 7 07:48:25 2010
@@ -3320,31 +3320,41 @@
if @_;
_inst_checks();
+ # what can be done
+ my %test_variants = (
+ p => { name => "DBI::PurePerl",
+ match => qr/^\d/,
+ add => [ '$ENV{DBI_PUREPERL} = 2' ],
+ },
+ g => { name => "DBD::Gofer",
+ match => qr/^\d/,
+ add => [ q{$ENV{DBI_AUTOPROXY} = 'dbi:Gofer:transport=null;policy=pedantic'} ],
+ },
+ xgp => { name => "PurePerl & Gofer",
+ match => qr/^\d/,
+ add => [ q{$ENV{DBI_PUREPERL} = 2; $ENV{DBI_AUTOPROXY} = 'dbi:Gofer:transport=null;policy=pedantic'} ],
+ },
+ n => { name => "DBI::SQL::Nano",
+ match => qr/^(50dbm|85gofer)\.t$/,
+ add => [ q{$ENV{DBI_SQL_NANO} = 1; # force use of DBI::SQL::Nano} ],
+ },
+ # mx => { name => "DBD::Multiplex",
+ # add => [ q{local $ENV{DBI_AUTOPROXY} = 'dbi:Multiplex:';} ],
+ # }
+ # px => { name => "DBD::Proxy",
+ # need mechanism for starting/stopping the proxy server
+ # add => [ q{local $ENV{DBI_AUTOPROXY} = 'dbi:Proxy:XXX';} ],
+ # }
+ );
+
# decide what needs doing
+ $dbd_attr->{create_pp_tests} or delete @test_variants{'p','q','xqp'};
+ $dbd_attr->{create_nano_tests} or delete $test_variants{n};
# do whatever needs doing
- if ($dbd_attr->{create_pp_tests}) {
+ if( keys %test_variants ) {
# XXX need to convert this to work within the generated Makefile
# so 'make' creates them and 'make clean' deletes them
- my %test_variants = (
- p => { name => "DBI::PurePerl",
- add => [ '$ENV{DBI_PUREPERL} = 2' ],
- },
- g => { name => "DBD::Gofer",
- add => [ q{$ENV{DBI_AUTOPROXY} = 'dbi:Gofer:transport=null;policy=pedantic'} ],
- },
- xgp => { name => "PurePerl & Gofer",
- add => [ q{$ENV{DBI_PUREPERL} = 2; $ENV{DBI_AUTOPROXY} = 'dbi:Gofer:transport=null;policy=pedantic'} ],
- },
- # mx => { name => "DBD::Multiplex",
- # add => [ q{local $ENV{DBI_AUTOPROXY} = 'dbi:Multiplex:';} ],
- # }
- # px => { name => "DBD::Proxy",
- # need mechanism for starting/stopping the proxy server
- # add => [ q{local $ENV{DBI_AUTOPROXY} = 'dbi:Proxy:XXX';} ],
- # }
- );
-
opendir DIR, 't' or die "Can't read 't' directory: $!";
my @tests = grep { /\.t$/ } readdir DIR;
closedir DIR;
@@ -3353,7 +3363,7 @@
printf "Creating test wrappers for $v_info->{name}:\n";
foreach my $test (sort @tests) {
- next if $test !~ /^\d/;
+ next if $test !~ $v_info->{match};
my $usethr = ($test =~ /(\d+|\b)thr/ && $] >= 5.008 && $Config{useithreads});
my $v_test = "t/zv${v_type}_$test";
my $v_perl = ($test =~ /taint/) ? "perl -wT" : "perl -w";
Modified: dbi/trunk/t/50dbm.t
==============================================================================
--- dbi/trunk/t/50dbm.t (original)
+++ dbi/trunk/t/50dbm.t Fri May 7 07:48:25 2010
@@ -21,7 +21,8 @@
# 0=SQL::Statement if avail, 1=DBI::SQL::Nano
# next line forces use of Nano rather than default behaviour
- $ENV{DBI_SQL_NANO}=1;
+ # $ENV{DBI_SQL_NANO}=1;
+ # This is done in zvn_50dbm.t
push @mldbm_types, '';
if (eval { require 'MLDBM.pm'; }) {
@@ -155,14 +156,15 @@
5 => '15',
} if $mldbm;
- print " $sql\n";
+ print " $sql ...";
$sql =~ s/\s*;\s*(?:#(.*))//;
my $comment = $1;
my $sth = $dbh->prepare($sql) or die $dbh->errstr;
my @bind;
@bind = split /,/, $comment if $sth->{NUM_OF_PARAMS};
- $sth->execute(@bind);
+ my $n = $sth->execute(@bind);
+ print " $n\n";
die $sth->errstr if $sth->err and $sql !~ /DROP/;
next unless $sql =~ /SELECT/;
@@ -187,8 +189,8 @@
INSERT INTO fruit VALUES (3, NULL );
INSERT INTO fruit VALUES (4,'to delete' );
INSERT INTO fruit VALUES (?,?); #5,via placeholders
-UPDATE fruit SET dVal='apples' WHERE dKey=2;
DELETE FROM fruit WHERE dVal='to delete';
+UPDATE fruit SET dVal='apples' WHERE dKey=2;
SELECT * FROM fruit;
DROP TABLE fruit;
Modified: dbi/trunk/t/85gofer.t
==============================================================================
--- dbi/trunk/t/85gofer.t (original)
+++ dbi/trunk/t/85gofer.t Fri May 7 07:48:25 2010
@@ -22,7 +22,8 @@
# 0=SQL::Statement if avail, 1=DBI::SQL::Nano
# next line forces use of Nano rather than default behaviour
-$ENV{DBI_SQL_NANO}=1;
+# $ENV{DBI_SQL_NANO}=1;
+# This is done in zvn_50dbm.t
GetOptions(
'c|count=i' => \(my $opt_count = (-t STDOUT ? 100 : 0)),
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.