From f4a9c18c011ee3957e67c9bd157ce50b958fa7f7 Mon Sep 17 00:00:00 2001
From: Mick Jordan <mick.jordan@oracle.com>
Date: Sun, 7 Dec 2014 20:39:59 -0800
Subject: [PATCH] re-enable TestRPackages

---
 .../r/nodes/builtin/base/EnvFunctions.java       |  9 ++++++---
 .../r/nodes/builtin/base/NamespaceFunctions.java |  2 +-
 .../truffle/r/test/ExpectedTestOutput.test       | 16 ++++++++++++++++
 .../truffle/r/test/rpackages/TestRPackages.java  |  2 --
 4 files changed, 23 insertions(+), 6 deletions(-)

diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EnvFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EnvFunctions.java
index 07686e62b5..beecc04c20 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EnvFunctions.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/EnvFunctions.java
@@ -58,12 +58,15 @@ public class EnvFunctions {
         }
 
         @Specialization
-        protected REnvironment asEnvironment(VirtualFrame frame, double dpos) {
-            controlVisibility();
-            return asEnvironmentInt(frame, (int) dpos);
+        protected REnvironment asEnvironment(VirtualFrame frame, RAbstractDoubleVector posVec) {
+            return asEnvironmentInt(frame, (int) posVec.getDataAt(0));
         }
 
         @Specialization
+        protected REnvironment asEnvironmentInt(VirtualFrame frame, RAbstractIntVector posVec) {
+            return asEnvironmentInt(frame, posVec.getDataAt(0));
+        }
+
         protected REnvironment asEnvironmentInt(VirtualFrame frame, int pos) {
             controlVisibility();
             if (pos == -1) {
diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NamespaceFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NamespaceFunctions.java
index f3811b7635..9eac719b1c 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NamespaceFunctions.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/NamespaceFunctions.java
@@ -65,7 +65,7 @@ public class NamespaceFunctions {
     @RBuiltin(name = "getNamespaceRegistry", kind = INTERNAL, parameterNames = {})
     public abstract static class GetNamespaceRegistry extends RBuiltinNode {
         @Specialization
-        protected REnvironment doGetNamespaceRegistry(@SuppressWarnings("unused") RMissing missing) {
+        protected REnvironment doGetNamespaceRegistry() {
             controlVisibility();
             return REnvironment.getNamespaceRegistry();
         }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
index 9360aa448b..02a800b069 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
@@ -4,6 +4,22 @@
  [1] 0.45336386 0.38848030 0.94576608 0.11726267 0.21542351 0.08672997
  [7] 0.35201276 0.16919220 0.93579263 0.26084486
 
+##com.oracle.truffle.r.test.rpackages.TestRPackages.testLoadTestRFFI
+#{ library("testrffi", lib.loc = "com.oracle.truffle.r.test/rpackages/testrlibs_user"); add_double(2, 3) }
+[1] 5
+
+##com.oracle.truffle.r.test.rpackages.TestRPackages.testLoadTestRFFI
+#{ library("testrffi", lib.loc = "com.oracle.truffle.r.test/rpackages/testrlibs_user"); add_int(2L, 3L) }
+[1] 5
+
+##com.oracle.truffle.r.test.rpackages.TestRPackages.testLoadTestRFFI
+#{ library("testrffi", lib.loc = "com.oracle.truffle.r.test/rpackages/testrlibs_user"); v <- createIntVector(2); v[1] <- 1; v[2] <- 2; v }
+[1] 1 2
+
+##com.oracle.truffle.r.test.rpackages.TestRPackages.testLoadVanilla
+#{ library("vanilla", lib.loc = "com.oracle.truffle.r.test/rpackages/testrlibs_user"); vanilla() }
+[1] "A vanilla R package"
+
 ##com.oracle.truffle.r.test.ser.TestUnserializeFromGnuR.testVectors
 #{ print(.Internal(unserializeFromConn(gzfile("com.oracle.truffle.r.test/bin/com/oracle/truffle/r/test/ser/data/list2.rds"), NULL))) }
 $one
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/rpackages/TestRPackages.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/rpackages/TestRPackages.java
index 436f79d81b..060f46282d 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/rpackages/TestRPackages.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/rpackages/TestRPackages.java
@@ -138,13 +138,11 @@ public class TestRPackages extends TestBase {
     }
 
     @Test
-    @Ignore
     public void testLoadVanilla() {
         assertTemplateEval(TestBase.template("{ library(\"vanilla\", lib.loc = \"%0\"); vanilla() }", new String[]{packagePaths.rpackagesLibs.toString()}));
     }
 
     @Test
-    @Ignore
     public void testLoadTestRFFI() {
         // tmp disable until OS name is fixed
         assertTemplateEval(TestBase.template("{ library(\"testrffi\", lib.loc = \"%0\"); add_int(2L, 3L) }", new String[]{packagePaths.rpackagesLibs.toString()}));
-- 
GitLab