Skip to content
Prev 26006 / 63421 Next

R CMD check recursive copy of tests/

Hi.
On 8/30/07, Martin Maechler <maechler at stat.math.ethz.ch> wrote:
Examples of subdirectories (some overlapping) are:

units/ - tests of minimal code modules
integration/ - tests of integrating the above units
system/ - "real-world" scenarios/use cases

requirements/ - every requirement should have at least on test.
bugs/ - every bug fix should come with a new test.
regression/ - every update should have a regression test to validate
backward compatibility etc.

robustness/ - Testing the robustness of estimators against outliers as
well as extreme parameter settings.
validation/ - validation of numeric results compared with alternative
implementations or summaries.

benchmarking/ - actually more measuring time, but can involve
validation that a method is faster than an alternative.
crossplatform/ - validate correctness across platforms.
torture/ - pushing the limits.
I ran in to that last week; I think that is a great and important
initiative.  Now I hear that people use R for development and then
reimplement in SAS to please FDA.
I think these are all great ideas/suggests/implementation.  As
important as design and implementation, testing (and bug reporting)
deserves a higher status.

It often the case that it is not feasible to have all tests ran by R
CMD check.  For instance, I have system tests that take literally
hours or even days to run.  I also know that because of their
integrated build/check system, Bioconductor have a rule of thumb that
it shouldn't take more than 5 minutes for R CMD check to finish
[http://wiki.fhcrc.org/bioc/Package_Guidelines#time-requirements].
Then having test cases installed allows you to still include such
tests and run them at other times (run time).

I would like to add that it can also be useful to have the option tp
ask an end-user that reports bugs/problems to run some standard tests
(that might not have been ran by R CMD check).

Cheers

Henrik