murdoch.duncan at gmail.com
Mon Jun 16 14:54:29 CEST 2014
On 16/06/2014 3:32 AM, Martin Maechler wrote:
> >>>>> Adrian Dușa <dusa.adrian at unibuc.ro>
> >>>>> on Mon, 16 Jun 2014 08:33:59 +0300 writes:
> > On Mon, Jun 16, 2014 at 6:37 AM, Gabriel Becker
> > <gmbecker at 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 )
> | 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
More information about the R-devel