X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=xt%2Fnotabs.t;h=d11bd4a78db55792afd928a7e39ee514700efa0f;hb=4b8a53eabdb1629bacdb95f04ca8fc3718ca7c58;hp=76895b2cc392b9efabfa9ba957a0b06df4d9ed5a;hpb=39c9c72df61c84b595715e3d164bacc0b8e68439;p=dbsrgits%2FDBIx-Class.git diff --git a/xt/notabs.t b/xt/notabs.t index 76895b2..d11bd4a 100644 --- a/xt/notabs.t +++ b/xt/notabs.t @@ -2,26 +2,51 @@ use warnings; use strict; use Test::More; +use File::Glob 'bsd_glob'; use lib 't/lib'; use DBICTest; -# Don't run tests for installs -if ( DBICTest::RunMode->is_plain ) { - plan( skip_all => "Author tests not required for installation" ); -} - require DBIx::Class; unless ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_notabs') ) { my $missing = DBIx::Class::Optional::Dependencies->req_missing_for ('test_notabs'); - (! DBICTest::RunMode->is_plain && ! DBICTest::RunMode->is_smoker ) + $ENV{RELEASE_TESTING} ? die ("Failed to load release-testing module requirements: $missing") : plan skip_all => "Test needs: $missing" } +# FIXME - temporary workaround for RT#82033 +# also add all scripts (no extension) and some extra extensions +# we want to check +{ + no warnings 'redefine'; + + *Test::EOL::_is_perl_module = sub { + $_[0] !~ /\./ || $_[0] =~ /\.(?:pm|pod|skip|json|proto)$/i || $_[0] =~ /::/; + } +} + Test::NoTabs::all_perl_files_ok( - qw/t xt lib script/, - DBICTest::RunMode->is_author ? ('maint') : (), + qw/t xt lib script examples maint/, ); -# FIXME - need to fix Test::NoTabs - doesn't work with done_testing +# check some non-"perl files" in the root separately +# use .gitignore as a guide of what to skip +# (or do not test at all if no .gitignore is found) +if (open(my $gi, '<', '.gitignore')) { + my $skipnames; + while (my $ln = <$gi>) { + next if $ln =~ /^\s*$/; + chomp $ln; + $skipnames->{$_}++ for bsd_glob($ln); + } + + for my $fn (bsd_glob('*')) { + next if $skipnames->{$fn}; + next unless -f $fn; + Test::NoTabs::notabs_ok($fn); + } +} + +# FIXME - Test::NoTabs declares 'no_plan' which conflicts with done_testing +# https://github.com/schwern/test-more/issues/14 #done_testing;