diff -Nurd -x'*~' namespace-clean-0.27.orig/t/10-pure-perl.t namespace-clean-0.27/t/10-pure-perl.t --- namespace-clean-0.27.orig/t/10-pure-perl.t 2016-04-09 23:38:56.000000000 -0400 +++ namespace-clean-0.27/t/10-pure-perl.t 2018-01-23 11:04:48.000000000 -0500 @@ -1,6 +1,7 @@ use strict; use warnings; use Test::More; +use Config; BEGIN { plan skip_all => "PP tests already executed" @@ -46,7 +47,6 @@ # for the $^X-es $ENV{PERL5LIB} = join ($Config{path_sep}, @INC); -$ENV{PATH} = ''; # rerun the tests under the assumption of pure-perl @@ -56,7 +56,21 @@ next if abs_path($fn) eq $this_file; - my @cmd = map { $_ =~ /(.+)/ } ($^X, $fn); + my @cmd; + if ($] >= 5.010 && $Config{"byteorder"} =~ /^1/) { + # little-endian means intel (not powerpc), for which fink has + # multiple single-arch distros that are seen by a single (fat) + # perl interp from apple for a perl version supported by fink + # (i.e., starting with 5.10.0). This is the logic taken from + # Fink::PkgVersion as of fink-0.29.13. + push @cmd, '/usr/bin/arch'; + if ( $Config{"longsize"} == 4 ) { + push @cmd, '-i386'; # 32-bit + } else { + push @cmd, '-x86_64'; # 64-bit + } + } + push @cmd, map { $_ =~ /(.+)/ } ($^X, $fn); # this is cheating, and may even hang here and there (testing on windows passed fine) # if it does - will have to fix it somehow (really *REALLY* don't want to pull