Fix Savannah bug #20452.
[make.git] / tests / ChangeLog
blob6e53dc77aea28d3799b26f7dd2485876984573dd
1 2007-07-13  Paul Smith  <psmith@gnu.org>
3         Install a timeout so tests can never loop infinitely.
4         Original idea and patch for a single-test version provided by
5         Icarus Sparry <savannah@icarus.freeuk.com>
7         * test_driver.pl (_run_command): New function: this is called by
8         other functions to actually run a command.  Before we run it,
9         install a SIGALRM handler and set up a timer to go off in the
10         future (default is 5s; this can be overridden by individual tests).
11         (run_command): Call it.
12         (run_command_with_output): Call it.
14         * run_make_tests.pl (run_make_with_options): Override the default
15         timeout if the caller requests it.
16         (run_make_test): Pass any timeout override to run_make_with_options.
18         * scripts/features/parallelism: Increase the timeout for long tests.
19         * scripts/options/dash-l: Ditto.
21 2006-10-01  Paul Smith  <psmith@paulandlesley.org>
23         * run_make_tests.pl (set_more_defaults): Remove setting of LANG in
24         ENV here.  This doesn't always work.
25         * test_driver.pl (toplevel): Set LC_ALL to 'C' in the make
26         environment.  Fixes Savannah bug #16698.
28 2006-09-30  Paul Smith  <psmith@paulandlesley.org>
30         * scripts/variables/automatic: Add back the test for bug #8154.
32 2006-04-01  Paul D. Smith  <psmith@gnu.org>
34         * scripts/functions/realpath: Don't run tests with multiple
35         initial slashes on Windows: those paths mean something different.
37 2006-03-19  Paul D. Smith  <psmith@gnu.org>
39         * scripts/features/parallelism: Test that the jobserver is
40         properly managed when we have to re-exec the master instance of
41         make.
43 2006-03-17  Boris Kolpackov  <boris@kolpackov.net>
45         * scripts/features/statipattrules: Add tests for bug #16053.
47 2006-03-09  Paul Smith  <psmith@gnu.org>
49         * scripts/features/escape: Use "pre:" not "p:" to avoid conflicts
50         with DOS drive letters.  Fixes Savannah bug #15947.
52         * test_driver.pl (run_each_test): Set the status properly even
53         when a test fails to execute.  Fixes Savannah bug #15942.
55         * scripts/functions/foreach: Use a different environment variable
56         other than PATH to avoid differences with Windows platforms.
57         Fixes Savannah bug #15938.
59 2006-03-05  Paul D. Smith  <psmith@gnu.org>
61         * run_make_tests.pl (set_more_defaults): Add CYGWIN_NT as a port
62         type W32.  Fixed Savannah bug #15937.
64         * scripts/features/default_names: Don't call error() when the test
65         fails.  Fixes Savannah bug #15941.
67 2006-02-17  Paul D. Smith  <psmith@gnu.org>
69         * scripts/features/targetvars: Test a complex construction which
70         guarantees that we have to merge variable lists of different
71         sizes.  Tests for Savannah bug #15757.
73 2006-02-15  Paul D. Smith  <psmith@gnu.org>
75         * scripts/functions/error: Make sure filename/lineno information
76         is related to where the error is expanded, not where it's set.
77         * scripts/functions/warning: Ditto.
78         * scripts/functions/foreach: Check for different error conditions.
79         * scripts/functions/word: Ditto.
80         * scripts/variables/negative: Test some variable reference failure
81         conditions.
82         * scripts/options/warn-undefined-variables: Test the
83         --warn-undefined-variables flag.
85 2006-02-09  Paul D. Smith  <psmith@gnu.org>
87         * run_make_tests.pl (set_more_defaults): Update valgrind support
88         for newer versions.
89         * test_driver.pl (toplevel): Skip all hidden files/directories (ones
90         beginning with ".").
92         * scripts/functions/andor: Tests for $(and ..) and $(or ...)
93         functions.
95 2006-02-08  Boris Kolpackov  <boris@kolpackov.net>
97         * scripts/features/parallelism: Add a test for bug #15641.
99 2006-02-06  Paul D. Smith  <psmith@gnu.org>
101         * scripts/options/dash-W: Add a test for bug #15341.
103 2006-01-03  Paul D. Smith  <psmith@gnu.org>
105         * scripts/variables/automatic: Add a test for bug #8154.
107         * README: Update to reflect the current state of the test suite.
109 2005-12-12  Paul D. Smith  <psmith@gnu.org>
111         * scripts/features/parallelism, scripts/functions/wildcard,
112         scripts/targets/FORCE, scripts/targets/PHONY,
113         scripts/targets/SILENT: Use the default setting for
114         $delete_command.  Fixes bug #15085.
116         * run_make_tests.pl (get_this_pwd) [VMS]: Use -no_ask with delete_file.
118 2005-12-11  Paul D. Smith  <psmith@gnu.org>
120         * scripts/misc/general4: Test implicit rules with '$' in the
121         prereq list & prereq patterns.
122         * scripts/features/se_implicit: Add in .SECONDEXPANSION settings.
124 2005-12-09  Boris Kolpackov  <boris@kolpackov.net>
126         * scripts/features/patternrules: Add a test for bug #13022.
128 2005-12-07  Boris Kolpackov  <boris@kolpackov.net>
130         * scripts/features/double_colon: Add a test for bug #14334.
132 2005-11-17  Boris Kolpackov  <boris@kolpackov.net>
134         * scripts/functions/flavor: Add a test for the flavor function.
136 2005-11-14  Boris Kolpackov  <boris@kolpackov.net>
138         * scripts/variables/INCLUDE_DIRS: Add a test for the .INCLUDE_DIRS
139         special variable.
141 2005-10-24  Paul D. Smith  <psmith@gnu.org>
143         * scripts/misc/general4: Test '$$' in prerequisites list.
144         * scripts/features/statipattrules: Rewrite to use run_make_test().
145         Add various static pattern info.
146         * scripts/features/se_statpat: Enable .SECONDEXPANSION target.
147         * scripts/features/se_explicit: Add tests for handling '$$' in
148         prerequisite lists with and without setting .SECONDEXPANSION.
149         * scripts/features/order_only: Convert to run_make_test().
150         * run_make_tests.pl (set_more_defaults): If we can't get the value
151         of $(MAKE) from make, then fatal immediately.
153 2005-08-31  Paul D. Smith  <psmith@gnu.org>
155         * run_make_tests.pl (get_this_pwd): Require the POSIX module (in
156         an eval to trap errors) and if it exists, use POSIX::getcwd to
157         find the working directory.  If it doesn't exist, go back to the
158         previous methods.  This tries to be more accurate on Windows
159         systems.
161 2005-08-29  Paul D. Smith  <psmith@gnu.org>
163         * scripts/functions/abspath: Add some text to the error messages
164         to get a better idea of what's wrong.  Make warnings instead of
165         errors.
167         * scripts/features/patspecific_vars: Don't use "test", which is
168         UNIX specific.  Print the values and let the test script match
169         them.
171 2005-08-25  Paul Smith  <psmith@gnu.org>
173         * scripts/variables/SHELL: Use a /./ prefix instead of //: the
174         former works better with non-UNIX environments.  Fixes Savannah
175         bug #14129.
177 2005-08-13  Boris Kolpackov  <boris@kolpackov.net>
179         * scripts/functions/wildcard: Wrap calls to $(wildcard ) with
180         $(sort) so that the resulting order is no longer filesystem-
181         dependant.
183 2005-08-10  Boris Kolpackov  <boris@kolpackov.net>
185         * scripts/features/statipattrules: Add a test for Savannah bug #13881.
187 2005-08-07  Paul D. Smith  <psmith@gnu.org>
189         * scripts/features/parallelism: Add a test for a bug reported by
190         Michael Matz (matz@suse.de) in which make exits without waiting
191         for all its children in some situations during parallel builds.
193 2005-07-08  Paul D. Smith  <psmith@gnu.org>
195         * test_driver.pl: Reset the environment to a clean value every
196         time before we invoke make.  I'm suspicious that the environment
197         isn't handled the same way in Windows as it is in UNIX, and some
198         variables are leaking out beyond the tests they are intended for.
199         Create an %extraENV hash tests can set to add more env. vars.
200         * tests/scripts/features/export: Change to use %extraENV.
201         * tests/scripts/functions/eval: Ditto.
202         * tests/scripts/functions/origin: Ditto.
203         * tests/scripts/options/dash-e: Ditto.
204         * tests/scripts/variables/SHELL: Ditto.
206 2005-06-27  Paul D. Smith  <psmith@gnu.org>
208         * scripts/options/dash-W: Use 'echo >>' instead of touch to update
209         files.
210         * scripts/features/reinvoke: Rewrite to be safer on systems with
211         subsecond timestamps.
212         * scripts/features/patternrules: False exits with different error
213         codes on different systems (for example, Linux => 1, Solaris => 255).
215         * scripts/options/dash-W: Set the timestamp to foo.x in the future,
216         to be sure it will be considered updated when it's remade.
218 2005-06-26  Paul D. Smith  <psmith@gnu.org>
220         * scripts/functions/shell: New test suite for the shell function.
222 2005-06-25  Paul D. Smith  <psmith@gnu.org>
224         * scripts/features/include: Test include/-include/sinclude with no
225         arguments.  Tests fix for Savannah bug #1761.
227         * scripts/misc/general3: Implement comprehensive testing of
228         backslash-newline behavior in command scripts: various types of
229         quoting, fast path / slow path, etc.
230         Tests fix for Savannah bug #1332.
232         * scripts/options/symlinks: Test symlinks to non-existent files.
233         Tests fix for Savannah bug #13280.
235         * scripts/misc/general3: Test semicolons in variable references.
236         Tests fix for Savannah bug #1454.
238         * scripts/variables/MAKE_RESTARTS: New file: test the
239         MAKE_RESTARTS variable.
240         * scripts/options/dash-B: Test re-exec doesn't loop infinitely.
241         Tests fix for Savannah bug #7566.
242         * scripts/options/dash-W: New file: test the -W flag, including
243         re-exec infinite looping.
245 2005-06-12  Paul D. Smith  <psmith@gnu.org>
247         * scripts/misc/close_stdout: Add a test for Savannah bug #1328.
248         This test only works on systems that have /dev/full (e.g., Linux).
250 2005-06-09  Paul D. Smith  <psmith@gnu.org>
252         * scripts/functions/foreach: Add a test for Savannah bug #11913.
254 2005-05-31  Boris Kolpackov  <boris@kolpackov.net>
256         * scripts/features/include: Add a test for Savannah bug #13216.
257         * scripts/features/patternrules: Add a test for Savannah bug #13218.
259 2005-05-13  Paul D. Smith  <psmith@gnu.org>
261         * scripts/features/conditionals: Add tests for the new if... else
262         if... endif syntax.
264 2005-05-03  Paul D. Smith  <psmith@gnu.org>
266         * scripts/variables/DEFAULT_GOAL: Rename DEFAULT_TARGET to
267         DEFAULT_GOAL.
269 2005-05-02  Paul D. Smith  <psmith@gnu.org>
271         * scripts/features/parallelism: Add a test for exporting recursive
272         variables containing $(shell ) calls.  Rewrite this script to use
273         run_make_test() everywhere.
275 2005-04-07  Paul D. Smith  <psmith@gnu.org>
277         * scripts/targets/SECONDARY: Add a test for Savannah bug #12331.
279 2005-03-15  Boris Kolpackov  <boris@kolpackov.net>
281         * scripts/variables/automatic: Add a test for Savannah bug #12320.
283 2005-03-10  Boris Kolpackov  <boris@kolpackov.net>
285         * scripts/features/patternrules: Add a test for Savannah bug #12267.
287 2005-03-09  Boris Kolpackov  <boris@kolpackov.net>
289         * scripts/variables/DEFAULT_TARGET: Add a test for Savannah
290         bug #12266.
292 2005-03-04  Boris Kolpackov  <boris@kolpackov.net>
294         * scripts/features/patternrules: Add a test for Savannah bug #12202.
296 2005-03-03  Boris Kolpackov  <boris@kolpackov.net>
298         * scripts/features/se_implicit: Add a test for stem
299         termination bug. Add a test for stem triple-expansion bug.
301         * scripts/features/se_statpat: Add a test for stem
302         triple-expansion bug.
304         * scripts/features/statipattrules: Change test #4 to reflect
305         new way empty prerequisite list is handled.
308 2005-03-01  Boris Kolpackov  <boris@kolpackov.net>
310         * scripts/features/statipattrules: Add a test for
311         Savannah bug #12180.
313 2005-02-28  Paul D. Smith  <psmith@gnu.org>
315         * scripts/options/dash-q: Add a test for Savannah bug # 7144.
317         * scripts/options/symlinks: New file to test checking of symlink
318         timestamps.  Can't use filename dash-L because it conflicts with
319         dash-l on case-insensitive filesystems.
321         * scripts/variables/MAKEFILE_LIST, scripts/variables/MFILE_LIST:
322         Rename MAKEFILE_LIST test to MFILE_LIST, for systems that need 8.3
323         unique filenames.
325 2005-02-28  Boris Kolpackov  <boris@kolpackov.net>
327         * scripts/variables/DEFAULT_TARGET: Test the .DEFAULT_TARGET
328         special variable.
330 2005-02-27  Boris Kolpackov  <boris@kolpackov.net>
332         * scripts/features/se_explicit: Test the second expansion in
333         explicit rules.
334         * scripts/features/se_implicit: Test the second expansion in
335         implicit rules.
336         * scripts/features/se_statpat: Test the second expansion in
337         static pattern rules.
338         * scripts/variables/automatic: Fix to work with the second
339         expansion.
341         * scripts/misc/general4: Add a test for bug #12091.
343 2005-02-27  Paul D. Smith  <psmith@gnu.org>
345         * scripts/functions/eval: Check that eval of targets within
346         command scripts fails.  See Savannah bug # 12124.
348 2005-02-26  Paul D. Smith  <psmith@gnu.org>
350         * test_driver.pl (compare_output): If a basic comparison of the
351         log and answer doesn't match, try harder: change all backslashes
352         to slashes and all CRLF to LF.  This helps on DOS/Windows systems.
354 2005-02-09  Paul D. Smith  <psmith@gnu.org>
356         * scripts/features/recursion: Test command line variable settings:
357         only one instance of a given variable should be provided.
359 2004-11-30  Boris Kolpackov  <boris@kolpackov.net>
361         * tests/scripts/functions/abspath: New file: test `abspath'
362         built-in function.
364         * tests/scripts/functions/realpath: New file: test `realpath'
365         built-in function.
367 2004-11-28  Paul D. Smith  <psmith@gnu.org>
369         * scripts/options/dash-C [WINDOWS32]: Add a test for bug #10252;
370         this doesn't really test anything useful in UNIX but...
372         * scripts/variables/SHELL: New file: test proper handling of SHELL
373         according to POSIX rules.  Fixes bug #1276.
375 2004-10-21  Boris Kolpackov  <boris@kolpackov.net>
377         * scripts/functions/word: Test $(firstword ) and $(lastword ).
379 2004-10-05  Boris Kolpackov  <boris@kolpackov.net>
381         * scripts/features/patspecific_vars: Test simple/recursive
382         variable expansion.
384 2004-09-28  Boris Kolpackov  <boris@kolpackov.net>
386         * scripts/features/include: Test dontcare flag inheritance
387         when rebuilding makefiles.
389 2004-09-27  Boris Kolpackov  <boris@kolpackov.net>
391         * scripts/features/patspecific_vars: Test exported variables.
393 2004-09-22  Paul D. Smith  <psmith@gnu.org>
395         * run_make_tests.pl (run_make_test): Don't add newlines to the
396         makestring or answer if they are completely empty.
398         * scripts/features/patternrules: Rename from implicit_prereq_eval.
400         * scripts/test_template: Rework the template.
402 2004-09-21  Boris Kolpackov  <boris@kolpackov.net>
404         * run_make_tests.pl: Change `#!/usr/local/bin/perl' to be
405         `#!/usr/bin/env perl'.
407         * scripts/features/implicit_prereq_eval: Test implicit rule
408         prerequisite evaluation code.
410 2004-09-21  Paul D. Smith  <psmith@gnu.org>
412         * run_make_tests.pl (run_make_test): Enhance to allow the make
413         string to be undef: in that case it reuses the previous make
414         string.  Allows multiple tests on the same makefile.
416         * scripts/variables/flavors: Add some tests for prefix characters
417         interacting with define/endef variables.
419 2004-09-20  Paul D. Smith  <psmith@gnu.org>
421         * scripts/functions/substitution: Rewrite to use run_make_test()
422         interface, and add test for substitution failures reported by
423         Markus Mauhart <qwe123@chello.at>.
425 2004-03-22  Paul D. Smith  <psmith@gnu.org>
427         * test_driver.pl (run_each_test, toplevel, compare_output): Change
428         to track both the testing categories _AND_ the number of
429         individual tests, and report both sets of numbers.
431 2004-02-21  Paul D. Smith  <psmith@gnu.org>
433         * scripts/functions/origin: Set our own environment variable
434         rather than relying on $HOME.
436 2004-01-21  Paul D. Smith  <psmith@gnu.org>
438         * scripts/features/conditionals: Test arguments to ifn?def which
439         contain whitespace (such as a function that is evaluated).  Bug
440         #7257.
442 2004-01-07  Paul D. Smith  <psmith@gnu.org>
444         * scripts/features/order_only: Test order-only prerequisites in
445         pattern rules (patch #2349).
447 2003-11-02  Paul D. Smith  <psmith@gnu.org>
449         * scripts/functions/if: Test if on conditionals with trailing
450         whitespace--bug #5798.
452         * scripts/functions/eval: Test eval in a non-file context--bug #6195.
454 2003-04-19  Paul D. Smith  <psmith@gnu.org>
456         * scripts/features/patspecific_vars: Test multiple patterns
457         matching the same target--Bug #1405.
459 2003-04-09  Paul D. Smith  <psmith@gnu.org>
461         * run_make_tests.pl (set_more_defaults): A new $port_type of
462         'OS/2' for (surprise!) OS/2.  Also choose a wait time of 2 seconds
463         for OS/2.
465 2003-03-28  Paul D. Smith  <psmith@gnu.org>
467         * scripts/targets/SECONDARY: Test the "global" .SECONDARY (with
468         not prerequisites)--Bug #2515.
470 2003-01-30  Paul D. Smith  <psmith@gnu.org>
472         * scripts/features/targetvars: Test very long target-specific
473         variable definition lines (longer than the default make buffer
474         length).  Tests patch # 1022.
476         * scripts/functions/eval: Test very recursive $(eval ...) calls
477         with simple variable expansion (bug #2238).
479         * scripts/functions/word: Test error handling for word and
480         wordlist functions (bug #2407).
482 2003-01-22  Paul D. Smith  <psmith@gnu.org>
484         * scripts/functions/call: Test recursive argument masking (bug
485         #1744).
487 2002-10-25  Paul D. Smith  <psmith@gnu.org>
489         * scripts/functions/eval: Test using $(eval ...) inside
490         conditionals (Bug #1516).
492 2002-10-14  Paul D. Smith  <psmith@gnu.org>
494         * scripts/options/dash-t: Add a test for handling -t on targets
495         with no commands (Bug #1418).
497 2002-10-13  Paul D. Smith  <psmith@gnu.org>
499         * scripts/features/targetvars: Add a test for exporting
500         target-specific vars (Bug #1391).
502 2002-10-05  Paul D. Smith  <psmith@gnu.org>
504         * scripts/variables/automatic: Add tests for $$(@), $${@}, $${@D},
505         and $${@F}.
507 2002-09-23  Paul D. Smith  <psmith@gnu.org>
509         * scripts/features/escape: Test handling of escaped comment
510         characters in targets and prerequisites.
512 2002-09-18  Paul D. Smith  <psmith@gnu.org>
514         * scripts/features/export: Test export/unexport of multiple
515         variables in a single command.
517 2002-09-17  Paul D. Smith  <psmith@gnu.org>
519         * scripts/features/targetvars: Tests for Bug #940: test
520         target-specific and pattern-specific variables in conjunction with
521         double-colon targets.
523 2002-09-10  Paul D. Smith  <psmith@gnu.org>
525         * test_driver.pl (compare_output): Match the new format for time
526         skew error messages.
528         * scripts/features/export: Created.  Add tests for export/unexport
529         capabilities, including exporting/unexporting expanded variables.
531         * scripts/features/conditionals: Add a test for expanded variables
532         in ifdef conditionals.
534 2002-09-04  Paul D. Smith  <psmith@gnu.org>
536         * scripts/features/reinvoke: Change touch/sleep combos to utouch
537         invocations.
538         * scripts/features/vpathgpath: Ditto.
539         * scripts/features/vpathplus: Ditto.
540         * scripts/options/dash-n: Ditto.
541         * scripts/targets/INTERMEDIATE: Ditto.
542         * scripts/targets/SECONDARY: Ditto.
544         * scripts/options/dash-t: Added a test for the -t bug fixed by
545         Henning Makholm.  This test was also contributed by Henning.
547         * scripts/misc/general4: Add a test suite for obscure algorithmic
548         features of make.  First test: make sure creation subdirectories
549         as prerequisites of targets works properly.
551         * scripts/misc/version: Remove this bogus test.
553 2002-08-07  Paul D. Smith  <psmith@gnu.org>
555         * scripts/misc/general3: Add a test for makefiles that don't end
556         in newlines.
558         * scripts/variables/special: Create tests for the special
559         variables (.VARIABLES and .TARGETS).  Comment out .TARGETS test
560         for now as it's not yet supported.
562 2002-08-01  Paul D. Smith  <psmith@gnu.org>
564         * scripts/options/dash-B: Add a test for the new -B option.
566 2002-07-11  Paul D. Smith  <psmith@gnu.org>
568         * run_make_tests.pl (valid_option): Add support for Valgrind.  Use
569         -valgrind option to the test suite.
570         (set_more_defaults): Set up the file descriptor to capture
571         Valgrind output.  We have to unset its close-on-exec flag; we
572         hardcode the value for F_SETFD (2) rather than load it; hopefully
573         this will help us avoid breaking the Windows/DOS test suite.
575 2002-07-10  Paul D. Smith  <psmith@gnu.org>
577         * scripts/variables/automatic: Add some tests for $$@, $$(@D), and
578         $$(@F).
580         * test_driver.pl (utouch): Create a new function that creates a
581         file with a specific timestamp offset.  Use of this function will
582         let us avoid lots of annoying sleep() invocations in the tests
583         just to get proper timestamping, which will make the tests run a
584         lot faster.  So far it's only used in the automatic test suite.
586 2002-07-09  Paul D. Smith  <psmith@gnu.org>
588         * scripts/variables/automatic: Create a test for automatic variables.
590 2002-07-08  Paul D. Smith  <psmith@gnu.org>
592         * scripts/features/order_only: Test new order-only prerequisites.
594 2002-07-07  Paul D. Smith  <psmith@gnu.org>
596         * scripts/functions/eval: Test new function.
597         * scripts/functions/value: Test new function.
598         * scripts/variables/MAKEFILE_LIST: Test new variable.
600 2002-04-28  Paul D. Smith  <psmith@gnu.org>
602         * scripts/functions/call: New test: transitive closure
603         implementation using $(call ...) to test variable recursion.
605 2002-04-21  Paul D. Smith  <psmith@gnu.org>
607         * test_driver.pl (compare_dir_tree): Ignore CVS and RCS
608         directories in the script directories.
610 2001-05-02  Paul D. Smith  <psmith@gnu.org>
612         * scripts/variables/flavors: Test define/endef scripts where only
613         one of the command lines is quiet.
615 2000-06-22  Paul D. Smith  <psmith@gnu.org>
617         * scripts/options/dash-q: New file; test the -q option.  Includes
618         a test for PR/1780.
620 2000-06-21  Paul D. Smith  <psmith@gnu.org>
622         * scripts/features/targetvars: Added a test for PR/1709: allowing
623         semicolons in target-specific variable values.
625 2000-06-19  Paul D. Smith  <psmith@gnu.org>
627         * scripts/functions/addsuffix: Test for an empty final argument.
628         Actually this bug might have happened for any function, but this
629         one was handy.
631 2000-06-17  Eli Zaretskii  <eliz@is.elta.co.il>
633         * scripts/options/general: If parallel jobs are not supported,
634         expect a warning message from Make.
636 2000-06-15  Eli Zaretskii  <eliz@is.elta.co.il>
638         * scripts/options/general: Don't try -jN with N != 1 if parallel
639         jobs are not supported.
641 2000-05-24  Paul D. Smith  <psmith@gnu.org>
643         * scripts/options/general: Test general option processing (PR/1716).
645 2000-04-11  Paul D. Smith  <psmith@gnu.org>
647         * scripts/functions/strip: Test empty value to strip (PR/1689).
649 2000-04-08  Eli Zaretskii  <eliz@is.elta.co.il>
651         * scripts/features/reinvoke: Sleep before updating the target
652         files in the first test, to ensure its time stamp really gets
653         newer; otherwise Make might re-exec more than once.
655 2000-04-07  Eli Zaretskii  <eliz@is.elta.co.il>
657         * scripts/features/double_colon: Don't run the parallel tests if
658         parallel jobs aren't supported.
660 2000-04-04  Paul D. Smith  <psmith@gnu.org>
662         * scripts/functions/word: wordlist doesn't swap arguments anymore.
664 2000-03-27  Paul D. Smith  <psmith@gnu.org>
666         * scripts/features/statipattrules: Test that static pattern rules
667         whose prerequisite patterns resolve to empty strings throw an
668         error (instead of dumping core).  Fixes PR/1670.
670         * scripts/features/reinvoke: Make more robust by touching "b"
671         first, to ensure it's not newer than "a".
672         Reported by Marco Franzen <Marco.Franzen@Thyron.com>.
673         * scripts/options/dash-n: Ditto.
675         * scripts/functions/call: Whoops.  The fix to PR/1527 caused
676         recursive invocations of $(call ...) to break.  I can't come up
677         with any way to get both working at the same time, so I backed out
678         the fix to 1527 and added a test case for recursive calls.  This
679         also tests the fix for PR/1610.
681         * scripts/features/double_colon: Test that circular dependencies
682         in double-colon rule sets are detected correctly (PR/1671).
684 2000-03-26  Paul D. Smith  <psmith@gnu.org>
686         * scripts/targets/INTERMEDIATE: Test that make doesn't remove
687         .INTERMEDIATE files when given on the command line (PR/1669).
689 2000-03-08  Paul D. Smith  <psmith@gnu.org>
691         * scripts/options/dash-k: Add a test for error detection by
692         multiple targets depending on the same prerequisite with -k.
693         For PR/1634.
695 2000-02-07  Paul D. Smith  <psmith@gnu.org>
697         * scripts/features/escape: Add a test for backslash-escaped spaces
698         in a target name (PR/1586).
700 2000-02-04  Paul D. Smith  <psmith@gnu.org>
702         * scripts/features/patspecific_vars: Add a test for pattern-specific
703         target variables inherited from the parent target (PR/1407).
705 2000-02-02  Paul D. Smith  <psmith@gnu.org>
707         * run_make_tests.pl (set_more_defaults): Hard-code the LANG to C
708         to make sure sorting order, etc. is predictable.
709         Reported by Andreas Jaeger <aj@suse.de>.
711         * run_make_tests.pl (set_more_defaults): Set the $wtime variable
712         depending on the OS.  Eli Zaretskii <eliz@is.elta.co.il> reports
713         this seems to need to be *4* on DOS/Windows, not just 2.  Keep it
714         1 for other systems.
715         * scripts/features/vpathplus (touchfiles): Use the $wtime value
716         instead of hardcoding 2.
717         * scripts/targets/SECONDARY: Ditto.
718         * scripts/targets/INTERMEDIATE: Ditto.
720 2000-01-27  Paul D. Smith  <psmith@gnu.org>
722         * test_driver.pl (toplevel): Don't try to run test scripts which
723         are really directories.
725 2000-01-23  Paul D. Smith  <psmith@gnu.org>
727         * scripts/features/include: Remove a check; the fix caused more
728         problems than the error, so I removed it and removed the test for
729         it.
731 2000-01-11  Paul D. Smith  <psmith@gnu.org>
733         * scripts/functions/call: Add a test for PR/1517 and PR/1527: make
734         sure $(call ...) doesn't eval its arguments and that you can
735         invoke foreach from it without looping forever.
737 1999-12-15  Paul D. Smith  <psmith@gnu.org>
739         * scripts/targets/INTERMEDIATE: Add a test for PR/1423: make sure
740         .INTERMEDIATE settings on files don't disable them as implicit
741         intermediate possibilities.
743 1999-12-01  Paul D. Smith  <psmith@gnu.org>
745         * scripts/features/double_colon: Add a test for PR/1476: Try
746         double-colon rules as non-goal targets and during parallel builds
747         to make sure they're handled serially.
749 1999-11-17  Paul D. Smith  <psmith@gnu.org>
751         * scripts/functions/if: Add a test for PR/1429: put some text
752         after an if-statement to make sure it works.
754         * scripts/features/targetvars: Add a test for PR/1380: handling +=
755         in target-specific variable definitions correctly.
757 1999-10-15  Paul D. Smith  <psmith@gnu.org>
759         * scripts/variables/MAKEFILES: This was really broken: it didn't
760         test anything at all, really.  Rewrote it, plus added a test for
761         PR/1394.
763 1999-10-13  Paul D. Smith  <psmith@gnu.org>
765         * scripts/options/dash-n: Add a test for PR/1379: "-n doesn't
766         behave properly when used with recursive targets".
768 1999-10-08  Paul D. Smith  <psmith@gnu.org>
770         * scripts/features/targetvars: Add a check for PR/1378:
771         "Target-specific vars don't inherit correctly"
773 1999-09-29  Paul D. Smith  <psmith@gnu.org>
775         * test_driver.pl (get_osname): Change $fancy_file_names to
776         $short_filenames and reverse the logic.
777         (run_each_test): Change test of non-existent $port_host to use
778         $short_filenames--problem reported by Eli Zaretskii.
780 1999-09-23  Paul D. Smith  <psmith@gnu.org>
782         * scripts/features/parallelism: Add a check to ensure that the
783         jobserver works when we re-invoke.  Also cleaned up the tests a
784         little, reducing the number of rules we use so the test won't need
785         as many "sleep" commands.
787 1999-09-16  Paul D. Smith  <psmith@gnu.org>
789         * scripts/features/reinvoke: Remove invocations of "touch" in
790         makefiles.  See the comments on the touch function rewrite below.
791         Note that UNIX touch behaves the same way if the file already
792         exists: it sets the time to the _local_ time.  We don't want
793         this.  This is probably a good tip for makefile writers in
794         general, actually... where practical.
795         * scripts/options/dash-l: Ditto.
796         * scripts/options/dash-n: Ditto.
798         * test_driver.pl (run_each_test): In retrospect, I don't like the
799         .lN/.bN/.dN postfix required by DOS.  So, for non-DOS systems I
800         changed it back to use .log, .base, and .diff.
802         * run_make_tests.pl (set_more_defaults): Move the check for the
803         make pathname to here from set_defaults (that's too early since it
804         happens before the command line processing).
805         Create a new variable $port_type, calculated from $osname, to
806         specify what kind of system we're running on.  We should integrate
807         the VOS stuff here, too.
808         (valid_option): Comment out the workdir/-work stuff so people
809         won't be fooled into thinking it works... someone needs to fix
810         this, though!
812         * scripts/functions/origin: Use $port_type instead of $osname.
813         * scripts/functions/foreach: Ditto.
814         * scripts/features/default_names: Ditto.
816 1999-09-15  Paul D. Smith  <psmith@gnu.org>
818         * test_driver.pl (touch): Rewrite this function.  Previously it
819         used to use utime() to hard-set the time based on the current
820         local clock, or, if the file didn't exist, it merely created it.
821         This mirrors exactly what real UNIX touch does, but it fails badly
822         on networked filesystems where the FS server clock is skewed from
823         the local clock: normally modifying a file causes it to get a mod
824         time based on the _server's_ clock.  Hard-setting it based on the
825         _local_ clock causes gratuitous errors and makes the tests
826         unreliable except on local filesystems.  The new function will
827         simply modify the file, allowing the filesystem to set the mod
828         time as it sees fit.
830         * scripts/features/parallelism: The second test output could
831         change depending on how fast some scripts completed; use "sleep"
832         to force the order we want.
834         * test_driver.pl (toplevel): A bug in Perl 5.000 to Perl 5.004
835         means that "%ENV = ();" doesn't do the right thing.  This worked
836         in Perl 4 and was fixed in Perl 5.004_01, but use a loop to delete
837         the environment rather than require specific versions.
839         * run_make_tests.pl (set_more_defaults): Don't use Perl 5 s///
840         modifier "s", so the tests will run with Perl 4.
841         (set_more_defaults): Set $pure_log to empty if there's no -logfile
842         option in PURIFYOPTIONS.
843         (setup_for_test): Don't remove any logs unless $pure_log is set.
845 1999-09-15  Eli Zaretskii  <eliz@is.elta.co.il>
847         * scripts/features/reinvoke: Put the SHELL definition in the right
848         test makefile.
850 1999-09-15  Paul D. Smith  <psmith@gnu.org>
852         ChangeLog file for the test suite created.
855 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
856 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
857 This file is part of GNU Make.
859 GNU Make is free software; you can redistribute it and/or modify it under the
860 terms of the GNU General Public License as published by the Free Software
861 Foundation; either version 3 of the License, or (at your option) any later
862 version.
864 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
865 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
866 A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
868 You should have received a copy of the GNU General Public License along with
869 this program.  If not, see <http://www.gnu.org/licenses/>.