mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-11-25 04:35:44 +00:00
* 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:
parent
04f0d8427f
commit
cf78e65fda
1 changed files with 12 additions and 4 deletions
|
@ -15,11 +15,19 @@ my $details = "The various shells that this test uses are the default"
|
|||
$port_type eq 'UNIX' or return -1;
|
||||
$^O =~ /cygwin/ and return -1;
|
||||
|
||||
my $usersh = $origENV{SHELL};
|
||||
my $answer = 'hello, world';
|
||||
my @shbangs = ('', '#!/bin/sh', "#!$perl_name");
|
||||
my @shells = ('', 'SHELL=/bin/sh');
|
||||
|
||||
my @shbangs = ('', '#!/bin/sh', "#!$usersh", "#!$perl_name");
|
||||
my @shells = ('', 'SHELL=/bin/sh', "SHELL=$usersh");
|
||||
# Try whatever shell the user has, as long as it's not a C shell.
|
||||
# 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]
|
||||
# Have a makefile with various SHELL= exec a shell program with varios
|
||||
|
|
Loading…
Reference in a new issue