Not 100% sure about this but I think the workaround for using sourceCpp
within tests is to define R_TESTS="" (that's what we do in Rcpp and
RcppParallel). Here's the code I'm thinking of:
https://github.com/RcppCore/Rcpp/blob/master/tests/doRUnit.R#L42-L43

Note that we use RUnit in both of those packages so there could indeed be
some issue with testthat that we're not aware of.


On Wed, Jan 25, 2017 at 2:33 PM, Tim Keitt <tke...@utexas.edu> wrote:

> I have a package that compiles C++ at runtime using sourceCpp and I would
> like to use testthat with the package. Its clear that testthat sets up a
> non-standard environment and so it is difficult to combine it with
> sourceCpp. The first hurdle was include paths not working.
>
> This bit of code in the test_ file seemed to fix that:
>
> ccflags = Sys.getenv("CCFLAGS")
> ipath = file.path(getwd(), "inst", "include")
> ccflags = if (nzchar(ccflags)) paste(ccflags, paste0("-I", ipath)) else
> paste0("-I", ipath)
> Sys.setenv(CCFLAGS = ccflags)
>
> However, once compiled, the object does not load correctly as I cannot
> call the compiled function. Does anyone have a workaround? (I have searched
> and not found anything terribly useful.)
>
> THK
>
> http://www.keittlab.org/
>
> _______________________________________________
> 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
>
_______________________________________________
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

Reply via email to