check does not check that package examples remove tempdir()
Related to this problem - from R-devel NEWS (https://cran.r-project.org/doc/manuals/r-devel/NEWS.html): * tempdir(check = TRUE) recreates the tmpdir() if it is no longer valid (e.g. because some other process has cleaned up the ?/tmp? directory). Not sure if there's a plan to make check = TRUE the default though. /Henrik On Wed, Nov 8, 2017 at 4:43 PM, William Dunlap via R-devel
<r-devel at r-project.org> wrote:
I was looking at the CRAN package 'bfork-0.1.2', which exposes the Unix fork() and waitpid() calls at the R code level, and noticed that the help file example for bfork::fork removes R's temporary directory, the value of tempdir(). I think it happens because the forked process shares the value of tempdir() with the parent process and removes it when it exits. This seems like a serious problem - should 'check' make sure that running code in a package's examples, vignettes, etc. leaves tempdir() intact?
dir.exists(tempdir())
[1] TRUE
library(bfork) example(fork)
fork> ## create a function to be run as a separate process
fork> fn <- function() {
fork+ Sys.sleep(4)
fork+ print("World!")
fork+ }
fork> ## fork the process
fork> pid <- fork(fn)
fork> ## do work in the parent process
fork> print("Hello")
[1] "Hello"
fork> ## wait for the child process
fork> waitpid(pid)
[1] "World!"
[1] 7063
dir.exists(tempdir())
[1] FALSE
Bill Dunlap
TIBCO Software
wdunlap tibco.com
[[alternative HTML version deleted]]
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel