Fix bug #1744: mask extra arguments to recursive invocations of $(call ...)
[make.git] / tests / ChangeLog
blob2533bb8e7668176355fa2d02f9b451dca66b4e4f
1 2003-01-22  Paul D. Smith  <psmith@gnu.org>
3         * scripts/functions/call: Test recursive argument masking (bug
4         #1744).
6 2002-10-25  Paul D. Smith  <psmith@gnu.org>
8         * scripts/functions/eval: Test using $(eval ...) inside
9         conditionals (Bug #1516).
11 2002-10-13  Paul D. Smith  <psmith@gnu.org>
13         * scripts/features/targetvars: Add a test for exporting
14         target-specific vars (Bug #1391).
16 2002-10-05  Paul D. Smith  <psmith@gnu.org>
18         * scripts/variables/automatic: Add tests for $$(@), $${@}, $${@D},
19         and $${@F}.
21 2002-09-23  Paul D. Smith  <psmith@gnu.org>
23         * scripts/features/escape: Test handling of escaped comment
24         characters in targets and prerequisites.
26 2002-09-18  Paul D. Smith  <psmith@gnu.org>
28         * scripts/features/export: Test export/unexport of multiple
29         variables in a single command.
31 2002-09-17  Paul D. Smith  <psmith@gnu.org>
33         * scripts/features/targetvars: Tests for Bug #940: test
34         target-specific and pattern-specific variables in conjunction with
35         double-colon targets.
37 2002-09-10  Paul D. Smith  <psmith@gnu.org>
39         * test_driver.pl (compare_output): Match the new format for time
40         skew error messages.
42         * scripts/features/export: Created.  Add tests for export/unexport
43         capabilities, including exporting/unexporting expanded variables.
45         * scripts/features/conditionals: Add a test for expanded variables
46         in ifdef conditionals.
48 2002-09-04  Paul D. Smith  <psmith@gnu.org>
50         * scripts/features/reinvoke: Change touch/sleep combos to utouch
51         invocations.
52         * scripts/features/vpathgpath: Ditto.
53         * scripts/features/vpathplus: Ditto.
54         * scripts/options/dash-n: Ditto.
55         * scripts/targets/INTERMEDIATE: Ditto.
56         * scripts/targets/SECONDARY: Ditto.
58         * scripts/options/dash-t: Added a test for the -t bug fixed by
59         Henning Makholm.  This test was also contributed by Henning.
61         * scripts/misc/general4: Add a test suite for obscure algorithmic
62         features of make.  First test: make sure creation subdirectories
63         as prerequisites of targets works properly.
65         * scripts/misc/version: Remove this bogus test.
67 2002-08-07  Paul D. Smith  <psmith@gnu.org>
69         * scripts/misc/general3: Add a test for makefiles that don't end
70         in newlines.
72         * scripts/variables/special: Create tests for the special
73         variables (.VARIABLES and .TARGETS).  Comment out .TARGETS test
74         for now as it's not yet supported.
76 2002-08-01  Paul D. Smith  <psmith@gnu.org>
78         * scripts/options/dash-B: Add a test for the new -B option.
80 2002-07-11  Paul D. Smith  <psmith@gnu.org>
82         * run_make_tests.pl (valid_option): Add support for Valgrind
83         <http://developer.kde.org/~sewardj/>.  Use -valgrind option to the
84         test suite.
85         (set_more_defaults): Set up the file descriptor to capture
86         Valgrind output.  We have to unset its close-on-exec flag; we
87         hardcode the value for F_SETFD (2) rather than load it; hopefully
88         this will help us avoid breaking the Windows/DOS test suite.
90 2002-07-10  Paul D. Smith  <psmith@gnu.org>
92         * scripts/variables/automatic: Add some tests for $$@, $$(@D), and
93         $$(@F).
95         * test_driver.pl (utouch): Create a new function that creates a
96         file with a specific timestamp offset.  Use of this function will
97         let us avoid lots of annoying sleep() invocations in the tests
98         just to get proper timestamping, which will make the tests run a
99         lot faster.  So far it's only used in the automatic test suite.
101 2002-07-09  Paul D. Smith  <psmith@gnu.org>
103         * scripts/variables/automatic: Create a test for automatic variables.
105 2002-07-08  Paul D. Smith  <psmith@gnu.org>
107         * scripts/features/order_only: Test new order-only prerequisites.
109 2002-07-07  Paul D. Smith  <psmith@gnu.org>
111         * scripts/functions/eval: Test new function.
112         * scripts/functions/value: Test new function.
113         * scripts/variables/MAKEFILE_LIST: Test new variable.
115 2002-04-28  Paul D. Smith  <psmith@gnu.org>
117         * scripts/functions/call: New test: transitive closure
118         implementation using $(call ...) to test variable recursion.
120 2002-04-21  Paul D. Smith  <psmith@gnu.org>
122         * test_driver.pl (compare_dir_tree): Ignore CVS and RCS
123         directories in the script directories.
125 2001-05-02  Paul D. Smith  <psmith@gnu.org>
127         * scripts/variables/flavors: Test define/endef scripts where only
128         one of the command lines is quiet.
130 2000-06-22  Paul D. Smith  <psmith@gnu.org>
132         * scripts/options/dash-q: New file; test the -q option.  Includes
133         a test for PR/1780.
135 2000-06-21  Paul D. Smith  <psmith@gnu.org>
137         * scripts/features/targetvars: Added a test for PR/1709: allowing
138         semicolons in target-specific variable values.
140 2000-06-19  Paul D. Smith  <psmith@gnu.org>
142         * scripts/functions/addsuffix: Test for an empty final argument.
143         Actually this bug might have happened for any function, but this
144         one was handy.
146 2000-06-17  Eli Zaretskii  <eliz@is.elta.co.il>
148         * scripts/options/general: If parallel jobs are not supported,
149         expect a warning message from Make.
151 2000-06-15  Eli Zaretskii  <eliz@is.elta.co.il>
153         * scripts/options/general: Don't try -jN with N != 1 if parallel
154         jobs are not supported.
156 2000-05-24  Paul D. Smith  <psmith@gnu.org>
158         * scripts/options/general: Test general option processing (PR/1716).
160 2000-04-11  Paul D. Smith  <psmith@gnu.org>
162         * scripts/functions/strip: Test empty value to strip (PR/1689).
164 2000-04-08  Eli Zaretskii  <eliz@is.elta.co.il>
166         * scripts/features/reinvoke: Sleep before updating the target
167         files in the first test, to ensure its time stamp really gets
168         newer; otherwise Make might re-exec more than once.
170 2000-04-07  Eli Zaretskii  <eliz@is.elta.co.il>
172         * scripts/features/double_colon: Don't run the parallel tests if
173         parallel jobs aren't supported.
175 2000-04-04  Paul D. Smith  <psmith@gnu.org>
177         * scripts/functions/word: wordlist doesn't swap arguments anymore.
179 2000-03-27  Paul D. Smith  <psmith@gnu.org>
181         * scripts/features/statipattrules: Test that static pattern rules
182         whose prerequisite patterns resolve to empty strings throw an
183         error (instead of dumping core).  Fixes PR/1670.
185         * scripts/features/reinvoke: Make more robust by touching "b"
186         first, to ensure it's not newer than "a".
187         Reported by Marco Franzen <Marco.Franzen@Thyron.com>.
188         * scripts/options/dash-n: Ditto.
190         * scripts/functions/call: Whoops.  The fix to PR/1527 caused
191         recursive invocations of $(call ...) to break.  I can't come up
192         with any way to get both working at the same time, so I backed out
193         the fix to 1527 and added a test case for recursive calls.  This
194         also tests the fix for PR/1610.
196         * scripts/features/double_colon: Test that circular dependencies
197         in double-colon rule sets are detected correctly (PR/1671).
199 2000-03-26  Paul D. Smith  <psmith@gnu.org>
201         * scripts/targets/INTERMEDIATE: Test that make doesn't remove
202         .INTERMEDIATE files when given on the command line (PR/1669).
204 2000-03-08  Paul D. Smith  <psmith@gnu.org>
206         * scripts/options/dash-k: Add a test for error detection by
207         multiple targets depending on the same prerequisite with -k.
208         For PR/1634.
210 2000-02-07  Paul D. Smith  <psmith@gnu.org>
212         * scripts/features/escape: Add a test for backslash-escaped spaces
213         in a target name (PR/1586).
215 2000-02-04  Paul D. Smith  <psmith@gnu.org>
217         * scripts/features/patspecific_vars: Add a test for pattern-specific
218         target variables inherited from the parent target (PR/1407).
220 2000-02-02  Paul D. Smith  <psmith@gnu.org>
222         * run_make_tests.pl (set_more_defaults): Hard-code the LANG to C
223         to make sure sorting order, etc. is predictable.
224         Reported by Andreas Jaeger <aj@suse.de>.
226         * run_make_tests.pl (set_more_defaults): Set the $wtime variable
227         depending on the OS.  Eli Zaretskii <eliz@is.elta.co.il> reports
228         this seems to need to be *4* on DOS/Windows, not just 2.  Keep it
229         1 for other systems.
230         * scripts/features/vpathplus (touchfiles): Use the $wtime value
231         instead of hardcoding 2.
232         * scripts/targets/SECONDARY: Ditto.
233         * scripts/targets/INTERMEDIATE: Ditto.
235 2000-01-27  Paul D. Smith  <psmith@gnu.org>
237         * test_driver.pl (toplevel): Don't try to run test scripts which
238         are really directories.
240 2000-01-23  Paul D. Smith  <psmith@gnu.org>
242         * scripts/features/include: Remove a check; the fix caused more
243         problems than the error, so I removed it and removed the test for
244         it.
246 2000-01-11  Paul D. Smith  <psmith@gnu.org>
248         * scripts/functions/call: Add a test for PR/1517 and PR/1527: make
249         sure $(call ...) doesn't eval its arguments and that you can
250         invoke foreach from it without looping forever.
252 1999-12-15  Paul D. Smith  <psmith@gnu.org>
254         * scripts/targets/INTERMEDIATE: Add a test for PR/1423: make sure
255         .INTERMEDIATE settings on files don't disable them as implicit
256         intermediate possibilities.
258 1999-12-01  Paul D. Smith  <psmith@gnu.org>
260         * scripts/features/double_colon: Add a test for PR/1476: Try
261         double-colon rules as non-goal targets and during parallel builds
262         to make sure they're handled serially.
264 1999-11-17  Paul D. Smith  <psmith@gnu.org>
266         * scripts/functions/if: Add a test for PR/1429: put some text
267         after an if-statement to make sure it works.
269         * scripts/features/targetvars: Add a test for PR/1380: handling +=
270         in target-specific variable definitions correctly.
272 1999-10-15  Paul D. Smith  <psmith@gnu.org>
274         * scripts/variables/MAKEFILES: This was really broken: it didn't
275         test anything at all, really.  Rewrote it, plus added a test for
276         PR/1394.
278 1999-10-13  Paul D. Smith  <psmith@gnu.org>
280         * scripts/options/dash-n: Add a test for PR/1379: "-n doesn't
281         behave properly when used with recursive targets".
283 1999-10-08  Paul D. Smith  <psmith@gnu.org>
285         * scripts/features/targetvars: Add a check for PR/1378:
286         "Target-specific vars don't inherit correctly"
288 1999-09-29  Paul D. Smith  <psmith@gnu.org>
290         * test_driver.pl (get_osname): Change $fancy_file_names to
291         $short_filenames and reverse the logic.
292         (run_each_test): Change test of non-existent $port_host to use
293         $short_filenames--problem reported by Eli Zaretskii.
295 1999-09-23  Paul D. Smith  <psmith@gnu.org>
297         * scripts/features/parallelism: Add a check to ensure that the
298         jobserver works when we re-invoke.  Also cleaned up the tests a
299         little, reducing the number of rules we use so the test won't need
300         as many "sleep" commands.
302 1999-09-16  Paul D. Smith  <psmith@gnu.org>
304         * scripts/features/reinvoke: Remove invocations of "touch" in
305         makefiles.  See the comments on the touch function rewrite below.
306         Note that UNIX touch behaves the same way if the file already
307         exists: it sets the time to the _local_ time.  We don't want
308         this.  This is probably a good tip for makefile writers in
309         general, actually... where practical.
310         * scripts/options/dash-l: Ditto.
311         * scripts/options/dash-n: Ditto.
313         * test_driver.pl (run_each_test): In retrospect, I don't like the
314         .lN/.bN/.dN postfix required by DOS.  So, for non-DOS systems I
315         changed it back to use .log, .base, and .diff.
317         * run_make_tests.pl (set_more_defaults): Move the check for the
318         make pathname to here from set_defaults (that's too early since it
319         happens before the command line processing).
320         Create a new variable $port_type, calculated from $osname, to
321         specify what kind of system we're running on.  We should integrate
322         the VOS stuff here, too.
323         (valid_option): Comment out the workdir/-work stuff so people
324         won't be fooled into thinking it works... someone needs to fix
325         this, though!
327         * scripts/functions/origin: Use $port_type instead of $osname.
328         * scripts/functions/foreach: Ditto.
329         * scripts/features/default_names: Ditto.
331 1999-09-15  Paul D. Smith  <psmith@gnu.org>
333         * test_driver.pl (touch): Rewrite this function.  Previously it
334         used to use utime() to hard-set the time based on the current
335         local clock, or, if the file didn't exist, it merely created it.
336         This mirrors exactly what real UNIX touch does, but it fails badly
337         on networked filesystems where the FS server clock is skewed from
338         the local clock: normally modifying a file causes it to get a mod
339         time based on the _server's_ clock.  Hard-setting it based on the
340         _local_ clock causes gratuitous errors and makes the tests
341         unreliable except on local filesystems.  The new function will
342         simply modify the file, allowing the filesystem to set the mod
343         time as it sees fit.
345         * scripts/features/parallelism: The second test output could
346         change depending on how fast some scripts completed; use "sleep"
347         to force the order we want.
349         * test_driver.pl (toplevel): A bug in Perl 5.000 to Perl 5.004
350         means that "%ENV = ();" doesn't do the right thing.  This worked
351         in Perl 4 and was fixed in Perl 5.004_01, but use a loop to delete
352         the environment rather than require specific versions.
354         * run_make_tests.pl (set_more_defaults): Don't use Perl 5 s///
355         modifier "s", so the tests will run with Perl 4.
356         (set_more_defaults): Set $pure_log to empty if there's no -logfile
357         option in PURIFYOPTIONS.
358         (setup_for_test): Don't remove any logs unless $pure_log is set.
360 1999-09-15  Eli Zaretskii  <eliz@is.elta.co.il>
362         * scripts/features/reinvoke: Put the SHELL definition in the right
363         test makefile.
365 1999-09-15  Paul D. Smith  <psmith@gnu.org>
367         ChangeLog file for the test suite created.