Many bug fixes etc.
[make.git] / tests / ChangeLog
blobb20f46fec14624655c9183c2cba384da542c5a44
1 2004-01-21  Paul D. Smith  <psmith@gnu.org>
3         * scripts/features/conditionals: Test arguments to ifn?def which
4         contain whitespace (such as a function that is evaluated).  Bug
5         #7257.
7 2004-01-07  Paul D. Smith  <psmith@gnu.org>
9         * scripts/features/order_only: Test order-only prerequisites in
10         pattern rules (patch #2349).
12 2003-11-02  Paul D. Smith  <psmith@gnu.org>
14         * scripts/functions/if: Test if on conditionals with trailing
15         whitespace--bug #5798.
17         * scripts/functions/eval: Test eval in a non-file context--bug #6195.
19 2003-04-19  Paul D. Smith  <psmith@gnu.org>
21         * scripts/features/patspecific_vars: Test multiple patterns
22         matching the same target--Bug #1405.
24 2003-04-09  Paul D. Smith  <psmith@gnu.org>
26         * run_make_tests.pl (set_more_defaults): A new $port_type of
27         'OS/2' for (surprise!) OS/2.  Also choose a wait time of 2 seconds
28         for OS/2.
30 2003-03-28  Paul D. Smith  <psmith@gnu.org>
32         * scripts/targets/SECONDARY: Test the "global" .SECONDARY (with
33         not prerequisites)--Bug #2515.
35 2003-01-30  Paul D. Smith  <psmith@gnu.org>
37         * scripts/features/targetvars: Test very long target-specific
38         variable definition lines (longer than the default make buffer
39         length).  Tests patch # 1022.
41         * scripts/functions/eval: Test very recursive $(eval ...) calls
42         with simple variable expansion (bug #2238).
44         * scripts/functions/word: Test error handling for word and
45         wordlist functions (bug #2407).
47 2003-01-22  Paul D. Smith  <psmith@gnu.org>
49         * scripts/functions/call: Test recursive argument masking (bug
50         #1744).
52 2002-10-25  Paul D. Smith  <psmith@gnu.org>
54         * scripts/functions/eval: Test using $(eval ...) inside
55         conditionals (Bug #1516).
57 2002-10-14  Paul D. Smith  <psmith@gnu.org>
59         * scripts/options/dash-t: Add a test for handling -t on targets
60         with no commands (Bug #1418).
62 2002-10-13  Paul D. Smith  <psmith@gnu.org>
64         * scripts/features/targetvars: Add a test for exporting
65         target-specific vars (Bug #1391).
67 2002-10-05  Paul D. Smith  <psmith@gnu.org>
69         * scripts/variables/automatic: Add tests for $$(@), $${@}, $${@D},
70         and $${@F}.
72 2002-09-23  Paul D. Smith  <psmith@gnu.org>
74         * scripts/features/escape: Test handling of escaped comment
75         characters in targets and prerequisites.
77 2002-09-18  Paul D. Smith  <psmith@gnu.org>
79         * scripts/features/export: Test export/unexport of multiple
80         variables in a single command.
82 2002-09-17  Paul D. Smith  <psmith@gnu.org>
84         * scripts/features/targetvars: Tests for Bug #940: test
85         target-specific and pattern-specific variables in conjunction with
86         double-colon targets.
88 2002-09-10  Paul D. Smith  <psmith@gnu.org>
90         * test_driver.pl (compare_output): Match the new format for time
91         skew error messages.
93         * scripts/features/export: Created.  Add tests for export/unexport
94         capabilities, including exporting/unexporting expanded variables.
96         * scripts/features/conditionals: Add a test for expanded variables
97         in ifdef conditionals.
99 2002-09-04  Paul D. Smith  <psmith@gnu.org>
101         * scripts/features/reinvoke: Change touch/sleep combos to utouch
102         invocations.
103         * scripts/features/vpathgpath: Ditto.
104         * scripts/features/vpathplus: Ditto.
105         * scripts/options/dash-n: Ditto.
106         * scripts/targets/INTERMEDIATE: Ditto.
107         * scripts/targets/SECONDARY: Ditto.
109         * scripts/options/dash-t: Added a test for the -t bug fixed by
110         Henning Makholm.  This test was also contributed by Henning.
112         * scripts/misc/general4: Add a test suite for obscure algorithmic
113         features of make.  First test: make sure creation subdirectories
114         as prerequisites of targets works properly.
116         * scripts/misc/version: Remove this bogus test.
118 2002-08-07  Paul D. Smith  <psmith@gnu.org>
120         * scripts/misc/general3: Add a test for makefiles that don't end
121         in newlines.
123         * scripts/variables/special: Create tests for the special
124         variables (.VARIABLES and .TARGETS).  Comment out .TARGETS test
125         for now as it's not yet supported.
127 2002-08-01  Paul D. Smith  <psmith@gnu.org>
129         * scripts/options/dash-B: Add a test for the new -B option.
131 2002-07-11  Paul D. Smith  <psmith@gnu.org>
133         * run_make_tests.pl (valid_option): Add support for Valgrind
134         <http://developer.kde.org/~sewardj/>.  Use -valgrind option to the
135         test suite.
136         (set_more_defaults): Set up the file descriptor to capture
137         Valgrind output.  We have to unset its close-on-exec flag; we
138         hardcode the value for F_SETFD (2) rather than load it; hopefully
139         this will help us avoid breaking the Windows/DOS test suite.
141 2002-07-10  Paul D. Smith  <psmith@gnu.org>
143         * scripts/variables/automatic: Add some tests for $$@, $$(@D), and
144         $$(@F).
146         * test_driver.pl (utouch): Create a new function that creates a
147         file with a specific timestamp offset.  Use of this function will
148         let us avoid lots of annoying sleep() invocations in the tests
149         just to get proper timestamping, which will make the tests run a
150         lot faster.  So far it's only used in the automatic test suite.
152 2002-07-09  Paul D. Smith  <psmith@gnu.org>
154         * scripts/variables/automatic: Create a test for automatic variables.
156 2002-07-08  Paul D. Smith  <psmith@gnu.org>
158         * scripts/features/order_only: Test new order-only prerequisites.
160 2002-07-07  Paul D. Smith  <psmith@gnu.org>
162         * scripts/functions/eval: Test new function.
163         * scripts/functions/value: Test new function.
164         * scripts/variables/MAKEFILE_LIST: Test new variable.
166 2002-04-28  Paul D. Smith  <psmith@gnu.org>
168         * scripts/functions/call: New test: transitive closure
169         implementation using $(call ...) to test variable recursion.
171 2002-04-21  Paul D. Smith  <psmith@gnu.org>
173         * test_driver.pl (compare_dir_tree): Ignore CVS and RCS
174         directories in the script directories.
176 2001-05-02  Paul D. Smith  <psmith@gnu.org>
178         * scripts/variables/flavors: Test define/endef scripts where only
179         one of the command lines is quiet.
181 2000-06-22  Paul D. Smith  <psmith@gnu.org>
183         * scripts/options/dash-q: New file; test the -q option.  Includes
184         a test for PR/1780.
186 2000-06-21  Paul D. Smith  <psmith@gnu.org>
188         * scripts/features/targetvars: Added a test for PR/1709: allowing
189         semicolons in target-specific variable values.
191 2000-06-19  Paul D. Smith  <psmith@gnu.org>
193         * scripts/functions/addsuffix: Test for an empty final argument.
194         Actually this bug might have happened for any function, but this
195         one was handy.
197 2000-06-17  Eli Zaretskii  <eliz@is.elta.co.il>
199         * scripts/options/general: If parallel jobs are not supported,
200         expect a warning message from Make.
202 2000-06-15  Eli Zaretskii  <eliz@is.elta.co.il>
204         * scripts/options/general: Don't try -jN with N != 1 if parallel
205         jobs are not supported.
207 2000-05-24  Paul D. Smith  <psmith@gnu.org>
209         * scripts/options/general: Test general option processing (PR/1716).
211 2000-04-11  Paul D. Smith  <psmith@gnu.org>
213         * scripts/functions/strip: Test empty value to strip (PR/1689).
215 2000-04-08  Eli Zaretskii  <eliz@is.elta.co.il>
217         * scripts/features/reinvoke: Sleep before updating the target
218         files in the first test, to ensure its time stamp really gets
219         newer; otherwise Make might re-exec more than once.
221 2000-04-07  Eli Zaretskii  <eliz@is.elta.co.il>
223         * scripts/features/double_colon: Don't run the parallel tests if
224         parallel jobs aren't supported.
226 2000-04-04  Paul D. Smith  <psmith@gnu.org>
228         * scripts/functions/word: wordlist doesn't swap arguments anymore.
230 2000-03-27  Paul D. Smith  <psmith@gnu.org>
232         * scripts/features/statipattrules: Test that static pattern rules
233         whose prerequisite patterns resolve to empty strings throw an
234         error (instead of dumping core).  Fixes PR/1670.
236         * scripts/features/reinvoke: Make more robust by touching "b"
237         first, to ensure it's not newer than "a".
238         Reported by Marco Franzen <Marco.Franzen@Thyron.com>.
239         * scripts/options/dash-n: Ditto.
241         * scripts/functions/call: Whoops.  The fix to PR/1527 caused
242         recursive invocations of $(call ...) to break.  I can't come up
243         with any way to get both working at the same time, so I backed out
244         the fix to 1527 and added a test case for recursive calls.  This
245         also tests the fix for PR/1610.
247         * scripts/features/double_colon: Test that circular dependencies
248         in double-colon rule sets are detected correctly (PR/1671).
250 2000-03-26  Paul D. Smith  <psmith@gnu.org>
252         * scripts/targets/INTERMEDIATE: Test that make doesn't remove
253         .INTERMEDIATE files when given on the command line (PR/1669).
255 2000-03-08  Paul D. Smith  <psmith@gnu.org>
257         * scripts/options/dash-k: Add a test for error detection by
258         multiple targets depending on the same prerequisite with -k.
259         For PR/1634.
261 2000-02-07  Paul D. Smith  <psmith@gnu.org>
263         * scripts/features/escape: Add a test for backslash-escaped spaces
264         in a target name (PR/1586).
266 2000-02-04  Paul D. Smith  <psmith@gnu.org>
268         * scripts/features/patspecific_vars: Add a test for pattern-specific
269         target variables inherited from the parent target (PR/1407).
271 2000-02-02  Paul D. Smith  <psmith@gnu.org>
273         * run_make_tests.pl (set_more_defaults): Hard-code the LANG to C
274         to make sure sorting order, etc. is predictable.
275         Reported by Andreas Jaeger <aj@suse.de>.
277         * run_make_tests.pl (set_more_defaults): Set the $wtime variable
278         depending on the OS.  Eli Zaretskii <eliz@is.elta.co.il> reports
279         this seems to need to be *4* on DOS/Windows, not just 2.  Keep it
280         1 for other systems.
281         * scripts/features/vpathplus (touchfiles): Use the $wtime value
282         instead of hardcoding 2.
283         * scripts/targets/SECONDARY: Ditto.
284         * scripts/targets/INTERMEDIATE: Ditto.
286 2000-01-27  Paul D. Smith  <psmith@gnu.org>
288         * test_driver.pl (toplevel): Don't try to run test scripts which
289         are really directories.
291 2000-01-23  Paul D. Smith  <psmith@gnu.org>
293         * scripts/features/include: Remove a check; the fix caused more
294         problems than the error, so I removed it and removed the test for
295         it.
297 2000-01-11  Paul D. Smith  <psmith@gnu.org>
299         * scripts/functions/call: Add a test for PR/1517 and PR/1527: make
300         sure $(call ...) doesn't eval its arguments and that you can
301         invoke foreach from it without looping forever.
303 1999-12-15  Paul D. Smith  <psmith@gnu.org>
305         * scripts/targets/INTERMEDIATE: Add a test for PR/1423: make sure
306         .INTERMEDIATE settings on files don't disable them as implicit
307         intermediate possibilities.
309 1999-12-01  Paul D. Smith  <psmith@gnu.org>
311         * scripts/features/double_colon: Add a test for PR/1476: Try
312         double-colon rules as non-goal targets and during parallel builds
313         to make sure they're handled serially.
315 1999-11-17  Paul D. Smith  <psmith@gnu.org>
317         * scripts/functions/if: Add a test for PR/1429: put some text
318         after an if-statement to make sure it works.
320         * scripts/features/targetvars: Add a test for PR/1380: handling +=
321         in target-specific variable definitions correctly.
323 1999-10-15  Paul D. Smith  <psmith@gnu.org>
325         * scripts/variables/MAKEFILES: This was really broken: it didn't
326         test anything at all, really.  Rewrote it, plus added a test for
327         PR/1394.
329 1999-10-13  Paul D. Smith  <psmith@gnu.org>
331         * scripts/options/dash-n: Add a test for PR/1379: "-n doesn't
332         behave properly when used with recursive targets".
334 1999-10-08  Paul D. Smith  <psmith@gnu.org>
336         * scripts/features/targetvars: Add a check for PR/1378:
337         "Target-specific vars don't inherit correctly"
339 1999-09-29  Paul D. Smith  <psmith@gnu.org>
341         * test_driver.pl (get_osname): Change $fancy_file_names to
342         $short_filenames and reverse the logic.
343         (run_each_test): Change test of non-existent $port_host to use
344         $short_filenames--problem reported by Eli Zaretskii.
346 1999-09-23  Paul D. Smith  <psmith@gnu.org>
348         * scripts/features/parallelism: Add a check to ensure that the
349         jobserver works when we re-invoke.  Also cleaned up the tests a
350         little, reducing the number of rules we use so the test won't need
351         as many "sleep" commands.
353 1999-09-16  Paul D. Smith  <psmith@gnu.org>
355         * scripts/features/reinvoke: Remove invocations of "touch" in
356         makefiles.  See the comments on the touch function rewrite below.
357         Note that UNIX touch behaves the same way if the file already
358         exists: it sets the time to the _local_ time.  We don't want
359         this.  This is probably a good tip for makefile writers in
360         general, actually... where practical.
361         * scripts/options/dash-l: Ditto.
362         * scripts/options/dash-n: Ditto.
364         * test_driver.pl (run_each_test): In retrospect, I don't like the
365         .lN/.bN/.dN postfix required by DOS.  So, for non-DOS systems I
366         changed it back to use .log, .base, and .diff.
368         * run_make_tests.pl (set_more_defaults): Move the check for the
369         make pathname to here from set_defaults (that's too early since it
370         happens before the command line processing).
371         Create a new variable $port_type, calculated from $osname, to
372         specify what kind of system we're running on.  We should integrate
373         the VOS stuff here, too.
374         (valid_option): Comment out the workdir/-work stuff so people
375         won't be fooled into thinking it works... someone needs to fix
376         this, though!
378         * scripts/functions/origin: Use $port_type instead of $osname.
379         * scripts/functions/foreach: Ditto.
380         * scripts/features/default_names: Ditto.
382 1999-09-15  Paul D. Smith  <psmith@gnu.org>
384         * test_driver.pl (touch): Rewrite this function.  Previously it
385         used to use utime() to hard-set the time based on the current
386         local clock, or, if the file didn't exist, it merely created it.
387         This mirrors exactly what real UNIX touch does, but it fails badly
388         on networked filesystems where the FS server clock is skewed from
389         the local clock: normally modifying a file causes it to get a mod
390         time based on the _server's_ clock.  Hard-setting it based on the
391         _local_ clock causes gratuitous errors and makes the tests
392         unreliable except on local filesystems.  The new function will
393         simply modify the file, allowing the filesystem to set the mod
394         time as it sees fit.
396         * scripts/features/parallelism: The second test output could
397         change depending on how fast some scripts completed; use "sleep"
398         to force the order we want.
400         * test_driver.pl (toplevel): A bug in Perl 5.000 to Perl 5.004
401         means that "%ENV = ();" doesn't do the right thing.  This worked
402         in Perl 4 and was fixed in Perl 5.004_01, but use a loop to delete
403         the environment rather than require specific versions.
405         * run_make_tests.pl (set_more_defaults): Don't use Perl 5 s///
406         modifier "s", so the tests will run with Perl 4.
407         (set_more_defaults): Set $pure_log to empty if there's no -logfile
408         option in PURIFYOPTIONS.
409         (setup_for_test): Don't remove any logs unless $pure_log is set.
411 1999-09-15  Eli Zaretskii  <eliz@is.elta.co.il>
413         * scripts/features/reinvoke: Put the SHELL definition in the right
414         test makefile.
416 1999-09-15  Paul D. Smith  <psmith@gnu.org>
418         ChangeLog file for the test suite created.