This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade HTTP::Tiny to 0.017.
[perl5.git] / cpan / HTTP-Tiny / t / 00-compile.t
index 6ce3690..6987686 100644 (file)
@@ -24,19 +24,33 @@ find(
   'lib',
 );
 
-my @scripts;
-if ( -d 'bin' ) {
+sub _find_scripts {
+    my $dir = shift @_;
+
+    my @found_scripts = ();
     find(
       sub {
         return unless -f;
         my $found = $File::Find::name;
         # nothing to skip
-        push @scripts, $found;
+        open my $FH, '<', $_ or do {
+          note( "Unable to open $found in ( $! ), skipping" );
+          return;
+        };
+        my $shebang = <$FH>;
+        return unless $shebang =~ /^#!.*?\bperl\b\s*$/;
+        push @found_scripts, $found;
       },
-      'bin',
+      $dir,
     );
+
+    return @found_scripts;
 }
 
+my @scripts;
+do { push @scripts, _find_scripts($_) if -d $_ }
+    for qw{ bin script scripts };
+
 my $plan = scalar(@modules) + scalar(@scripts);
 $plan ? (plan tests => $plan) : (plan skip_all => "no tests to run");