Regex /o is *EVIL* - no idea why I even thought of using that
[dbsrgits/DBIx-Class-Historic.git] / xt / strictures.t
1 use warnings;
2 use strict;
3
4 use Test::More;
5 use lib 't/lib';
6 use DBICTest ':GlobalLock';
7
8 unless ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_strictures') ) {
9   my $missing = DBIx::Class::Optional::Dependencies->req_missing_for ('test_strictures');
10   $ENV{RELEASE_TESTING}
11     ? die ("Failed to load release-testing module requirements: $missing")
12     : plan skip_all => "Test needs: $missing"
13 }
14
15
16 use File::Find;
17
18 find({
19   wanted => sub {
20     -f $_ or return;
21     m/\.(?: pm | pl | t )$ /ix or return;
22
23     return if m{^(?:
24       maint/Makefile.PL.inc/.+                        # all the maint inc snippets are auto-strictured
25         |
26       lib/DBIx/Class/Storage/BlockRunner.pm           # Moo undetected
27         |
28       t/lib/DBICTest/Util/OverrideRequire.pm          # no stictures by design (load order sensitive)
29         |
30       lib/DBIx/Class/Storage/DBI/Replicated/Replicant.pm  # Moose::Role no longer detected (RT#83433)
31         |
32       lib/DBIx/Class/Storage/DBI/Replicated/WithDSN.pm    # Moose::Role no longer detected (RT#83433)
33         |
34       lib/DBIx/Class/Storage/DBI/Replicated/Balancer.pm   # Moose::Role no longer detected (RT#83433)
35     )$}x;
36
37     my $f = $_;
38
39     Test::Strict::strict_ok($f);
40     Test::Strict::warnings_ok($f);
41
42     #Test::Strict::syntax_ok($f) if $f =~ /^ (?: lib  )/x;
43   },
44   no_chdir => 1,
45 }, (qw(lib t examples maint)) );
46
47 done_testing;