From ecc6c4982429798a68afa00fc78e7cd8673956ef Mon Sep 17 00:00:00 2001 From: Olli-Antti Kivilahti Date: Wed, 18 Oct 2017 14:33:22 +0300 Subject: [PATCH] Bug 19483 - t/db_dependent/www/* crashes test harness due to misconfigured test plan prove t/db_dependent/www/ without defining KOHA_INTRANET_URL bails out and marks the whole test suite as failed. Test suite should not be failed if this optional WWW::Mechanize test suite is not activated. After this patch, the tests are properly skipped without failing the whole tests. This is important when running all tests under t, as this needlessly fails the test suite. Also handling of 'skip_all' is inconsistent in t/db_dependent/www -tests, so this normalizes it to skip_all instead of bail_out --- t/db_dependent/www/auth_values_input_www.t | 16 +++++++++------- t/db_dependent/www/batch.t | 12 +++++++++--- t/db_dependent/www/history.t | 17 ++++++++++------- t/db_dependent/www/search_utf8.t | 7 +++++-- 4 files changed, 33 insertions(+), 19 deletions(-) diff --git a/t/db_dependent/www/auth_values_input_www.t b/t/db_dependent/www/auth_values_input_www.t index 265865c..1d96a14 100644 --- a/t/db_dependent/www/auth_values_input_www.t +++ b/t/db_dependent/www/auth_values_input_www.t @@ -18,7 +18,7 @@ use Modern::Perl; use utf8; -use Test::More tests => 33; +use Test::More; #See plan tests => \d+ below use Test::WWW::Mechanize; use XML::Simple; use JSON; @@ -33,20 +33,22 @@ my $testdir = File::Spec->rel2abs( dirname(__FILE__) ); my $koha_conf = $ENV{KOHA_CONF}; my $xml = XMLin($koha_conf); +my $user = $ENV{KOHA_USER} || $xml->{config}->{user}; +my $password = $ENV{KOHA_PASS} || $xml->{config}->{pass}; +my $intranet = $ENV{KOHA_INTRANET_URL}; + eval{ use C4::Context; }; if ($@) { plan skip_all => "Tests skip. You must have a working Context\n"; } - -my $user = $ENV{KOHA_USER} || $xml->{config}->{user}; -my $password = $ENV{KOHA_PASS} || $xml->{config}->{pass}; -my $intranet = $ENV{KOHA_INTRANET_URL}; - -if (not defined $intranet) { +elsif (not defined $intranet) { plan skip_all => "Tests skip. You must set env. variable KOHA_INTRANET_URL to do tests\n"; } +else { + plan tests => 33; +} my $dbh = C4::Context->dbh; diff --git a/t/db_dependent/www/batch.t b/t/db_dependent/www/batch.t index 30d9886..f822454 100644 --- a/t/db_dependent/www/batch.t +++ b/t/db_dependent/www/batch.t @@ -20,7 +20,7 @@ use Modern::Perl; use utf8; -use Test::More tests => 26; +use Test::More; #See plan tests => \d+ below use Test::WWW::Mechanize; use XML::Simple; use JSON; @@ -46,10 +46,16 @@ my $user = $ENV{KOHA_USER} || $xml->{config}->{user}; my $password = $ENV{KOHA_PASS} || $xml->{config}->{pass}; my $intranet = $ENV{KOHA_INTRANET_URL}; -BAIL_OUT("You must set the environment variable KOHA_INTRANET_URL to ". +if (not defined $intranet) { + plan skip_all => + "You must set the environment variable KOHA_INTRANET_URL to ". "point this test to your staff client. If you do not have ". "KOHA_CONF set, you must also set KOHA_USER and KOHA_PASS for ". - "your username and password") unless $intranet; + "your username and password"; +} +else { + plan tests => 26; +} $intranet =~ s#/$##; diff --git a/t/db_dependent/www/history.t b/t/db_dependent/www/history.t index b71f7b6..9d1ba49 100644 --- a/t/db_dependent/www/history.t +++ b/t/db_dependent/www/history.t @@ -21,26 +21,29 @@ use utf8; use XML::Simple; use Encode; -use Test::More tests => 4; +use Test::More; #See plan tests => \d+ below use Test::WWW::Mechanize; my $koha_conf = $ENV{KOHA_CONF}; my $xml = XMLin($koha_conf); +my $user = $ENV{KOHA_USER} || $xml->{config}->{user}; +my $password = $ENV{KOHA_PASS} || $xml->{config}->{pass}; +my $intranet = $ENV{KOHA_INTRANET_URL}; + + eval{ use C4::Context; }; if ($@) { plan skip_all => "Tests skip. You must have a working Context\n"; } - -my $user = $ENV{KOHA_USER} || $xml->{config}->{user}; -my $password = $ENV{KOHA_PASS} || $xml->{config}->{pass}; -my $intranet = $ENV{KOHA_INTRANET_URL}; - -if (not defined $intranet) { +elsif (not defined $intranet) { plan skip_all => "Tests skip. You must set env. variable KOHA_INTRANET_URL to do tests\n"; } +else { + plan tests => 4; +} $intranet =~ s#/$##; diff --git a/t/db_dependent/www/search_utf8.t b/t/db_dependent/www/search_utf8.t index c0d3a27..869b4eb 100644 --- a/t/db_dependent/www/search_utf8.t +++ b/t/db_dependent/www/search_utf8.t @@ -18,7 +18,7 @@ use Modern::Perl; use utf8; -use Test::More tests => 66; +use Test::More; #See plan tests => \d+ below use Test::WWW::Mechanize; use Data::Dumper; use XML::Simple; @@ -66,9 +66,12 @@ if ( not defined $intranet ) { plan skip_all => "Tests skip. You must set env. variable KOHA_INTRANET_URL to do tests\n"; } # test KOHA_OPAC_URL is set -if ( not defined $opac ) { +elsif ( not defined $opac ) { plan skip_all => "Tests skip. You must set env. variable KOHA_OPAC_URL to do tests\n"; } +else { + plan tests => 66; +} $intranet =~ s#/$##; $opac =~ s#/$##; -- 2.7.4