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