use warnings;
use Test::More;
-# README: If you set the env var to a number greater than 10,
-# we will use that many children
+use lib qw(t/lib);
+use DBICTest;
+use DBIx::Class::Optional::Dependencies ();
-my ($dsn, $user, $pass) = @ENV{map { "DBICTEST_PG_${_}" } qw/DSN USER PASS/};
-my $num_children = $ENV{DBICTEST_FORK_STRESS};
+my $main_pid = $$;
-plan skip_all => 'Set $ENV{DBICTEST_FORK_STRESS} to run this test'
- unless $num_children;
+plan skip_all => 'Test needs ' . DBIx::Class::Optional::Dependencies->req_missing_for ('rdbms_pg')
+ unless DBIx::Class::Optional::Dependencies->req_ok_for ('rdbms_pg');
+
+my ($dsn, $user, $pass) = @ENV{map { "DBICTEST_PG_${_}" } qw/DSN USER PASS/};
plan skip_all => 'Set $ENV{DBICTEST_PG_DSN}, _USER and _PASS to run this test'
. ' (note: creates and drops a table named artist!)' unless ($dsn && $user);
+# README: If you set the env var to a number greater than 10,
+# we will use that many children
+my $num_children = $ENV{DBICTEST_FORK_STRESS} || 1;
if($num_children !~ /^[0-9]+$/ || $num_children < 10) {
$num_children = 10;
}
-plan tests => ($num_children*2) + 6;
-
-use lib qw(t/lib);
-
-use_ok('DBICTest::Schema');
-
-my $schema = DBICTest::Schema->connection($dsn, $user, $pass, { AutoCommit => 1 });
+my $schema = DBICTest::Schema->connect($dsn, $user, $pass, { AutoCommit => 1 });
my $parent_rs;
ok(1, "Made it to the end");
-$schema->storage->dbh->do("DROP TABLE cd");
+done_testing;
+
+END {
+ $schema->storage->dbh->do("DROP TABLE cd") if ($schema and $main_pid == $$);
+ undef $schema;
+}