From 4e5417cbdd97bfc6dd53130de69f9173af59c273 Mon Sep 17 00:00:00 2001 From: Pali Date: Mon, 17 Apr 2017 21:38:58 +0200 Subject: Fix tests on Perl On 5.25.10 or greater with -Ddefault_inc_excludes_dot Some tests do not include dot in %INC and fails with error: Can't locate t/lib.pl in @INC Fixes: https://rt.cpan.org/Public/Bug/Display.html?id=120709 --- t/40server_prepare_crash.t | 3 ++- t/lib.pl | 5 +++-- t/rt110983-valid-mysqlfd.t | 3 ++- t/rt118977-zerofill.t | 2 +- t/rt25389-bin-case.t | 3 ++- t/rt50304-column_info_parentheses.t | 3 ++- t/rt61849-bind-param-buffer-overflow.t | 3 ++- t/rt75353-innodb-lock-timeout.t | 3 ++- t/rt83494-quotes-comments.t | 3 ++- 9 files changed, 18 insertions(+), 10 deletions(-) diff --git a/t/40server_prepare_crash.t b/t/40server_prepare_crash.t index 103276d..80bc9b7 100644 --- a/t/40server_prepare_crash.t +++ b/t/40server_prepare_crash.t @@ -5,7 +5,8 @@ use Test::More; use DBI; use vars qw($test_dsn $test_user $test_password); -require "t/lib.pl"; +use lib 't', '.'; +require "lib.pl"; my $dbh = eval { DBI->connect($test_dsn, $test_user, $test_password, { PrintError => 1, RaiseError => 1, AutoCommit => 0, mysql_server_prepare => 1, mysql_server_prepare_disable_fallback => 1 }) }; plan skip_all => "no database connection" if $@ or not $dbh; diff --git a/t/lib.pl b/t/lib.pl index 2221c40..0c756a0 100644 --- a/t/lib.pl +++ b/t/lib.pl @@ -2,6 +2,7 @@ use strict; use warnings; use Test::More; +use File::Spec (); use DBI::Const::GetInfoType; use vars qw($mdriver $dbdriver $childPid $test_dsn $test_user $test_password); @@ -31,7 +32,7 @@ if (-f ($file = "t/$dbdriver.dbtest") || -f ($file = "$dbdriver.dbtest") || -f ($file = "../tests/$dbdriver.dbtest") || -f ($file = "tests/$dbdriver.dbtest")) { - eval { require $file; }; + eval { require File::Spec->rel2abs($file); }; if ($@) { print STDERR "Cannot execute $file: $@.\n"; print "1..0\n"; @@ -45,7 +46,7 @@ if (-f ($file = "t/$mdriver.mtest") || -f ($file = "$mdriver.mtest") || -f ($file = "../tests/$mdriver.mtest") || -f ($file = "tests/$mdriver.mtest")) { - eval { require $file; }; + eval { require File::Spec->rel2abs($file); }; if ($@) { print STDERR "Cannot execute $file: $@.\n"; print "1..0\n"; diff --git a/t/rt110983-valid-mysqlfd.t b/t/rt110983-valid-mysqlfd.t index c5af2fa..a6ec8fb 100644 --- a/t/rt110983-valid-mysqlfd.t +++ b/t/rt110983-valid-mysqlfd.t @@ -5,7 +5,8 @@ use Test::More; use DBI; use vars qw($test_dsn $test_user $test_password); -require "t/lib.pl"; +use lib 't', '.'; +require "lib.pl"; my $dbh = eval { DBI->connect($test_dsn, $test_user, $test_password, { RaiseError => 1, AutoCommit => 0 }) }; plan skip_all => "no database connection" if $@ or not $dbh; diff --git a/t/rt118977-zerofill.t b/t/rt118977-zerofill.t index 27ba1b7..86edb8e 100644 --- a/t/rt118977-zerofill.t +++ b/t/rt118977-zerofill.t @@ -5,7 +5,7 @@ use Test::More; use DBI; use vars qw($test_dsn $test_user $test_password); -require "t/lib.pl"; +require "./t/lib.pl"; my $dbh = eval { DBI->connect($test_dsn, $test_user, $test_password, { PrintError => 1, RaiseError => 1 }) }; plan skip_all => "no database connection" if $@ or not $dbh; diff --git a/t/rt25389-bin-case.t b/t/rt25389-bin-case.t index 37bffb9..9d091b3 100644 --- a/t/rt25389-bin-case.t +++ b/t/rt25389-bin-case.t @@ -4,7 +4,8 @@ use warnings; use DBI; use vars qw($test_dsn $test_user $test_password); -require "t/lib.pl"; +use lib 't', '.'; +require "lib.pl"; use Test::More; diff --git a/t/rt50304-column_info_parentheses.t b/t/rt50304-column_info_parentheses.t index 28b2128..e03e332 100644 --- a/t/rt50304-column_info_parentheses.t +++ b/t/rt50304-column_info_parentheses.t @@ -4,7 +4,8 @@ use warnings; use DBI; use vars qw($test_dsn $test_user $test_password $state); -require "t/lib.pl"; +use lib 't', '.'; +require "lib.pl"; use Test::More; diff --git a/t/rt61849-bind-param-buffer-overflow.t b/t/rt61849-bind-param-buffer-overflow.t index f1fb254..a457d57 100644 --- a/t/rt61849-bind-param-buffer-overflow.t +++ b/t/rt61849-bind-param-buffer-overflow.t @@ -5,7 +5,8 @@ use Test::More; use DBI; use vars qw($test_dsn $test_user $test_password); -require "t/lib.pl"; +use lib 't', '.'; +require "lib.pl"; my $INSECURE_VALUE_FROM_USER = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; diff --git a/t/rt75353-innodb-lock-timeout.t b/t/rt75353-innodb-lock-timeout.t index 9c97d60..35fa5a7 100644 --- a/t/rt75353-innodb-lock-timeout.t +++ b/t/rt75353-innodb-lock-timeout.t @@ -5,7 +5,8 @@ use Test::More; use DBI; use vars qw($test_dsn $test_user $test_password); -require "t/lib.pl"; +use lib 't', '.'; +require "lib.pl"; my $dbh1 = eval { DBI->connect($test_dsn, $test_user, $test_password, { RaiseError => 1, AutoCommit => 0 }) }; plan skip_all => "no database connection" if $@ or not $dbh1; diff --git a/t/rt83494-quotes-comments.t b/t/rt83494-quotes-comments.t index 9df0d90..c42afe4 100644 --- a/t/rt83494-quotes-comments.t +++ b/t/rt83494-quotes-comments.t @@ -9,7 +9,8 @@ use DBI; use Test::More; use vars qw($test_dsn $test_user $test_password $state); -require "t/lib.pl"; +use lib 't', '.'; +require "lib.pl"; my $dbh; eval {$dbh= DBI->connect($test_dsn, $test_user, $test_password, -- 2.23.0