[R-pkg-devel] Fwd: Passing CRAN check when an examples must save a file

Tiago Olivoto t|@goo||voto @end|ng |rom gm@||@com
Sat Sep 28 02:16:30 CEST 2019


Dear all,
I had the same problem when I submitted my R package 'metan' to CRAN for
the first time.

"Please ensure that your functions do not write by default or in your
examples/vignettes/tests in the user's home filespace (including the
package directory and getwd()). In your examples/vignettes/tests you can
write to tempdir()"

I have several 'summary()' functions like:








*summary.waasb <- function(object, export = FALSE, file.name
<http://file.name> = "summary_waasb", ...) {  # do all I need here  if
(export == TRUE) {    sink(paste0(file.name <http://file.name>, ".txt"))
# do all I need here    sink()  }}*

All 'export' arguments are set to 'FALSE'. So, no file is generated in the
user's working directory.
Is the above function not according to the CRAN policies?

In two vignettes I have a code like:



*```{r, eval=FALSE }summary(stat_ge, export = TRUE)```*

Please, note that 'eval = FALSE'. Could this be the problem?
The suggestion is to write to a tempdir() but even looking at the Duncan
Murdoch's answer I cannot see how to do that in my case.
Looking for any suggestion.
Best regards,
Tiago Olivoto









---------- Forwarded message ---------
De: Duncan Murdoch <murdoch.duncan using gmail.com>
Date: sex, 27 de set de 2019 às 09:44
Subject: Re: [R-pkg-devel] Passing CRAN check when an examples must save a
file
To: Zachary Flynn <zlflynn using gmail.com>, <r-package-devel using r-project.org>


On 26/09/2019 11:43 p.m., Zachary Flynn wrote:
> I am working on a function in a package that saves a file.  I want to
write
> an example to document the function so it must save a file, but when I do,
> the automatic CRAN checks reject the package because there is a
> non-standard file saved in the directory when the second test runs (first,
> it runs a test on Windows where the check error does not occur, then on
> Linux where it does).  The relevant check output is:
>
> * checking for non-standard things in the check directory ... NOTE
> Found the following files/directories:
>    ‘Produc.csv’
>
> There is no file called Produc.csv anywhere in the directory (the
> error doesn't show up in the first run on Windows).
>
> It is generated by running the example code which automatic CRAN
> testing might be doing in between running the Windows and Linux
> checks?
>
> How do I write an example that must save a file to be an example of
> using the function without triggering this issue?

Save the file to the temporary directory, ẹ.g.

   filename <- file.path(tempdir(), "Prodục.csv")
   write.csv(something, file = filename)

You could clean up at the end of the example with

   unlink(filename)

but you shouldn't rely on this alone to prevent the error:  if you're
writing files, you should *only* be doing it in the temporary directory.

Duncan Murdoch

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

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list