diff -Nurd CPAN-2.34.orig/t/00signature.t CPAN-2.34/t/00signature.t
--- CPAN-2.34.orig/t/00signature.t	2022-04-03 14:19:14.000000000 -0400
+++ CPAN-2.34/t/00signature.t	2023-02-13 01:52:26.000000000 -0500
@@ -53,10 +53,7 @@
         }
     }
     unless ($exit_message) {
-        my $keyserver = 'pgpkeys.eu';
-        if (!eval { require Socket; Socket::inet_aton($keyserver) }) {
-            $exit_message = "Cannot connect to the keyserver $keyserver";
-        }
+        $exit_message = "Internet access not permitted from sandbox";
     }
     if ($exit_message) {
         $|=1;
@@ -71,7 +68,7 @@
     print "ok 1 # Valid signature\n";
 }
 else {
-    print "1..0 # SKIP verify failed, so only collect diagnostics\n";
+    print "1..0 # SKIP verify failed, so only collect diagnostics (expected for fink because test incompatible with local patches)\n";
 }
 
 # Local Variables:
diff -Nurd CPAN-2.34.orig/t/04clean_load.t CPAN-2.34/t/04clean_load.t
--- CPAN-2.34.orig/t/04clean_load.t	2018-11-26 21:51:46.000000000 -0500
+++ CPAN-2.34/t/04clean_load.t	2023-02-13 01:52:26.000000000 -0500
@@ -2,6 +2,7 @@
 
 use strict;
 eval 'use warnings';
+use Config;
 
 my %has_deps = (
     'blib/lib/CPAN/HTTP/Client.pm' => {
@@ -17,7 +18,21 @@
 plan(tests => scalar @modules);
 foreach my $file (@modules) {
     #diag $file;
-    system("$^X -c $file >out 2>err");
+    my @command;
+    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 @command, '/usr/bin/arch';
+        if ( $Config{"longsize"} == 4 ) {
+            push @command, '-i386';   # 32-bit
+        } else {
+            push @command, '-x86_64'; # 64-bit
+        }
+    }
+    system("@command $^X -c $file >out 2>err");
     my $fail;
     if (open ERR, '<err') {
         my $stderr = join('', <ERR>);
diff -Nurd CPAN-2.34.orig/t/30shell.t CPAN-2.34/t/30shell.t
--- CPAN-2.34.orig/t/30shell.t	2022-04-03 14:19:14.000000000 -0400
+++ CPAN-2.34/t/30shell.t	2023-02-13 01:52:26.000000000 -0500
@@ -72,7 +72,9 @@
 {
     local *FH;
     open *FH, (">"._f"t/dot-cpan-$$/build/Something-From-Builddir-0.00.yml") or die;
-    my @stat = stat $^X;
+    my $interp = `which $^X`; # $^X might be found in PATH not rel/abs path
+    chomp $interp;
+    my @stat = stat $interp;
     my $dll = eval {OS2::DLLname()};
     my $mtime_dll = 0;
     if (defined $dll) {
diff -Nurd CPAN-2.34.orig/t/local_utils.pm CPAN-2.34/t/local_utils.pm
--- CPAN-2.34.orig/t/local_utils.pm	2018-09-22 15:39:13.000000000 -0400
+++ CPAN-2.34/t/local_utils.pm	2023-02-13 01:52:26.000000000 -0500
@@ -97,8 +97,22 @@
     my $cwd = shift;
     my $dup_pid = shift;
     my $t = File::Spec->catfile($cwd,"t");
+    my @command;
+    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 @command, '/usr/bin/arch';
+        if ( $Config{"longsize"} == 4 ) {
+            push @command, '-i386';   # 32-bit
+        } else {
+            push @command, '-x86_64'; # 64-bit
+        }
+    }
     my @system = (
-                  $^X,
+                  @command, $^X,
                   "-I$t",                 # get this test's own MyConfig
                   "-Mblib",
                   "-MCPAN::MyConfig_$$",