]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/TestCommon.pm
test_common: reset umask on non-forking run_script
[public-inbox.git] / lib / PublicInbox / TestCommon.pm
index 92a7db36969559f28e358d616c032e84daa24faa..aff34853a88886180849fb35412534ea417f08ca 100644 (file)
@@ -316,6 +316,7 @@ sub run_script ($;$$) {
        } else { # localize and run everything in the same process:
                # note: "local *STDIN = *STDIN;" and so forth did not work in
                # old versions of perl
+               my $umask = umask;
                local %ENV = $env ? (%ENV, %$env) : %ENV;
                local @SIG{keys %SIG} = map { undef } values %SIG;
                local $SIG{FPE} = 'IGNORE'; # Perl default
@@ -333,6 +334,7 @@ sub run_script ($;$$) {
                die "fchdir(restore): $!" if $cwdfh && !chdir($cwdfh);
                _undo_redirects($orig_io);
                select STDOUT;
+               umask($umask);
        }
 
        # slurp the redirects back into user-supplied strings