* tests/scripts/features/exec: Don't test with C shells

Using C shells (csh, tcsh) with make is known to be problematic due
to incorrect ways it handles open file descriptors, at least.  If
the user's shell is *csh then don't try it during exec tests.
This commit is contained in:
Paul Smith 2022-10-25 14:46:58 -04:00
parent 04f0d8427f
commit cf78e65fda

View file

@ -15,11 +15,19 @@ my $details = "The various shells that this test uses are the default"
$port_type eq 'UNIX' or return -1; $port_type eq 'UNIX' or return -1;
$^O =~ /cygwin/ and return -1; $^O =~ /cygwin/ and return -1;
my $usersh = $origENV{SHELL}; my @shbangs = ('', '#!/bin/sh', "#!$perl_name");
my $answer = 'hello, world'; my @shells = ('', 'SHELL=/bin/sh');
my @shbangs = ('', '#!/bin/sh', "#!$usersh", "#!$perl_name"); # Try whatever shell the user has, as long as it's not a C shell.
my @shells = ('', 'SHELL=/bin/sh', "SHELL=$usersh"); # The C shell is not usable with make, due to not correctly handling
# file descriptors and possibly other issues.
my $usersh = $origENV{SHELL};
if ($usersh !~ /csh/) {
push @shbangs, ("#!$usersh");
push @shells, ("SHELL=$usersh");
}
my $answer = 'hello, world';
# tests [0-11] # tests [0-11]
# Have a makefile with various SHELL= exec a shell program with varios # Have a makefile with various SHELL= exec a shell program with varios