make/tests/scripts/misc
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
..
bs-nl Update regression tests for Windows. 2018-07-02 07:54:07 -04:00
close_stdout Add test suite support to Windows 2017-06-04 18:37:20 -04:00
fopen-fail * tests/scripts/misc/fopen-fail: [SV 42390] Increase test timeout. 2015-07-12 18:19:01 -04:00
general1 * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
general2 * Added the test suite to the main distribution. 1999-09-14 02:03:19 +00:00
general3 * tests/scripts/misc/general3: Add more tests for SHELL/.SHELLFLAGS 2019-08-26 07:54:09 -04:00
general4 [SV 56834] Support local PATH search with posix_spawnp 2019-09-08 15:12:40 -04:00
utf8 * makeint.h (STOP_SET): [SV 40371] Cast to unsigned char. 2013-10-27 17:43:21 -04:00