X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FTest%2FSQLite.pm;h=e5bc0120e60e78183ddea1ac8292c5c562a85103;hb=75a1c7540e2d258e1a7bcce7d123e51e409b3416;hp=d23b6bd2d96f7e8a7fca740e619c9b22446d2d5c;hpb=a3018bd384d02955c5a442cf2fd1ac654393a3c8;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Test/SQLite.pm b/lib/DBIx/Class/Test/SQLite.pm index d23b6bd..e5bc012 100644 --- a/lib/DBIx/Class/Test/SQLite.pm +++ b/lib/DBIx/Class/Test/SQLite.pm @@ -2,7 +2,7 @@ package DBIx::Class::Test::SQLite; =head1 NAME -DBIx::Class::Test::SQLite - Base class for DBIx::Class tests, shamelessly ripped from Class::DBI::Test::SQLite +DBIx::Class::Test::SQLite - Base class for running Class::DBI tests against DBIx::Class compat layer, shamelessly ripped from Class::DBI::Test::SQLite =head1 SYNOPSIS @@ -22,26 +22,31 @@ DBIx::Class::Test::SQLite - Base class for DBIx::Class tests, shamelessly ripped =head1 DESCRIPTION -This provides a simple base class for DBIx::Class tests using SQLite. -Each class for the test should inherit from this, provide a create_sql() -method which returns a string representing the SQL used to create the -table for the class, and then call set_table() to create the table, and -tie it to the class. +This provides a simple base class for DBIx::Class::CDBICompat tests using +SQLite. Each class for the test should inherit from this, provide a +create_sql() method which returns a string representing the SQL used to +create the table for the class, and then call set_table() to create the +table, and tie it to the class. =cut use strict; +use warnings; + +use base qw/DBIx::Class/; + +__PACKAGE__->load_components(qw/PK::Auto CDBICompat Core DB/); -use base 'DBIx::Class'; use File::Temp qw/tempfile/; my (undef, $DB) = tempfile(); END { unlink $DB if -e $DB } -my @DSN = ("dbi:SQLite:dbname=$DB", '', '', { AutoCommit => 1 }); +my @DSN = ("dbi:SQLite:dbname=$DB", '', '', { AutoCommit => 1, RaiseError => 1 }); __PACKAGE__->connection(@DSN); __PACKAGE__->set_sql(_table_pragma => 'PRAGMA table_info(__TABLE__)'); __PACKAGE__->set_sql(_create_me => 'CREATE TABLE __TABLE__ (%s)'); +__PACKAGE__->storage->dbh->do("PRAGMA synchronous = OFF"); =head1 METHODS @@ -64,14 +69,11 @@ sub _create_test_table { my $class = shift; my @vals = $class->sql__table_pragma->select_row; $class->sql__create_me($class->create_sql)->execute unless @vals; -# my @vals = $class->_sql_to_sth( -# 'PRAGMA table_info(__TABLE__)')->select_row; -# $class->_sql_to_sth( -# 'CREATE TABLE '.$class->table.' ('.$class->create_sql.')' -# )->execute unless @vals; } -=head2 create_sql (abstract) +=head2 create_sql + +This is an abstract method you must override. sub create_sql { return q{