Add 'private' variable modifier, feature submitted by Ramon Garcia.
[make.git] / tests / ChangeLog
blob2f4ea71472fe4e1c95303bfc22f4d6258c429f19
1 2009-05-25  Paul Smith  <psmith@gnu.org>
3         * scripts/features/export: Test new variable parsing abilities.
5 2009-02-23  Ramon Garcia  <ramon.garcia.f@gmail.com>
7         * scripts/variables/private: Create a new suite of tests for 'private'.
9 2007-11-04  Paul Smith  <psmith@gnu.org>
11         * scripts/functions/eval: Update error message for command -> recipe.
13         * test_driver.pl (compare_output): Allow the answer to be a regex,
14         if surrounded by '/'.
15         * scripts/misc/close_stdout: Use a regex for the answer, since
16         sometimes the error will have a description and sometimes it won't.
18 2007-09-10  Paul Smith  <psmith@gnu.org>
20         * scripts/variables/special: Add tests for .RECIPEPREFIX variable.
22 2007-08-15  Paul Smith  <psmith@gnu.org>
24         These test cases were contributed by
25         Icarus Sparry <savannah@icarus.freeuk.com> and J. David Bryan for
26         Savannah bugs #3330 and #15919.
28         * scripts/targets/SECONDARY: Add tests for Savannah bugs 3330 and
29         15919.
31         * scripts/features/parallelism: Add tests for wrong answer/hang
32         combining INTERMEDIATE, order-only prereqs, and parallelism.
33         See Savannah bugs 3330 and 15919.
35 2007-07-13  Paul Smith  <psmith@gnu.org>
37         Install a timeout so tests can never loop infinitely.
38         Original idea and patch for a single-test version provided by
39         Icarus Sparry <savannah@icarus.freeuk.com>
41         * test_driver.pl (_run_command): New function: this is called by
42         other functions to actually run a command.  Before we run it,
43         install a SIGALRM handler and set up a timer to go off in the
44         future (default is 5s; this can be overridden by individual tests).
45         (run_command): Call it.
46         (run_command_with_output): Call it.
48         * run_make_tests.pl (run_make_with_options): Override the default
49         timeout if the caller requests it.
50         (run_make_test): Pass any timeout override to run_make_with_options.
52         * scripts/features/parallelism: Increase the timeout for long tests.
53         * scripts/options/dash-l: Ditto.
55 2006-10-01  Paul Smith  <psmith@paulandlesley.org>
57         * run_make_tests.pl (set_more_defaults): Remove setting of LANG in
58         ENV here.  This doesn't always work.
59         * test_driver.pl (toplevel): Set LC_ALL to 'C' in the make
60         environment.  Fixes Savannah bug #16698.
62 2006-09-30  Paul Smith  <psmith@paulandlesley.org>
64         * scripts/variables/automatic: Add back the test for bug #8154.
66 2006-04-01  Paul D. Smith  <psmith@gnu.org>
68         * scripts/functions/realpath: Don't run tests with multiple
69         initial slashes on Windows: those paths mean something different.
71 2006-03-19  Paul D. Smith  <psmith@gnu.org>
73         * scripts/features/parallelism: Test that the jobserver is
74         properly managed when we have to re-exec the master instance of
75         make.
77 2006-03-17  Boris Kolpackov  <boris@kolpackov.net>
79         * scripts/features/statipattrules: Add tests for bug #16053.
81 2006-03-09  Paul Smith  <psmith@gnu.org>
83         * scripts/features/escape: Use "pre:" not "p:" to avoid conflicts
84         with DOS drive letters.  Fixes Savannah bug #15947.
86         * test_driver.pl (run_each_test): Set the status properly even
87         when a test fails to execute.  Fixes Savannah bug #15942.
89         * scripts/functions/foreach: Use a different environment variable
90         other than PATH to avoid differences with Windows platforms.
91         Fixes Savannah bug #15938.
93 2006-03-05  Paul D. Smith  <psmith@gnu.org>
95         * run_make_tests.pl (set_more_defaults): Add CYGWIN_NT as a port
96         type W32.  Fixed Savannah bug #15937.
98         * scripts/features/default_names: Don't call error() when the test
99         fails.  Fixes Savannah bug #15941.
101 2006-02-17  Paul D. Smith  <psmith@gnu.org>
103         * scripts/features/targetvars: Test a complex construction which
104         guarantees that we have to merge variable lists of different
105         sizes.  Tests for Savannah bug #15757.
107 2006-02-15  Paul D. Smith  <psmith@gnu.org>
109         * scripts/functions/error: Make sure filename/lineno information
110         is related to where the error is expanded, not where it's set.
111         * scripts/functions/warning: Ditto.
112         * scripts/functions/foreach: Check for different error conditions.
113         * scripts/functions/word: Ditto.
114         * scripts/variables/negative: Test some variable reference failure
115         conditions.
116         * scripts/options/warn-undefined-variables: Test the
117         --warn-undefined-variables flag.
119 2006-02-09  Paul D. Smith  <psmith@gnu.org>
121         * run_make_tests.pl (set_more_defaults): Update valgrind support
122         for newer versions.
123         * test_driver.pl (toplevel): Skip all hidden files/directories (ones
124         beginning with ".").
126         * scripts/functions/andor: Tests for $(and ..) and $(or ...)
127         functions.
129 2006-02-08  Boris Kolpackov  <boris@kolpackov.net>
131         * scripts/features/parallelism: Add a test for bug #15641.
133 2006-02-06  Paul D. Smith  <psmith@gnu.org>
135         * scripts/options/dash-W: Add a test for bug #15341.
137 2006-01-03  Paul D. Smith  <psmith@gnu.org>
139         * scripts/variables/automatic: Add a test for bug #8154.
141         * README: Update to reflect the current state of the test suite.
143 2005-12-12  Paul D. Smith  <psmith@gnu.org>
145         * scripts/features/parallelism, scripts/functions/wildcard,
146         scripts/targets/FORCE, scripts/targets/PHONY,
147         scripts/targets/SILENT: Use the default setting for
148         $delete_command.  Fixes bug #15085.
150         * run_make_tests.pl (get_this_pwd) [VMS]: Use -no_ask with delete_file.
152 2005-12-11  Paul D. Smith  <psmith@gnu.org>
154         * scripts/misc/general4: Test implicit rules with '$' in the
155         prereq list & prereq patterns.
156         * scripts/features/se_implicit: Add in .SECONDEXPANSION settings.
158 2005-12-09  Boris Kolpackov  <boris@kolpackov.net>
160         * scripts/features/patternrules: Add a test for bug #13022.
162 2005-12-07  Boris Kolpackov  <boris@kolpackov.net>
164         * scripts/features/double_colon: Add a test for bug #14334.
166 2005-11-17  Boris Kolpackov  <boris@kolpackov.net>
168         * scripts/functions/flavor: Add a test for the flavor function.
170 2005-11-14  Boris Kolpackov  <boris@kolpackov.net>
172         * scripts/variables/INCLUDE_DIRS: Add a test for the .INCLUDE_DIRS
173         special variable.
175 2005-10-24  Paul D. Smith  <psmith@gnu.org>
177         * scripts/misc/general4: Test '$$' in prerequisites list.
178         * scripts/features/statipattrules: Rewrite to use run_make_test().
179         Add various static pattern info.
180         * scripts/features/se_statpat: Enable .SECONDEXPANSION target.
181         * scripts/features/se_explicit: Add tests for handling '$$' in
182         prerequisite lists with and without setting .SECONDEXPANSION.
183         * scripts/features/order_only: Convert to run_make_test().
184         * run_make_tests.pl (set_more_defaults): If we can't get the value
185         of $(MAKE) from make, then fatal immediately.
187 2005-08-31  Paul D. Smith  <psmith@gnu.org>
189         * run_make_tests.pl (get_this_pwd): Require the POSIX module (in
190         an eval to trap errors) and if it exists, use POSIX::getcwd to
191         find the working directory.  If it doesn't exist, go back to the
192         previous methods.  This tries to be more accurate on Windows
193         systems.
195 2005-08-29  Paul D. Smith  <psmith@gnu.org>
197         * scripts/functions/abspath: Add some text to the error messages
198         to get a better idea of what's wrong.  Make warnings instead of
199         errors.
201         * scripts/features/patspecific_vars: Don't use "test", which is
202         UNIX specific.  Print the values and let the test script match
203         them.
205 2005-08-25  Paul Smith  <psmith@gnu.org>
207         * scripts/variables/SHELL: Use a /./ prefix instead of //: the
208         former works better with non-UNIX environments.  Fixes Savannah
209         bug #14129.
211 2005-08-13  Boris Kolpackov  <boris@kolpackov.net>
213         * scripts/functions/wildcard: Wrap calls to $(wildcard ) with
214         $(sort) so that the resulting order is no longer filesystem-
215         dependant.
217 2005-08-10  Boris Kolpackov  <boris@kolpackov.net>
219         * scripts/features/statipattrules: Add a test for Savannah bug #13881.
221 2005-08-07  Paul D. Smith  <psmith@gnu.org>
223         * scripts/features/parallelism: Add a test for a bug reported by
224         Michael Matz (matz@suse.de) in which make exits without waiting
225         for all its children in some situations during parallel builds.
227 2005-07-08  Paul D. Smith  <psmith@gnu.org>
229         * test_driver.pl: Reset the environment to a clean value every
230         time before we invoke make.  I'm suspicious that the environment
231         isn't handled the same way in Windows as it is in UNIX, and some
232         variables are leaking out beyond the tests they are intended for.
233         Create an %extraENV hash tests can set to add more env. vars.
234         * tests/scripts/features/export: Change to use %extraENV.
235         * tests/scripts/functions/eval: Ditto.
236         * tests/scripts/functions/origin: Ditto.
237         * tests/scripts/options/dash-e: Ditto.
238         * tests/scripts/variables/SHELL: Ditto.
240 2005-06-27  Paul D. Smith  <psmith@gnu.org>
242         * scripts/options/dash-W: Use 'echo >>' instead of touch to update
243         files.
244         * scripts/features/reinvoke: Rewrite to be safer on systems with
245         subsecond timestamps.
246         * scripts/features/patternrules: False exits with different error
247         codes on different systems (for example, Linux => 1, Solaris => 255).
249         * scripts/options/dash-W: Set the timestamp to foo.x in the future,
250         to be sure it will be considered updated when it's remade.
252 2005-06-26  Paul D. Smith  <psmith@gnu.org>
254         * scripts/functions/shell: New test suite for the shell function.
256 2005-06-25  Paul D. Smith  <psmith@gnu.org>
258         * scripts/features/include: Test include/-include/sinclude with no
259         arguments.  Tests fix for Savannah bug #1761.
261         * scripts/misc/general3: Implement comprehensive testing of
262         backslash-newline behavior in command scripts: various types of
263         quoting, fast path / slow path, etc.
264         Tests fix for Savannah bug #1332.
266         * scripts/options/symlinks: Test symlinks to non-existent files.
267         Tests fix for Savannah bug #13280.
269         * scripts/misc/general3: Test semicolons in variable references.
270         Tests fix for Savannah bug #1454.
272         * scripts/variables/MAKE_RESTARTS: New file: test the
273         MAKE_RESTARTS variable.
274         * scripts/options/dash-B: Test re-exec doesn't loop infinitely.
275         Tests fix for Savannah bug #7566.
276         * scripts/options/dash-W: New file: test the -W flag, including
277         re-exec infinite looping.
279 2005-06-12  Paul D. Smith  <psmith@gnu.org>
281         * scripts/misc/close_stdout: Add a test for Savannah bug #1328.
282         This test only works on systems that have /dev/full (e.g., Linux).
284 2005-06-09  Paul D. Smith  <psmith@gnu.org>
286         * scripts/functions/foreach: Add a test for Savannah bug #11913.
288 2005-05-31  Boris Kolpackov  <boris@kolpackov.net>
290         * scripts/features/include: Add a test for Savannah bug #13216.
291         * scripts/features/patternrules: Add a test for Savannah bug #13218.
293 2005-05-13  Paul D. Smith  <psmith@gnu.org>
295         * scripts/features/conditionals: Add tests for the new if... else
296         if... endif syntax.
298 2005-05-03  Paul D. Smith  <psmith@gnu.org>
300         * scripts/variables/DEFAULT_GOAL: Rename DEFAULT_TARGET to
301         DEFAULT_GOAL.
303 2005-05-02  Paul D. Smith  <psmith@gnu.org>
305         * scripts/features/parallelism: Add a test for exporting recursive
306         variables containing $(shell ) calls.  Rewrite this script to use
307         run_make_test() everywhere.
309 2005-04-07  Paul D. Smith  <psmith@gnu.org>
311         * scripts/targets/SECONDARY: Add a test for Savannah bug #12331.
313 2005-03-15  Boris Kolpackov  <boris@kolpackov.net>
315         * scripts/variables/automatic: Add a test for Savannah bug #12320.
317 2005-03-10  Boris Kolpackov  <boris@kolpackov.net>
319         * scripts/features/patternrules: Add a test for Savannah bug #12267.
321 2005-03-09  Boris Kolpackov  <boris@kolpackov.net>
323         * scripts/variables/DEFAULT_TARGET: Add a test for Savannah
324         bug #12266.
326 2005-03-04  Boris Kolpackov  <boris@kolpackov.net>
328         * scripts/features/patternrules: Add a test for Savannah bug #12202.
330 2005-03-03  Boris Kolpackov  <boris@kolpackov.net>
332         * scripts/features/se_implicit: Add a test for stem
333         termination bug. Add a test for stem triple-expansion bug.
335         * scripts/features/se_statpat: Add a test for stem
336         triple-expansion bug.
338         * scripts/features/statipattrules: Change test #4 to reflect
339         new way empty prerequisite list is handled.
342 2005-03-01  Boris Kolpackov  <boris@kolpackov.net>
344         * scripts/features/statipattrules: Add a test for
345         Savannah bug #12180.
347 2005-02-28  Paul D. Smith  <psmith@gnu.org>
349         * scripts/options/dash-q: Add a test for Savannah bug # 7144.
351         * scripts/options/symlinks: New file to test checking of symlink
352         timestamps.  Can't use filename dash-L because it conflicts with
353         dash-l on case-insensitive filesystems.
355         * scripts/variables/MAKEFILE_LIST, scripts/variables/MFILE_LIST:
356         Rename MAKEFILE_LIST test to MFILE_LIST, for systems that need 8.3
357         unique filenames.
359 2005-02-28  Boris Kolpackov  <boris@kolpackov.net>
361         * scripts/variables/DEFAULT_TARGET: Test the .DEFAULT_TARGET
362         special variable.
364 2005-02-27  Boris Kolpackov  <boris@kolpackov.net>
366         * scripts/features/se_explicit: Test the second expansion in
367         explicit rules.
368         * scripts/features/se_implicit: Test the second expansion in
369         implicit rules.
370         * scripts/features/se_statpat: Test the second expansion in
371         static pattern rules.
372         * scripts/variables/automatic: Fix to work with the second
373         expansion.
375         * scripts/misc/general4: Add a test for bug #12091.
377 2005-02-27  Paul D. Smith  <psmith@gnu.org>
379         * scripts/functions/eval: Check that eval of targets within
380         command scripts fails.  See Savannah bug # 12124.
382 2005-02-26  Paul D. Smith  <psmith@gnu.org>
384         * test_driver.pl (compare_output): If a basic comparison of the
385         log and answer doesn't match, try harder: change all backslashes
386         to slashes and all CRLF to LF.  This helps on DOS/Windows systems.
388 2005-02-09  Paul D. Smith  <psmith@gnu.org>
390         * scripts/features/recursion: Test command line variable settings:
391         only one instance of a given variable should be provided.
393 2004-11-30  Boris Kolpackov  <boris@kolpackov.net>
395         * tests/scripts/functions/abspath: New file: test `abspath'
396         built-in function.
398         * tests/scripts/functions/realpath: New file: test `realpath'
399         built-in function.
401 2004-11-28  Paul D. Smith  <psmith@gnu.org>
403         * scripts/options/dash-C [WINDOWS32]: Add a test for bug #10252;
404         this doesn't really test anything useful in UNIX but...
406         * scripts/variables/SHELL: New file: test proper handling of SHELL
407         according to POSIX rules.  Fixes bug #1276.
409 2004-10-21  Boris Kolpackov  <boris@kolpackov.net>
411         * scripts/functions/word: Test $(firstword ) and $(lastword ).
413 2004-10-05  Boris Kolpackov  <boris@kolpackov.net>
415         * scripts/features/patspecific_vars: Test simple/recursive
416         variable expansion.
418 2004-09-28  Boris Kolpackov  <boris@kolpackov.net>
420         * scripts/features/include: Test dontcare flag inheritance
421         when rebuilding makefiles.
423 2004-09-27  Boris Kolpackov  <boris@kolpackov.net>
425         * scripts/features/patspecific_vars: Test exported variables.
427 2004-09-22  Paul D. Smith  <psmith@gnu.org>
429         * run_make_tests.pl (run_make_test): Don't add newlines to the
430         makestring or answer if they are completely empty.
432         * scripts/features/patternrules: Rename from implicit_prereq_eval.
434         * scripts/test_template: Rework the template.
436 2004-09-21  Boris Kolpackov  <boris@kolpackov.net>
438         * run_make_tests.pl: Change `#!/usr/local/bin/perl' to be
439         `#!/usr/bin/env perl'.
441         * scripts/features/implicit_prereq_eval: Test implicit rule
442         prerequisite evaluation code.
444 2004-09-21  Paul D. Smith  <psmith@gnu.org>
446         * run_make_tests.pl (run_make_test): Enhance to allow the make
447         string to be undef: in that case it reuses the previous make
448         string.  Allows multiple tests on the same makefile.
450         * scripts/variables/flavors: Add some tests for prefix characters
451         interacting with define/endef variables.
453 2004-09-20  Paul D. Smith  <psmith@gnu.org>
455         * scripts/functions/substitution: Rewrite to use run_make_test()
456         interface, and add test for substitution failures reported by
457         Markus Mauhart <qwe123@chello.at>.
459 2004-03-22  Paul D. Smith  <psmith@gnu.org>
461         * test_driver.pl (run_each_test, toplevel, compare_output): Change
462         to track both the testing categories _AND_ the number of
463         individual tests, and report both sets of numbers.
465 2004-02-21  Paul D. Smith  <psmith@gnu.org>
467         * scripts/functions/origin: Set our own environment variable
468         rather than relying on $HOME.
470 2004-01-21  Paul D. Smith  <psmith@gnu.org>
472         * scripts/features/conditionals: Test arguments to ifn?def which
473         contain whitespace (such as a function that is evaluated).  Bug
474         #7257.
476 2004-01-07  Paul D. Smith  <psmith@gnu.org>
478         * scripts/features/order_only: Test order-only prerequisites in
479         pattern rules (patch #2349).
481 2003-11-02  Paul D. Smith  <psmith@gnu.org>
483         * scripts/functions/if: Test if on conditionals with trailing
484         whitespace--bug #5798.
486         * scripts/functions/eval: Test eval in a non-file context--bug #6195.
488 2003-04-19  Paul D. Smith  <psmith@gnu.org>
490         * scripts/features/patspecific_vars: Test multiple patterns
491         matching the same target--Bug #1405.
493 2003-04-09  Paul D. Smith  <psmith@gnu.org>
495         * run_make_tests.pl (set_more_defaults): A new $port_type of
496         'OS/2' for (surprise!) OS/2.  Also choose a wait time of 2 seconds
497         for OS/2.
499 2003-03-28  Paul D. Smith  <psmith@gnu.org>
501         * scripts/targets/SECONDARY: Test the "global" .SECONDARY (with
502         not prerequisites)--Bug #2515.
504 2003-01-30  Paul D. Smith  <psmith@gnu.org>
506         * scripts/features/targetvars: Test very long target-specific
507         variable definition lines (longer than the default make buffer
508         length).  Tests patch # 1022.
510         * scripts/functions/eval: Test very recursive $(eval ...) calls
511         with simple variable expansion (bug #2238).
513         * scripts/functions/word: Test error handling for word and
514         wordlist functions (bug #2407).
516 2003-01-22  Paul D. Smith  <psmith@gnu.org>
518         * scripts/functions/call: Test recursive argument masking (bug
519         #1744).
521 2002-10-25  Paul D. Smith  <psmith@gnu.org>
523         * scripts/functions/eval: Test using $(eval ...) inside
524         conditionals (Bug #1516).
526 2002-10-14  Paul D. Smith  <psmith@gnu.org>
528         * scripts/options/dash-t: Add a test for handling -t on targets
529         with no commands (Bug #1418).
531 2002-10-13  Paul D. Smith  <psmith@gnu.org>
533         * scripts/features/targetvars: Add a test for exporting
534         target-specific vars (Bug #1391).
536 2002-10-05  Paul D. Smith  <psmith@gnu.org>
538         * scripts/variables/automatic: Add tests for $$(@), $${@}, $${@D},
539         and $${@F}.
541 2002-09-23  Paul D. Smith  <psmith@gnu.org>
543         * scripts/features/escape: Test handling of escaped comment
544         characters in targets and prerequisites.
546 2002-09-18  Paul D. Smith  <psmith@gnu.org>
548         * scripts/features/export: Test export/unexport of multiple
549         variables in a single command.
551 2002-09-17  Paul D. Smith  <psmith@gnu.org>
553         * scripts/features/targetvars: Tests for Bug #940: test
554         target-specific and pattern-specific variables in conjunction with
555         double-colon targets.
557 2002-09-10  Paul D. Smith  <psmith@gnu.org>
559         * test_driver.pl (compare_output): Match the new format for time
560         skew error messages.
562         * scripts/features/export: Created.  Add tests for export/unexport
563         capabilities, including exporting/unexporting expanded variables.
565         * scripts/features/conditionals: Add a test for expanded variables
566         in ifdef conditionals.
568 2002-09-04  Paul D. Smith  <psmith@gnu.org>
570         * scripts/features/reinvoke: Change touch/sleep combos to utouch
571         invocations.
572         * scripts/features/vpathgpath: Ditto.
573         * scripts/features/vpathplus: Ditto.
574         * scripts/options/dash-n: Ditto.
575         * scripts/targets/INTERMEDIATE: Ditto.
576         * scripts/targets/SECONDARY: Ditto.
578         * scripts/options/dash-t: Added a test for the -t bug fixed by
579         Henning Makholm.  This test was also contributed by Henning.
581         * scripts/misc/general4: Add a test suite for obscure algorithmic
582         features of make.  First test: make sure creation subdirectories
583         as prerequisites of targets works properly.
585         * scripts/misc/version: Remove this bogus test.
587 2002-08-07  Paul D. Smith  <psmith@gnu.org>
589         * scripts/misc/general3: Add a test for makefiles that don't end
590         in newlines.
592         * scripts/variables/special: Create tests for the special
593         variables (.VARIABLES and .TARGETS).  Comment out .TARGETS test
594         for now as it's not yet supported.
596 2002-08-01  Paul D. Smith  <psmith@gnu.org>
598         * scripts/options/dash-B: Add a test for the new -B option.
600 2002-07-11  Paul D. Smith  <psmith@gnu.org>
602         * run_make_tests.pl (valid_option): Add support for Valgrind.  Use
603         -valgrind option to the test suite.
604         (set_more_defaults): Set up the file descriptor to capture
605         Valgrind output.  We have to unset its close-on-exec flag; we
606         hardcode the value for F_SETFD (2) rather than load it; hopefully
607         this will help us avoid breaking the Windows/DOS test suite.
609 2002-07-10  Paul D. Smith  <psmith@gnu.org>
611         * scripts/variables/automatic: Add some tests for $$@, $$(@D), and
612         $$(@F).
614         * test_driver.pl (utouch): Create a new function that creates a
615         file with a specific timestamp offset.  Use of this function will
616         let us avoid lots of annoying sleep() invocations in the tests
617         just to get proper timestamping, which will make the tests run a
618         lot faster.  So far it's only used in the automatic test suite.
620 2002-07-09  Paul D. Smith  <psmith@gnu.org>
622         * scripts/variables/automatic: Create a test for automatic variables.
624 2002-07-08  Paul D. Smith  <psmith@gnu.org>
626         * scripts/features/order_only: Test new order-only prerequisites.
628 2002-07-07  Paul D. Smith  <psmith@gnu.org>
630         * scripts/functions/eval: Test new function.
631         * scripts/functions/value: Test new function.
632         * scripts/variables/MAKEFILE_LIST: Test new variable.
634 2002-04-28  Paul D. Smith  <psmith@gnu.org>
636         * scripts/functions/call: New test: transitive closure
637         implementation using $(call ...) to test variable recursion.
639 2002-04-21  Paul D. Smith  <psmith@gnu.org>
641         * test_driver.pl (compare_dir_tree): Ignore CVS and RCS
642         directories in the script directories.
644 2001-05-02  Paul D. Smith  <psmith@gnu.org>
646         * scripts/variables/flavors: Test define/endef scripts where only
647         one of the command lines is quiet.
649 2000-06-22  Paul D. Smith  <psmith@gnu.org>
651         * scripts/options/dash-q: New file; test the -q option.  Includes
652         a test for PR/1780.
654 2000-06-21  Paul D. Smith  <psmith@gnu.org>
656         * scripts/features/targetvars: Added a test for PR/1709: allowing
657         semicolons in target-specific variable values.
659 2000-06-19  Paul D. Smith  <psmith@gnu.org>
661         * scripts/functions/addsuffix: Test for an empty final argument.
662         Actually this bug might have happened for any function, but this
663         one was handy.
665 2000-06-17  Eli Zaretskii  <eliz@is.elta.co.il>
667         * scripts/options/general: If parallel jobs are not supported,
668         expect a warning message from Make.
670 2000-06-15  Eli Zaretskii  <eliz@is.elta.co.il>
672         * scripts/options/general: Don't try -jN with N != 1 if parallel
673         jobs are not supported.
675 2000-05-24  Paul D. Smith  <psmith@gnu.org>
677         * scripts/options/general: Test general option processing (PR/1716).
679 2000-04-11  Paul D. Smith  <psmith@gnu.org>
681         * scripts/functions/strip: Test empty value to strip (PR/1689).
683 2000-04-08  Eli Zaretskii  <eliz@is.elta.co.il>
685         * scripts/features/reinvoke: Sleep before updating the target
686         files in the first test, to ensure its time stamp really gets
687         newer; otherwise Make might re-exec more than once.
689 2000-04-07  Eli Zaretskii  <eliz@is.elta.co.il>
691         * scripts/features/double_colon: Don't run the parallel tests if
692         parallel jobs aren't supported.
694 2000-04-04  Paul D. Smith  <psmith@gnu.org>
696         * scripts/functions/word: wordlist doesn't swap arguments anymore.
698 2000-03-27  Paul D. Smith  <psmith@gnu.org>
700         * scripts/features/statipattrules: Test that static pattern rules
701         whose prerequisite patterns resolve to empty strings throw an
702         error (instead of dumping core).  Fixes PR/1670.
704         * scripts/features/reinvoke: Make more robust by touching "b"
705         first, to ensure it's not newer than "a".
706         Reported by Marco Franzen <Marco.Franzen@Thyron.com>.
707         * scripts/options/dash-n: Ditto.
709         * scripts/functions/call: Whoops.  The fix to PR/1527 caused
710         recursive invocations of $(call ...) to break.  I can't come up
711         with any way to get both working at the same time, so I backed out
712         the fix to 1527 and added a test case for recursive calls.  This
713         also tests the fix for PR/1610.
715         * scripts/features/double_colon: Test that circular dependencies
716         in double-colon rule sets are detected correctly (PR/1671).
718 2000-03-26  Paul D. Smith  <psmith@gnu.org>
720         * scripts/targets/INTERMEDIATE: Test that make doesn't remove
721         .INTERMEDIATE files when given on the command line (PR/1669).
723 2000-03-08  Paul D. Smith  <psmith@gnu.org>
725         * scripts/options/dash-k: Add a test for error detection by
726         multiple targets depending on the same prerequisite with -k.
727         For PR/1634.
729 2000-02-07  Paul D. Smith  <psmith@gnu.org>
731         * scripts/features/escape: Add a test for backslash-escaped spaces
732         in a target name (PR/1586).
734 2000-02-04  Paul D. Smith  <psmith@gnu.org>
736         * scripts/features/patspecific_vars: Add a test for pattern-specific
737         target variables inherited from the parent target (PR/1407).
739 2000-02-02  Paul D. Smith  <psmith@gnu.org>
741         * run_make_tests.pl (set_more_defaults): Hard-code the LANG to C
742         to make sure sorting order, etc. is predictable.
743         Reported by Andreas Jaeger <aj@suse.de>.
745         * run_make_tests.pl (set_more_defaults): Set the $wtime variable
746         depending on the OS.  Eli Zaretskii <eliz@is.elta.co.il> reports
747         this seems to need to be *4* on DOS/Windows, not just 2.  Keep it
748         1 for other systems.
749         * scripts/features/vpathplus (touchfiles): Use the $wtime value
750         instead of hardcoding 2.
751         * scripts/targets/SECONDARY: Ditto.
752         * scripts/targets/INTERMEDIATE: Ditto.
754 2000-01-27  Paul D. Smith  <psmith@gnu.org>
756         * test_driver.pl (toplevel): Don't try to run test scripts which
757         are really directories.
759 2000-01-23  Paul D. Smith  <psmith@gnu.org>
761         * scripts/features/include: Remove a check; the fix caused more
762         problems than the error, so I removed it and removed the test for
763         it.
765 2000-01-11  Paul D. Smith  <psmith@gnu.org>
767         * scripts/functions/call: Add a test for PR/1517 and PR/1527: make
768         sure $(call ...) doesn't eval its arguments and that you can
769         invoke foreach from it without looping forever.
771 1999-12-15  Paul D. Smith  <psmith@gnu.org>
773         * scripts/targets/INTERMEDIATE: Add a test for PR/1423: make sure
774         .INTERMEDIATE settings on files don't disable them as implicit
775         intermediate possibilities.
777 1999-12-01  Paul D. Smith  <psmith@gnu.org>
779         * scripts/features/double_colon: Add a test for PR/1476: Try
780         double-colon rules as non-goal targets and during parallel builds
781         to make sure they're handled serially.
783 1999-11-17  Paul D. Smith  <psmith@gnu.org>
785         * scripts/functions/if: Add a test for PR/1429: put some text
786         after an if-statement to make sure it works.
788         * scripts/features/targetvars: Add a test for PR/1380: handling +=
789         in target-specific variable definitions correctly.
791 1999-10-15  Paul D. Smith  <psmith@gnu.org>
793         * scripts/variables/MAKEFILES: This was really broken: it didn't
794         test anything at all, really.  Rewrote it, plus added a test for
795         PR/1394.
797 1999-10-13  Paul D. Smith  <psmith@gnu.org>
799         * scripts/options/dash-n: Add a test for PR/1379: "-n doesn't
800         behave properly when used with recursive targets".
802 1999-10-08  Paul D. Smith  <psmith@gnu.org>
804         * scripts/features/targetvars: Add a check for PR/1378:
805         "Target-specific vars don't inherit correctly"
807 1999-09-29  Paul D. Smith  <psmith@gnu.org>
809         * test_driver.pl (get_osname): Change $fancy_file_names to
810         $short_filenames and reverse the logic.
811         (run_each_test): Change test of non-existent $port_host to use
812         $short_filenames--problem reported by Eli Zaretskii.
814 1999-09-23  Paul D. Smith  <psmith@gnu.org>
816         * scripts/features/parallelism: Add a check to ensure that the
817         jobserver works when we re-invoke.  Also cleaned up the tests a
818         little, reducing the number of rules we use so the test won't need
819         as many "sleep" commands.
821 1999-09-16  Paul D. Smith  <psmith@gnu.org>
823         * scripts/features/reinvoke: Remove invocations of "touch" in
824         makefiles.  See the comments on the touch function rewrite below.
825         Note that UNIX touch behaves the same way if the file already
826         exists: it sets the time to the _local_ time.  We don't want
827         this.  This is probably a good tip for makefile writers in
828         general, actually... where practical.
829         * scripts/options/dash-l: Ditto.
830         * scripts/options/dash-n: Ditto.
832         * test_driver.pl (run_each_test): In retrospect, I don't like the
833         .lN/.bN/.dN postfix required by DOS.  So, for non-DOS systems I
834         changed it back to use .log, .base, and .diff.
836         * run_make_tests.pl (set_more_defaults): Move the check for the
837         make pathname to here from set_defaults (that's too early since it
838         happens before the command line processing).
839         Create a new variable $port_type, calculated from $osname, to
840         specify what kind of system we're running on.  We should integrate
841         the VOS stuff here, too.
842         (valid_option): Comment out the workdir/-work stuff so people
843         won't be fooled into thinking it works... someone needs to fix
844         this, though!
846         * scripts/functions/origin: Use $port_type instead of $osname.
847         * scripts/functions/foreach: Ditto.
848         * scripts/features/default_names: Ditto.
850 1999-09-15  Paul D. Smith  <psmith@gnu.org>
852         * test_driver.pl (touch): Rewrite this function.  Previously it
853         used to use utime() to hard-set the time based on the current
854         local clock, or, if the file didn't exist, it merely created it.
855         This mirrors exactly what real UNIX touch does, but it fails badly
856         on networked filesystems where the FS server clock is skewed from
857         the local clock: normally modifying a file causes it to get a mod
858         time based on the _server's_ clock.  Hard-setting it based on the
859         _local_ clock causes gratuitous errors and makes the tests
860         unreliable except on local filesystems.  The new function will
861         simply modify the file, allowing the filesystem to set the mod
862         time as it sees fit.
864         * scripts/features/parallelism: The second test output could
865         change depending on how fast some scripts completed; use "sleep"
866         to force the order we want.
868         * test_driver.pl (toplevel): A bug in Perl 5.000 to Perl 5.004
869         means that "%ENV = ();" doesn't do the right thing.  This worked
870         in Perl 4 and was fixed in Perl 5.004_01, but use a loop to delete
871         the environment rather than require specific versions.
873         * run_make_tests.pl (set_more_defaults): Don't use Perl 5 s///
874         modifier "s", so the tests will run with Perl 4.
875         (set_more_defaults): Set $pure_log to empty if there's no -logfile
876         option in PURIFYOPTIONS.
877         (setup_for_test): Don't remove any logs unless $pure_log is set.
879 1999-09-15  Eli Zaretskii  <eliz@is.elta.co.il>
881         * scripts/features/reinvoke: Put the SHELL definition in the right
882         test makefile.
884 1999-09-15  Paul D. Smith  <psmith@gnu.org>
886         ChangeLog file for the test suite created.
889 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
890 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
891 This file is part of GNU Make.
893 GNU Make is free software; you can redistribute it and/or modify it under the
894 terms of the GNU General Public License as published by the Free Software
895 Foundation; either version 3 of the License, or (at your option) any later
896 version.
898 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
899 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
900 A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
902 You should have received a copy of the GNU General Public License along with
903 this program.  If not, see <http://www.gnu.org/licenses/>.