From 84c80db9a2733776df08789459d14509716b6c72 Mon Sep 17 00:00:00 2001
From: stepan <stepan.sindelar@oracle.com>
Date: Thu, 12 May 2016 12:31:49 +0200
Subject: [PATCH] Add test cases that exercise output visibility corner cases

---
 .../oracle/truffle/r/test/ExpectedTestOutput.test    | 12 ++++++++++++
 .../truffle/r/test/builtins/TestBuiltin_max.java     |  2 ++
 .../truffle/r/test/builtins/TestBuiltin_rep.java     |  2 ++
 .../truffle/r/test/builtins/TestBuiltin_sum.java     |  2 ++
 4 files changed, 18 insertions(+)

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 bc0423887f..785b5ab9e8 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
@@ -29242,6 +29242,10 @@ object "foo"
 #argv <- list(0L, 0L, 0L, FALSE, NULL, FALSE, FALSE); .Internal(matrix(argv[[1]], argv[[2]], argv[[3]], argv[[4]], argv[[5]], argv[[6]], argv[[7]]))
 <0 x 0 matrix>
 
+##com.oracle.truffle.r.test.builtins.TestBuiltin_max.testMaximum
+#max(v<-42)
+[1] 42
+
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_max.testMaximum
 #{ is.logical(max(TRUE)) }
 [1] FALSE
@@ -39673,6 +39677,10 @@ attr(,"useBytes")
 #argv <- structure(list(x = c('A', 'B', 'C'), m = structure(c(1L,     -1L, 1L), match.length = c(1L, -1L, 1L), useBytes = TRUE),     value = c('A', 'C')), .Names = c('x', 'm', 'value'));do.call('regmatches<-', argv)
 [1] "A" "B" "C"
 
+##com.oracle.truffle.r.test.builtins.TestBuiltin_rep.testRep
+#rep(x<-42)
+[1] 42
+
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_rep.testRep
 #{ rep("hello", 3) }
 [1] "hello" "hello" "hello"
@@ -46591,6 +46599,10 @@ Error: unexpected input in "  if (!any(OK)) next\"
 #argv <- structure(list(text = 'abcdef', first = 1:6, last = 1:6),     .Names = c('text', 'first', 'last'));do.call('substring', argv)
 [1] "a" "b" "c" "d" "e" "f"
 
+##com.oracle.truffle.r.test.builtins.TestBuiltin_sum.testSum
+#sum(v <- 42)
+[1] 42
+
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_sum.testSum
 #{ `sum`(1:10) }
 [1] 55
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_max.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_max.java
index 75da37bb2f..d8bb8bd25e 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_max.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_max.java
@@ -213,6 +213,8 @@ public class TestBuiltin_max extends TestBase {
         assertEval("{ max(123, NA, TRUE, 12, FALSE, na.rm=FALSE) }");
         assertEval("{ max(123, NA, TRUE, 12, FALSE) }");
 
+        assertEval("max(v<-42)");
+
         assertEval(Ignored.Unknown, Output.ContainsWarning, "{ max(integer(0)) }");
         assertEval(Ignored.Unknown, Output.ContainsWarning, "{ max(integer()) }");
         assertEval(Ignored.Unknown, Output.ContainsWarning, "{ max(as.double(NA), na.rm=TRUE) }");
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rep.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rep.java
index 9c633aef04..06232e5ec9 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rep.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_rep.java
@@ -197,5 +197,7 @@ public class TestBuiltin_rep extends TestBase {
 
         assertEval("{ x<-factor(c(\"a\", \"b\", \"a\")); rep(x, times=3) }");
         assertEval("{ x<-factor(c(\"a\", \"b\", \"a\")); rep(x, length=5) }");
+
+        assertEval("rep(x<-42)");
     }
 }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sum.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sum.java
index a3d0f2052f..02ede6eb04 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sum.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/builtins/TestBuiltin_sum.java
@@ -176,5 +176,7 @@ public class TestBuiltin_sum extends TestBase {
         assertEval("{ sum(0, 1[3], na.rm=FALSE) }");
         assertEval("{ sum(0, 1[3], na.rm=TRUE) }");
         assertEval("{ sum(1+1i,2,NA, na.rm=TRUE) }");
+
+        assertEval("sum(v <- 42)");
     }
 }
-- 
GitLab