1
0
Fork 0
mirror of https://github.com/DBD-SQLite/DBD-SQLite synced 2025-06-07 22:28:47 -04:00

All tests run under the same Perl environment

(autoflush on, and warnings enabled via $^W = 1)
This commit is contained in:
Adam Kennedy 2009-04-03 14:25:58 +00:00
parent c90209571c
commit a3ff0b1f7c
32 changed files with 417 additions and 298 deletions

23
Changes
View file

@ -1,18 +1,23 @@
Revision history for Perl extension DBD-SQLite.
1.19_06 not yet released
- fixed a segv with an error function under x86 linux
- Fixed a segv with an error function under x86 linux
(and hopefully Mac OSX). (TOKUHIROM)
- fixed yet another segv while testing DBIC reconnection (DMAKI)
- minor test improvement (ISHIGAKI)
- switched from Test.pm to Test::More (though there're still
some tests that don't use Test::More)
- added "use strict" to some.
- added a cleanup block to each test to allow it run clean and
separately.
- Fixed yet another segv while testing DBIC reconnection (DMAKI)
- Switched from Test.pm to Test::More (though there're still
some tests that don't use Test::More) (ISHIGAKI)
- Added "use strict" to some. (ISHIGAKI)
- Added a cleanup block to each test to allow it run clean and
separately. (ISHIGAKI)
- Adding an explicit minimum Perl version to the Makefile.PL (ADAMK)
- Setting configure_requires dependencies for File::Spec
- Splitting the LICENSE key into it's own MakeMaker
version-dependency conditional (ADAMK)
- All tests run under the same Perl environment
(autoflush on, and warnings enabled via $^W = 1) (ADAMK)
1.19_05 Thu 2 Apr 2009
- DBD::SQLite::Amalgamation 3.6.1.2 and DBD::SQLite 1.19_04
- DBD::SQLite::Amalgamation 3.6.1.2 and DBD::SQLite 1.19
should be feature identical now.
- Added collations from DBD::SQLite::Amalgamation (CORION)
- Removed statement handle activation after "execute" if

View file

@ -3,6 +3,20 @@ use strict;
use ExtUtils::MakeMaker;
use Config;
# Some dependencies need to be more aggressive on Windows
sub WINLIKE () {
return 1 if $^O eq 'MSWin32';
return 1 if $^O eq 'cygwin';
return '';
}
# Make setting optional MakeMaker parameters more readable
sub OPTIONAL {
return () unless $ExtUtils::MakeMaker::VERSION ge shift;
return @_;
}
# Are we upgrading from a critically out of date version?
eval {
require DBD::SQLite;
if ( $DBD::SQLite::VERSION < 1.0 ) {
@ -46,11 +60,15 @@ EOT
# 2009/04/02
# But why do we need to use an older, system-installed library?
# Let's always use the bundled one. -- ISHIGAKI
require File::Spec;
# 2009/04/03
# For the moment, while we're fixing things, this is reasonable.
# However, logic in the form "I lack knowledge, thereforce lets do
# it this way" is not a sufficiently robust decision making process.
# Let's find out the full story first, so we can make an informed
# decision to whether to do this. -- ADAMK
my ($force_local, $sqlite_base, $sqlite_lib, $sqlite_inc);
=begin dont_try_looking_for_a_buggy_library
if ( 0 ) {
require File::Spec;
if ( $sqlite_base = (grep(/SQLITE_LOCATION=.*/, @ARGV))[0] ) {
$sqlite_base =~ /=(.*)/;
$sqlite_base = $1;
@ -107,7 +125,7 @@ unless ( $force_local ) {
print "Looks good\n" if $ENV{AUTOMATED_TESTING};
}
}
=cut
}
# Use always the bundled one.
# XXX: ... and this message should be more informative.
@ -115,7 +133,6 @@ unless ( $force_local ) {
$force_local = 1;
print "We're using the bundled sqlite library.\n" if $ENV{AUTOMATED_TESTING};
@ARGV = grep( ! /SQLITE_LOCATION|USE_LOCAL_SQLITE/, @ARGV );
@ -157,6 +174,21 @@ unless ( $Config{usethreads} ) {
push @CC_DEFINE, '-DTHREADSAFE=0';
}
my @CC_OPTIONS = (
INC => join( ' ', @CC_INC ),
DEFINE => join( ' ', @CC_DEFINE ),
( @CC_LIBS ? (
LIBS => join( ' ', @CC_LIBS )
) : () ),
);
#####################################################################
# Hand off to ExtUtils::MakeMaker
WriteMakefile(
NAME => 'DBD::SQLite',
ABSTRACT => 'Self Contained SQLite RDBMS in a DBI Driver',
@ -165,14 +197,21 @@ WriteMakefile(
'DBI' => '1.21',
'Test::More' => '0.42',
},
( $ExtUtils::MakeMaker::VERSION ge '6.46'? (
'LICENSE' => 'perl',
'META_MERGE' => {
'configure_requires' => {
DBI => '1.21',
OPTIONAL( '6.48',
MIN_PERL_VERSION => '5.005',
),
OPTIONAL( '6.31',
LICENSE => 'perl',
),
OPTIONAL( '6.46',
META_MERGE => {
configure_requires => {
'ExtUtils::MakeMaker' => '6.48',
'File::Spec' => (WINLIKE ? '3.27' : '0.82'),
'DBI' => '1.21',
},
},
) : () ),
),
OBJECT => ( $force_local ? '$(O_FILES)' : 'SQLite.o dbdimp.o' ),
OPTIMIZE => '-O2',
clean => {
@ -180,11 +219,8 @@ WriteMakefile(
},
PL_FILES => {},
EXE_FILES => [],
INC => join( ' ', @CC_INC ),
DEFINE => join( ' ', @CC_DEFINE ),
( @CC_LIBS ? (
LIBS => join( ' ', @CC_LIBS )
) : () ),
@CC_OPTIONS,
);
package MY;

View file

@ -1,4 +1,11 @@
#!/usr/bin/perl
use strict;
use Test::More;
BEGIN { plan tests => 1 }
BEGIN { use_ok('DBD::SQLite') }
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More tests => 1;
use_ok('DBD::SQLite');

View file

@ -1,7 +1,14 @@
#!/usr/bin/perl
use strict;
use Test::More;
BEGIN { plan tests => 5 }
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More tests => 5;
use DBI;
my $dbh = DBI->connect("dbi:SQLite:dbname=foo", "", "");
ok($dbh);
ok($dbh->{sqlite_version});

View file

@ -1,8 +1,14 @@
$|++;
#!/usr/bin/perl
use strict;
use Test::More;
BEGIN { plan tests => 4 }
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More tests => 4;
use DBI;
my $dbh = DBI->connect("dbi:SQLite:dbname=foo", "", "");
ok($dbh);
$dbh->{AutoCommit} = 1;

View file

@ -1,7 +1,14 @@
#!/usr/bin/perl
use strict;
use Test::More;
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More tests => 11;
use DBI;
BEGIN { plan tests => 11 }
my $dbh = DBI->connect("dbi:SQLite:dbname=foo", "", "", {AutoCommit => 1});
ok($dbh);
$dbh->do("CREATE TABLE f (f1, f2, f3)");

View file

@ -1,7 +1,14 @@
#!/usr/bin/perl
use strict;
use Test::More;
BEGIN { plan tests => 21 }
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More tests => 21;
use DBI;
my $dbh = DBI->connect("dbi:SQLite:dbname=foo", "", "", { RaiseError => 1, AutoCommit => 1 });
ok($dbh);
$dbh->do("CREATE TABLE f (f1, f2, f3)");

View file

@ -1,6 +1,13 @@
#!/usr/bin/perl
use strict;
use Test::More;
BEGIN { plan tests => 2 }
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More tests => 2;
use DBI;
unlink("foo");
my $dbh = DBI->connect("dbi:SQLite:dbname=foo", "", "",

View file

@ -1,6 +1,12 @@
#!/usr/bin/perl
use strict;
use Test::More;
BEGIN { plan tests => 2 }
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More tests => 2;
use DBI;
unlink('foo');

View file

@ -1,8 +1,12 @@
#!perl
#!/usr/bin/perl
use strict;
use Test::More;
BEGIN { plan tests => 8 }
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More tests => 8;
use DBI;
my $db = DBI->connect('dbi:SQLite:foo', '', '',

View file

@ -3,6 +3,7 @@
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More tests => 18;

View file

@ -1,5 +1,16 @@
use strict;
#!/usr/bin/perl
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More tests => 15;
use DBI;
# Create the aggregate test packages
SCOPE: {
package count_aggr;
sub new {
@ -25,8 +36,7 @@ sub new {
}
sub step {
$_[0]{count}++
if defined $_[1];
$_[0]{count}++ if defined $_[1];
}
sub finalize {
@ -40,10 +50,8 @@ package fail_aggregate;
sub new {
my $class = shift;
if ( ref $class ) {
die "new() failed on request"
if $class->{'fail'} eq 'new';
return undef
if $class->{'fail'} eq 'undef';
die "new() failed on request" if $class->{'fail'} eq 'new';
return undef if $class->{'fail'} eq 'undef';
return bless { %$class }, ref $class;
} else {
return bless { 'fail' => $_[0] }, $class;
@ -51,20 +59,13 @@ sub new {
}
sub step {
die "step() failed on request"
if $_[0]{fail} eq 'step';
die "step() failed on request" if $_[0]{fail} eq 'step';
}
sub finalize {
die "finalize() failed on request"
if $_[0]{fail} eq 'finalize';
die "finalize() failed on request" if $_[0]{fail} eq 'finalize';
}
}
package main;
use Test::More;
BEGIN { plan tests => 15 }
use DBI;
my $dbh = DBI->connect("dbi:SQLite:dbname=foo", "", "", { PrintError => 0 } );
ok($dbh);

View file

@ -1,12 +1,14 @@
#!/usr/local/bin/perl
#
# $Id: 10dsnlist.t,v 1.1.1.1 1999/06/13 12:59:35 joe Exp $
#
#!/usr/bin/perl
# This test creates a database and drops it. Should be executed
# after listdsn.
#
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
use vars qw($test_dsn $test_user $test_password $mdriver $state);
#

View file

@ -1,13 +1,13 @@
#!/usr/local/bin/perl
#
# $Id: 40blobs.t,v 1.5 2004/07/21 20:50:45 matt Exp $
#
#!/usr/bin/perl
# This is a test for correct handling of the "unicode" database
# handle parameter.
#
$^W = 1;
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
#
# Include std stuff

View file

@ -1,3 +1,11 @@
#!/usr/bin/perl
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
BEGIN {
local $@;
unless (eval { require Test::More; require Encode; 1 }) {
@ -6,7 +14,6 @@ BEGIN {
}
}
use strict;
use Test::More tests => 8;
use DBI;
use Encode qw/decode/;

View file

@ -1,6 +1,12 @@
#!/usr/bin/perl
use strict;
use Test::More;
BEGIN { plan tests => 3; }
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More tests => 3;
use DBI;
my $N_OPCODES = 50; # how many opcodes before calling the progress handler

View file

@ -1,12 +1,14 @@
#!/usr/local/bin/perl
#
# $Id: 20createdrop.t,v 1.1.1.1 1999/06/13 12:59:35 joe Exp $
#
#!/usr/bin/perl
# This is a skeleton test. For writing new tests, take this file
# and modify/extend it.
#
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
use vars qw($test_dsn $test_user $test_password $mdriver $dbdriver);
$DBI::errstr = ''; # Make -w happy
require DBI;

View file

@ -1,13 +1,14 @@
#!/usr/local/bin/perl
#
# $Id: 30insertfetch.t,v 1.1 2002/02/19 17:19:57 matt Exp $
#
#!/usr/bin/perl
# This is a simple insert/fetch test.
#
use strict;
use vars qw($test_dsn $test_user $test_password $mdriver $state);
BEGIN {
$| = 1;
$^W = 1;
}
use vars qw($test_dsn $test_user $test_password $mdriver $state);
#
# Make -w happy

View file

@ -1,14 +1,12 @@
#!/usr/local/bin/perl
#
# $Id: 40bindparam.t,v 1.5 2002/12/29 16:24:55 matt Exp $
#
# This is a skeleton test. For writing new tests, take this file
# and modify/extend it.
#
#!/usr/bin/perl
use strict;
use vars qw($test_dsn $test_user $test_password $mdriver $state);
BEGIN {
$| = 1;
$^W = 1;
}
use vars qw($test_dsn $test_user $test_password $mdriver $state);
#
# Make -w happy

View file

@ -1,15 +1,15 @@
#!/usr/local/bin/perl
#
# $Id: 40blobs.t,v 1.4 2003/07/31 14:09:16 matt Exp $
#
#!/usr/bin/perl
# This is a test for correct handling of BLOBS; namely $dbh->quote
# is expected to work correctly.
#
use strict;
use vars qw($test_dsn $test_user $test_password $mdriver $dbdriver $state);
BEGIN {
$| = 1;
$^W = 1;
}
use vars qw($test_dsn $test_user $test_password $mdriver $dbdriver $state);
#
# Make -w happy

View file

@ -1,8 +1,12 @@
#!/usr/bin/perl -w
#!/usr/bin/perl
use strict;
use Test::More;
BEGIN { plan tests => 26 }
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More tests => 26;
use DBI;
unlink('foo', 'foo-journal');

View file

@ -1,11 +1,13 @@
#!/usr/local/bin/perl
#
# $Id: 40listfields.t,v 1.1.1.1 1999/06/13 12:59:35 joe Exp $
#
#!/usr/bin/perl
# This is a test for statement attributes being present appropriately.
#
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
use vars qw($test_dsn $test_user $test_password $mdriver $dbdriver $state $COL_KEY $COL_NULLABLE);
#

View file

@ -1,9 +1,12 @@
#!/usr/local/bin/perl
#
# $Id: 40nulls.t,v 1.1.1.1 1999/06/13 12:59:35 joe Exp $
#
#!/usr/bin/perl
# This is a test for correctly handling NULL values.
#
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
use strict;
use vars qw($test_dsn $test_user $test_password $mdriver $dbdriver $state);

View file

@ -1,16 +1,14 @@
#!/usr/local/bin/perl
#
# $Id: 40numrows.t,v 1.1 2002/02/19 17:19:57 matt Exp $
#
#!/usr/bin/perl
# This tests, whether the number of rows can be retrieved.
#
use strict;
use vars qw($test_dsn $test_user $test_password $mdriver $state);
$^W = 1;
BEGIN {
$| = 1;
$^W = 1;
}
use vars qw($test_dsn $test_user $test_password $mdriver $state);
#
# Make -w happy

View file

@ -1,17 +1,16 @@
#!/usr/local/bin/perl
#
# $Id: 40numrows.t,v 1.2 2003/08/11 21:51:14 matt Exp $
#
#!/usr/bin/perl
# This is a regression test for bug #15186:
# http://rt.cpan.org/Public/Bug/Display.html?id=15186
# About re-using statements with prepare_cached().
use strict;
use vars qw($test_dsn $test_user $test_password $mdriver $state);
$^W = 1;
BEGIN {
$| = 1;
$^W = 1;
}
use vars qw($test_dsn $test_user $test_password $mdriver $state);
#
# Make -w happy

View file

@ -1,11 +1,12 @@
#!/usr/local/bin/perl
#
# $Id: 50chopblanks.t,v 1.1 2002/02/19 17:19:57 matt Exp $
#
# This driver should check whether 'ChopBlanks' works.
#
#!/usr/bin/perl
# Check whether 'ChopBlanks' works.
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
#
# Make -w happy
@ -21,7 +22,6 @@ $test_password = '';
# Include lib.pl
#
use DBI;
use strict;
$mdriver = "";
{
my $file;

View file

@ -1,15 +1,14 @@
#!/usr/local/bin/perl
#
# $Id: 50commit.t,v 1.1.1.1 1999/06/13 12:59:35 joe Exp $
#
#!/usr/bin/perl
# This is testing the transaction support.
#
use strict;
use vars qw($test_dsn $test_user $test_password $mdriver $state);
BEGIN {
$| = 1;
$^W = 1;
}
use vars qw($test_dsn $test_user $test_password $mdriver $state);
#
# Include lib.pl

View file

@ -1,7 +1,14 @@
#!/usr/bin/perl
use strict;
use Test::More;
BEGIN { plan tests => 27 }
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More tests => 27;
use DBI;
my $dbh = DBI->connect("dbi:SQLite:dbname=foo", "", "", { });
ok($dbh);
$dbh->{PrintError} = 0;

View file

@ -1,6 +1,11 @@
#!/usr/bin/perl -w
#!/usr/bin/perl
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
use vars qw($test_dsn $test_user $test_password $mdriver $dbdriver);
if ($^O eq 'MSWin32') {

View file

@ -1,7 +1,15 @@
#!/usr/bin/perl
use strict;
BEGIN {
$| = 1;
$^W = 1;
}
use Test::More;
use DBI;
use Fatal qw(open);
use DBI;
my @c_files = <*.c>, <*.xs>;
plan tests => scalar(@c_files);

View file

@ -1,16 +1,10 @@
#!/usr/local/bin/perl
#
# $Id: ak-dbd.t,v 1.2 2002/02/19 18:51:01 matt Exp $
#
# This is a skeleton test. For writing new tests, take this file
# and modify/extend it.
#
#!/usr/bin/perl
use strict;
$^W = 1;
BEGIN {
$| = 1;
$^W = 1;
}
#
# Make -w happy

View file

@ -1,22 +1,12 @@
#!/usr/bin/perl -w
BEGIN {
local $@;
unless (eval { require Test::More; 1 }) {
print "1..0 # Skip need Test::More\n";
exit;
}
}
#!/usr/bin/perl
use strict;
use Test::More tests => 7;
BEGIN {
use_ok 'DBD::SQLite'
or BAIL_OUT 'DBD::SQLite(::Amalgamation) failed to load. No sense in continuing.';
no warnings 'once';
#diag "Testing DBD::SQLite version '$DBD::SQLite::VERSION' on DBI '$DBI::VERSION'";
$| = 1;
$^W = 1;
}
#*DBD::SQLite::db::column_info = \&DBD::SQLite::db::_sqlite_column_info;
};
use Test::More tests => 6;
use DBI;
my $dbh = DBI->connect('dbi:SQLite:dbname=:memory:',undef,undef,{RaiseError => 1});