make/tests/scripts/features
Dmitry Goncharov 9e4b3d3f4c [SV 60435] Ensure intermediate grouped files are removed
If multiple intermediate files are built together be sure all of them
are removed after make is finished.  Continue to ensure that targets
that exist before make starts are not removed even if they appear to be
intermediate.

Add a number of tests to pattern rules to verify this behavior.

* src/filedef.h (struct file): Add a new is_explicit bitfield.
* src/file.c (rehash_file): Merge the is_explicit bit.
(enter_prereqs): Set is_explicit if the file is explicitly mentioned.
* src/implicit.c (pattern_search): Set intermediate on the file if it's
not explicit.
(record_files): Set is_explicit if a file is mentioned as a target.
* src/remake.c (update_file_1): Set secondary on files that already
exist so they won't be removed.
* tests/scripts/features/double_colon: Add a test for double-colon
pattern rules.
* tests/scripts/features/patternrules: Update KGO for tests where more
files are removed.
Add new tests to verify handling removal of intermediate files in the
context of grouped pattern targets.
2021-09-07 01:14:20 -04:00
..
archives tests: Convert %CONFIG_FLAGS to get_config() 2019-10-05 17:47:52 -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
dircache [SV 41273] Allow the directory cache to be invalidated 2020-11-29 17:59:16 -05:00
double_colon [SV 60435] Ensure intermediate grouped files are removed 2021-09-07 01:14:20 -04:00
echoing Portability changes for the test suite. 2016-12-26 09:01:59 -05:00
errors * job.c (child_error): Modify error message string. 2019-09-22 17:02:57 -04:00
escape Add test suite support to Windows 2017-06-04 18:37:20 -04:00
exec * tests/scripts/features/exec: Small cleanup 2021-03-15 01:17:06 -04:00
export Support "unexport" in target-specific variables. 2020-11-29 17:57:33 -05:00
grouped_targets [SV 60188] Explicit prereqs cannot be intermediate files 2021-03-15 02:10:49 -04:00
include [SV 57778] Don't ignore included makefiles that can't be read 2021-09-06 20:20:28 -04:00
jobserver tests: Simplify customization of %ENV 2020-04-01 02:02:57 -04:00
load tests: Convert %CONFIG_FLAGS to get_config() 2019-10-05 17:47:52 -04:00
loadapi tests: Convert %CONFIG_FLAGS to get_config() 2019-10-05 17:47:52 -04: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 Rename jhelp.pl to thelp.pl and make it a generic test helper. 2019-12-16 09:31:31 -05:00
override - Modify access of config and gnulib Savannah modules to use GIT 2009-06-04 06:30:27 +00:00
parallelism tests: Simplify customization of %ENV 2020-04-01 02:02:57 -04:00
patspecific_vars [SV 39709] Fix some typos. 2013-10-09 01:53:55 -04:00
patternrules [SV 60435] Ensure intermediate grouped files are removed 2021-09-07 01:14:20 -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 [SV 60595] Restart whenever any makefile is rebuilt 2021-09-03 12:08:11 -04:00
rule_glob [Bug #39310] Parse simple pattern prereqs for globbing. 2013-07-22 02:23:02 -04:00
se_explicit [SV 60659] Set $$< properly in second expansion 2021-05-30 15:53:41 -04:00
se_implicit [SV 60659] Set $$< properly in second expansion 2021-05-30 15:53:41 -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 [SV 60188] Explicit prereqs cannot be intermediate files 2021-03-15 02:10:49 -04:00
suffixrules [SV 40657] Reinstate old behavior for suffix rules with prereqs 2020-01-19 17:04:52 -05:00
targetvars Support "unexport" in target-specific variables. 2020-11-29 17:57:33 -05: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 Refresh the test suite framework implementation. 2019-09-16 08:25:33 -04:00
vpath3 [SV 41758]: Fix archive support for VMS. 2014-10-20 01:31:42 -04:00
vpathgpath * tests/scripts/features/vpathgpath: Avoid duplicate function name. 2020-11-29 17:59:40 -05:00
vpathplus * tests/scripts/features/vpathplus: Fix output for big-endian systems. 2019-09-22 17:35:51 -04:00