Browse Source

Bug 28615: (follow-up) Disable strict mode explicitly

So Debian 9's version of Test::MockModule doens't have ->redefine, and
Ubuntu 20.04's doesn't recognise qw(nostrict). So the only solution is
to just remove the keywords use completely and move back to using
->mock, as the rest of the codebase.

FIXME: using ->mock might be hiding some errors (like a method not being
defined/removed) and should be avoided. ->redefine will explode if the
method doesn't already exist, which is what we want, to catch this kind
of errors. That's why ->mock in strict mode is forbidden. We should try
packaging a newer Test::MockModule ourselves.

Tested on master-buster, master-stretch and master-focal.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
master
Tomas Cohen Arazi 3 months ago
parent
commit
d5a792ddf5
  1. 4
      t/lib/Mocks/Logger.pm

4
t/lib/Mocks/Logger.pm

@ -20,7 +20,7 @@ use Modern::Perl;
use base 'Test::Builder::Module';
use base qw(Class::Accessor);
use Test::MockModule qw(strict);
use Test::MockModule;
use Test::MockObject;
my $CLASS = __PACKAGE__;
@ -48,7 +48,7 @@ sub new {
my $mocked_logger_class = Test::MockModule->new("Koha::Logger");
my $mocked_logger = Test::MockObject->new();
$mocked_logger_class->redefine(
$mocked_logger_class->mock(
'get',
sub {
return $mocked_logger;

Loading…
Cancel
Save