mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-11-25 04:35:44 +00:00
.. | ||
scripts | ||
ChangeLog | ||
COPYING | ||
mkshadow | ||
NEWS | ||
README | ||
run_make_tests | ||
run_make_tests.pl | ||
test_driver.pl |
This is release 3.78 (September 6, 1999) of the GNU make test suite. See the file NEWS for some of the changes since the last release. This release is made by psmith@gnu.org to correspond to GNU make 3.78. It won't work correctly for versions before that. In addition to some infrastructure changes I've added a number of new tests. Rob Tulloh has contributed changes to get the suite running on NT. Eli Zaretskii and Esa A E Peuha <peuha@cc.helsinki.fi> have contributed changes to get the suite running on DJGPP/DOS. This package has a number of problems which preclude me from distributing it with make as a default "make check" test suite. The most serious of these is that it's not parallelizable: it scribbles all over its installation directory and so can only test one make at a time. I simply don't have time to do more with this than I am so far; I'm very actively interested in finding someone willing to overhaul the test suite infrastructure. If you're interested, contact me (see below)! The test suite thus far has been written by Steve McGee, Chris Arthur, and Paul D. Smith. It is covered by the GNU General Public License (Version 2), described in the file COPYING. The test suite requires Perl and is known to work with Perl 4.036 and Perl 5.004 (available from ftp.gnu.org, and portable to many machines). Earlier or later versions may work; I don't know. It assumes that the first "diff" it finds is GNU diff, but that only matters if a test fails. To run the test suite on a UNIX system, use "perl ./run_make_tests" (or just "./run_make_tests" if you have a perl on your PATH). To run the test suite on Windows NT or DOS systems, use "perl.exe ./run_make-tests.pl". By default, the test engine picks up the first executable called "make" that it finds in your path. You may use the -make_path option (ie, "perl run_make_tests -make_path /usr/local/src/make-3.78/make") if you want to run a particular copy. This now works correctly with relative paths and when make is called something other than "make" (like "gmake"). Tests cannot end with a "~" character, as the test suite will ignore any that do (I was tired of having it run my Emacs backup files as test :) If you want to run the tests in parallel, you should use the mkshadow script included here to create temporary "copies" (via symbolic links) of the test suite, one for each parallel job. This is a pain and one day maybe the test suite will be rewritten so it's no longer necessary--volunteers welcome! Also, sometimes the tests may behave strangely on networked filesystems. You can use mkshadow to create a copy of the test suite in /tmp or similar, and try again. If the error disappears, it's an issue with your network or file server, not GNU make (I believe). The options/dash-l test will not really test anything if the copy of make you are using can't obtain the system load. Some systems require make to be setgid sys or kmem for this; if you don't want to install make just to test it, make it setgid to kmem or whatever group /dev/kmem is (ie, "chgrp kmem make;chmod g+s make" as root). In any case, the options/dash-l test should no longer *fail* because make can't read /dev/kmem. A directory named "work" will be created when the tests are run which will contain any makefiles and "diff" files of tests that fail so that you may look at them afterward to see the output of make and the expected result. There is a -help option which will give you more information about the other possible options for the test suite. Any complaints/suggestions/bugs/etc. for the test suite itself (as opposed to problems in make that the suite finds) should be sent to psmith@gnu.org. Enjoy! Paul D. Smith Chris Arthur