X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F72pg.t;h=4065b260e55f181d78a666885c7b42d6ed5c3bd2;hb=1f5aae08362fffa1fcf0991909293d9c418e1c40;hp=f3ad48e37db8a1d742f1258cc342995b0537ca91;hpb=bab40deebe87977cb35055321a722d0d1ccebcd5;p=dbsrgits%2FDBIx-Class.git diff --git a/t/72pg.t b/t/72pg.t index f3ad48e..4065b26 100644 --- a/t/72pg.t +++ b/t/72pg.t @@ -25,9 +25,13 @@ DBICTest::Schema->load_classes( map {s/.+:://;$_} @test_classes ) if @test_class my $schema; +require DBIx::Class::Storage::DBI::Pg; + +my $can_insert_returning = + DBIx::Class::Storage::DBI::Pg->can('can_insert_returning'); + for my $use_insert_returning (0..1) { no warnings qw/redefine once/; - require DBIx::Class::Storage::DBI::Pg; local *DBIx::Class::Storage::DBI::Pg::can_insert_returning = sub { $use_insert_returning }; @@ -63,6 +67,14 @@ for my $use_insert_returning (0..1) { ### connect, create postgres-specific test schema $schema = DBICTest::Schema->connect($dsn, $user, $pass); + $schema->storage->ensure_connected; + + if ($use_insert_returning && (not $can_insert_returning->($schema->storage))) + { + diag "Your version of PostgreSQL does not support INSERT ... RETURNING."; + diag "*** SKIPPING FURTHER TESTS"; + last; + } drop_test_schema($schema); create_test_schema($schema);