Newer Older
Radford Neal's avatar
Radford Neal committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
There is a hierarchy of check targets:

make check

for all builders.  If this works one can be reasonably happy R is working
and do `make install' (or the equivalent).

make check-devel

for people changing the code: this runs things like the demos and
no-segfault which might be broken by code changes, and checks on the
documentation (effectively R CMD check on each of the base packages).

make check-all

runs all the checks, those in check-devel plus tests of the recommended
Radford Neal's avatar
Radford Neal committed
17 18 19 20 21 22 23 24

Note that for complete testing you will need a number of other
packages installed and available, so if you have a CRAN installation,
set R_LIBS (perhaps in ~/.R/check.Renviron) to include it before
running these tests.  For example, some of the tests on 'nlme' depend
on 'Hmisc', and there are a number of cross references from help page
to CRAN packages.
Radford Neal's avatar
Radford Neal committed

26 27 28
The directory API contains tests of the API for C functions called from
R, which are not run automatically.

Radford Neal's avatar
Radford Neal committed
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97

		--- Historical Information ----

In this directory, various tests on R are run automatically.
This is the recommended way to check if R has been built successfully on
your architecture.

	make check


	make test-Examples

runs all the examples from the help files (*.Rd) of all core packages
(base, ctest, ..., ts) -- which can take quite long (a few minutes,
depending on your environment).

	make test-Specific

The "fast" part of the tests is `test-Specific' which runs the *.R
files in this (./tests) directory (tolerantly) compares the result
*.Rout file with the prespecified * (if that exists).

	make test-Reg

runs regression tests, that is tests that ensure that things which have been
changed (perhaps as a result of bug reports) stay fixed.

	make test-Internet

runs tests which need access to the Internet and/or sockets and so may
not run on every machine.  You will see some differences in the output,
but no test should fail if you do have sockets and Internet access.

Further tests are run by the target `make check-devel', including

	make test-Demo

runs all the demos in packages base and stats (but not tcltk), except
demo(lm.glm) which is run by example(demo) and so not run again.

	make test-Random

runs a series of tests on the distribution of random variates generated
by the rxxxx() functions.  The test is a large deviation bound on the 
Kolmogorov statistic, so also provides a test of the cumulative distribution
functions pxxxx().  Because rare events do happen, this test suite
will be failed in about 1 in 50 runs.

	make test-Segfault

runs a test abusing all the functions in the base packages via
no-segfault.R, and that can be quite slow (a minute or more).

A rarely-used target is

	make test-Gct

runs a subset of the specific tests with gctorture turned on.  This is slow,
taking an hour or two.

Martin Maechler for the R Core Team.