X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Ficdt%2Fengine_specific%2Fmsaccess.t;h=a3cb63c837b48f2e971d523724019771dc90727d;hb=514b84f6b60b566d75d2ff2ddd08659c4cf7b427;hp=f01219987aee14898faf5b576483fffef71fa2cf;hpb=8548e45cbaa8d8862ca78f675c73398ec2b0dc1d;p=dbsrgits%2FDBIx-Class.git diff --git a/t/icdt/engine_specific/msaccess.t b/t/icdt/engine_specific/msaccess.t index f012199..a3cb63c 100644 --- a/t/icdt/engine_specific/msaccess.t +++ b/t/icdt/engine_specific/msaccess.t @@ -1,34 +1,27 @@ +BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) } +use DBIx::Class::Optional::Dependencies -skip_all_without => qw( ic_dt _rdbms_msaccess_common ); + use strict; use warnings; use Test::More; -use Scope::Guard (); use Try::Tiny; -use DBIx::Class::Optional::Dependencies (); -use lib qw(t/lib); +use DBIx::Class::_Util 'scope_guard'; + use DBICTest; +my @tdeps = qw( test_rdbms_msaccess_odbc test_rdbms_msaccess_ado ); +plan skip_all => 'Test needs ' . (join ' OR ', map + { "[ @{[ DBIx::Class::Optional::Dependencies->req_missing_for( $_ ) ]} ]" } + @tdeps +) unless scalar grep + { DBIx::Class::Optional::Dependencies->req_ok_for( $_ ) } + @tdeps +; + my ($dsn, $user, $pass) = @ENV{map { "DBICTEST_MSACCESS_ODBC_${_}" } qw/DSN USER PASS/}; my ($dsn2, $user2, $pass2) = @ENV{map { "DBICTEST_MSACCESS_ADO_${_}" } qw/DSN USER PASS/}; -plan skip_all => 'Test needs ' . - (join ' and ', map { $_ ? $_ : () } - DBIx::Class::Optional::Dependencies->req_missing_for('test_dt'), - (join ' or ', map { $_ ? $_ : () } - DBIx::Class::Optional::Dependencies->req_missing_for('test_rdbms_msaccess_odbc'), - DBIx::Class::Optional::Dependencies->req_missing_for('test_rdbms_msaccess_ado'))) - unless - DBIx::Class::Optional::Dependencies->req_ok_for ('test_dt') && ( - $dsn && DBIx::Class::Optional::Dependencies->req_ok_for('test_rdbms_msaccess_odbc') - or - $dsn2 && DBIx::Class::Optional::Dependencies->req_ok_for('test_rdbms_msaccess_ado')) - or (not $dsn || $dsn2); - -plan skip_all => <<'EOF' unless $dsn || $dsn2; -Set $ENV{DBICTEST_MSACCESS_ODBC_DSN} and/or $ENV{DBICTEST_MSACCESS_ADO_DSN} (and optionally _USER and _PASS) to run these tests. -Warning: this test drops and creates the table 'track'. -EOF - my @connect_info = ( [ $dsn, $user || '', $pass || '' ], [ $dsn2, $user2 || '', $pass2 || '' ], @@ -44,7 +37,7 @@ for my $connect_info (@connect_info) { quote_names => 1, }); - my $guard = Scope::Guard->new(sub { cleanup($schema) }); + my $guard = scope_guard { cleanup($schema) }; try { local $^W = 0; $schema->storage->dbh->do('DROP TABLE track') }; $schema->storage->dbh->do(<<"SQL");