On 04/09/2012 8:20 AM, Terry Therneau wrote:

On 09/04/2012 05:00 AM, r-devel-requ...@r-project.org wrote:
> The issue is not just about "CRAN" vs "off CRAN".
> It is good to think about a more general scheme of
> "light testing" vs "normal testing" vs "extensive testing",
> e.g.,  for the situation where the package implements
> (simulation/bootstrap/ ..) based inference, and the developer
> (but not only) should be able to run the extensive tests.
>
> Martin

I agree with Martin.  A mechanism to specify testing level would be the best.
Then CRAN can choose to set that variable to "3" say, with level 1 for 
extensive and 2 for
usual.
    I'm quite willing to put up with the nuisance of print() enclosures.  I 
prefer it to
having yet another way to subvert the evaluation model.

    I'm a believer in testing everything possible in my packages, and wear it 
it as a badge
of honor that the survival package has 4 lines of R code in the tests directory 
for every
3 in the R directory.  But CRAN only needs to run a small subset of this.

We have a mechanism to specify testing level: the --as-cran flag. We could presumably make it more elaborate by adding other flags, or option levels, or whatever.

What I think we shouldn't do is try to create an R-level test that says

 if (testingLevel() > 3) {
   doSomething
}

because tests can be turned on and off, individually. If testingLevel 3 specified tests (A, B, C), then is our testingLevel higher if we are running tests (A, B, D, E, F, G)? Why not just test for the presence of whichever test is most relevant to that particular code block, e.g.

 if ("D" %in% tests()) {
  doSomething
}

Duncan Murdoch

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to