Really fix @INC munging of the taint test
[dbsrgits/DBIx-Class.git] / t / 748informix.t
index 02ee6bb..42bdac8 100644 (file)
@@ -3,9 +3,13 @@ use warnings;
 
 use Test::More;
 use Test::Exception;
+use DBIx::Class::Optional::Dependencies ();
 use lib qw(t/lib);
 use DBICTest;
 
+plan skip_all => 'Test needs ' . DBIx::Class::Optional::Dependencies->req_missing_for ('test_rdbms_informix')
+  unless DBIx::Class::Optional::Dependencies->req_ok_for ('test_rdbms_informix');
+
 my ($dsn, $user, $pass) = @ENV{map { "DBICTEST_INFORMIX_${_}" } qw/DSN USER PASS/};
 
 #warn "$dsn $user $pass";
@@ -97,7 +101,7 @@ is( $lim->next->artistid, 102, "iterator->next ok" );
 is( $lim->next, undef, "next past end of resultset ok" );
 
 # test savepoints
-eval {
+throws_ok {
   $schema->txn_do(sub {
     eval {
       $schema->txn_do(sub {
@@ -110,9 +114,7 @@ eval {
     $ars->create({ name => 'in_outer_txn' });
     die "rolling back outer txn";
   });
-};
-
-like $@, qr/rolling back outer txn/,
+} qr/rolling back outer txn/,
   'correct exception for rollback';
 
 ok ((not $ars->search({ name => 'in_outer_txn' })->first),
@@ -131,7 +133,7 @@ lives_ok {
 } 'with_deferred_fk_checks code survived';
 
 is eval { $schema->resultset('Track')->find(999)->title }, 'deferred FK track',
- 'code in with_deferred_fk_checks worked'; 
+ 'code in with_deferred_fk_checks worked';
 
 throws_ok {
   $schema->resultset('Track')->create({
@@ -143,6 +145,7 @@ done_testing;
 
 # clean up our mess
 END {
-    my $dbh = eval { $schema->storage->_dbh };
-    $dbh->do("DROP TABLE artist") if $dbh;
+  my $dbh = eval { $schema->storage->_dbh };
+  $dbh->do("DROP TABLE artist") if $dbh;
+  undef $schema;
 }