From: Dagfinn Ilmari Mannsåker Date: Tue, 17 Dec 2013 21:03:00 +0000 (+0000) Subject: Fix Pg DBI parser test X-Git-Tag: v0.11019~40 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=0142de97e60a38dc3585328edef8117a407e80c2;p=dbsrgits%2FSQL-Translator.git Fix Pg DBI parser test Allow maybe_plan() to not declare a plan, and use skip_all() and done_testing() in the test file. --- diff --git a/lib/Test/SQL/Translator.pm b/lib/Test/SQL/Translator.pm index 6caef98..1802dcf 100644 --- a/lib/Test/SQL/Translator.pm +++ b/lib/Test/SQL/Translator.pm @@ -467,7 +467,9 @@ sub maybe_plan { join ", ", @errors; plan skip_all => $msg; } - elsif ($ntests and $ntests ne 'no_plan') { + return unless defined $ntests; + + if ($ntests ne 'no_plan') { plan tests => $ntests; } else { @@ -582,6 +584,9 @@ modules on which test execution depends: If one of C's dependencies does not exist, then the test will be skipped. +Instead of a number of tests, you can pass C if you're using +C, or C<'no_plan'> if you don't want a plan at all. + =head1 EXPORTS table_ok, field_ok, constraint_ok, index_ok, view_ok, trigger_ok, procedure_ok, diff --git a/t/66-postgres-dbi-parser.t b/t/66-postgres-dbi-parser.t index 2fd1648..a86a010 100644 --- a/t/66-postgres-dbi-parser.t +++ b/t/66-postgres-dbi-parser.t @@ -7,29 +7,24 @@ use SQL::Translator; use SQL::Translator::Schema::Constants; use Test::SQL::Translator qw(maybe_plan table_ok); -BEGIN { - maybe_plan(61, 'SQL::Translator::Parser::DBI::PostgreSQL'); - SQL::Translator::Parser::DBI::PostgreSQL->import('parse'); -} - -use_ok('SQL::Translator::Parser::DBI::PostgreSQL'); +maybe_plan(undef, 'SQL::Translator::Parser::DBI::PostgreSQL'); my @dsn = $ENV{DBICTEST_PG_DSN} ? @ENV{ map { "DBICTEST_PG_$_" } qw/DSN USER PASS/ } -: $ENV{DBI_DSN} ? @ENV{ map { "DBI_$_" } qw/DSN USER PASS/ }; +: $ENV{DBI_DSN} ? @ENV{ map { "DBI_$_" } qw/DSN USER PASS/ } +: plan skip_all => 'Set $ENV{DBICTEST_PG_DSN}, _USER and _PASS to run this test'; my $dbh = eval { DBI->connect(@dsn, {AutoCommit => 1, RaiseError=>1,PrintError => 1} ); }; -SKIP: { - if (my $err = ($@ || $DBI::err )) { - chomp $err; - skip "No connection to test db. DBI says '$err'", 60; - } +if (my $err = ($@ || $DBI::err )) { + chomp $err; + plan skip_all => "No connection to test db. DBI says '$err'"; +} - ok($dbh, "dbh setup correctly"); - $dbh->do('SET client_min_messages=WARNING'); +ok($dbh, "dbh setup correctly"); +$dbh->do('SET client_min_messages=WARNING'); my $sql = q[ drop table if exists sqlt_test2; @@ -178,5 +173,5 @@ is( $t2_c1->type, FOREIGN_KEY, "Constraint is a FK" ); $dbh->rollback; $dbh->disconnect; -} # end of SKIP block +done_testing();