| 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). | |
| This needs recommended packages installed. | |
| make check-all | |
| runs all the checks, those in check-devel plus tests of the recommended | |
| packages. | |
| 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 pages | |
| to CRAN packages. | |
| If a check fails there will almost always be a .Rout.fail file with | |
| the problematic output, so looking at the tail of that file should | |
| help pinpoint the problem. | |
| The \dontest sections of the examples can be run by | |
| make check TEST_DONTTEST=TRUE | |
| (but expect some differences from the reference ouput). This requires | |
| functional Tcl/Tk, e.g. for X11-based versions DISPLAY must be set to | |
| a usable X server. | |
| ---------- 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 | |
| does | |
| 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 *.Rout.save (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 | |
| make test-Internet2 | |
| 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. test-Internet2 is part of 'make check-devel' and checks less | |
| commonly-used options. | |
| 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 target not run by anything else is | |
| make test-System | |
| which checks options in system[2]() calls. | |
| 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. |