d036568e10430d67427a371510abaa06f1e0912d
[platform/upstream/make.git] / tests / ChangeLog
1 2010-07-28  Paul Smith  <psmith@gnu.org>
2
3         * scripts/targets/POSIX: Compatibility issues with Solaris (and
4         Tru64?); "false" returns different exit codes, and set -x shows
5         output with extra whitespace.  Run the commands by hand first to
6         find out what the real shell would do, then compare what make does.
7         * scripts/variables/SHELL: Ditto.
8
9 2010-07-12  Paul Smith  <psmith@gnu.org>
10
11         * test_driver.pl: Add a new $perl_name containing the path to Perl.
12         * run_make_tests.pl (run_make_test): Replace the special string
13         #PERL# in a makefile etc. with the path the Perl executable so
14         makefiles can use it.
15
16         * scripts/targets/ONESHELL: Add a new set of regression tests for
17         the .ONESHELL feature.
18
19 2010-07-06  Paul Smith  <psmith@gnu.org>
20
21         * scripts/variables/SHELL: Test the new .SHELLFLAGS variable.
22
23         * scripts/targets/POSIX: New file.  Test the .POSIX special target.
24         Verify that enabling .POSIX changes the shell flags to set -e.
25
26 2010-07-01  Paul Smith  <psmith@gnu.org>
27
28         * scripts/features/recursion: Add a space to separate command-line
29         args.  Fixes Savannah bug #29968.
30
31 2009-11-12  Boris Kolpackov  <boris@codesynthesis.com>
32
33         * scripts/features/vpath3: Test for the new library search
34         behavior.
35
36 2009-10-06  Boris Kolpackov  <boris@codesynthesis.com>
37
38         * scripts/features/se_explicit: Enable the test for now fixed
39         Savannah bug 25780.
40
41 2009-10-06  Boris Kolpackov  <boris@codesynthesis.com>
42
43         * scripts/variables/undefine: Tests for the new undefine feature.
44
45 2009-10-03  Paul Smith  <psmith@gnu.org>
46
47         * scripts/features/parallelism: Test for open Savannah bug #26846.
48
49         * scripts/variables/MAKE: Rewrite for new run_make_test() format.
50
51         * scripts/variables/MAKEFLAGS: Created.
52         Add test for Savannah bug #2216 (still open).
53
54         * scripts/features/include: Test for Savannah bug #102 (still open).
55
56 2009-09-30  Boris Kolpackov  <boris@codesynthesis.com>
57
58         * scripts/features/include: Add diagnostics issuing tests for
59         cases where targets have been updated and failed with the
60         dontcare flag. Savannah bugs #15110, #25493, #12686, #17740.
61
62 2009-09-28  Paul Smith  <psmith@gnu.org>
63
64         * scripts/functions/shell: Add regression test for Savannah bug
65         #20513 (still open).
66
67         * scripts/features/se_explicit: Add regression tests for Savannah
68         bug #25780 (still open).
69
70         * run_make_tests.pl (valid_option): Add a new flag, -all([-_]?tests)?
71         that runs tests we know will fail.  This allows us to add
72         regression tests to the test suite for bugs that haven't been
73         fixed yet.
74
75 2009-09-28  Boris Kolpackov  <boris@codesynthesis.com>
76
77         * scripts/features/patspecific_vars: Add a test for the shortest
78         stem first order.
79
80         * scripts/features/patternrules: Add a test for the shortest stem
81         first order.
82
83 2009-09-24  Paul Smith  <psmith@gnu.org>
84
85         * scripts/features/se_implicit: Add a test for order-only
86         secondary expansion prerequisites.
87
88 2009-09-23  Paul Smith  <psmith@gnu.org>
89
90         * scripts/features/patternrules: Test that we can remove pattern
91         rules, both single and multiple prerequisites.  Savannah bug #18622.
92
93         * scripts/features/echoing: Rework for run_make_test().
94
95 2009-06-14  Paul Smith  <psmith@gnu.org>
96
97         * scripts/features/vpath: Verify we don't get bogus circular
98         dependency warnings if we choose a different file via vpath during
99         update.  Savannah bug #13529.
100
101 2009-06-13  Paul Smith  <psmith@gnu.org>
102
103         * scripts/variables/MAKEFILES: Verify that MAKEFILES included
104         files (and files included by them) don't set the default goal.
105         Savannah bug #13401.
106
107         * scripts/functions/wildcard: Test that wildcards with
108         non-existent glob matchers return empty.
109
110 2009-06-09  Paul Smith  <psmith@gnu.org>
111
112         * scripts/options/dash-B: Test the $? works correctly with -B.
113         Savannah bug #17825.
114
115         * scripts/features/patternrules: Test that dependencies of
116         "also_make" targets are created properly.  Savannah bug #19108.
117
118         * test_driver.pl (compare_output): Create a "run" file for failed
119         tests containing the command that was run.
120         (get_runfile): New function.
121
122         * run_make_tests.pl (valid_option): Enhanced support for valgrind:
123         allow memcheck and massif tools.
124
125         * scripts/features/patternrules: Have to comment out a line in the
126         first test due to backing out a change that broke the implicit
127         rule search algorithm.  Savannah bug #17752.
128         * scripts/misc/general4: Remove a test that is redundant with
129         patternrules.
130
131         * scripts/features/parallelism: Add a test for re-exec with
132         jobserver master override.  Savannah bug #18124.
133
134 2009-06-08  Paul Smith  <psmith@gnu.org>
135
136         * scripts/features/targetvars: Add a test for continued target
137         vars after a semicolon.  Savannah bug #17521.
138
139 2009-06-07  Paul Smith  <psmith@gnu.org>
140
141         * scripts/features/se_explicit: Make sure we catch defining
142         prereqs during snap_deps().  Savannah bug #24622.
143
144         * scripts/variables/automatic: Check prereq ordering when the
145         target with the recipe has no prereqs.  Savannah bug #21198.
146
147         * scripts/variables/LIBPATTERNS: Add a new set of test for
148         $(.LIBPATTERNS) (previously untested!)
149
150 2009-06-04  Paul Smith  <psmith@gnu.org>
151
152         * scripts/variables/SHELL: The export target-specific SHELL test
153         has an incorrect known-good-value.
154
155         * scripts/misc/general4: Check for whitespace (ffeed, vtab, etc.)
156
157         * scripts/features/se_explicit: Add tests for Savannah bug #24588.
158
159 2009-05-31  Paul Smith  <psmith@gnu.org>
160
161         * scripts/variables/DEFAULT_GOAL: Add tests for Savannah bug #25697.
162
163         * scripts/features/targetvars: Add tests of overrides for Savannah
164         bug #26207.
165         * scripts/features/patspecific_vars: Ditto.
166
167         * scripts/features/patternrules: Add a test for Savannah bug #26593.
168
169 2009-05-30  Paul Smith  <psmith@gnu.org>
170
171         * scripts/variables/flavors: Update with new variable flavor tests.
172         * scripts/variables/define: Create a new set of tests for
173         define/endef and move those aspects of the flavors suite here.
174
175 2009-05-25  Paul Smith  <psmith@gnu.org>
176
177         * scripts/features/targetvars: Ditto.
178
179         * scripts/features/export: Test new variable parsing abilities.
180
181 2009-02-23  Ramon Garcia  <ramon.garcia.f@gmail.com>
182
183         * scripts/variables/private: Create a new suite of tests for 'private'.
184
185 2007-11-04  Paul Smith  <psmith@gnu.org>
186
187         * scripts/functions/eval: Update error message for command -> recipe.
188
189         * test_driver.pl (compare_output): Allow the answer to be a regex,
190         if surrounded by '/'.
191         * scripts/misc/close_stdout: Use a regex for the answer, since
192         sometimes the error will have a description and sometimes it won't.
193
194 2007-09-10  Paul Smith  <psmith@gnu.org>
195
196         * scripts/variables/special: Add tests for .RECIPEPREFIX variable.
197
198 2007-08-15  Paul Smith  <psmith@gnu.org>
199
200         These test cases were contributed by
201         Icarus Sparry <savannah@icarus.freeuk.com> and J. David Bryan for
202         Savannah bugs #3330 and #15919.
203
204         * scripts/targets/SECONDARY: Add tests for Savannah bugs 3330 and
205         15919.
206
207         * scripts/features/parallelism: Add tests for wrong answer/hang
208         combining INTERMEDIATE, order-only prereqs, and parallelism.
209         See Savannah bugs 3330 and 15919.
210
211 2007-07-13  Paul Smith  <psmith@gnu.org>
212
213         Install a timeout so tests can never loop infinitely.
214         Original idea and patch for a single-test version provided by
215         Icarus Sparry <savannah@icarus.freeuk.com>
216
217         * test_driver.pl (_run_command): New function: this is called by
218         other functions to actually run a command.  Before we run it,
219         install a SIGALRM handler and set up a timer to go off in the
220         future (default is 5s; this can be overridden by individual tests).
221         (run_command): Call it.
222         (run_command_with_output): Call it.
223
224         * run_make_tests.pl (run_make_with_options): Override the default
225         timeout if the caller requests it.
226         (run_make_test): Pass any timeout override to run_make_with_options.
227
228         * scripts/features/parallelism: Increase the timeout for long tests.
229         * scripts/options/dash-l: Ditto.
230
231 2006-10-01  Paul Smith  <psmith@paulandlesley.org>
232
233         * run_make_tests.pl (set_more_defaults): Remove setting of LANG in
234         ENV here.  This doesn't always work.
235         * test_driver.pl (toplevel): Set LC_ALL to 'C' in the make
236         environment.  Fixes Savannah bug #16698.
237
238 2006-09-30  Paul Smith  <psmith@paulandlesley.org>
239
240         * scripts/variables/automatic: Add back the test for bug #8154.
241
242 2006-04-01  Paul D. Smith  <psmith@gnu.org>
243
244         * scripts/functions/realpath: Don't run tests with multiple
245         initial slashes on Windows: those paths mean something different.
246
247 2006-03-19  Paul D. Smith  <psmith@gnu.org>
248
249         * scripts/features/parallelism: Test that the jobserver is
250         properly managed when we have to re-exec the master instance of
251         make.
252
253 2006-03-17  Boris Kolpackov  <boris@kolpackov.net>
254
255         * scripts/features/statipattrules: Add tests for bug #16053.
256
257 2006-03-09  Paul Smith  <psmith@gnu.org>
258
259         * scripts/features/escape: Use "pre:" not "p:" to avoid conflicts
260         with DOS drive letters.  Fixes Savannah bug #15947.
261
262         * test_driver.pl (run_each_test): Set the status properly even
263         when a test fails to execute.  Fixes Savannah bug #15942.
264
265         * scripts/functions/foreach: Use a different environment variable
266         other than PATH to avoid differences with Windows platforms.
267         Fixes Savannah bug #15938.
268
269 2006-03-05  Paul D. Smith  <psmith@gnu.org>
270
271         * run_make_tests.pl (set_more_defaults): Add CYGWIN_NT as a port
272         type W32.  Fixed Savannah bug #15937.
273
274         * scripts/features/default_names: Don't call error() when the test
275         fails.  Fixes Savannah bug #15941.
276
277 2006-02-17  Paul D. Smith  <psmith@gnu.org>
278
279         * scripts/features/targetvars: Test a complex construction which
280         guarantees that we have to merge variable lists of different
281         sizes.  Tests for Savannah bug #15757.
282
283 2006-02-15  Paul D. Smith  <psmith@gnu.org>
284
285         * scripts/functions/error: Make sure filename/lineno information
286         is related to where the error is expanded, not where it's set.
287         * scripts/functions/warning: Ditto.
288         * scripts/functions/foreach: Check for different error conditions.
289         * scripts/functions/word: Ditto.
290         * scripts/variables/negative: Test some variable reference failure
291         conditions.
292         * scripts/options/warn-undefined-variables: Test the
293         --warn-undefined-variables flag.
294
295 2006-02-09  Paul D. Smith  <psmith@gnu.org>
296
297         * run_make_tests.pl (set_more_defaults): Update valgrind support
298         for newer versions.
299         * test_driver.pl (toplevel): Skip all hidden files/directories (ones
300         beginning with ".").
301
302         * scripts/functions/andor: Tests for $(and ..) and $(or ...)
303         functions.
304
305 2006-02-08  Boris Kolpackov  <boris@kolpackov.net>
306
307         * scripts/features/parallelism: Add a test for bug #15641.
308
309 2006-02-06  Paul D. Smith  <psmith@gnu.org>
310
311         * scripts/options/dash-W: Add a test for bug #15341.
312
313 2006-01-03  Paul D. Smith  <psmith@gnu.org>
314
315         * scripts/variables/automatic: Add a test for bug #8154.
316
317         * README: Update to reflect the current state of the test suite.
318
319 2005-12-12  Paul D. Smith  <psmith@gnu.org>
320
321         * scripts/features/parallelism, scripts/functions/wildcard,
322         scripts/targets/FORCE, scripts/targets/PHONY,
323         scripts/targets/SILENT: Use the default setting for
324         $delete_command.  Fixes bug #15085.
325
326         * run_make_tests.pl (get_this_pwd) [VMS]: Use -no_ask with delete_file.
327
328 2005-12-11  Paul D. Smith  <psmith@gnu.org>
329
330         * scripts/misc/general4: Test implicit rules with '$' in the
331         prereq list & prereq patterns.
332         * scripts/features/se_implicit: Add in .SECONDEXPANSION settings.
333
334 2005-12-09  Boris Kolpackov  <boris@kolpackov.net>
335
336         * scripts/features/patternrules: Add a test for bug #13022.
337
338 2005-12-07  Boris Kolpackov  <boris@kolpackov.net>
339
340         * scripts/features/double_colon: Add a test for bug #14334.
341
342 2005-11-17  Boris Kolpackov  <boris@kolpackov.net>
343
344         * scripts/functions/flavor: Add a test for the flavor function.
345
346 2005-11-14  Boris Kolpackov  <boris@kolpackov.net>
347
348         * scripts/variables/INCLUDE_DIRS: Add a test for the .INCLUDE_DIRS
349         special variable.
350
351 2005-10-24  Paul D. Smith  <psmith@gnu.org>
352
353         * scripts/misc/general4: Test '$$' in prerequisites list.
354         * scripts/features/statipattrules: Rewrite to use run_make_test().
355         Add various static pattern info.
356         * scripts/features/se_statpat: Enable .SECONDEXPANSION target.
357         * scripts/features/se_explicit: Add tests for handling '$$' in
358         prerequisite lists with and without setting .SECONDEXPANSION.
359         * scripts/features/order_only: Convert to run_make_test().
360         * run_make_tests.pl (set_more_defaults): If we can't get the value
361         of $(MAKE) from make, then fatal immediately.
362
363 2005-08-31  Paul D. Smith  <psmith@gnu.org>
364
365         * run_make_tests.pl (get_this_pwd): Require the POSIX module (in
366         an eval to trap errors) and if it exists, use POSIX::getcwd to
367         find the working directory.  If it doesn't exist, go back to the
368         previous methods.  This tries to be more accurate on Windows
369         systems.
370
371 2005-08-29  Paul D. Smith  <psmith@gnu.org>
372
373         * scripts/functions/abspath: Add some text to the error messages
374         to get a better idea of what's wrong.  Make warnings instead of
375         errors.
376
377         * scripts/features/patspecific_vars: Don't use "test", which is
378         UNIX specific.  Print the values and let the test script match
379         them.
380
381 2005-08-25  Paul Smith  <psmith@gnu.org>
382
383         * scripts/variables/SHELL: Use a /./ prefix instead of //: the
384         former works better with non-UNIX environments.  Fixes Savannah
385         bug #14129.
386
387 2005-08-13  Boris Kolpackov  <boris@kolpackov.net>
388
389         * scripts/functions/wildcard: Wrap calls to $(wildcard ) with
390         $(sort) so that the resulting order is no longer filesystem-
391         dependant.
392
393 2005-08-10  Boris Kolpackov  <boris@kolpackov.net>
394
395         * scripts/features/statipattrules: Add a test for Savannah bug #13881.
396
397 2005-08-07  Paul D. Smith  <psmith@gnu.org>
398
399         * scripts/features/parallelism: Add a test for a bug reported by
400         Michael Matz (matz@suse.de) in which make exits without waiting
401         for all its children in some situations during parallel builds.
402
403 2005-07-08  Paul D. Smith  <psmith@gnu.org>
404
405         * test_driver.pl: Reset the environment to a clean value every
406         time before we invoke make.  I'm suspicious that the environment
407         isn't handled the same way in Windows as it is in UNIX, and some
408         variables are leaking out beyond the tests they are intended for.
409         Create an %extraENV hash tests can set to add more env. vars.
410         * tests/scripts/features/export: Change to use %extraENV.
411         * tests/scripts/functions/eval: Ditto.
412         * tests/scripts/functions/origin: Ditto.
413         * tests/scripts/options/dash-e: Ditto.
414         * tests/scripts/variables/SHELL: Ditto.
415
416 2005-06-27  Paul D. Smith  <psmith@gnu.org>
417
418         * scripts/options/dash-W: Use 'echo >>' instead of touch to update
419         files.
420         * scripts/features/reinvoke: Rewrite to be safer on systems with
421         subsecond timestamps.
422         * scripts/features/patternrules: False exits with different error
423         codes on different systems (for example, Linux => 1, Solaris => 255).
424
425         * scripts/options/dash-W: Set the timestamp to foo.x in the future,
426         to be sure it will be considered updated when it's remade.
427
428 2005-06-26  Paul D. Smith  <psmith@gnu.org>
429
430         * scripts/functions/shell: New test suite for the shell function.
431
432 2005-06-25  Paul D. Smith  <psmith@gnu.org>
433
434         * scripts/features/include: Test include/-include/sinclude with no
435         arguments.  Tests fix for Savannah bug #1761.
436
437         * scripts/misc/general3: Implement comprehensive testing of
438         backslash-newline behavior in command scripts: various types of
439         quoting, fast path / slow path, etc.
440         Tests fix for Savannah bug #1332.
441
442         * scripts/options/symlinks: Test symlinks to non-existent files.
443         Tests fix for Savannah bug #13280.
444
445         * scripts/misc/general3: Test semicolons in variable references.
446         Tests fix for Savannah bug #1454.
447
448         * scripts/variables/MAKE_RESTARTS: New file: test the
449         MAKE_RESTARTS variable.
450         * scripts/options/dash-B: Test re-exec doesn't loop infinitely.
451         Tests fix for Savannah bug #7566.
452         * scripts/options/dash-W: New file: test the -W flag, including
453         re-exec infinite looping.
454
455 2005-06-12  Paul D. Smith  <psmith@gnu.org>
456
457         * scripts/misc/close_stdout: Add a test for Savannah bug #1328.
458         This test only works on systems that have /dev/full (e.g., Linux).
459
460 2005-06-09  Paul D. Smith  <psmith@gnu.org>
461
462         * scripts/functions/foreach: Add a test for Savannah bug #11913.
463
464 2005-05-31  Boris Kolpackov  <boris@kolpackov.net>
465
466         * scripts/features/include: Add a test for Savannah bug #13216.
467         * scripts/features/patternrules: Add a test for Savannah bug #13218.
468
469 2005-05-13  Paul D. Smith  <psmith@gnu.org>
470
471         * scripts/features/conditionals: Add tests for the new if... else
472         if... endif syntax.
473
474 2005-05-03  Paul D. Smith  <psmith@gnu.org>
475
476         * scripts/variables/DEFAULT_GOAL: Rename DEFAULT_TARGET to
477         DEFAULT_GOAL.
478
479 2005-05-02  Paul D. Smith  <psmith@gnu.org>
480
481         * scripts/features/parallelism: Add a test for exporting recursive
482         variables containing $(shell ) calls.  Rewrite this script to use
483         run_make_test() everywhere.
484
485 2005-04-07  Paul D. Smith  <psmith@gnu.org>
486
487         * scripts/targets/SECONDARY: Add a test for Savannah bug #12331.
488
489 2005-03-15  Boris Kolpackov  <boris@kolpackov.net>
490
491         * scripts/variables/automatic: Add a test for Savannah bug #12320.
492
493 2005-03-10  Boris Kolpackov  <boris@kolpackov.net>
494
495         * scripts/features/patternrules: Add a test for Savannah bug #12267.
496
497 2005-03-09  Boris Kolpackov  <boris@kolpackov.net>
498
499         * scripts/variables/DEFAULT_TARGET: Add a test for Savannah
500         bug #12266.
501
502 2005-03-04  Boris Kolpackov  <boris@kolpackov.net>
503
504         * scripts/features/patternrules: Add a test for Savannah bug #12202.
505
506 2005-03-03  Boris Kolpackov  <boris@kolpackov.net>
507
508         * scripts/features/se_implicit: Add a test for stem
509         termination bug. Add a test for stem triple-expansion bug.
510
511         * scripts/features/se_statpat: Add a test for stem
512         triple-expansion bug.
513
514         * scripts/features/statipattrules: Change test #4 to reflect
515         new way empty prerequisite list is handled.
516
517
518 2005-03-01  Boris Kolpackov  <boris@kolpackov.net>
519
520         * scripts/features/statipattrules: Add a test for
521         Savannah bug #12180.
522
523 2005-02-28  Paul D. Smith  <psmith@gnu.org>
524
525         * scripts/options/dash-q: Add a test for Savannah bug # 7144.
526
527         * scripts/options/symlinks: New file to test checking of symlink
528         timestamps.  Can't use filename dash-L because it conflicts with
529         dash-l on case-insensitive filesystems.
530
531         * scripts/variables/MAKEFILE_LIST, scripts/variables/MFILE_LIST:
532         Rename MAKEFILE_LIST test to MFILE_LIST, for systems that need 8.3
533         unique filenames.
534
535 2005-02-28  Boris Kolpackov  <boris@kolpackov.net>
536
537         * scripts/variables/DEFAULT_TARGET: Test the .DEFAULT_TARGET
538         special variable.
539
540 2005-02-27  Boris Kolpackov  <boris@kolpackov.net>
541
542         * scripts/features/se_explicit: Test the second expansion in
543         explicit rules.
544         * scripts/features/se_implicit: Test the second expansion in
545         implicit rules.
546         * scripts/features/se_statpat: Test the second expansion in
547         static pattern rules.
548         * scripts/variables/automatic: Fix to work with the second
549         expansion.
550
551         * scripts/misc/general4: Add a test for bug #12091.
552
553 2005-02-27  Paul D. Smith  <psmith@gnu.org>
554
555         * scripts/functions/eval: Check that eval of targets within
556         command scripts fails.  See Savannah bug # 12124.
557
558 2005-02-26  Paul D. Smith  <psmith@gnu.org>
559
560         * test_driver.pl (compare_output): If a basic comparison of the
561         log and answer doesn't match, try harder: change all backslashes
562         to slashes and all CRLF to LF.  This helps on DOS/Windows systems.
563
564 2005-02-09  Paul D. Smith  <psmith@gnu.org>
565
566         * scripts/features/recursion: Test command line variable settings:
567         only one instance of a given variable should be provided.
568
569 2004-11-30  Boris Kolpackov  <boris@kolpackov.net>
570
571         * tests/scripts/functions/abspath: New file: test `abspath'
572         built-in function.
573
574         * tests/scripts/functions/realpath: New file: test `realpath'
575         built-in function.
576
577 2004-11-28  Paul D. Smith  <psmith@gnu.org>
578
579         * scripts/options/dash-C [WINDOWS32]: Add a test for bug #10252;
580         this doesn't really test anything useful in UNIX but...
581
582         * scripts/variables/SHELL: New file: test proper handling of SHELL
583         according to POSIX rules.  Fixes bug #1276.
584
585 2004-10-21  Boris Kolpackov  <boris@kolpackov.net>
586
587         * scripts/functions/word: Test $(firstword ) and $(lastword ).
588
589 2004-10-05  Boris Kolpackov  <boris@kolpackov.net>
590
591         * scripts/features/patspecific_vars: Test simple/recursive
592         variable expansion.
593
594 2004-09-28  Boris Kolpackov  <boris@kolpackov.net>
595
596         * scripts/features/include: Test dontcare flag inheritance
597         when rebuilding makefiles.
598
599 2004-09-27  Boris Kolpackov  <boris@kolpackov.net>
600
601         * scripts/features/patspecific_vars: Test exported variables.
602
603 2004-09-22  Paul D. Smith  <psmith@gnu.org>
604
605         * run_make_tests.pl (run_make_test): Don't add newlines to the
606         makestring or answer if they are completely empty.
607
608         * scripts/features/patternrules: Rename from implicit_prereq_eval.
609
610         * scripts/test_template: Rework the template.
611
612 2004-09-21  Boris Kolpackov  <boris@kolpackov.net>
613
614         * run_make_tests.pl: Change `#!/usr/local/bin/perl' to be
615         `#!/usr/bin/env perl'.
616
617         * scripts/features/implicit_prereq_eval: Test implicit rule
618         prerequisite evaluation code.
619
620 2004-09-21  Paul D. Smith  <psmith@gnu.org>
621
622         * run_make_tests.pl (run_make_test): Enhance to allow the make
623         string to be undef: in that case it reuses the previous make
624         string.  Allows multiple tests on the same makefile.
625
626         * scripts/variables/flavors: Add some tests for prefix characters
627         interacting with define/endef variables.
628
629 2004-09-20  Paul D. Smith  <psmith@gnu.org>
630
631         * scripts/functions/substitution: Rewrite to use run_make_test()
632         interface, and add test for substitution failures reported by
633         Markus Mauhart <qwe123@chello.at>.
634
635 2004-03-22  Paul D. Smith  <psmith@gnu.org>
636
637         * test_driver.pl (run_each_test, toplevel, compare_output): Change
638         to track both the testing categories _AND_ the number of
639         individual tests, and report both sets of numbers.
640
641 2004-02-21  Paul D. Smith  <psmith@gnu.org>
642
643         * scripts/functions/origin: Set our own environment variable
644         rather than relying on $HOME.
645
646 2004-01-21  Paul D. Smith  <psmith@gnu.org>
647
648         * scripts/features/conditionals: Test arguments to ifn?def which
649         contain whitespace (such as a function that is evaluated).  Bug
650         #7257.
651
652 2004-01-07  Paul D. Smith  <psmith@gnu.org>
653
654         * scripts/features/order_only: Test order-only prerequisites in
655         pattern rules (patch #2349).
656
657 2003-11-02  Paul D. Smith  <psmith@gnu.org>
658
659         * scripts/functions/if: Test if on conditionals with trailing
660         whitespace--bug #5798.
661
662         * scripts/functions/eval: Test eval in a non-file context--bug #6195.
663
664 2003-04-19  Paul D. Smith  <psmith@gnu.org>
665
666         * scripts/features/patspecific_vars: Test multiple patterns
667         matching the same target--Bug #1405.
668
669 2003-04-09  Paul D. Smith  <psmith@gnu.org>
670
671         * run_make_tests.pl (set_more_defaults): A new $port_type of
672         'OS/2' for (surprise!) OS/2.  Also choose a wait time of 2 seconds
673         for OS/2.
674
675 2003-03-28  Paul D. Smith  <psmith@gnu.org>
676
677         * scripts/targets/SECONDARY: Test the "global" .SECONDARY (with
678         not prerequisites)--Bug #2515.
679
680 2003-01-30  Paul D. Smith  <psmith@gnu.org>
681
682         * scripts/features/targetvars: Test very long target-specific
683         variable definition lines (longer than the default make buffer
684         length).  Tests patch # 1022.
685
686         * scripts/functions/eval: Test very recursive $(eval ...) calls
687         with simple variable expansion (bug #2238).
688
689         * scripts/functions/word: Test error handling for word and
690         wordlist functions (bug #2407).
691
692 2003-01-22  Paul D. Smith  <psmith@gnu.org>
693
694         * scripts/functions/call: Test recursive argument masking (bug
695         #1744).
696
697 2002-10-25  Paul D. Smith  <psmith@gnu.org>
698
699         * scripts/functions/eval: Test using $(eval ...) inside
700         conditionals (Bug #1516).
701
702 2002-10-14  Paul D. Smith  <psmith@gnu.org>
703
704         * scripts/options/dash-t: Add a test for handling -t on targets
705         with no commands (Bug #1418).
706
707 2002-10-13  Paul D. Smith  <psmith@gnu.org>
708
709         * scripts/features/targetvars: Add a test for exporting
710         target-specific vars (Bug #1391).
711
712 2002-10-05  Paul D. Smith  <psmith@gnu.org>
713
714         * scripts/variables/automatic: Add tests for $$(@), $${@}, $${@D},
715         and $${@F}.
716
717 2002-09-23  Paul D. Smith  <psmith@gnu.org>
718
719         * scripts/features/escape: Test handling of escaped comment
720         characters in targets and prerequisites.
721
722 2002-09-18  Paul D. Smith  <psmith@gnu.org>
723
724         * scripts/features/export: Test export/unexport of multiple
725         variables in a single command.
726
727 2002-09-17  Paul D. Smith  <psmith@gnu.org>
728
729         * scripts/features/targetvars: Tests for Bug #940: test
730         target-specific and pattern-specific variables in conjunction with
731         double-colon targets.
732
733 2002-09-10  Paul D. Smith  <psmith@gnu.org>
734
735         * test_driver.pl (compare_output): Match the new format for time
736         skew error messages.
737
738         * scripts/features/export: Created.  Add tests for export/unexport
739         capabilities, including exporting/unexporting expanded variables.
740
741         * scripts/features/conditionals: Add a test for expanded variables
742         in ifdef conditionals.
743
744 2002-09-04  Paul D. Smith  <psmith@gnu.org>
745
746         * scripts/features/reinvoke: Change touch/sleep combos to utouch
747         invocations.
748         * scripts/features/vpathgpath: Ditto.
749         * scripts/features/vpathplus: Ditto.
750         * scripts/options/dash-n: Ditto.
751         * scripts/targets/INTERMEDIATE: Ditto.
752         * scripts/targets/SECONDARY: Ditto.
753
754         * scripts/options/dash-t: Added a test for the -t bug fixed by
755         Henning Makholm.  This test was also contributed by Henning.
756
757         * scripts/misc/general4: Add a test suite for obscure algorithmic
758         features of make.  First test: make sure creation subdirectories
759         as prerequisites of targets works properly.
760
761         * scripts/misc/version: Remove this bogus test.
762
763 2002-08-07  Paul D. Smith  <psmith@gnu.org>
764
765         * scripts/misc/general3: Add a test for makefiles that don't end
766         in newlines.
767
768         * scripts/variables/special: Create tests for the special
769         variables (.VARIABLES and .TARGETS).  Comment out .TARGETS test
770         for now as it's not yet supported.
771
772 2002-08-01  Paul D. Smith  <psmith@gnu.org>
773
774         * scripts/options/dash-B: Add a test for the new -B option.
775
776 2002-07-11  Paul D. Smith  <psmith@gnu.org>
777
778         * run_make_tests.pl (valid_option): Add support for Valgrind.  Use
779         -valgrind option to the test suite.
780         (set_more_defaults): Set up the file descriptor to capture
781         Valgrind output.  We have to unset its close-on-exec flag; we
782         hardcode the value for F_SETFD (2) rather than load it; hopefully
783         this will help us avoid breaking the Windows/DOS test suite.
784
785 2002-07-10  Paul D. Smith  <psmith@gnu.org>
786
787         * scripts/variables/automatic: Add some tests for $$@, $$(@D), and
788         $$(@F).
789
790         * test_driver.pl (utouch): Create a new function that creates a
791         file with a specific timestamp offset.  Use of this function will
792         let us avoid lots of annoying sleep() invocations in the tests
793         just to get proper timestamping, which will make the tests run a
794         lot faster.  So far it's only used in the automatic test suite.
795
796 2002-07-09  Paul D. Smith  <psmith@gnu.org>
797
798         * scripts/variables/automatic: Create a test for automatic variables.
799
800 2002-07-08  Paul D. Smith  <psmith@gnu.org>
801
802         * scripts/features/order_only: Test new order-only prerequisites.
803
804 2002-07-07  Paul D. Smith  <psmith@gnu.org>
805
806         * scripts/functions/eval: Test new function.
807         * scripts/functions/value: Test new function.
808         * scripts/variables/MAKEFILE_LIST: Test new variable.
809
810 2002-04-28  Paul D. Smith  <psmith@gnu.org>
811
812         * scripts/functions/call: New test: transitive closure
813         implementation using $(call ...) to test variable recursion.
814
815 2002-04-21  Paul D. Smith  <psmith@gnu.org>
816
817         * test_driver.pl (compare_dir_tree): Ignore CVS and RCS
818         directories in the script directories.
819
820 2001-05-02  Paul D. Smith  <psmith@gnu.org>
821
822         * scripts/variables/flavors: Test define/endef scripts where only
823         one of the command lines is quiet.
824
825 2000-06-22  Paul D. Smith  <psmith@gnu.org>
826
827         * scripts/options/dash-q: New file; test the -q option.  Includes
828         a test for PR/1780.
829
830 2000-06-21  Paul D. Smith  <psmith@gnu.org>
831
832         * scripts/features/targetvars: Added a test for PR/1709: allowing
833         semicolons in target-specific variable values.
834
835 2000-06-19  Paul D. Smith  <psmith@gnu.org>
836
837         * scripts/functions/addsuffix: Test for an empty final argument.
838         Actually this bug might have happened for any function, but this
839         one was handy.
840
841 2000-06-17  Eli Zaretskii  <eliz@is.elta.co.il>
842
843         * scripts/options/general: If parallel jobs are not supported,
844         expect a warning message from Make.
845
846 2000-06-15  Eli Zaretskii  <eliz@is.elta.co.il>
847
848         * scripts/options/general: Don't try -jN with N != 1 if parallel
849         jobs are not supported.
850
851 2000-05-24  Paul D. Smith  <psmith@gnu.org>
852
853         * scripts/options/general: Test general option processing (PR/1716).
854
855 2000-04-11  Paul D. Smith  <psmith@gnu.org>
856
857         * scripts/functions/strip: Test empty value to strip (PR/1689).
858
859 2000-04-08  Eli Zaretskii  <eliz@is.elta.co.il>
860
861         * scripts/features/reinvoke: Sleep before updating the target
862         files in the first test, to ensure its time stamp really gets
863         newer; otherwise Make might re-exec more than once.
864
865 2000-04-07  Eli Zaretskii  <eliz@is.elta.co.il>
866
867         * scripts/features/double_colon: Don't run the parallel tests if
868         parallel jobs aren't supported.
869
870 2000-04-04  Paul D. Smith  <psmith@gnu.org>
871
872         * scripts/functions/word: wordlist doesn't swap arguments anymore.
873
874 2000-03-27  Paul D. Smith  <psmith@gnu.org>
875
876         * scripts/features/statipattrules: Test that static pattern rules
877         whose prerequisite patterns resolve to empty strings throw an
878         error (instead of dumping core).  Fixes PR/1670.
879
880         * scripts/features/reinvoke: Make more robust by touching "b"
881         first, to ensure it's not newer than "a".
882         Reported by Marco Franzen <Marco.Franzen@Thyron.com>.
883         * scripts/options/dash-n: Ditto.
884
885         * scripts/functions/call: Whoops.  The fix to PR/1527 caused
886         recursive invocations of $(call ...) to break.  I can't come up
887         with any way to get both working at the same time, so I backed out
888         the fix to 1527 and added a test case for recursive calls.  This
889         also tests the fix for PR/1610.
890
891         * scripts/features/double_colon: Test that circular dependencies
892         in double-colon rule sets are detected correctly (PR/1671).
893
894 2000-03-26  Paul D. Smith  <psmith@gnu.org>
895
896         * scripts/targets/INTERMEDIATE: Test that make doesn't remove
897         .INTERMEDIATE files when given on the command line (PR/1669).
898
899 2000-03-08  Paul D. Smith  <psmith@gnu.org>
900
901         * scripts/options/dash-k: Add a test for error detection by
902         multiple targets depending on the same prerequisite with -k.
903         For PR/1634.
904
905 2000-02-07  Paul D. Smith  <psmith@gnu.org>
906
907         * scripts/features/escape: Add a test for backslash-escaped spaces
908         in a target name (PR/1586).
909
910 2000-02-04  Paul D. Smith  <psmith@gnu.org>
911
912         * scripts/features/patspecific_vars: Add a test for pattern-specific
913         target variables inherited from the parent target (PR/1407).
914
915 2000-02-02  Paul D. Smith  <psmith@gnu.org>
916
917         * run_make_tests.pl (set_more_defaults): Hard-code the LANG to C
918         to make sure sorting order, etc. is predictable.
919         Reported by Andreas Jaeger <aj@suse.de>.
920
921         * run_make_tests.pl (set_more_defaults): Set the $wtime variable
922         depending on the OS.  Eli Zaretskii <eliz@is.elta.co.il> reports
923         this seems to need to be *4* on DOS/Windows, not just 2.  Keep it
924         1 for other systems.
925         * scripts/features/vpathplus (touchfiles): Use the $wtime value
926         instead of hardcoding 2.
927         * scripts/targets/SECONDARY: Ditto.
928         * scripts/targets/INTERMEDIATE: Ditto.
929
930 2000-01-27  Paul D. Smith  <psmith@gnu.org>
931
932         * test_driver.pl (toplevel): Don't try to run test scripts which
933         are really directories.
934
935 2000-01-23  Paul D. Smith  <psmith@gnu.org>
936
937         * scripts/features/include: Remove a check; the fix caused more
938         problems than the error, so I removed it and removed the test for
939         it.
940
941 2000-01-11  Paul D. Smith  <psmith@gnu.org>
942
943         * scripts/functions/call: Add a test for PR/1517 and PR/1527: make
944         sure $(call ...) doesn't eval its arguments and that you can
945         invoke foreach from it without looping forever.
946
947 1999-12-15  Paul D. Smith  <psmith@gnu.org>
948
949         * scripts/targets/INTERMEDIATE: Add a test for PR/1423: make sure
950         .INTERMEDIATE settings on files don't disable them as implicit
951         intermediate possibilities.
952
953 1999-12-01  Paul D. Smith  <psmith@gnu.org>
954
955         * scripts/features/double_colon: Add a test for PR/1476: Try
956         double-colon rules as non-goal targets and during parallel builds
957         to make sure they're handled serially.
958
959 1999-11-17  Paul D. Smith  <psmith@gnu.org>
960
961         * scripts/functions/if: Add a test for PR/1429: put some text
962         after an if-statement to make sure it works.
963
964         * scripts/features/targetvars: Add a test for PR/1380: handling +=
965         in target-specific variable definitions correctly.
966
967 1999-10-15  Paul D. Smith  <psmith@gnu.org>
968
969         * scripts/variables/MAKEFILES: This was really broken: it didn't
970         test anything at all, really.  Rewrote it, plus added a test for
971         PR/1394.
972
973 1999-10-13  Paul D. Smith  <psmith@gnu.org>
974
975         * scripts/options/dash-n: Add a test for PR/1379: "-n doesn't
976         behave properly when used with recursive targets".
977
978 1999-10-08  Paul D. Smith  <psmith@gnu.org>
979
980         * scripts/features/targetvars: Add a check for PR/1378:
981         "Target-specific vars don't inherit correctly"
982
983 1999-09-29  Paul D. Smith  <psmith@gnu.org>
984
985         * test_driver.pl (get_osname): Change $fancy_file_names to
986         $short_filenames and reverse the logic.
987         (run_each_test): Change test of non-existent $port_host to use
988         $short_filenames--problem reported by Eli Zaretskii.
989
990 1999-09-23  Paul D. Smith  <psmith@gnu.org>
991
992         * scripts/features/parallelism: Add a check to ensure that the
993         jobserver works when we re-invoke.  Also cleaned up the tests a
994         little, reducing the number of rules we use so the test won't need
995         as many "sleep" commands.
996
997 1999-09-16  Paul D. Smith  <psmith@gnu.org>
998
999         * scripts/features/reinvoke: Remove invocations of "touch" in
1000         makefiles.  See the comments on the touch function rewrite below.
1001         Note that UNIX touch behaves the same way if the file already
1002         exists: it sets the time to the _local_ time.  We don't want
1003         this.  This is probably a good tip for makefile writers in
1004         general, actually... where practical.
1005         * scripts/options/dash-l: Ditto.
1006         * scripts/options/dash-n: Ditto.
1007
1008         * test_driver.pl (run_each_test): In retrospect, I don't like the
1009         .lN/.bN/.dN postfix required by DOS.  So, for non-DOS systems I
1010         changed it back to use .log, .base, and .diff.
1011
1012         * run_make_tests.pl (set_more_defaults): Move the check for the
1013         make pathname to here from set_defaults (that's too early since it
1014         happens before the command line processing).
1015         Create a new variable $port_type, calculated from $osname, to
1016         specify what kind of system we're running on.  We should integrate
1017         the VOS stuff here, too.
1018         (valid_option): Comment out the workdir/-work stuff so people
1019         won't be fooled into thinking it works... someone needs to fix
1020         this, though!
1021
1022         * scripts/functions/origin: Use $port_type instead of $osname.
1023         * scripts/functions/foreach: Ditto.
1024         * scripts/features/default_names: Ditto.
1025
1026 1999-09-15  Paul D. Smith  <psmith@gnu.org>
1027
1028         * test_driver.pl (touch): Rewrite this function.  Previously it
1029         used to use utime() to hard-set the time based on the current
1030         local clock, or, if the file didn't exist, it merely created it.
1031         This mirrors exactly what real UNIX touch does, but it fails badly
1032         on networked filesystems where the FS server clock is skewed from
1033         the local clock: normally modifying a file causes it to get a mod
1034         time based on the _server's_ clock.  Hard-setting it based on the
1035         _local_ clock causes gratuitous errors and makes the tests
1036         unreliable except on local filesystems.  The new function will
1037         simply modify the file, allowing the filesystem to set the mod
1038         time as it sees fit.
1039
1040         * scripts/features/parallelism: The second test output could
1041         change depending on how fast some scripts completed; use "sleep"
1042         to force the order we want.
1043
1044         * test_driver.pl (toplevel): A bug in Perl 5.000 to Perl 5.004
1045         means that "%ENV = ();" doesn't do the right thing.  This worked
1046         in Perl 4 and was fixed in Perl 5.004_01, but use a loop to delete
1047         the environment rather than require specific versions.
1048
1049         * run_make_tests.pl (set_more_defaults): Don't use Perl 5 s///
1050         modifier "s", so the tests will run with Perl 4.
1051         (set_more_defaults): Set $pure_log to empty if there's no -logfile
1052         option in PURIFYOPTIONS.
1053         (setup_for_test): Don't remove any logs unless $pure_log is set.
1054
1055 1999-09-15  Eli Zaretskii  <eliz@is.elta.co.il>
1056
1057         * scripts/features/reinvoke: Put the SHELL definition in the right
1058         test makefile.
1059
1060 1999-09-15  Paul D. Smith  <psmith@gnu.org>
1061
1062         ChangeLog file for the test suite created.
1063 \f
1064
1065 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
1066 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
1067 This file is part of GNU Make.
1068
1069 GNU Make is free software; you can redistribute it and/or modify it under the
1070 terms of the GNU General Public License as published by the Free Software
1071 Foundation; either version 3 of the License, or (at your option) any later
1072 version.
1073
1074 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
1075 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
1076 A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
1077
1078 You should have received a copy of the GNU General Public License along with
1079 this program.  If not, see <http://www.gnu.org/licenses/>.