[Rcpp-commits] r333 - in pkg: inst inst/unitTests src
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Sun Jan 10 10:03:46 CET 2010
Author: romain
Date: 2010-01-10 10:03:46 +0100 (Sun, 10 Jan 2010)
New Revision: 333
Modified:
pkg/inst/ChangeLog
pkg/inst/unitTests/runit.Function.R
pkg/src/Function.cpp
Log:
added unit test for function throwing exceptions
Modified: pkg/inst/ChangeLog
===================================================================
--- pkg/inst/ChangeLog 2010-01-09 22:36:05 UTC (rev 332)
+++ pkg/inst/ChangeLog 2010-01-10 09:03:46 UTC (rev 333)
@@ -1,3 +1,10 @@
+2010-01-10 Romain Francois <francoisromain at free.fr>
+
+ * inst/unitTests/runit.Function.R: added unit test for function
+ throwing exceptions
+
+ * src/Function.cpp: grab the condition message and not the call
+
2010-01-09 Romain Francois <francoisromain at free.fr>
* src/Rcpp/RObject.h: attr can now be used to get or set the
Modified: pkg/inst/unitTests/runit.Function.R
===================================================================
--- pkg/inst/unitTests/runit.Function.R 2010-01-09 22:36:05 UTC (rev 332)
+++ pkg/inst/unitTests/runit.Function.R 2010-01-10 09:03:46 UTC (rev 333)
@@ -38,12 +38,13 @@
test.Function.variadic <- function(){
if( Rcpp:::canUseCXX0X() ){
- funx <- cfunction(signature(x="function", y = "numeric"), '
+ funx <- cfunction(signature(x="function", y = "ANY"), '
Function sort(x) ;
return sort( y, Named("decreasing", true) ) ;
', Rcpp=TRUE, verbose=FALSE, includes = "using namespace Rcpp;" )
checkEquals( funx( sort, sample(1:20) ),
20:1, msg = "calling function" )
+ checkException( funx(sort, sort), msg = "Function, R error -> exception" )
}
}
Modified: pkg/src/Function.cpp
===================================================================
--- pkg/src/Function.cpp 2010-01-09 22:36:05 UTC (rev 332)
+++ pkg/src/Function.cpp 2010-01-10 09:03:46 UTC (rev 333)
@@ -58,7 +58,7 @@
message = "unknown error" ;
} else{
message = as<std::string>( Rf_eval(
- Rf_lang2( Rf_install("conditionCall"), err),
+ Rf_lang2( Rf_install("conditionMessage"), err),
R_GlobalEnv ) );
}
}
More information about the Rcpp-commits
mailing list