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