There is a hierarchy of check targets: make check for all builders. It should not need a working LaTeX installation. If this succeeds 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). It should not need 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. For example, some 'nlme' tests depend on 'Hmisc', and there are a number of cross references from help pages to CRAN packages. Set R_LIBS_USER_IN_R_TESTS or R_LIBS to include additional library trees before running these checks; the default user libraries (R_LIBS_USER) are ignored. 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 \donttest sections of the base examples can be run by make test-Examples TEST_DONTTEST=TRUE (comparison to reference output is disabled in this case). This requires functional Tcl/Tk, e.g. for X11-based versions DISPLAY must be set to a usable X server. ---------- Little-used Targets ----------- A target not run by anything else is make test-System which checks options in system[2]() calls. Another is make test-Internet-dev which runs tests only needed when code for internet access (sockets, url(), download.file()) is changed by developers. Some of these depended on the web site httpbin.org which in 2023-04 started to become slow/unreliable. There are also make test-Iconv make test-Large make test-Rd make test-UTF-8 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. ---------- 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). Martin Maechler for the R Core Team.