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
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
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
89 * test_driver.pl (toplevel): Skip all hidden files/directories (ones
92 * scripts/functions/andor: Tests for $(and ..) and $(or ...)
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
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
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
167 * scripts/features/patspecific_vars: Don't use "test", which is
168 UNIX specific. Print the values and let the test script match
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
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-
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
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
264 2005-05-03 Paul D. Smith <psmith@gnu.org>
266 * scripts/variables/DEFAULT_GOAL: Rename DEFAULT_TARGET to
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
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
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
325 2005-02-28 Boris Kolpackov <boris@kolpackov.net>
327 * scripts/variables/DEFAULT_TARGET: Test the .DEFAULT_TARGET
330 2005-02-27 Boris Kolpackov <boris@kolpackov.net>
332 * scripts/features/se_explicit: Test the second expansion in
334 * scripts/features/se_implicit: Test the second expansion in
336 * scripts/features/se_statpat: Test the second expansion in
337 static pattern rules.
338 * scripts/variables/automatic: Fix to work with the second
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'
364 * tests/scripts/functions/realpath: New file: test `realpath'
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
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
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
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
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},
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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/>.