make/tests/scripts/features
Paul Smith 60905a8afb [SV 56834] Support local PATH search with posix_spawnp
When using exec we install the child's environment before invoking
execlp(), so commands are found on the child's PATH.  posix_spawnp
searches on the parent's PATH, which we don't want.

Import gnulib's findprog-in module and use it to search the child's
PATH, then use posix_spawn() to run it.

Also, posix_spawn() does not fall back to trying sh on ENOEXEC, as
execlp() does, so implement that as well.

* bootstrap.conf: Add the findprog-in gnulib module
* src/job.c: Include findprog.h if we're using posix_spawn.
(start_job_command): Remove the handling of child->cmd_name,
(child_execute_job): and add it here.  Look up the command to be
run in the child's path and invoke it if found.  If it fails with
ENOEXEC then retry it as an argument to the default shell.
* tests/scripts/misc/general4: Test makefile PATH assignments.
* tests/scripts/features/targetvars: Ditto, for target variables.
2019-09-08 15:12:40 -04:00
..
archives * tests/scripts/features/archives: Fix expected long ar name output. 2019-09-07 18:27:26 -04:00
comments
conditionals * read.c (eval): [SV 47960] Skip record waiting files when ignoring. 2016-05-21 16:22:32 -04:00
default_names Clean up some tests for use on Windows. 2013-10-05 19:30:48 -04:00
double_colon [SV 47995] Ensure forced double-colon rules work with -j. 2016-05-31 03:17:26 -04:00
echoing Portability changes for the test suite. 2016-12-26 09:01:59 -05:00
errors Clean up errors for invalid commands and add regression tests. 2018-08-04 12:37:19 -04:00
escape Add test suite support to Windows 2017-06-04 18:37:20 -04:00
export
grouped_targets Port grouped_targets test to Solaris 10 2019-09-02 11:11:26 -04:00
include * job.c (child_error): Modify error message string. 2017-10-30 17:07:21 -04:00
jobserver Update regression tests for Windows. 2018-07-02 07:54:07 -04:00
load Rework directory structure to use GNU-recommended "src" directory. 2017-11-19 14:07:22 -05:00
loadapi Rework directory structure to use GNU-recommended "src" directory. 2017-11-19 14:07:22 -05:00
mult_rules
mult_targets
order_only
output-sync Clean up errors for invalid commands and add regression tests. 2018-08-04 12:37:19 -04:00
override
parallelism * src/main.c (main): Set jobserver permissions before re-execing 2018-09-15 15:08:47 -04:00
patspecific_vars [SV 39709] Fix some typos. 2013-10-09 01:53:55 -04:00
patternrules [SV 54233] Preserve higher command_state values on also_make targets. 2018-08-04 19:07:59 -04:00
quoting Add test suite support to Windows 2017-06-04 18:37:20 -04:00
recursion [SV 46013] Allow recursive variable overrides from Makefiles 2019-05-19 19:25:50 -04:00
reinvoke Add test suite support to Windows 2017-06-04 18:37:20 -04:00
rule_glob [Bug #39310] Parse simple pattern prereqs for globbing. 2013-07-22 02:23:02 -04:00
se_explicit [SV 28456] Don't override $< when no default rule has been defined 2019-07-13 11:47:26 -04:00
se_implicit [SV 28456] Don't override $< when no default rule has been defined 2019-07-13 11:47:26 -04:00
se_statpat
shell_assignment
statipattrules
suffixrules [SV 40657] Don't create pattern rules for suffix rules with deps. 2018-09-15 15:08:29 -04:00
targetvars [SV 56834] Support local PATH search with posix_spawnp 2019-09-08 15:12:40 -04:00
utf8
varnesting
vpath
vpath2
vpath3 [SV 41758]: Fix archive support for VMS. 2014-10-20 01:31:42 -04:00
vpathgpath
vpathplus * job.c (child_error): Modify error message string. 2017-10-30 17:07:21 -04:00