Fix bug #2515: the .SECONDARY target with no prerequisites wasn't
[make.git] / tests / ChangeLog
blobb4ba23ecb37bfa9ed5895986597584544903cbbd
1 2003-03-28  Paul D. Smith  <psmith@gnu.org>
3         * scripts/targets/SECONDARY: Test the "global" .SECONDARY (with
4         not prerequisites)--Bug #2515.
6 2003-01-30  Paul D. Smith  <psmith@gnu.org>
8         * scripts/features/targetvars: Test very long target-specific
9         variable definition lines (longer than the default make buffer
10         length).  Tests patch # 1022.
12         * scripts/functions/eval: Test very recursive $(eval ...) calls
13         with simple variable expansion (bug #2238).
15         * scripts/functions/word: Test error handling for word and
16         wordlist functions (bug #2407).
18 2003-01-22  Paul D. Smith  <psmith@gnu.org>
20         * scripts/functions/call: Test recursive argument masking (bug
21         #1744).
23 2002-10-25  Paul D. Smith  <psmith@gnu.org>
25         * scripts/functions/eval: Test using $(eval ...) inside
26         conditionals (Bug #1516).
28 2002-10-14  Paul D. Smith  <psmith@gnu.org>
30         * scripts/options/dash-t: Add a test for handling -t on targets
31         with no commands (Bug #1418).
33 2002-10-13  Paul D. Smith  <psmith@gnu.org>
35         * scripts/features/targetvars: Add a test for exporting
36         target-specific vars (Bug #1391).
38 2002-10-05  Paul D. Smith  <psmith@gnu.org>
40         * scripts/variables/automatic: Add tests for $$(@), $${@}, $${@D},
41         and $${@F}.
43 2002-09-23  Paul D. Smith  <psmith@gnu.org>
45         * scripts/features/escape: Test handling of escaped comment
46         characters in targets and prerequisites.
48 2002-09-18  Paul D. Smith  <psmith@gnu.org>
50         * scripts/features/export: Test export/unexport of multiple
51         variables in a single command.
53 2002-09-17  Paul D. Smith  <psmith@gnu.org>
55         * scripts/features/targetvars: Tests for Bug #940: test
56         target-specific and pattern-specific variables in conjunction with
57         double-colon targets.
59 2002-09-10  Paul D. Smith  <psmith@gnu.org>
61         * test_driver.pl (compare_output): Match the new format for time
62         skew error messages.
64         * scripts/features/export: Created.  Add tests for export/unexport
65         capabilities, including exporting/unexporting expanded variables.
67         * scripts/features/conditionals: Add a test for expanded variables
68         in ifdef conditionals.
70 2002-09-04  Paul D. Smith  <psmith@gnu.org>
72         * scripts/features/reinvoke: Change touch/sleep combos to utouch
73         invocations.
74         * scripts/features/vpathgpath: Ditto.
75         * scripts/features/vpathplus: Ditto.
76         * scripts/options/dash-n: Ditto.
77         * scripts/targets/INTERMEDIATE: Ditto.
78         * scripts/targets/SECONDARY: Ditto.
80         * scripts/options/dash-t: Added a test for the -t bug fixed by
81         Henning Makholm.  This test was also contributed by Henning.
83         * scripts/misc/general4: Add a test suite for obscure algorithmic
84         features of make.  First test: make sure creation subdirectories
85         as prerequisites of targets works properly.
87         * scripts/misc/version: Remove this bogus test.
89 2002-08-07  Paul D. Smith  <psmith@gnu.org>
91         * scripts/misc/general3: Add a test for makefiles that don't end
92         in newlines.
94         * scripts/variables/special: Create tests for the special
95         variables (.VARIABLES and .TARGETS).  Comment out .TARGETS test
96         for now as it's not yet supported.
98 2002-08-01  Paul D. Smith  <psmith@gnu.org>
100         * scripts/options/dash-B: Add a test for the new -B option.
102 2002-07-11  Paul D. Smith  <psmith@gnu.org>
104         * run_make_tests.pl (valid_option): Add support for Valgrind
105         <http://developer.kde.org/~sewardj/>.  Use -valgrind option to the
106         test suite.
107         (set_more_defaults): Set up the file descriptor to capture
108         Valgrind output.  We have to unset its close-on-exec flag; we
109         hardcode the value for F_SETFD (2) rather than load it; hopefully
110         this will help us avoid breaking the Windows/DOS test suite.
112 2002-07-10  Paul D. Smith  <psmith@gnu.org>
114         * scripts/variables/automatic: Add some tests for $$@, $$(@D), and
115         $$(@F).
117         * test_driver.pl (utouch): Create a new function that creates a
118         file with a specific timestamp offset.  Use of this function will
119         let us avoid lots of annoying sleep() invocations in the tests
120         just to get proper timestamping, which will make the tests run a
121         lot faster.  So far it's only used in the automatic test suite.
123 2002-07-09  Paul D. Smith  <psmith@gnu.org>
125         * scripts/variables/automatic: Create a test for automatic variables.
127 2002-07-08  Paul D. Smith  <psmith@gnu.org>
129         * scripts/features/order_only: Test new order-only prerequisites.
131 2002-07-07  Paul D. Smith  <psmith@gnu.org>
133         * scripts/functions/eval: Test new function.
134         * scripts/functions/value: Test new function.
135         * scripts/variables/MAKEFILE_LIST: Test new variable.
137 2002-04-28  Paul D. Smith  <psmith@gnu.org>
139         * scripts/functions/call: New test: transitive closure
140         implementation using $(call ...) to test variable recursion.
142 2002-04-21  Paul D. Smith  <psmith@gnu.org>
144         * test_driver.pl (compare_dir_tree): Ignore CVS and RCS
145         directories in the script directories.
147 2001-05-02  Paul D. Smith  <psmith@gnu.org>
149         * scripts/variables/flavors: Test define/endef scripts where only
150         one of the command lines is quiet.
152 2000-06-22  Paul D. Smith  <psmith@gnu.org>
154         * scripts/options/dash-q: New file; test the -q option.  Includes
155         a test for PR/1780.
157 2000-06-21  Paul D. Smith  <psmith@gnu.org>
159         * scripts/features/targetvars: Added a test for PR/1709: allowing
160         semicolons in target-specific variable values.
162 2000-06-19  Paul D. Smith  <psmith@gnu.org>
164         * scripts/functions/addsuffix: Test for an empty final argument.
165         Actually this bug might have happened for any function, but this
166         one was handy.
168 2000-06-17  Eli Zaretskii  <eliz@is.elta.co.il>
170         * scripts/options/general: If parallel jobs are not supported,
171         expect a warning message from Make.
173 2000-06-15  Eli Zaretskii  <eliz@is.elta.co.il>
175         * scripts/options/general: Don't try -jN with N != 1 if parallel
176         jobs are not supported.
178 2000-05-24  Paul D. Smith  <psmith@gnu.org>
180         * scripts/options/general: Test general option processing (PR/1716).
182 2000-04-11  Paul D. Smith  <psmith@gnu.org>
184         * scripts/functions/strip: Test empty value to strip (PR/1689).
186 2000-04-08  Eli Zaretskii  <eliz@is.elta.co.il>
188         * scripts/features/reinvoke: Sleep before updating the target
189         files in the first test, to ensure its time stamp really gets
190         newer; otherwise Make might re-exec more than once.
192 2000-04-07  Eli Zaretskii  <eliz@is.elta.co.il>
194         * scripts/features/double_colon: Don't run the parallel tests if
195         parallel jobs aren't supported.
197 2000-04-04  Paul D. Smith  <psmith@gnu.org>
199         * scripts/functions/word: wordlist doesn't swap arguments anymore.
201 2000-03-27  Paul D. Smith  <psmith@gnu.org>
203         * scripts/features/statipattrules: Test that static pattern rules
204         whose prerequisite patterns resolve to empty strings throw an
205         error (instead of dumping core).  Fixes PR/1670.
207         * scripts/features/reinvoke: Make more robust by touching "b"
208         first, to ensure it's not newer than "a".
209         Reported by Marco Franzen <Marco.Franzen@Thyron.com>.
210         * scripts/options/dash-n: Ditto.
212         * scripts/functions/call: Whoops.  The fix to PR/1527 caused
213         recursive invocations of $(call ...) to break.  I can't come up
214         with any way to get both working at the same time, so I backed out
215         the fix to 1527 and added a test case for recursive calls.  This
216         also tests the fix for PR/1610.
218         * scripts/features/double_colon: Test that circular dependencies
219         in double-colon rule sets are detected correctly (PR/1671).
221 2000-03-26  Paul D. Smith  <psmith@gnu.org>
223         * scripts/targets/INTERMEDIATE: Test that make doesn't remove
224         .INTERMEDIATE files when given on the command line (PR/1669).
226 2000-03-08  Paul D. Smith  <psmith@gnu.org>
228         * scripts/options/dash-k: Add a test for error detection by
229         multiple targets depending on the same prerequisite with -k.
230         For PR/1634.
232 2000-02-07  Paul D. Smith  <psmith@gnu.org>
234         * scripts/features/escape: Add a test for backslash-escaped spaces
235         in a target name (PR/1586).
237 2000-02-04  Paul D. Smith  <psmith@gnu.org>
239         * scripts/features/patspecific_vars: Add a test for pattern-specific
240         target variables inherited from the parent target (PR/1407).
242 2000-02-02  Paul D. Smith  <psmith@gnu.org>
244         * run_make_tests.pl (set_more_defaults): Hard-code the LANG to C
245         to make sure sorting order, etc. is predictable.
246         Reported by Andreas Jaeger <aj@suse.de>.
248         * run_make_tests.pl (set_more_defaults): Set the $wtime variable
249         depending on the OS.  Eli Zaretskii <eliz@is.elta.co.il> reports
250         this seems to need to be *4* on DOS/Windows, not just 2.  Keep it
251         1 for other systems.
252         * scripts/features/vpathplus (touchfiles): Use the $wtime value
253         instead of hardcoding 2.
254         * scripts/targets/SECONDARY: Ditto.
255         * scripts/targets/INTERMEDIATE: Ditto.
257 2000-01-27  Paul D. Smith  <psmith@gnu.org>
259         * test_driver.pl (toplevel): Don't try to run test scripts which
260         are really directories.
262 2000-01-23  Paul D. Smith  <psmith@gnu.org>
264         * scripts/features/include: Remove a check; the fix caused more
265         problems than the error, so I removed it and removed the test for
266         it.
268 2000-01-11  Paul D. Smith  <psmith@gnu.org>
270         * scripts/functions/call: Add a test for PR/1517 and PR/1527: make
271         sure $(call ...) doesn't eval its arguments and that you can
272         invoke foreach from it without looping forever.
274 1999-12-15  Paul D. Smith  <psmith@gnu.org>
276         * scripts/targets/INTERMEDIATE: Add a test for PR/1423: make sure
277         .INTERMEDIATE settings on files don't disable them as implicit
278         intermediate possibilities.
280 1999-12-01  Paul D. Smith  <psmith@gnu.org>
282         * scripts/features/double_colon: Add a test for PR/1476: Try
283         double-colon rules as non-goal targets and during parallel builds
284         to make sure they're handled serially.
286 1999-11-17  Paul D. Smith  <psmith@gnu.org>
288         * scripts/functions/if: Add a test for PR/1429: put some text
289         after an if-statement to make sure it works.
291         * scripts/features/targetvars: Add a test for PR/1380: handling +=
292         in target-specific variable definitions correctly.
294 1999-10-15  Paul D. Smith  <psmith@gnu.org>
296         * scripts/variables/MAKEFILES: This was really broken: it didn't
297         test anything at all, really.  Rewrote it, plus added a test for
298         PR/1394.
300 1999-10-13  Paul D. Smith  <psmith@gnu.org>
302         * scripts/options/dash-n: Add a test for PR/1379: "-n doesn't
303         behave properly when used with recursive targets".
305 1999-10-08  Paul D. Smith  <psmith@gnu.org>
307         * scripts/features/targetvars: Add a check for PR/1378:
308         "Target-specific vars don't inherit correctly"
310 1999-09-29  Paul D. Smith  <psmith@gnu.org>
312         * test_driver.pl (get_osname): Change $fancy_file_names to
313         $short_filenames and reverse the logic.
314         (run_each_test): Change test of non-existent $port_host to use
315         $short_filenames--problem reported by Eli Zaretskii.
317 1999-09-23  Paul D. Smith  <psmith@gnu.org>
319         * scripts/features/parallelism: Add a check to ensure that the
320         jobserver works when we re-invoke.  Also cleaned up the tests a
321         little, reducing the number of rules we use so the test won't need
322         as many "sleep" commands.
324 1999-09-16  Paul D. Smith  <psmith@gnu.org>
326         * scripts/features/reinvoke: Remove invocations of "touch" in
327         makefiles.  See the comments on the touch function rewrite below.
328         Note that UNIX touch behaves the same way if the file already
329         exists: it sets the time to the _local_ time.  We don't want
330         this.  This is probably a good tip for makefile writers in
331         general, actually... where practical.
332         * scripts/options/dash-l: Ditto.
333         * scripts/options/dash-n: Ditto.
335         * test_driver.pl (run_each_test): In retrospect, I don't like the
336         .lN/.bN/.dN postfix required by DOS.  So, for non-DOS systems I
337         changed it back to use .log, .base, and .diff.
339         * run_make_tests.pl (set_more_defaults): Move the check for the
340         make pathname to here from set_defaults (that's too early since it
341         happens before the command line processing).
342         Create a new variable $port_type, calculated from $osname, to
343         specify what kind of system we're running on.  We should integrate
344         the VOS stuff here, too.
345         (valid_option): Comment out the workdir/-work stuff so people
346         won't be fooled into thinking it works... someone needs to fix
347         this, though!
349         * scripts/functions/origin: Use $port_type instead of $osname.
350         * scripts/functions/foreach: Ditto.
351         * scripts/features/default_names: Ditto.
353 1999-09-15  Paul D. Smith  <psmith@gnu.org>
355         * test_driver.pl (touch): Rewrite this function.  Previously it
356         used to use utime() to hard-set the time based on the current
357         local clock, or, if the file didn't exist, it merely created it.
358         This mirrors exactly what real UNIX touch does, but it fails badly
359         on networked filesystems where the FS server clock is skewed from
360         the local clock: normally modifying a file causes it to get a mod
361         time based on the _server's_ clock.  Hard-setting it based on the
362         _local_ clock causes gratuitous errors and makes the tests
363         unreliable except on local filesystems.  The new function will
364         simply modify the file, allowing the filesystem to set the mod
365         time as it sees fit.
367         * scripts/features/parallelism: The second test output could
368         change depending on how fast some scripts completed; use "sleep"
369         to force the order we want.
371         * test_driver.pl (toplevel): A bug in Perl 5.000 to Perl 5.004
372         means that "%ENV = ();" doesn't do the right thing.  This worked
373         in Perl 4 and was fixed in Perl 5.004_01, but use a loop to delete
374         the environment rather than require specific versions.
376         * run_make_tests.pl (set_more_defaults): Don't use Perl 5 s///
377         modifier "s", so the tests will run with Perl 4.
378         (set_more_defaults): Set $pure_log to empty if there's no -logfile
379         option in PURIFYOPTIONS.
380         (setup_for_test): Don't remove any logs unless $pure_log is set.
382 1999-09-15  Eli Zaretskii  <eliz@is.elta.co.il>
384         * scripts/features/reinvoke: Put the SHELL definition in the right
385         test makefile.
387 1999-09-15  Paul D. Smith  <psmith@gnu.org>
389         ChangeLog file for the test suite created.