[R] Testing R with pre-release GCC 3.0

Thomas Lumley tlumley at u.washington.edu
Wed May 23 17:20:53 CEST 2001

On Wed, 23 May 2001, M. Edward Borasky wrote:

> I'm in the process of doing some volunteer testing of the pre-release
> snapshots of GCC 3.0. I don't have much time to do anything except test the
> things I regularly use and throw any gotchas I find over the wall to the
> respective teams. One of the "things I regularly use" is, of course, R, and
> I have just determined that the R-devel snapshot (downloaded yesterday, 22
> May 2001 about 22:00 Pacific Time) does not pass "make check" with the GCC
> 3.0 20010521 snapshot. The same R-devel code *does* pass "make check" with
> the stock Red Hat 7.1 compilers, which are gcc 2.96.81. Is there any
> documentation on "make check" that I can use to help narrow this down for
> the GCC folks, or do I just have to read the code and figure out what's
> happening for myself?

make check does a number of things. It runs all the examples in all the
standard packages and then runs a set of specific tests.  When it fails
you should be able to see what it is doing, since it produces a running
commentary on stdout.  Each stage of the process reads a .R file and
produces a .Rout file in either R/tests or R/tests/Examples. The Examples
checking fails if it hits any error, the other tests fail if their output
is different from the correct output in the corresponding .Rout.save file.

In the case of a difference between .Rout and .Rout.save you can look at
the diff to see where the problem is.  In the case of an error in examples
the last entry in the .Rout file will be at or immediately before the
error (buffers may not get flushed).  The error can be pinned down more
precisely with eg

	R --vanilla < base-Ex.Rout

writing to console rather than to a buffer, if you can't tell which
example it's in.

If the error is not reproducible from that example it may be a memory
protection problem earlier in the file (and thus probably our fault, not
gcc's).  Running the file with gctorture()  on may provoke the error to
occur earlier and more dramatically.

In addition to make check, it would be useful to run

	make test-Random

This checks that the random number generators agree with the CDFs in a
number of examples, and might catch strange numerical precision or
over-optimisation problems.


Thomas Lumley			Asst. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle

r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch

More information about the R-help mailing list