X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F74mssql.t;h=f24e1967ca8841f7eafb9eb479f186e20870826e;hb=c33d5ebc4d84e4338f269565f6fe011801cb9fd4;hp=243ae0e4a0d4cc38105eb5d9c6b2923f2fcc270c;hpb=7fc9679d3181ac6cdd7b7f9c7cdfb4030c928d63;p=dbsrgits%2FDBIx-Class.git diff --git a/t/74mssql.t b/t/74mssql.t index 243ae0e..f24e196 100644 --- a/t/74mssql.t +++ b/t/74mssql.t @@ -1,29 +1,17 @@ +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 this if you keep a copy of DBD::Sybase linked to FreeTDS somewhere else -BEGIN { - if (my $lib_dirs = $ENV{DBICTEST_MSSQL_PERL5LIB}) { - unshift @INC, $_ for split /:/, $lib_dirs; - } -} - 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::Schema->connect($dsn, $user, $pass)->storage->_server_info->{dbms_version}; ok ($srv_ver, 'Got a test server version on fresh schema: ' . ($srv_ver||'???') ); @@ -216,7 +204,7 @@ SQL $schema->storage->_get_dbh->disconnect; - lives_and { + lives_ok { $wrappers->{$wrapper}->( sub { $rs_cp->create({ amount => 900 + $_ }) for 1..3; }); @@ -242,11 +230,16 @@ SQL 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 {