This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Test setting $0 on Dragonfly BSD
authorTom Hukins <tom@eborcom.com>
Wed, 2 Dec 2020 17:26:09 +0000 (17:26 +0000)
committerKarl Williamson <khw@cpan.org>
Sat, 5 Dec 2020 18:57:24 +0000 (11:57 -0700)
Support for this began in Perl 5.26.0 with commit 38626956885060503.

t/op/magic.t

index 6283df5..3f23648 100644 (file)
@@ -797,15 +797,15 @@ SKIP: {
        env_is(__NoNeLoCaL => '');
 
     SKIP: {
-           skip("\$0 check only on Linux and FreeBSD", 2)
-               unless $^O =~ /^(linux|android|freebsd)$/
+           skip("\$0 check only on Linux, Dragonfly BSD and FreeBSD", 2)
+               unless $^O =~ /^(linux|android|dragonfly|freebsd)$/
                    && open CMDLINE, "/proc/$$/cmdline";
 
            chomp(my $line = scalar <CMDLINE>);
            my $me = (split /\0/, $line)[0];
            is $me, $0, 'altering $0 is effective (testing with /proc/)';
            close CMDLINE;
-            skip("\$0 check with 'ps' only on Linux (but not Android) and FreeBSD", 1) if $^O eq 'android';
+            skip("No \$0 check with 'ps' on Android", 1) if $^O eq 'android';
             # perlbug #22811
             my $mydollarzero = sub {
               my($arg) = shift;
@@ -830,7 +830,7 @@ SKIP: {
               # FreeBSD cannot get rid of both the leading "perl :"
               # and the trailing " (perl)": some FreeBSD versions
               # can get rid of the first one.
-              || ($^O eq 'freebsd' && $ps =~ m/^(?:perl: )?x(?: \(perl\))?$/),
+              || ($^O =~ /^(dragonfly|freebsd)$/ && $ps =~ m/^(?:perl: )?x(?: \(perl\))?$/),
                       'altering $0 is effective (testing with `ps`)');
        }
 }