1 2012-01-12 Paul Smith <psmith@gnu.org>
3 * scripts/functions/guile: New regression tests for Guile support.
5 2011-12-10 Paul Smith <psmith@gnu.org>
7 * scripts/targets/SECONDARY: Add prereq statements to ensure rules
8 are printed in the right order for test #9
10 2011-11-14 Paul Smith <psmith@gnu.org>
12 * scripts/features/double_colon: Check double-colon with escaped
13 filenames. See Savannah bug #33399.
15 2011-09-18 Paul Smith <psmith@gnu.org>
17 * scripts/features/parallelism: On re-exec make sure we preserve
18 the value of MAKEFLAGS when necessary. See Savannah bug #33873.
20 * scripts/features/vpath3: Verify handling of -lfoo libraries
21 found via vpath vs. the standard directory search.
22 See Savannah bug #32511.
24 2011-09-12 Paul Smith <psmith@gnu.org>
26 * scripts/functions/call: Verify that using export in a $(call ...)
27 context creates a global variable. See Savannah bug #32498.
29 2011-09-02 Paul Smith <psmith@gnu.org>
31 * scripts/options/dash-n: Verify that in "-n -t", the -n takes
32 priority. Patch from Michael Witten <mfwitten@gmail.com>.
34 2011-08-29 Paul Smith <psmith@gnu.org>
36 * scripts/features/varnesting: Test resetting of variables while
37 expanding them. See Savannah patch #7534
39 2011-06-12 Paul Smith <psmith@gnu.org>
41 * scripts/features/archives: Check archives with whitespace at the
42 beginning, end, and extra in the middle.
43 Another test for Savannah bug #30612.
45 2011-05-07 Paul Smith <psmith@gnu.org>
47 * scripts/variables/private: Ensure we skip private variables when
48 appending. Test for Savannah bug #32872.
50 * scripts/functions/wildcard: Verify wildcard used to test for
51 file existence/non-existence.
53 2011-05-02 Paul Smith <psmith@gnu.org>
55 * scripts/functions/sort: Add a test for Savannah bug #33125.
57 2011-04-17 David A. Wheeler <dwheeler@dwheeler.com>
59 * scripts/features/shell_assignment: Regression for "!=" feature
61 2010-11-06 Paul Smith <psmith@gnu.org>
63 * scripts/features/targetvars: Fix known-good output for BS/NL changes.
64 * scripts/functions/call: Ditto.
65 * scripts/variables/special: Ditto.
67 * scripts/misc/bs-nl: New test suite for backslash/newline testing.
69 2010-08-29 Paul Smith <psmith@gnu.org>
71 * scripts/features/errors: Add new error message to output text.
72 * scripts/variables/SHELL: Ditto.
73 * scripts/targets/POSIX: Ditto.
74 * scripts/options/dash-k: Ditto.
75 * scripts/features/vpathplus: Ditto.
76 * scripts/features/patternrules: Ditto.
77 * scripts/features/parallelism: Ditto.
79 2010-08-13 Paul Smith <psmith@gnu.org>
81 * scripts/features/archives: New regression tests for archive
82 support. Test for fix to Savannah bug #30612.
84 * run_make_tests.pl (set_more_defaults): Set a %FEATURES hash to
85 the features available in $(.FEATURES).
87 2010-08-10 Paul Smith <psmith@gnu.org>
89 * scripts/features/reinvoke: Ensure command line variable settings
90 are preserved across make re-exec. Tests Savannah bug #30723.
92 2010-07-28 Paul Smith <psmith@gnu.org>
94 * scripts/targets/POSIX: Compatibility issues with Solaris (and
95 Tru64?); "false" returns different exit codes, and set -x shows
96 output with extra whitespace. Run the commands by hand first to
97 find out what the real shell would do, then compare what make does.
98 * scripts/variables/SHELL: Ditto.
100 2010-07-12 Paul Smith <psmith@gnu.org>
102 * test_driver.pl: Add a new $perl_name containing the path to Perl.
103 * run_make_tests.pl (run_make_test): Replace the special string
104 #PERL# in a makefile etc. with the path the Perl executable so
105 makefiles can use it.
107 * scripts/targets/ONESHELL: Add a new set of regression tests for
108 the .ONESHELL feature.
110 2010-07-06 Paul Smith <psmith@gnu.org>
112 * scripts/variables/SHELL: Test the new .SHELLFLAGS variable.
114 * scripts/targets/POSIX: New file. Test the .POSIX special target.
115 Verify that enabling .POSIX changes the shell flags to set -e.
117 2010-07-01 Paul Smith <psmith@gnu.org>
119 * scripts/features/recursion: Add a space to separate command-line
120 args. Fixes Savannah bug #29968.
122 2009-11-12 Boris Kolpackov <boris@codesynthesis.com>
124 * scripts/features/vpath3: Test for the new library search
127 2009-10-06 Boris Kolpackov <boris@codesynthesis.com>
129 * scripts/features/se_explicit: Enable the test for now fixed
132 2009-10-06 Boris Kolpackov <boris@codesynthesis.com>
134 * scripts/variables/undefine: Tests for the new undefine feature.
136 2009-10-03 Paul Smith <psmith@gnu.org>
138 * scripts/features/parallelism: Test for open Savannah bug #26846.
140 * scripts/variables/MAKE: Rewrite for new run_make_test() format.
142 * scripts/variables/MAKEFLAGS: Created.
143 Add test for Savannah bug #2216 (still open).
145 * scripts/features/include: Test for Savannah bug #102 (still open).
147 2009-09-30 Boris Kolpackov <boris@codesynthesis.com>
149 * scripts/features/include: Add diagnostics issuing tests for
150 cases where targets have been updated and failed with the
151 dontcare flag. Savannah bugs #15110, #25493, #12686, #17740.
153 2009-09-28 Paul Smith <psmith@gnu.org>
155 * scripts/functions/shell: Add regression test for Savannah bug
158 * scripts/features/se_explicit: Add regression tests for Savannah
159 bug #25780 (still open).
161 * run_make_tests.pl (valid_option): Add a new flag, -all([-_]?tests)?
162 that runs tests we know will fail. This allows us to add
163 regression tests to the test suite for bugs that haven't been
166 2009-09-28 Boris Kolpackov <boris@codesynthesis.com>
168 * scripts/features/patspecific_vars: Add a test for the shortest
171 * scripts/features/patternrules: Add a test for the shortest stem
174 2009-09-24 Paul Smith <psmith@gnu.org>
176 * scripts/features/se_implicit: Add a test for order-only
177 secondary expansion prerequisites.
179 2009-09-23 Paul Smith <psmith@gnu.org>
181 * scripts/features/patternrules: Test that we can remove pattern
182 rules, both single and multiple prerequisites. Savannah bug #18622.
184 * scripts/features/echoing: Rework for run_make_test().
186 2009-06-14 Paul Smith <psmith@gnu.org>
188 * scripts/features/vpath: Verify we don't get bogus circular
189 dependency warnings if we choose a different file via vpath during
190 update. Savannah bug #13529.
192 2009-06-13 Paul Smith <psmith@gnu.org>
194 * scripts/variables/MAKEFILES: Verify that MAKEFILES included
195 files (and files included by them) don't set the default goal.
198 * scripts/functions/wildcard: Test that wildcards with
199 non-existent glob matchers return empty.
201 2009-06-09 Paul Smith <psmith@gnu.org>
203 * scripts/options/dash-B: Test the $? works correctly with -B.
206 * scripts/features/patternrules: Test that dependencies of
207 "also_make" targets are created properly. Savannah bug #19108.
209 * test_driver.pl (compare_output): Create a "run" file for failed
210 tests containing the command that was run.
211 (get_runfile): New function.
213 * run_make_tests.pl (valid_option): Enhanced support for valgrind:
214 allow memcheck and massif tools.
216 * scripts/features/patternrules: Have to comment out a line in the
217 first test due to backing out a change that broke the implicit
218 rule search algorithm. Savannah bug #17752.
219 * scripts/misc/general4: Remove a test that is redundant with
222 * scripts/features/parallelism: Add a test for re-exec with
223 jobserver master override. Savannah bug #18124.
225 2009-06-08 Paul Smith <psmith@gnu.org>
227 * scripts/features/targetvars: Add a test for continued target
228 vars after a semicolon. Savannah bug #17521.
230 2009-06-07 Paul Smith <psmith@gnu.org>
232 * scripts/features/se_explicit: Make sure we catch defining
233 prereqs during snap_deps(). Savannah bug #24622.
235 * scripts/variables/automatic: Check prereq ordering when the
236 target with the recipe has no prereqs. Savannah bug #21198.
238 * scripts/variables/LIBPATTERNS: Add a new set of test for
239 $(.LIBPATTERNS) (previously untested!)
241 2009-06-04 Paul Smith <psmith@gnu.org>
243 * scripts/variables/SHELL: The export target-specific SHELL test
244 has an incorrect known-good-value.
246 * scripts/misc/general4: Check for whitespace (ffeed, vtab, etc.)
248 * scripts/features/se_explicit: Add tests for Savannah bug #24588.
250 2009-05-31 Paul Smith <psmith@gnu.org>
252 * scripts/variables/DEFAULT_GOAL: Add tests for Savannah bug #25697.
254 * scripts/features/targetvars: Add tests of overrides for Savannah
256 * scripts/features/patspecific_vars: Ditto.
258 * scripts/features/patternrules: Add a test for Savannah bug #26593.
260 2009-05-30 Paul Smith <psmith@gnu.org>
262 * scripts/variables/flavors: Update with new variable flavor tests.
263 * scripts/variables/define: Create a new set of tests for
264 define/endef and move those aspects of the flavors suite here.
266 2009-05-25 Paul Smith <psmith@gnu.org>
268 * scripts/features/targetvars: Ditto.
270 * scripts/features/export: Test new variable parsing abilities.
272 2009-02-23 Ramon Garcia <ramon.garcia.f@gmail.com>
274 * scripts/variables/private: Create a new suite of tests for 'private'.
276 2007-11-04 Paul Smith <psmith@gnu.org>
278 * scripts/functions/eval: Update error message for command -> recipe.
280 * test_driver.pl (compare_output): Allow the answer to be a regex,
281 if surrounded by '/'.
282 * scripts/misc/close_stdout: Use a regex for the answer, since
283 sometimes the error will have a description and sometimes it won't.
285 2007-09-10 Paul Smith <psmith@gnu.org>
287 * scripts/variables/special: Add tests for .RECIPEPREFIX variable.
289 2007-08-15 Paul Smith <psmith@gnu.org>
291 These test cases were contributed by
292 Icarus Sparry <savannah@icarus.freeuk.com> and J. David Bryan for
293 Savannah bugs #3330 and #15919.
295 * scripts/targets/SECONDARY: Add tests for Savannah bugs 3330 and
298 * scripts/features/parallelism: Add tests for wrong answer/hang
299 combining INTERMEDIATE, order-only prereqs, and parallelism.
300 See Savannah bugs 3330 and 15919.
302 2007-07-13 Paul Smith <psmith@gnu.org>
304 Install a timeout so tests can never loop infinitely.
305 Original idea and patch for a single-test version provided by
306 Icarus Sparry <savannah@icarus.freeuk.com>
308 * test_driver.pl (_run_command): New function: this is called by
309 other functions to actually run a command. Before we run it,
310 install a SIGALRM handler and set up a timer to go off in the
311 future (default is 5s; this can be overridden by individual tests).
312 (run_command): Call it.
313 (run_command_with_output): Call it.
315 * run_make_tests.pl (run_make_with_options): Override the default
316 timeout if the caller requests it.
317 (run_make_test): Pass any timeout override to run_make_with_options.
319 * scripts/features/parallelism: Increase the timeout for long tests.
320 * scripts/options/dash-l: Ditto.
322 2006-10-01 Paul Smith <psmith@paulandlesley.org>
324 * run_make_tests.pl (set_more_defaults): Remove setting of LANG in
325 ENV here. This doesn't always work.
326 * test_driver.pl (toplevel): Set LC_ALL to 'C' in the make
327 environment. Fixes Savannah bug #16698.
329 2006-09-30 Paul Smith <psmith@paulandlesley.org>
331 * scripts/variables/automatic: Add back the test for bug #8154.
333 2006-04-01 Paul D. Smith <psmith@gnu.org>
335 * scripts/functions/realpath: Don't run tests with multiple
336 initial slashes on Windows: those paths mean something different.
338 2006-03-19 Paul D. Smith <psmith@gnu.org>
340 * scripts/features/parallelism: Test that the jobserver is
341 properly managed when we have to re-exec the master instance of
344 2006-03-17 Boris Kolpackov <boris@kolpackov.net>
346 * scripts/features/statipattrules: Add tests for bug #16053.
348 2006-03-09 Paul Smith <psmith@gnu.org>
350 * scripts/features/escape: Use "pre:" not "p:" to avoid conflicts
351 with DOS drive letters. Fixes Savannah bug #15947.
353 * test_driver.pl (run_each_test): Set the status properly even
354 when a test fails to execute. Fixes Savannah bug #15942.
356 * scripts/functions/foreach: Use a different environment variable
357 other than PATH to avoid differences with Windows platforms.
358 Fixes Savannah bug #15938.
360 2006-03-05 Paul D. Smith <psmith@gnu.org>
362 * run_make_tests.pl (set_more_defaults): Add CYGWIN_NT as a port
363 type W32. Fixed Savannah bug #15937.
365 * scripts/features/default_names: Don't call error() when the test
366 fails. Fixes Savannah bug #15941.
368 2006-02-17 Paul D. Smith <psmith@gnu.org>
370 * scripts/features/targetvars: Test a complex construction which
371 guarantees that we have to merge variable lists of different
372 sizes. Tests for Savannah bug #15757.
374 2006-02-15 Paul D. Smith <psmith@gnu.org>
376 * scripts/functions/error: Make sure filename/lineno information
377 is related to where the error is expanded, not where it's set.
378 * scripts/functions/warning: Ditto.
379 * scripts/functions/foreach: Check for different error conditions.
380 * scripts/functions/word: Ditto.
381 * scripts/variables/negative: Test some variable reference failure
383 * scripts/options/warn-undefined-variables: Test the
384 --warn-undefined-variables flag.
386 2006-02-09 Paul D. Smith <psmith@gnu.org>
388 * run_make_tests.pl (set_more_defaults): Update valgrind support
390 * test_driver.pl (toplevel): Skip all hidden files/directories (ones
393 * scripts/functions/andor: Tests for $(and ..) and $(or ...)
396 2006-02-08 Boris Kolpackov <boris@kolpackov.net>
398 * scripts/features/parallelism: Add a test for bug #15641.
400 2006-02-06 Paul D. Smith <psmith@gnu.org>
402 * scripts/options/dash-W: Add a test for bug #15341.
404 2006-01-03 Paul D. Smith <psmith@gnu.org>
406 * scripts/variables/automatic: Add a test for bug #8154.
408 * README: Update to reflect the current state of the test suite.
410 2005-12-12 Paul D. Smith <psmith@gnu.org>
412 * scripts/features/parallelism, scripts/functions/wildcard,
413 scripts/targets/FORCE, scripts/targets/PHONY,
414 scripts/targets/SILENT: Use the default setting for
415 $delete_command. Fixes bug #15085.
417 * run_make_tests.pl (get_this_pwd) [VMS]: Use -no_ask with delete_file.
419 2005-12-11 Paul D. Smith <psmith@gnu.org>
421 * scripts/misc/general4: Test implicit rules with '$' in the
422 prereq list & prereq patterns.
423 * scripts/features/se_implicit: Add in .SECONDEXPANSION settings.
425 2005-12-09 Boris Kolpackov <boris@kolpackov.net>
427 * scripts/features/patternrules: Add a test for bug #13022.
429 2005-12-07 Boris Kolpackov <boris@kolpackov.net>
431 * scripts/features/double_colon: Add a test for bug #14334.
433 2005-11-17 Boris Kolpackov <boris@kolpackov.net>
435 * scripts/functions/flavor: Add a test for the flavor function.
437 2005-11-14 Boris Kolpackov <boris@kolpackov.net>
439 * scripts/variables/INCLUDE_DIRS: Add a test for the .INCLUDE_DIRS
442 2005-10-24 Paul D. Smith <psmith@gnu.org>
444 * scripts/misc/general4: Test '$$' in prerequisites list.
445 * scripts/features/statipattrules: Rewrite to use run_make_test().
446 Add various static pattern info.
447 * scripts/features/se_statpat: Enable .SECONDEXPANSION target.
448 * scripts/features/se_explicit: Add tests for handling '$$' in
449 prerequisite lists with and without setting .SECONDEXPANSION.
450 * scripts/features/order_only: Convert to run_make_test().
451 * run_make_tests.pl (set_more_defaults): If we can't get the value
452 of $(MAKE) from make, then fatal immediately.
454 2005-08-31 Paul D. Smith <psmith@gnu.org>
456 * run_make_tests.pl (get_this_pwd): Require the POSIX module (in
457 an eval to trap errors) and if it exists, use POSIX::getcwd to
458 find the working directory. If it doesn't exist, go back to the
459 previous methods. This tries to be more accurate on Windows
462 2005-08-29 Paul D. Smith <psmith@gnu.org>
464 * scripts/functions/abspath: Add some text to the error messages
465 to get a better idea of what's wrong. Make warnings instead of
468 * scripts/features/patspecific_vars: Don't use "test", which is
469 UNIX specific. Print the values and let the test script match
472 2005-08-25 Paul Smith <psmith@gnu.org>
474 * scripts/variables/SHELL: Use a /./ prefix instead of //: the
475 former works better with non-UNIX environments. Fixes Savannah
478 2005-08-13 Boris Kolpackov <boris@kolpackov.net>
480 * scripts/functions/wildcard: Wrap calls to $(wildcard ) with
481 $(sort) so that the resulting order is no longer filesystem-
484 2005-08-10 Boris Kolpackov <boris@kolpackov.net>
486 * scripts/features/statipattrules: Add a test for Savannah bug #13881.
488 2005-08-07 Paul D. Smith <psmith@gnu.org>
490 * scripts/features/parallelism: Add a test for a bug reported by
491 Michael Matz (matz@suse.de) in which make exits without waiting
492 for all its children in some situations during parallel builds.
494 2005-07-08 Paul D. Smith <psmith@gnu.org>
496 * test_driver.pl: Reset the environment to a clean value every
497 time before we invoke make. I'm suspicious that the environment
498 isn't handled the same way in Windows as it is in UNIX, and some
499 variables are leaking out beyond the tests they are intended for.
500 Create an %extraENV hash tests can set to add more env. vars.
501 * tests/scripts/features/export: Change to use %extraENV.
502 * tests/scripts/functions/eval: Ditto.
503 * tests/scripts/functions/origin: Ditto.
504 * tests/scripts/options/dash-e: Ditto.
505 * tests/scripts/variables/SHELL: Ditto.
507 2005-06-27 Paul D. Smith <psmith@gnu.org>
509 * scripts/options/dash-W: Use 'echo >>' instead of touch to update
511 * scripts/features/reinvoke: Rewrite to be safer on systems with
512 subsecond timestamps.
513 * scripts/features/patternrules: False exits with different error
514 codes on different systems (for example, Linux => 1, Solaris => 255).
516 * scripts/options/dash-W: Set the timestamp to foo.x in the future,
517 to be sure it will be considered updated when it's remade.
519 2005-06-26 Paul D. Smith <psmith@gnu.org>
521 * scripts/functions/shell: New test suite for the shell function.
523 2005-06-25 Paul D. Smith <psmith@gnu.org>
525 * scripts/features/include: Test include/-include/sinclude with no
526 arguments. Tests fix for Savannah bug #1761.
528 * scripts/misc/general3: Implement comprehensive testing of
529 backslash-newline behavior in command scripts: various types of
530 quoting, fast path / slow path, etc.
531 Tests fix for Savannah bug #1332.
533 * scripts/options/symlinks: Test symlinks to non-existent files.
534 Tests fix for Savannah bug #13280.
536 * scripts/misc/general3: Test semicolons in variable references.
537 Tests fix for Savannah bug #1454.
539 * scripts/variables/MAKE_RESTARTS: New file: test the
540 MAKE_RESTARTS variable.
541 * scripts/options/dash-B: Test re-exec doesn't loop infinitely.
542 Tests fix for Savannah bug #7566.
543 * scripts/options/dash-W: New file: test the -W flag, including
544 re-exec infinite looping.
546 2005-06-12 Paul D. Smith <psmith@gnu.org>
548 * scripts/misc/close_stdout: Add a test for Savannah bug #1328.
549 This test only works on systems that have /dev/full (e.g., Linux).
551 2005-06-09 Paul D. Smith <psmith@gnu.org>
553 * scripts/functions/foreach: Add a test for Savannah bug #11913.
555 2005-05-31 Boris Kolpackov <boris@kolpackov.net>
557 * scripts/features/include: Add a test for Savannah bug #13216.
558 * scripts/features/patternrules: Add a test for Savannah bug #13218.
560 2005-05-13 Paul D. Smith <psmith@gnu.org>
562 * scripts/features/conditionals: Add tests for the new if... else
565 2005-05-03 Paul D. Smith <psmith@gnu.org>
567 * scripts/variables/DEFAULT_GOAL: Rename DEFAULT_TARGET to
570 2005-05-02 Paul D. Smith <psmith@gnu.org>
572 * scripts/features/parallelism: Add a test for exporting recursive
573 variables containing $(shell ) calls. Rewrite this script to use
574 run_make_test() everywhere.
576 2005-04-07 Paul D. Smith <psmith@gnu.org>
578 * scripts/targets/SECONDARY: Add a test for Savannah bug #12331.
580 2005-03-15 Boris Kolpackov <boris@kolpackov.net>
582 * scripts/variables/automatic: Add a test for Savannah bug #12320.
584 2005-03-10 Boris Kolpackov <boris@kolpackov.net>
586 * scripts/features/patternrules: Add a test for Savannah bug #12267.
588 2005-03-09 Boris Kolpackov <boris@kolpackov.net>
590 * scripts/variables/DEFAULT_TARGET: Add a test for Savannah
593 2005-03-04 Boris Kolpackov <boris@kolpackov.net>
595 * scripts/features/patternrules: Add a test for Savannah bug #12202.
597 2005-03-03 Boris Kolpackov <boris@kolpackov.net>
599 * scripts/features/se_implicit: Add a test for stem
600 termination bug. Add a test for stem triple-expansion bug.
602 * scripts/features/se_statpat: Add a test for stem
603 triple-expansion bug.
605 * scripts/features/statipattrules: Change test #4 to reflect
606 new way empty prerequisite list is handled.
609 2005-03-01 Boris Kolpackov <boris@kolpackov.net>
611 * scripts/features/statipattrules: Add a test for
614 2005-02-28 Paul D. Smith <psmith@gnu.org>
616 * scripts/options/dash-q: Add a test for Savannah bug # 7144.
618 * scripts/options/symlinks: New file to test checking of symlink
619 timestamps. Can't use filename dash-L because it conflicts with
620 dash-l on case-insensitive filesystems.
622 * scripts/variables/MAKEFILE_LIST, scripts/variables/MFILE_LIST:
623 Rename MAKEFILE_LIST test to MFILE_LIST, for systems that need 8.3
626 2005-02-28 Boris Kolpackov <boris@kolpackov.net>
628 * scripts/variables/DEFAULT_TARGET: Test the .DEFAULT_TARGET
631 2005-02-27 Boris Kolpackov <boris@kolpackov.net>
633 * scripts/features/se_explicit: Test the second expansion in
635 * scripts/features/se_implicit: Test the second expansion in
637 * scripts/features/se_statpat: Test the second expansion in
638 static pattern rules.
639 * scripts/variables/automatic: Fix to work with the second
642 * scripts/misc/general4: Add a test for bug #12091.
644 2005-02-27 Paul D. Smith <psmith@gnu.org>
646 * scripts/functions/eval: Check that eval of targets within
647 command scripts fails. See Savannah bug # 12124.
649 2005-02-26 Paul D. Smith <psmith@gnu.org>
651 * test_driver.pl (compare_output): If a basic comparison of the
652 log and answer doesn't match, try harder: change all backslashes
653 to slashes and all CRLF to LF. This helps on DOS/Windows systems.
655 2005-02-09 Paul D. Smith <psmith@gnu.org>
657 * scripts/features/recursion: Test command line variable settings:
658 only one instance of a given variable should be provided.
660 2004-11-30 Boris Kolpackov <boris@kolpackov.net>
662 * tests/scripts/functions/abspath: New file: test `abspath'
665 * tests/scripts/functions/realpath: New file: test `realpath'
668 2004-11-28 Paul D. Smith <psmith@gnu.org>
670 * scripts/options/dash-C [WINDOWS32]: Add a test for bug #10252;
671 this doesn't really test anything useful in UNIX but...
673 * scripts/variables/SHELL: New file: test proper handling of SHELL
674 according to POSIX rules. Fixes bug #1276.
676 2004-10-21 Boris Kolpackov <boris@kolpackov.net>
678 * scripts/functions/word: Test $(firstword ) and $(lastword ).
680 2004-10-05 Boris Kolpackov <boris@kolpackov.net>
682 * scripts/features/patspecific_vars: Test simple/recursive
685 2004-09-28 Boris Kolpackov <boris@kolpackov.net>
687 * scripts/features/include: Test dontcare flag inheritance
688 when rebuilding makefiles.
690 2004-09-27 Boris Kolpackov <boris@kolpackov.net>
692 * scripts/features/patspecific_vars: Test exported variables.
694 2004-09-22 Paul D. Smith <psmith@gnu.org>
696 * run_make_tests.pl (run_make_test): Don't add newlines to the
697 makestring or answer if they are completely empty.
699 * scripts/features/patternrules: Rename from implicit_prereq_eval.
701 * scripts/test_template: Rework the template.
703 2004-09-21 Boris Kolpackov <boris@kolpackov.net>
705 * run_make_tests.pl: Change `#!/usr/local/bin/perl' to be
706 `#!/usr/bin/env perl'.
708 * scripts/features/implicit_prereq_eval: Test implicit rule
709 prerequisite evaluation code.
711 2004-09-21 Paul D. Smith <psmith@gnu.org>
713 * run_make_tests.pl (run_make_test): Enhance to allow the make
714 string to be undef: in that case it reuses the previous make
715 string. Allows multiple tests on the same makefile.
717 * scripts/variables/flavors: Add some tests for prefix characters
718 interacting with define/endef variables.
720 2004-09-20 Paul D. Smith <psmith@gnu.org>
722 * scripts/functions/substitution: Rewrite to use run_make_test()
723 interface, and add test for substitution failures reported by
724 Markus Mauhart <qwe123@chello.at>.
726 2004-03-22 Paul D. Smith <psmith@gnu.org>
728 * test_driver.pl (run_each_test, toplevel, compare_output): Change
729 to track both the testing categories _AND_ the number of
730 individual tests, and report both sets of numbers.
732 2004-02-21 Paul D. Smith <psmith@gnu.org>
734 * scripts/functions/origin: Set our own environment variable
735 rather than relying on $HOME.
737 2004-01-21 Paul D. Smith <psmith@gnu.org>
739 * scripts/features/conditionals: Test arguments to ifn?def which
740 contain whitespace (such as a function that is evaluated). Bug
743 2004-01-07 Paul D. Smith <psmith@gnu.org>
745 * scripts/features/order_only: Test order-only prerequisites in
746 pattern rules (patch #2349).
748 2003-11-02 Paul D. Smith <psmith@gnu.org>
750 * scripts/functions/if: Test if on conditionals with trailing
751 whitespace--bug #5798.
753 * scripts/functions/eval: Test eval in a non-file context--bug #6195.
755 2003-04-19 Paul D. Smith <psmith@gnu.org>
757 * scripts/features/patspecific_vars: Test multiple patterns
758 matching the same target--Bug #1405.
760 2003-04-09 Paul D. Smith <psmith@gnu.org>
762 * run_make_tests.pl (set_more_defaults): A new $port_type of
763 'OS/2' for (surprise!) OS/2. Also choose a wait time of 2 seconds
766 2003-03-28 Paul D. Smith <psmith@gnu.org>
768 * scripts/targets/SECONDARY: Test the "global" .SECONDARY (with
769 not prerequisites)--Bug #2515.
771 2003-01-30 Paul D. Smith <psmith@gnu.org>
773 * scripts/features/targetvars: Test very long target-specific
774 variable definition lines (longer than the default make buffer
775 length). Tests patch # 1022.
777 * scripts/functions/eval: Test very recursive $(eval ...) calls
778 with simple variable expansion (bug #2238).
780 * scripts/functions/word: Test error handling for word and
781 wordlist functions (bug #2407).
783 2003-01-22 Paul D. Smith <psmith@gnu.org>
785 * scripts/functions/call: Test recursive argument masking (bug
788 2002-10-25 Paul D. Smith <psmith@gnu.org>
790 * scripts/functions/eval: Test using $(eval ...) inside
791 conditionals (Bug #1516).
793 2002-10-14 Paul D. Smith <psmith@gnu.org>
795 * scripts/options/dash-t: Add a test for handling -t on targets
796 with no commands (Bug #1418).
798 2002-10-13 Paul D. Smith <psmith@gnu.org>
800 * scripts/features/targetvars: Add a test for exporting
801 target-specific vars (Bug #1391).
803 2002-10-05 Paul D. Smith <psmith@gnu.org>
805 * scripts/variables/automatic: Add tests for $$(@), $${@}, $${@D},
808 2002-09-23 Paul D. Smith <psmith@gnu.org>
810 * scripts/features/escape: Test handling of escaped comment
811 characters in targets and prerequisites.
813 2002-09-18 Paul D. Smith <psmith@gnu.org>
815 * scripts/features/export: Test export/unexport of multiple
816 variables in a single command.
818 2002-09-17 Paul D. Smith <psmith@gnu.org>
820 * scripts/features/targetvars: Tests for Bug #940: test
821 target-specific and pattern-specific variables in conjunction with
822 double-colon targets.
824 2002-09-10 Paul D. Smith <psmith@gnu.org>
826 * test_driver.pl (compare_output): Match the new format for time
829 * scripts/features/export: Created. Add tests for export/unexport
830 capabilities, including exporting/unexporting expanded variables.
832 * scripts/features/conditionals: Add a test for expanded variables
833 in ifdef conditionals.
835 2002-09-04 Paul D. Smith <psmith@gnu.org>
837 * scripts/features/reinvoke: Change touch/sleep combos to utouch
839 * scripts/features/vpathgpath: Ditto.
840 * scripts/features/vpathplus: Ditto.
841 * scripts/options/dash-n: Ditto.
842 * scripts/targets/INTERMEDIATE: Ditto.
843 * scripts/targets/SECONDARY: Ditto.
845 * scripts/options/dash-t: Added a test for the -t bug fixed by
846 Henning Makholm. This test was also contributed by Henning.
848 * scripts/misc/general4: Add a test suite for obscure algorithmic
849 features of make. First test: make sure creation subdirectories
850 as prerequisites of targets works properly.
852 * scripts/misc/version: Remove this bogus test.
854 2002-08-07 Paul D. Smith <psmith@gnu.org>
856 * scripts/misc/general3: Add a test for makefiles that don't end
859 * scripts/variables/special: Create tests for the special
860 variables (.VARIABLES and .TARGETS). Comment out .TARGETS test
861 for now as it's not yet supported.
863 2002-08-01 Paul D. Smith <psmith@gnu.org>
865 * scripts/options/dash-B: Add a test for the new -B option.
867 2002-07-11 Paul D. Smith <psmith@gnu.org>
869 * run_make_tests.pl (valid_option): Add support for Valgrind. Use
870 -valgrind option to the test suite.
871 (set_more_defaults): Set up the file descriptor to capture
872 Valgrind output. We have to unset its close-on-exec flag; we
873 hardcode the value for F_SETFD (2) rather than load it; hopefully
874 this will help us avoid breaking the Windows/DOS test suite.
876 2002-07-10 Paul D. Smith <psmith@gnu.org>
878 * scripts/variables/automatic: Add some tests for $$@, $$(@D), and
881 * test_driver.pl (utouch): Create a new function that creates a
882 file with a specific timestamp offset. Use of this function will
883 let us avoid lots of annoying sleep() invocations in the tests
884 just to get proper timestamping, which will make the tests run a
885 lot faster. So far it's only used in the automatic test suite.
887 2002-07-09 Paul D. Smith <psmith@gnu.org>
889 * scripts/variables/automatic: Create a test for automatic variables.
891 2002-07-08 Paul D. Smith <psmith@gnu.org>
893 * scripts/features/order_only: Test new order-only prerequisites.
895 2002-07-07 Paul D. Smith <psmith@gnu.org>
897 * scripts/functions/eval: Test new function.
898 * scripts/functions/value: Test new function.
899 * scripts/variables/MAKEFILE_LIST: Test new variable.
901 2002-04-28 Paul D. Smith <psmith@gnu.org>
903 * scripts/functions/call: New test: transitive closure
904 implementation using $(call ...) to test variable recursion.
906 2002-04-21 Paul D. Smith <psmith@gnu.org>
908 * test_driver.pl (compare_dir_tree): Ignore CVS and RCS
909 directories in the script directories.
911 2001-05-02 Paul D. Smith <psmith@gnu.org>
913 * scripts/variables/flavors: Test define/endef scripts where only
914 one of the command lines is quiet.
916 2000-06-22 Paul D. Smith <psmith@gnu.org>
918 * scripts/options/dash-q: New file; test the -q option. Includes
921 2000-06-21 Paul D. Smith <psmith@gnu.org>
923 * scripts/features/targetvars: Added a test for PR/1709: allowing
924 semicolons in target-specific variable values.
926 2000-06-19 Paul D. Smith <psmith@gnu.org>
928 * scripts/functions/addsuffix: Test for an empty final argument.
929 Actually this bug might have happened for any function, but this
932 2000-06-17 Eli Zaretskii <eliz@is.elta.co.il>
934 * scripts/options/general: If parallel jobs are not supported,
935 expect a warning message from Make.
937 2000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
939 * scripts/options/general: Don't try -jN with N != 1 if parallel
940 jobs are not supported.
942 2000-05-24 Paul D. Smith <psmith@gnu.org>
944 * scripts/options/general: Test general option processing (PR/1716).
946 2000-04-11 Paul D. Smith <psmith@gnu.org>
948 * scripts/functions/strip: Test empty value to strip (PR/1689).
950 2000-04-08 Eli Zaretskii <eliz@is.elta.co.il>
952 * scripts/features/reinvoke: Sleep before updating the target
953 files in the first test, to ensure its time stamp really gets
954 newer; otherwise Make might re-exec more than once.
956 2000-04-07 Eli Zaretskii <eliz@is.elta.co.il>
958 * scripts/features/double_colon: Don't run the parallel tests if
959 parallel jobs aren't supported.
961 2000-04-04 Paul D. Smith <psmith@gnu.org>
963 * scripts/functions/word: wordlist doesn't swap arguments anymore.
965 2000-03-27 Paul D. Smith <psmith@gnu.org>
967 * scripts/features/statipattrules: Test that static pattern rules
968 whose prerequisite patterns resolve to empty strings throw an
969 error (instead of dumping core). Fixes PR/1670.
971 * scripts/features/reinvoke: Make more robust by touching "b"
972 first, to ensure it's not newer than "a".
973 Reported by Marco Franzen <Marco.Franzen@Thyron.com>.
974 * scripts/options/dash-n: Ditto.
976 * scripts/functions/call: Whoops. The fix to PR/1527 caused
977 recursive invocations of $(call ...) to break. I can't come up
978 with any way to get both working at the same time, so I backed out
979 the fix to 1527 and added a test case for recursive calls. This
980 also tests the fix for PR/1610.
982 * scripts/features/double_colon: Test that circular dependencies
983 in double-colon rule sets are detected correctly (PR/1671).
985 2000-03-26 Paul D. Smith <psmith@gnu.org>
987 * scripts/targets/INTERMEDIATE: Test that make doesn't remove
988 .INTERMEDIATE files when given on the command line (PR/1669).
990 2000-03-08 Paul D. Smith <psmith@gnu.org>
992 * scripts/options/dash-k: Add a test for error detection by
993 multiple targets depending on the same prerequisite with -k.
996 2000-02-07 Paul D. Smith <psmith@gnu.org>
998 * scripts/features/escape: Add a test for backslash-escaped spaces
999 in a target name (PR/1586).
1001 2000-02-04 Paul D. Smith <psmith@gnu.org>
1003 * scripts/features/patspecific_vars: Add a test for pattern-specific
1004 target variables inherited from the parent target (PR/1407).
1006 2000-02-02 Paul D. Smith <psmith@gnu.org>
1008 * run_make_tests.pl (set_more_defaults): Hard-code the LANG to C
1009 to make sure sorting order, etc. is predictable.
1010 Reported by Andreas Jaeger <aj@suse.de>.
1012 * run_make_tests.pl (set_more_defaults): Set the $wtime variable
1013 depending on the OS. Eli Zaretskii <eliz@is.elta.co.il> reports
1014 this seems to need to be *4* on DOS/Windows, not just 2. Keep it
1015 1 for other systems.
1016 * scripts/features/vpathplus (touchfiles): Use the $wtime value
1017 instead of hardcoding 2.
1018 * scripts/targets/SECONDARY: Ditto.
1019 * scripts/targets/INTERMEDIATE: Ditto.
1021 2000-01-27 Paul D. Smith <psmith@gnu.org>
1023 * test_driver.pl (toplevel): Don't try to run test scripts which
1024 are really directories.
1026 2000-01-23 Paul D. Smith <psmith@gnu.org>
1028 * scripts/features/include: Remove a check; the fix caused more
1029 problems than the error, so I removed it and removed the test for
1032 2000-01-11 Paul D. Smith <psmith@gnu.org>
1034 * scripts/functions/call: Add a test for PR/1517 and PR/1527: make
1035 sure $(call ...) doesn't eval its arguments and that you can
1036 invoke foreach from it without looping forever.
1038 1999-12-15 Paul D. Smith <psmith@gnu.org>
1040 * scripts/targets/INTERMEDIATE: Add a test for PR/1423: make sure
1041 .INTERMEDIATE settings on files don't disable them as implicit
1042 intermediate possibilities.
1044 1999-12-01 Paul D. Smith <psmith@gnu.org>
1046 * scripts/features/double_colon: Add a test for PR/1476: Try
1047 double-colon rules as non-goal targets and during parallel builds
1048 to make sure they're handled serially.
1050 1999-11-17 Paul D. Smith <psmith@gnu.org>
1052 * scripts/functions/if: Add a test for PR/1429: put some text
1053 after an if-statement to make sure it works.
1055 * scripts/features/targetvars: Add a test for PR/1380: handling +=
1056 in target-specific variable definitions correctly.
1058 1999-10-15 Paul D. Smith <psmith@gnu.org>
1060 * scripts/variables/MAKEFILES: This was really broken: it didn't
1061 test anything at all, really. Rewrote it, plus added a test for
1064 1999-10-13 Paul D. Smith <psmith@gnu.org>
1066 * scripts/options/dash-n: Add a test for PR/1379: "-n doesn't
1067 behave properly when used with recursive targets".
1069 1999-10-08 Paul D. Smith <psmith@gnu.org>
1071 * scripts/features/targetvars: Add a check for PR/1378:
1072 "Target-specific vars don't inherit correctly"
1074 1999-09-29 Paul D. Smith <psmith@gnu.org>
1076 * test_driver.pl (get_osname): Change $fancy_file_names to
1077 $short_filenames and reverse the logic.
1078 (run_each_test): Change test of non-existent $port_host to use
1079 $short_filenames--problem reported by Eli Zaretskii.
1081 1999-09-23 Paul D. Smith <psmith@gnu.org>
1083 * scripts/features/parallelism: Add a check to ensure that the
1084 jobserver works when we re-invoke. Also cleaned up the tests a
1085 little, reducing the number of rules we use so the test won't need
1086 as many "sleep" commands.
1088 1999-09-16 Paul D. Smith <psmith@gnu.org>
1090 * scripts/features/reinvoke: Remove invocations of "touch" in
1091 makefiles. See the comments on the touch function rewrite below.
1092 Note that UNIX touch behaves the same way if the file already
1093 exists: it sets the time to the _local_ time. We don't want
1094 this. This is probably a good tip for makefile writers in
1095 general, actually... where practical.
1096 * scripts/options/dash-l: Ditto.
1097 * scripts/options/dash-n: Ditto.
1099 * test_driver.pl (run_each_test): In retrospect, I don't like the
1100 .lN/.bN/.dN postfix required by DOS. So, for non-DOS systems I
1101 changed it back to use .log, .base, and .diff.
1103 * run_make_tests.pl (set_more_defaults): Move the check for the
1104 make pathname to here from set_defaults (that's too early since it
1105 happens before the command line processing).
1106 Create a new variable $port_type, calculated from $osname, to
1107 specify what kind of system we're running on. We should integrate
1108 the VOS stuff here, too.
1109 (valid_option): Comment out the workdir/-work stuff so people
1110 won't be fooled into thinking it works... someone needs to fix
1113 * scripts/functions/origin: Use $port_type instead of $osname.
1114 * scripts/functions/foreach: Ditto.
1115 * scripts/features/default_names: Ditto.
1117 1999-09-15 Paul D. Smith <psmith@gnu.org>
1119 * test_driver.pl (touch): Rewrite this function. Previously it
1120 used to use utime() to hard-set the time based on the current
1121 local clock, or, if the file didn't exist, it merely created it.
1122 This mirrors exactly what real UNIX touch does, but it fails badly
1123 on networked filesystems where the FS server clock is skewed from
1124 the local clock: normally modifying a file causes it to get a mod
1125 time based on the _server's_ clock. Hard-setting it based on the
1126 _local_ clock causes gratuitous errors and makes the tests
1127 unreliable except on local filesystems. The new function will
1128 simply modify the file, allowing the filesystem to set the mod
1129 time as it sees fit.
1131 * scripts/features/parallelism: The second test output could
1132 change depending on how fast some scripts completed; use "sleep"
1133 to force the order we want.
1135 * test_driver.pl (toplevel): A bug in Perl 5.000 to Perl 5.004
1136 means that "%ENV = ();" doesn't do the right thing. This worked
1137 in Perl 4 and was fixed in Perl 5.004_01, but use a loop to delete
1138 the environment rather than require specific versions.
1140 * run_make_tests.pl (set_more_defaults): Don't use Perl 5 s///
1141 modifier "s", so the tests will run with Perl 4.
1142 (set_more_defaults): Set $pure_log to empty if there's no -logfile
1143 option in PURIFYOPTIONS.
1144 (setup_for_test): Don't remove any logs unless $pure_log is set.
1146 1999-09-15 Eli Zaretskii <eliz@is.elta.co.il>
1148 * scripts/features/reinvoke: Put the SHELL definition in the right
1151 1999-09-15 Paul D. Smith <psmith@gnu.org>
1153 ChangeLog file for the test suite created.
1156 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
1157 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Free Software Foundation,
1159 This file is part of GNU Make.
1161 GNU Make is free software; you can redistribute it and/or modify it under the
1162 terms of the GNU General Public License as published by the Free Software
1163 Foundation; either version 3 of the License, or (at your option) any later
1166 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
1167 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
1168 A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1170 You should have received a copy of the GNU General Public License along with
1171 this program. If not, see <http://www.gnu.org/licenses/>.