From 92ddfaf13916c2bdd2d1990f46aa46f6b4e978cd Mon Sep 17 00:00:00 2001 From: Florian Angerer <florian.angerer@oracle.com> Date: Tue, 26 Sep 2017 18:21:39 +0200 Subject: [PATCH] Added native test for Rf_isNull. --- .../packages/testrffi/testrffi/R/testrffi.R | 4 ++++ .../packages/testrffi/testrffi/src/testrffi.c | 4 ++++ .../packages/testrffi/testrffi/src/testrffi.h | 2 ++ .../packages/testrffi/testrffi/tests/simpleTests.R | 7 ++++++- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/R/testrffi.R b/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/R/testrffi.R index 62ed8ab623..2f5a00e578 100644 --- a/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/R/testrffi.R +++ b/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/R/testrffi.R @@ -191,4 +191,8 @@ rffi.createNativeConnection <- function() { rffi.parseVector <- function(x) { .Call('test_ParseVector', x); +} + +rffi.isNull <- function(x) { + .Call('test_isNull', x); } \ No newline at end of file diff --git a/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/src/testrffi.c b/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/src/testrffi.c index 4c6ff95296..a8adfd05dc 100644 --- a/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/src/testrffi.c +++ b/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/src/testrffi.c @@ -533,3 +533,7 @@ SEXP test_ParseVector(SEXP src) { UNPROTECT(2); return result; } + +Rboolean test_isNull(SEXP x) { + return Rf_isNull(x); +} diff --git a/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/src/testrffi.h b/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/src/testrffi.h index 7ff8cb06fd..c21517de65 100644 --- a/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/src/testrffi.h +++ b/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/src/testrffi.h @@ -105,3 +105,5 @@ extern SEXP test_readConnection(SEXP conn); extern SEXP test_createNativeConnection(void); extern SEXP test_ParseVector(SEXP src); + +extern Rboolean test_isNUll(SEXP x); diff --git a/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/tests/simpleTests.R b/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/tests/simpleTests.R index 521353e1ff..e889ccad45 100644 --- a/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/tests/simpleTests.R +++ b/com.oracle.truffle.r.test.native/packages/testrffi/testrffi/tests/simpleTests.R @@ -86,6 +86,11 @@ rffi.parseVector('1+') for(i in seq(5000)) { rffi.preserve_object() } + for(i in seq(5000)) { rffi.release_object() -} \ No newline at end of file +} + +# test isNull +rffi.isNull(NULL) + -- GitLab