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