From 9149d9e74b06bee58df5cd82ddb72166a9e84a63 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 Signed-off-by: Mark Tompsett --- 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 0d26529..27e7310 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; @@ -35,20 +35,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 8704acb..fa1acc0 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 d22ba0a..ce79516 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 ff4439d..2ad7b93 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.1.4