[Rd] if(--as-cran)?

Warnes, Gregory gregory.warnes at novartis.com
Tue Sep 4 20:36:43 CEST 2012


On 9/4/12 8:38 AM, "Duncan Murdoch" <murdoch.duncan at gmail.com> wrote:


>On 04/09/2012 8:20 AM, Terry Therneau wrote:
>>
>> On 09/04/2012 05:00 AM, r-devel-request at 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
>}


I would prefer the testingLevel() approach of the "D" %in% tests()
approach, since testingLevel() provides a natural way to add successively
greater test details without having to dig into the code to determine the
set of tests.  

-Greg



More information about the R-devel mailing list