make/tests/scripts/targets
Paul Smith 3176b60566 [SV 64085] Handle .POSIX plus .IGNORE correctly
POSIX requires that a conforming makefile should not use -e if
 1) make is invoked with -i
 2) A .IGNORE target exists with no prerequisites
 3) The current target is a prerequisite of .IGNORE

* src/job.c (start_job_command): Add the target's flags when
constructing argv so it can check (3) above.
(construct_command_argv_internal): Don't set shellflags if it's not
set: this only happens if we're parsing for the slow path and we
don't need them.
(construct_command_argv): Don't allocate buffers if not needed.
When detecting "-ec", check the global ignore_errors_flag and the
current command line flags.
* tests/scripts/targets/IGNORE: Add tests for .IGNORE.
* tests/scripts/targets/POSIX: Add tests for the three cases above.
2024-02-04 19:41:50 -05:00
..
clean Portability changes for the test suite. 2016-12-26 09:01:59 -05:00
DEFAULT Refresh the test suite framework implementation. 2019-09-16 08:25:33 -04:00
DELETE_ON_ERROR Adjust output strings to be aligned 2023-04-02 10:02:18 -04:00
FORCE Portability changes for the test suite. 2016-12-26 09:01:59 -05:00
IGNORE [SV 64085] Handle .POSIX plus .IGNORE correctly 2024-02-04 19:41:50 -05:00
INTERMEDIATE * tests/scripts/targets/INTERMEDIATE: Rewrite for new test method 2021-12-29 15:27:04 -05:00
NOTINTERMEDIATE [SV 63417] Ensure global .NOTINTERMEDIATE disables all intermediates 2022-11-28 10:50:55 -05:00
ONESHELL [SV 62654] Support GNU Make on z/OS 2023-01-08 10:45:38 -05:00
PHONY Portability changes for the test suite. 2016-12-26 09:01:59 -05:00
POSIX [SV 64085] Handle .POSIX plus .IGNORE correctly 2024-02-04 19:41:50 -05:00
SECONDARY Use Jenkins hash. 2017-11-11 10:08:30 -05:00
SILENT [SV 54740] Ensure .SILENT settings do not leak into sub-makes 2019-05-19 15:27:26 -04:00
WAIT * tests/scripts/targets/WAIT: Add whitespace to avoid W32 issues 2023-04-02 17:30:27 -04:00