+BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) }
+use DBIx::Class::Optional::Dependencies -skip_all_without => 'test_rdbms_mssql_sybase';
+
use strict;
use warnings;
use Test::More;
use Test::Exception;
use Scalar::Util 'weaken';
-use DBIx::Class::Optional::Dependencies ();
-use lib qw(t/lib);
+use DBIx::Class::_Util 'sigwarn_silencer';
+
use DBICTest;
my ($dsn, $user, $pass) = @ENV{map { "DBICTEST_MSSQL_${_}" } qw/DSN USER PASS/};
-
-plan skip_all => 'Set $ENV{DBICTEST_MSSQL_DSN}, _USER and _PASS to run this test'
- unless ($dsn);
-
-
-plan skip_all => 'Test needs ' . DBIx::Class::Optional::Dependencies->req_missing_for ('test_rdbms_mssql_sybase')
- unless DBIx::Class::Optional::Dependencies->req_ok_for ('test_rdbms_mssql_sybase');
-
{
- my $srv_ver = DBICTest->connect_schema($dsn, $user, $pass)->storage->_server_info->{dbms_version};
+ my $srv_ver = DBICTest::Schema->connect($dsn, $user, $pass)->storage->_server_info->{dbms_version};
ok ($srv_ver, 'Got a test server version on fresh schema: ' . ($srv_ver||'???') );
}
my $schema;
-my $testdb_supports_placeholders = DBICTest->connect_schema($dsn, $user, $pass)
+my $testdb_supports_placeholders = DBICTest::Schema->connect($dsn, $user, $pass)
->storage
->_supports_typeless_placeholders;
my @test_storages = (
);
for my $storage_type (@test_storages) {
- $schema = DBICTest->connect_schema($dsn, $user, $pass);
+ $schema = DBICTest::Schema->connect($dsn, $user, $pass);
if ($storage_type =~ /NoBindVars\z/) {
# since we want to use the nobindvar - disable the capability so the
$schema->storage->_get_dbh->disconnect;
- lives_and {
+ lives_ok {
$wrappers->{$wrapper}->( sub {
$rs_cp->create({ amount => 900 + $_ }) for 1..3;
});
weaken(my $a_rs_cp = $artist_rs);
- local $TODO = 'Transaction handling with multiple active statements will '
- .'need eager cursor support.'
- unless $wrapper eq 'no_transaction';
+ $wrapper ne 'no_transaction'
+ and
+ (
+ local $TODO = 'Transaction handling with multiple active statements will '
+ .'need eager cursor support.',
- lives_and {
+ local local $SIG{__WARN__} = sigwarn_silencer qr/disconnect invalidates .+? active statement/
+ );
+
+ lives_ok {
my @results;
$wrappers->{$wrapper}->( sub {
}
{
- my $schema = DBICTest->connect_schema($dsn, $user, $pass);
+ my $schema = DBICTest::Schema->clone;
+ $schema->connection($dsn, $user, $pass);
like $schema->storage->sql_maker->{limit_dialect},
qr/^(?:Top|RowNumberOver)\z/,
# test op-induced autoconnect
lives_ok (sub {
- my $schema = DBICTest->connect_schema($dsn, $user, $pass);
+ my $schema = DBICTest::Schema->clone;
+ $schema->connection($dsn, $user, $pass);
my $artist = $schema->resultset ('Artist')->search ({}, { order_by => 'artistid' })->next;
is ($artist->id, 1, 'Artist retrieved successfully');
# test AutoCommit=0
{
local $ENV{DBIC_UNSAFE_AUTOCOMMIT_OK} = 1;
- my $schema2 = DBICTest->connect_schema($dsn, $user, $pass, { AutoCommit => 0 });
+ my $schema2 = DBICTest::Schema->connect($dsn, $user, $pass, { AutoCommit => 0 });
my $rs = $schema2->resultset('Money');