On 16/06/2014 3:32 AM, Martin Maechler wrote:
>>>>> Adrian Dușa <dusa.adr...@unibuc.ro>
>>>>>     on Mon, 16 Jun 2014 08:33:59 +0300 writes:

     > On Mon, Jun 16, 2014 at 6:37 AM, Gabriel Becker
     > <gmbec...@ucdavis.edu> wrote:
     >> [...]  You can. This is valid R source, so the parser
     >> will understand it
     >>
     >> expr = parse(text= example("deMorgan", package="QCA",
     >> give.lines=TRUE))
     >>
     >> You can then evaluate some or all of that expression
     >> using either R's own eval package or, e.g. Hadley
     >> Wickham's evaluate package (for your particular usecase
     >> evaluate will be easier I think).

     > Oh, I see...! In that case I can use it, of course.  Did
     > install the evaluate package, although one would expect
     > some better documentation (no examples at all, especially
     > at the main evaluate function).


     >>> [...]
     >> index.search is an unexported function, which means that
     >> it is subject to change in how it behaves without notice
     >> or even externally available reasons. You can get it via
     >> :::, but again, it's really not the right tool here, and
     >> not safe to use in general in code you expect to keep
     >> working.

     > Yes, I figured that much.  Of course it's not meant to be
     > used in any decently working code, but I learn heavily by
     > simply looking at these sort of (hidden) R functions.

     > Thanks again, Adrian

Apropos "not the right tool".  I'm a bit astonished that nobody
mentioned the fact R already provides "the tool" to
automatically compare all example outputs with a previous
version (of the packages example outputs):

*THE* manual (every package writer should know about,
  re-read/browse about once a year, and search in for such questions):

"Writing R Extensions", section Package subdirectories
----------------------------
(e.g. on the CRAN master in Vienna,
  http://cran.r-project.org/doc/manuals/R-exts.html#Package-subdirectories )
says

|    If directory 'tests' has a subdirectory 'Examples' containing a file
|    'PKG-Ex.Rout.save', this is compared to the output file for running the
|    examples when the latter are checked.

So: After an 'R CMD check <PKG>' you only need to take and
keep the  <PKG>-Ex.Rout  file that is produced (in the
PKG.Rcheck/ directory), and save it into <PKG>/tests/<PKG>-Ex.Rout.save
and from then on, every time you run R CMD check <PKG>  the
comparison will be made.

It's also worth mentioning that there is something similar to test for changes to vignettes:

If there is a target output file .Rout.save in the vignette source directory, the output from running the code in that vignette is compared with the target output file and any differences are reported (but not recorded in the log file).

The slightly surprising thing is that R CMD check doesn't produce <vignette>.Rout; the file that is compared to <vignette>.Rout.save is <vignette>.log.

Duncan Murdoch

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

Reply via email to