Merge branch 'bug_9008' into 3.12-master
[koha.git] / t / 00-load.t
1 # This script is called by the pre-commit git hook to test modules compile
2
3 use strict;
4 use warnings;
5 use Test::More;
6 use File::Spec;
7 use File::Find;
8
9 my $lib = File::Spec->rel2abs('C4');
10 find({
11     bydepth => 1,
12     no_chdir => 1,
13     wanted => sub {
14         my $m = $_;
15         return unless $m =~ s/[.]pm$//;
16         $m =~ s{^.*/C4/}{C4/};
17         $m =~ s{/}{::}g;
18         return if $m =~ /Auth_with_ldap/; # Dont test this, it will fail on use
19         return if $m =~ /Cache/; # Cache modules are a WIP, add the tests back when we are using them more
20         return if $m =~ /SIP/; # SIP modules will not load clean
21         return if $m =~ /C4::VirtualShelves$/; # Requires a DB
22         return if $m =~ /C4::Auth$/; # DB
23         return if $m =~ /C4::Tags$/; # DB
24         return if $m =~ /C4::Service/; # DB
25         return if $m =~ /C4::Auth_with_cas/; # DB
26         return if $m =~ /C4::BackgroundJob/; # DB
27         return if $m =~ /C4::UploadedFile/; # DB
28         return if $m =~ /C4::Record/; # DB
29         return if $m =~ /C4::Reports::Guided/; # DB
30         return if $m =~ /C4::Serials/; # DB
31         return if $m =~ /C4::VirtualShelves::Page/; # DB
32         return if $m =~ /C4::Members::Statistics/; # DB
33         use_ok($m) || BAIL_OUT("***** PROBLEMS LOADING FILE '$m'");
34     },
35 }, $lib);
36
37 $lib = File::Spec->rel2abs('Koha');
38 find(
39     {
40         bydepth  => 1,
41         no_chdir => 1,
42         wanted   => sub {
43             my $m = $_;
44             return unless $m =~ s/[.]pm$//;
45             $m =~ s{^.*/Koha/}{Koha/};
46             $m =~ s{/}{::}g;
47             return if $m =~ /Koha::SearchEngine/; # Koha::SearchEngine::* are experimental
48             return if $m =~ /Koha::Cache::Memcached/; # optional dependency
49             use_ok($m) || BAIL_OUT("***** PROBLEMS LOADING FILE '$m'");
50         },
51     },
52     $lib
53 );
54
55
56 done_testing();