X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=xt%2Fextra%2Finternals%2Foptional_deps.t;h=c1aa96e9bc0cd1929ddbc671d5583bfeb9738949;hb=399b9455;hp=15e9f667c2aba9ef4965abf62d2cbc5d6c4a6787;hpb=0d1e52803869860b29a06f33afeb4c8f922ba8c9;p=dbsrgits%2FDBIx-Class.git diff --git a/xt/extra/internals/optional_deps.t b/xt/extra/internals/optional_deps.t index 15e9f66..c1aa96e 100644 --- a/xt/extra/internals/optional_deps.t +++ b/xt/extra/internals/optional_deps.t @@ -17,10 +17,24 @@ use Scalar::Util(); use MRO::Compat(); use Carp 'confess'; use List::Util 'shuffle'; +use Config; SKIP: { - skip 'Lean load pattern testing unsafe with $ENV{PERL5OPT}', 1 if $ENV{PERL5OPT}; - skip 'Lean load pattern testing useless with $ENV{RELEASE_TESTING}', 1 if $ENV{RELEASE_TESTING}; + skip 'Lean load pattern testing makes no sense with TempExtlib', 1 + if grep { $_ =~ /TempExtlib/ } @INC; + + skip 'Lean load pattern testing unsafe with $ENV{PERL5OPT}', 1 + if $ENV{PERL5OPT}; + + skip 'Lean load pattern testing unsafe with sitecustomize.pl', 1 + if grep { $_ =~ m| \/ sitecustomize\.pl $ |x } keys %INC; + + skip 'Lean load pattern testing useless with $ENV{RELEASE_TESTING}', 1 + if $ENV{RELEASE_TESTING}; + + skip 'Lean load pattern testing useless under cperl', 1 + if $Config{usecperl}; + is_deeply $inc_before, [], @@ -137,13 +151,13 @@ is_deeply ( # regular is_deeply( - DBIx::Class::Optional::Dependencies->modreq_list_for('test_rdbms_pg'), + DBIx::Class::Optional::Dependencies->modreq_list_for([shuffle qw( test_rdbms_pg binary_data )]), { 'DBD::Pg' => '2.009002' }, 'optional dependencies list for testing Postgres without envvar', ); is_deeply( - DBIx::Class::Optional::Dependencies->req_list_for('test_rdbms_pg'), + DBIx::Class::Optional::Dependencies->req_list_for([shuffle qw( test_rdbms_pg binary_data )]), undef, 'optional dependencies list for testing Postgres without envvar', ); @@ -168,26 +182,26 @@ is_deeply ( ); is( - DBIx::Class::Optional::Dependencies->req_missing_for([qw( rdbms_pg test_rdbms_pg )]), + DBIx::Class::Optional::Dependencies->req_missing_for([shuffle qw( rdbms_pg test_rdbms_pg binary_data )]), 'DBD::Pg~2.009002 as well as the following group(s) of environment variables: DBICTEST_PG_DSN/..._USER/..._PASS', 'optional dependencies for testing Postgres without envvar' ); is( - DBIx::Class::Optional::Dependencies->req_missing_for([shuffle qw( test_rdbms_mysql test_rdbms_pg )]), + DBIx::Class::Optional::Dependencies->req_missing_for([shuffle qw( test_rdbms_mysql test_rdbms_pg binary_data)]), 'DBD::mysql DBD::Pg~2.009002 as well as the following group(s) of environment variables: DBICTEST_MYSQL_DSN/..._USER/..._PASS and DBICTEST_PG_DSN/..._USER/..._PASS', 'optional dependencies for testing Postgres+MySQL without envvars' ); $ENV{DBICTEST_PG_DSN} = 'boo'; is_deeply ( - DBIx::Class::Optional::Dependencies->modreq_list_for([shuffle qw( rdbms_pg test_rdbms_pg )]), + DBIx::Class::Optional::Dependencies->modreq_list_for([shuffle qw( rdbms_pg test_rdbms_pg binary_data)]), { 'DBD::Pg' => '2.009002' }, 'optional module dependencies list for testing Postgres matches with envvar', ); is( - DBIx::Class::Optional::Dependencies->req_missing_for([shuffle qw( rdbms_pg test_rdbms_pg )]), + DBIx::Class::Optional::Dependencies->req_missing_for([shuffle qw( rdbms_pg test_rdbms_pg binary_data )]), 'DBD::Pg~2.009002', 'optional dependencies error text for testing Postgres matches with evvar', ); @@ -195,7 +209,7 @@ is_deeply ( # ICDT augmentation my %expected_icdt_base = ( DateTime => '0.55', 'DateTime::TimeZone::OlsonDB' => 0 ); - my $mysql_icdt = [shuffle qw( test_rdbms_mysql icdt )]; + my $mysql_icdt = [shuffle qw( test_rdbms_mysql ic_dt )]; is_deeply( DBIx::Class::Optional::Dependencies->modreq_list_for($mysql_icdt), @@ -222,7 +236,7 @@ is_deeply ( # test multi-level include with a variable and mandatory part converging on same included dep local $ENV{DBICTEST_MSACCESS_ODBC_DSN}; local $ENV{DBICTEST_MSSQL_ODBC_DSN} = 'foo'; - my $msaccess_mssql_icdt = [ shuffle qw( test_rdbms_msaccess_odbc test_rdbms_mssql_odbc icdt ) ]; + my $msaccess_mssql_icdt = [ shuffle qw( test_rdbms_msaccess_odbc test_rdbms_mssql_odbc ic_dt ) ]; is_deeply( DBIx::Class::Optional::Dependencies->req_missing_for($msaccess_mssql_icdt), 'Data::GUID DateTime~0.55 DateTime::Format::Strptime~1.2 DateTime::TimeZone::OlsonDB DBD::ODBC as well as the following group(s) of environment variables: DBICTEST_MSACCESS_ODBC_DSN/..._USER/..._PASS',