On 12-12-11 9:41 AM, Prof Brian Ripley wrote:
But note that this was added at the request of one package author. We
don't generally recommended it, not least as people do not take
sufficient care about platform differences and keeping such output up to
date. So people (including authors) tend to simply ignore a mass of
differences.
It is better to craft tests with controlled output (and chosen number of
significant digits) if you want to check package printed output.
This seems like a useful test for a package developer, but maybe not for
package users (or for CRAN, if the developer wants to work in a
non-standard locale).
I wonder if there's a way to make it easy to use locally, without
inconveniencing everyone else? Perhaps it should simply default to not
being done, with an environment variable flag set to enable it.
Duncan Murdoch
On 11/12/2012 13:52, Duncan Murdoch wrote:
On 12-12-10 11:45 AM, Benjamin Hofner wrote:
I am looking for a way to generate .Rout.save files for vignettes.
The manual "Writing R Extensions" states here [1] in item number 20:
"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."
Yet, there is no pointer on how to get the correct .Rout.save files for
vignettes. (For the files in directory "test" there is a footnote on how
to get the .Rout.save files. [2])
I agree, this should be documented. But it is rather easy:
Just create an empty file and call it vignette.Rout.save. Run the
checks, and you'll get lots of errors because it won't compare to the
real output.
When you get a compare failure, the file vignette.Rnw.log will be left
in the *.Rcheck directory. You can just copy that into the
vignette.Rout.save file.
You need to watch out for locale differences: make sure you do this in
an English locale for portability (everyone has one of those, the 'C'
locale).
Duncan Murdoch
As a temporary solution, we currently use a script that calls
tools:::.run_one_vignette() on each vignette and dumps the output:
echo 'tools:::.run_one_vignette("vignette.Rnw", docDir = ".");' | R
--vanilla > vignette.Rout.save
However, this doesn't result in the same code as produced by R CMD
check. E.g., we get the R startup header and furthermore get the output
in German where localization is available (thus having differences when
running R CMD check).
Does anyone have any hints on how to automatically get the correct
results (i.e., without the header)? And is it possible to include these
hints in the "Writing R extensions" manual for other users?
Any help is highly appreciated.
Best,
Benjamin
--------------------
[1] http://cran.r-project.org/doc/manuals/R-exts.html#Checking-packages
[2] http://cran.r-project.org/doc/manuals/R-exts.html#fn-15
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel