utils/scancpan: fix test file creation on br-external
authorFrancois Perrad <fperrad@gmail.com>
Sun, 9 Jun 2019 14:37:19 +0000 (16:37 +0200)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Sun, 9 Jun 2019 21:37:04 +0000 (23:37 +0200)
first, add the creation of the needed subdirectories

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
utils/scancpan

index 0e7585e312c65cd3ed7480e8576a2a7efd42f807..1fccc980af9b205a8045f7f0655ab40731e927b1 100755 (executable)
@@ -479,6 +479,7 @@ use Fatal qw(open close);
 use Getopt::Long;
 use Pod::Usage;
 use File::Basename;
+use File::Path qw(make_path);
 use Module::CoreList;
 use HTTP::Tiny;
 use Safe;
@@ -715,9 +716,10 @@ while (my ($distname, $dist) = each %dist) {
     my $mkname = $dirname . q{/} . $fsname . q{.mk};
     my $hashname = $dirname . q{/} . $fsname . q{.hash};
     my $brname = brname( $fsname );
-    my $testname = q{support/testing/tests/package/test_} . lc $brname . q{.py};
+    my $testdir = q{support/testing/tests/package};
+    my $testname = $testdir . q{/test_} . lc $brname . q{.py};
     unless (-d $dirname) {
-        mkdir $dirname;
+        make_path $dirname;
         $new_pkgs = 1;
     }
     if ($need_target{$distname} && ($force || !-f $cfgname)) {
@@ -815,6 +817,7 @@ while (my ($distname, $dist) = each %dist) {
         my $mark = $is_xs{$distname} ? q{   XS} : q{};
         my @indirect = (get_indirect_dependencies( $distname ));
         say qq{write ${testname}} unless $quiet;
+        make_path $testdir unless -d $testdir;
         open my $fh, q{>}, $testname;
         say {$fh} qq{from tests.package.test_perl import TestPerlBase};
         say {$fh} qq{};