Add strict/warnings test, adjust all offenders (wow, that was a lot)
[dbsrgits/DBIx-Class.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/Admin/Types.pm                   # MooseX::Types undetected
27         |
28       lib/DBIx/Class/Storage/DBI/Replicated/Types.pm  # MooseX::Types undetected
29         |
30       lib/DBIx/Class/Storage/BlockRunner.pm           # Moo undetected
31         |
32       t/lib/DBICTest/Util/OverrideRequire.pm          # no stictures by design (load order sensitive)
33     )$}x;
34
35     my $f = $_;
36
37     Test::Strict::strict_ok($f);
38     Test::Strict::warnings_ok($f);
39
40     #Test::Strict::syntax_ok($f) if $f =~ /^ (?: lib  )/x;
41   },
42   no_chdir => 1,
43 }, (qw(lib t examples maint)) );
44
45 done_testing;