VirtualBox

source: kBuild/vendor/gnumake/3.82/tests/README

Last change on this file was 2579, checked in by bird, 12 years ago

Importing make-3.82.tar.bz2 (md5sum 1a11100f3c63fcf5753818e59d63088f) with --auto-props but no keywords.

File size: 4.7 KB
Line 
1The test suite was originally written by Steve McGee and Chris Arthur.
2It is covered by the GNU General Public License (Version 2), described
3in the file COPYING. It has been maintained as part of GNU make proper
4since GNU make 3.78.
5
6This entire test suite, including all test files, are copyright and
7distributed under the following terms:
8
9 -----------------------------------------------------------------------------
10 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
11 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
12 This file is part of GNU Make.
13
14 GNU Make is free software; you can redistribute it and/or modify it under the
15 terms of the GNU General Public License as published by the Free Software
16 Foundation; either version 3 of the License, or (at your option) any later
17 version.
18
19 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
20 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
21 A PARTICULAR PURPOSE. See the GNU General Public License for more details.
22
23 You should have received a copy of the GNU General Public License along with
24 this program. If not, see <http://www.gnu.org/licenses/>.
25 -----------------------------------------------------------------------------
26
27The test suite requires Perl. These days, you should have at least Perl
285.004 (available from ftp.gnu.org, and portable to many machines). It
29used to work with Perl 4.036 but official support for Perl 4.x was
30abandoned a long time ago, due to lack of testbeds, as well as interest.
31
32The test suite assumes that the first "diff" it finds on your PATH is
33GNU diff, but that only matters if a test fails.
34
35To run the test suite on a UNIX system, use "perl ./run_make_tests"
36(or just "./run_make_tests" if you have a perl on your PATH).
37
38To run the test suite on Windows NT or DOS systems, use
39"perl.exe ./run_make-tests.pl".
40
41By default, the test engine picks up the first executable called "make"
42that it finds in your path. You may use the -make_path option (ie,
43"perl run_make_tests -make_path /usr/local/src/make-3.78/make") if
44you want to run a particular copy. This now works correctly with
45relative paths and when make is called something other than "make" (like
46"gmake").
47
48Tests cannot end with a "~" character, as the test suite will ignore any
49that do (I was tired of having it run my Emacs backup files as tests :))
50
51Also, sometimes the tests may behave strangely on networked
52filesystems. You can use mkshadow to create a copy of the test suite in
53/tmp or similar, and try again. If the error disappears, it's an issue
54with your network or file server, not GNU make (I believe). This
55shouldn't happen very often anymore: I've done a lot of work on the
56tests to reduce the impacts of this situation.
57
58The options/dash-l test will not really test anything if the copy of
59make you are using can't obtain the system load. Some systems require
60make to be setgid sys or kmem for this; if you don't want to install
61make just to test it, make it setgid to kmem or whatever group /dev/kmem
62is (ie, "chgrp kmem make;chmod g+s make" as root). In any case, the
63options/dash-l test should no longer *fail* because make can't read
64/dev/kmem.
65
66A directory named "work" will be created when the tests are run which
67will contain any makefiles and "diff" files of tests that fail so that
68you may look at them afterward to see the output of make and the
69expected result.
70
71There is a -help option which will give you more information about the
72other possible options for the test suite.
73
74
75Open Issues
76-----------
77
78The test suite has a number of problems which should be addressed. One
79VERY serious one is that there is no real documentation. You just have
80to see the existing tests. Use the newer tests: many of the tests
81haven't been updated to use the latest/greatest test methods. See the
82ChangeLog in the tests directory for pointers.
83
84The second serious problem is that it's not parallelizable: it scribbles
85all over its installation directory and so can only test one make at a
86time. The third serious problem is that it's not relocatable: the only
87way it works when you build out of the source tree is to create
88symlinks, which doesn't work on every system and is bogus to boot. The
89fourth serious problem is that it doesn't create its own sandbox when
90running tests, so that if a test forgets to clean up after itself that
91can impact future tests.
92
93
94Bugs
95----
96
97Any complaints/suggestions/bugs/etc. for the test suite itself (as
98opposed to problems in make that the suite finds) should be handled the
99same way as normal GNU make bugs/problems (see the README for GNU make).
100
101
102 Paul D. Smith
103 Chris Arthur
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette