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 * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
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 Add 'private' variable modifier, feature submitted by Ramon Garcia. 2009-05-26 01:31:40 +00:00
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 Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines. 2012-03-04 00:24:20 +00:00
mult_targets * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
order_only Make second expansion optional (partial implementation). 2005-10-24 13:01:39 +00:00
output-sync Clean up errors for invalid commands and add regression tests. 2018-08-04 12:37:19 -04:00
override - Modify access of config and gnulib Savannah modules to use GIT 2009-06-04 06:30:27 +00:00
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 - Rework secondary expansion so we only defer it if there's a possibility 2009-09-24 02:41:44 +00:00
shell_assignment Add new feature: != shell assignment for portability with BSD make. 2011-04-18 01:25:20 +00:00
statipattrules Fixed Savannah bug #16053. 2006-03-17 14:24:20 +00:00
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 Ignore UTF-8 BOMs. See Savannah bug #36529. 2012-09-09 21:11:00 +00:00
varnesting Save strings we're expanding in case an embedded eval causes them 2011-08-29 16:20:19 +00:00
vpath Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines. 2012-03-04 00:24:20 +00:00
vpath2 * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
vpath3 [SV 41758]: Fix archive support for VMS. 2014-10-20 01:31:42 -04:00
vpathgpath Convert all "`'" quotes to "''" per new GNU Coding Standard guidelines. 2012-03-04 00:24:20 +00:00
vpathplus * job.c (child_error): Modify error message string. 2017-10-30 17:07:21 -04:00