Bugzilla – Attachment 55441 Details for
Bug 11921
Move memcached configuration back to koha-conf.xml
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 11921: (followup) Don't die on non-existent koha-conf.xml
Bug-11921-followup-Dont-die-on-non-existent-koha-c.patch (text/plain), 3.19 KB, created by
Tomás Cohen Arazi (tcohen)
on 2016-09-09 14:54:30 UTC
(
hide
)
Description:
Bug 11921: (followup) Don't die on non-existent koha-conf.xml
Filename:
MIME Type:
Creator:
Tomás Cohen Arazi (tcohen)
Created:
2016-09-09 14:54:30 UTC
Size:
3.19 KB
patch
obsolete
>From cd1eeb199325815a58127055183b796f0bf6111c Mon Sep 17 00:00:00 2001 >From: Tomas Cohen Arazi <tomascohen@theke.io> >Date: Fri, 9 Sep 2016 11:26:03 -0300 >Subject: [PATCH] Bug 11921: (followup) Don't die on non-existent koha-conf.xml > >This patch wraps the XMLin call on an eval block. It also adds unit >tests (mocked) for Koha::Config->read_from_file() > >Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> >--- > Koha/Config.pm | 19 +++++++++++++++++- > t/Koha/Config.t | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 80 insertions(+), 1 deletion(-) > create mode 100644 t/Koha/Config.t > >diff --git a/Koha/Config.pm b/Koha/Config.pm >index 117c404..f89ffb9 100644 >--- a/Koha/Config.pm >+++ b/Koha/Config.pm >@@ -34,7 +34,24 @@ my $INSTALLED_CONFIG_FNAME = '__KOHA_CONF_DIR__/koha-conf.xml'; > # use C4::Context->config instead > sub read_from_file { > my ( $class, $file ) = @_; >- return XMLin($file, keyattr => ['id'], forcearray => ['listen', 'server', 'serverinfo'], suppressempty => ''); >+ >+ return if not defined $file; >+ >+ my $xml; >+ eval { >+ $xml = XMLin( >+ $file, >+ keyattr => ['id'], >+ forcearray => ['listen', 'server', 'serverinfo'], >+ suppressempty => '' >+ ); >+ }; >+ >+ if ($@) { >+ warn "Error reading file $file"; >+ } >+ >+ return $xml; > } > > # Koha's main configuration file koha-conf.xml >diff --git a/t/Koha/Config.t b/t/Koha/Config.t >new file mode 100644 >index 0000000..2363fda >--- /dev/null >+++ b/t/Koha/Config.t >@@ -0,0 +1,62 @@ >+#!/usr/bin/perl >+ >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it >+# under the terms of the GNU General Public License as published by >+# the Free Software Foundation; either version 3 of the License, or >+# (at your option) any later version. >+# >+# Koha is distributed in the hope that it will be useful, but >+# WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+use Modern::Perl; >+ >+use Test::More tests => 2; >+use Test::MockModule; >+use Test::Warn; >+ >+use Carp; >+ >+my $parsing_result = 'ok'; >+ >+my $xml_simple = Test::MockModule->new('XML::Simple'); >+$xml_simple->mock( >+ XMLin => sub { >+ if ( $parsing_result eq 'error' ) { >+ croak "Something"; >+ } else { >+ return "XML data"; >+ } >+ } >+); >+ >+use_ok('Koha::Config'); >+ >+subtest 'read_from_file() tests' => sub { >+ >+ plan tests => 4; >+ >+ is( Koha::Config->read_from_file(undef), undef, >+ "Undef parameter makes function return undef"); >+ >+ $parsing_result = 'ok'; >+ >+ my $result = Koha::Config->read_from_file("SomeFile.xml"); >+ is( $result, 'XML data', 'File read correctly' ); >+ >+ $parsing_result = 'error'; >+ >+ warning_is >+ {$result = Koha::Config->read_from_file("SomeFile.xml")} >+ 'Error reading file SomeFile.xml', >+ 'File failing to read raises warning'; >+ is( $result, undef, 'Returns undef on error confition' ); >+}; >+ >+1; >-- >2.7.4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 11921
:
54818
|
54819
|
54820
|
55169
|
55170
|
55171
|
55258
|
55259
|
55268
|
55269
|
55270
|
55271
|
55272
|
55310
|
55311
|
55312
|
55313
|
55314
|
55315
| 55441