package main;
use strict;
use warnings;
use Test::More 0.88;
BEGIN {
eval {
require ExtUtils::Manifest;
ExtUtils::Manifest->import( qw{ maniread } );
1;
} or do {
plan skip_all => 'ExtUtils::Manifest required.';
};
}
my $manifest = maniread ();
my @check;
foreach ( sort keys %{ $manifest } ) {
m/ \A bin \b /smx and next;
m/ \A eg \b /smx and next;
push @check, $_;
}
foreach my $file (@check) {
open (my $fh, '<', $file) or die "Unable to open $file: $!\n";
local $_ = <$fh>;
close $fh;
my @stat = stat $file;
my $executable = $stat[2] & oct( 111 ) || m/ \A \# ! .* perl /smx;
ok !$executable, "File $file is not executable";
}
done_testing;
1;