Dear all, I'm working on a package that includes a unit test that calls sourceCpp() to test a particular use-case. As in [1], test(".") works swimmingly, but check() and vanilla "R CMD check" fail with the ominous error "cannot open file 'startup.Rs': No such file or directory". If I understand correctly, Dirk and Hadley agree [1] that this is R's fault, apparently through the nested "R CMD" calls [1, 2]. Indeed, sourceCpp() includes calls to both "R CMD" and setwd(), while cppFunction() and evalCpp() both call sourceCpp().
I realize that calling sourceCpp() in a package isn't exactly standard. The tested use-case is allowing a package user to easily write custom C++ functions via sourceCpp("userfile.cpp"). These functions are then passed to a class method and used internally by dereferencing and evaluating the XPtr. I've provided a working example of "userfile.cpp" that a user can copy and extend. Consequently, I would like some way to test the full process of write-compile-pass-call. My question is whether there's a sane workaround, or if I should give up on these tests. Alternately, is there a cleaner way for a user to supply hand-written C++ functions? Using sourceCpp() allows the user to locally manage custom functions without building a package, and ensures that user edits aren't overwritten by a package upgrade. I'm happy to poke, but I'm not sure where to go from here. Thanks again, Christian Refs: [1] https://github.com/hadley/testthat/issues/144 [2] https://github.com/hadley/devtools/blob/master/R/R.r _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel