X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=t%2F00-load.t;h=21b62ebb504c49b36d8ac52e43faf892f9bfc37c;hb=6def929de4a72fb8d6a9cac59419daa87807c500;hp=fa8181fdc342722ace514dbd1f6db738b1e18eee;hpb=3f35705ddcc3eff0df658faf12320a6e8671b668;p=koha.git diff --git a/t/00-load.t b/t/00-load.t index fa8181fdc3..21b62ebb50 100644 --- a/t/00-load.t +++ b/t/00-load.t @@ -1,35 +1,72 @@ -# This script is called by the pre-commit git hook to test modules compile +#!/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 . + +use Modern::Perl; -use strict; -use warnings; use Test::More; use File::Spec; use File::Find; +use t::lib::Mocks; + +=head1 DESCRIPTION + +00-load.t: This script is called by the pre-commit git hook to test modules compile + +=cut + +my $context_module = t::lib::Mocks::mock_dbh; + +# Loop through the C4:: modules my $lib = File::Spec->rel2abs('C4'); find({ bydepth => 1, no_chdir => 1, wanted => sub { my $m = $_; - return unless $m =~ s/[.]pm$//; - $m =~ s{^.*/C4/}{C4/}; - $m =~ s{/}{::}g; - return if $m =~ /Auth_with_ldap/; # Dont test this, it will fail on use - return if $m =~ /Cache/; # Cache modules are a WIP, add the tests back when we are using them more - return if $m =~ /SIP/; # SIP modules will not load clean - return if $m =~ /C4::VirtualShelves$/; # Requires a DB - return if $m =~ /C4::Auth$/; # DB - return if $m =~ /C4::Tags$/; # DB - return if $m =~ /C4::Service/; # DB - return if $m =~ /C4::Auth_with_cas/; # DB - return if $m =~ /C4::BackgroundJob/; # DB - return if $m =~ /C4::UploadedFile/; # DB - return if $m =~ /C4::Record/; # DB - return if $m =~ /C4::Reports::Guided/; # DB - return if $m =~ /C4::Serials/; # DB - return if $m =~ /C4::VirtualShelves::Page/; # DB + return unless $m =~ s/[.]pm$//; + + $m =~ s{^.*/C4/}{C4/}; + $m =~ s{/}{::}g; + return if $m =~ /Auth_with_ldap/; # Dont test this, it will fail on use + return if $m =~ /SIPServer/; # SIP Server module has old package usage use_ok($m) || BAIL_OUT("***** PROBLEMS LOADING FILE '$m'"); }, }, $lib); + +# Loop through the Koha:: modules +$lib = File::Spec->rel2abs('Koha'); +find( + { + bydepth => 1, + no_chdir => 1, + wanted => sub { + my $m = $_; + return unless $m =~ s/[.]pm$//; + $m =~ s{^.*/Koha/}{Koha/}; + $m =~ s{/}{::}g; + return if $m =~ /Koha::NorwegianPatronDB/; # uses non-mandatory modules + use_ok($m) || BAIL_OUT("***** PROBLEMS LOADING FILE '$m'"); + }, + }, + $lib +); + + done_testing(); + +1;