5 return if $xt_dist_dirs->{$File::Find::dir};
6 $xt_dist_dirs->{$File::Find::dir} = 1 if (
11 my @xt_dist_tests = map { "$_/*.t" } sort keys %$xt_dist_dirs;
13 my $parallel_jobs = ( $^O eq 'MSWin32' )
14 ? 1 # FIXME for some reason windows hangs on parallel jobs at `make dist`
18 # inject an explicit xt test run, mainly to check the contents of
19 # lib and the generated POD's *before* anything is copied around
21 # at the end rerun the whitespace and footer tests in the distdir
22 # to make sure everything is pristine
25 dbic_clonedir_copy_generated_pod : test_xt
29 # When xt tests are explicitly requested, we want to run with RELEASE_TESTING=1
30 # so that all optdeps are turned into a hard failure
31 # However portably modifying ENV for a single command is surprisingly hard
32 # So instead we (ab)use perl's ability to stack -e options, and simply modify
33 # the ENV from within perl itself
34 $mm_proto->test_via_harness(
38 map { $mm_proto->quote_literal($_) } (
40 "\$ENV{RELEASE_TESTING}=1;\$ENV{HARNESS_OPTIONS}=j$parallel_jobs;"
45 map { $mm_proto->quote_literal($_) } @xt_dist_tests
50 create_distdir : dbic_distdir_retest_ws_and_footers
52 dbic_distdir_retest_ws_and_footers :
56 $mm_proto->test_via_harness(
60 map { $mm_proto->quote_literal($_) } (
63 "\$ENV{RELEASE_TESTING}=1;\$ENV{HARNESS_OPTIONS}=j$parallel_jobs;"
66 'xt/dist/postdistdir/*.t',
73 # keep the Makefile.PL eval happy