From 112aca5647cb27fa3748c5743e9190ba3fbbc98a Mon Sep 17 00:00:00 2001
From: Mick Jordan <mick.jordan@oracle.com>
Date: Fri, 11 Mar 2016 17:15:18 -0800
Subject: [PATCH] fix units tests that need random seed set

---
 .../truffle/r/test/ExpectedTestOutput.test    | 60 +++++++++----------
 .../r/test/functions/TestFunctions.java       |  2 +-
 .../r/test/library/stats/TestStats.java       | 26 ++++----
 3 files changed, 44 insertions(+), 44 deletions(-)

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 158086e242..92d281efc1 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
@@ -43425,7 +43425,7 @@ B FALSE TRUE
 [1] "2008-04-22 CEST"
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_strptime.teststrptime10
-#argv <- list(c('1937/01/01', '1916/01/01', '1913/01/01', '1927/01/01', '1947/01/01', '1913/01/01', '1917/01/01', '1923/01/01', '1921/01/01', '1926/01/01', '1920/01/01', '1915/01/01', '1914/01/01', '1914/01/01', '1914/01/01', '1919/01/01', '1948/01/01', '1911/01/01', '1909/01/01', '1913/01/01', '1925/01/01', '1926/01/01', '1910/01/01', '1917/01/01', '1936/01/01', '1938/01/01', '1960/01/01', '1915/01/01', '1919/01/01', '1924/01/01', '1914/01/01', '1905/01/01', '1921/01/01', '1929/01/01', '1926/01/01', '1921/01/01', '1908/01/01', '1928/01/01', '1919/01/01', '1921/01/01', '1925/01/01', '1934/01/01', '1927/01/01', '1928/01/01', '1934/01/01', '1922/01/01', '1923/01/01', '1915/01/01', '1934/01/01', '1925/01/01', '1922/01/01', '1930/01/01', '1924/01/01', '1923/01/01', '1919/01/01', '1932/01/01', '1930/01/01', '1923/01/01', '1930/01/01', '1922/01/01', '1919/01/01', '1932/01/01', '1939/01/01', '1923/01/01', '1920/01/01', '1919/01/01', '1952/01/01', '1927/01/01', '1924/01/01', '1919/01/01', '1925/01/01', '1945/01/01', '1916/01/01', '1943/01/01', '1920/01/01', '1920/01/01', '1931/01/01', '1924/01/01', '1919/01/01', '1926/01/01', '1920/01/01', '1942/01/01', '1919/01/01', '1930/01/01', '1925/01/01', '1924/01/01', '1926/01/01', '1918/01/01', '1922/01/01', '1921/01/01', '1925/01/01', '1928/01/01', '1925/01/01', '1929/01/01', '1933/01/01', '1947/01/01', '1950/01/01', '1945/01/01', '1924/01/01', '1939/01/01', '1924/01/01', '1933/01/01', '1928/01/01'), '%Y/%m/%d', ''); .Internal(strptime(argv[[1]], argv[[2]], argv[[3]]))
+#argv <- list(c('1937/01/01', '1916/01/01', '1913/01/01', '1927/01/01', '1947/01/01', '1913/01/01', '1917/01/01', '1923/01/01', '1921/01/01', '1926/01/01', '1920/01/01', '1915/01/01', '1914/01/01', '1914/01/01', '1914/01/01', '1919/01/01', '1948/01/01', '1911/01/01', '1909/01/01', '1913/01/01', '1925/01/01', '1926/01/01', '1910/01/01', '1917/01/01', '1936/01/01', '1938/01/01', '1960/01/01', '1915/01/01', '1919/01/01', '1924/01/01', '1914/01/01', '1905/01/01', '1921/01/01', '1929/01/01', '1926/01/01', '1921/01/01', '1908/01/01', '1928/01/01', '1919/01/01', '1921/01/01', '1925/01/01', '1934/01/01', '1927/01/01', '1928/01/01', '1934/01/01', '1922/01/01', '1923/01/01', '1915/01/01', '1934/01/01', '1925/01/01', '1922/01/01', '1930/01/01', '1924/01/01', '1923/01/01', '1919/01/01', '1932/01/01', '1930/01/01', '1923/01/01', '1930/01/01', '1922/01/01', '1919/01/01', '1932/01/01', '1939/01/01', '1923/01/01', '1920/01/01', '1919/01/01', '1952/01/01', '1927/01/01', '1924/01/01', '1919/01/01', '1925/01/01', '1945/01/01', '1916/01/01', '1943/01/01', '1920/01/01', '1920/01/01', '1931/01/01', '1924/01/01', '1919/01/01', '1926/01/01', '1920/01/01', '1952/01/01', '1919/01/01', '1930/01/01', '1925/01/01', '1924/01/01', '1926/01/01', '1918/01/01', '1922/01/01', '1921/01/01', '1925/01/01', '1928/01/01', '1925/01/01', '1929/01/01', '1933/01/01', '1947/01/01', '1950/01/01', '1945/01/01', '1924/01/01', '1939/01/01', '1924/01/01', '1933/01/01', '1928/01/01'), '%Y/%m/%d', ''); .Internal(strptime(argv[[1]], argv[[2]], argv[[3]]))
   [1] "1937-01-01 CET" "1916-01-01 CET" "1913-01-01 CET" "1927-01-01 CET"
   [5] "1947-01-01 CET" "1913-01-01 CET" "1917-01-01 CET" "1923-01-01 CET"
   [9] "1921-01-01 CET" "1926-01-01 CET" "1920-01-01 CET" "1915-01-01 CET"
@@ -43446,7 +43446,7 @@ B FALSE TRUE
  [69] "1924-01-01 CET" "1919-01-01 CET" "1925-01-01 CET" "1945-01-01 CET"
  [73] "1916-01-01 CET" "1943-01-01 CET" "1920-01-01 CET" "1920-01-01 CET"
  [77] "1931-01-01 CET" "1924-01-01 CET" "1919-01-01 CET" "1926-01-01 CET"
- [81] "1920-01-01 CET" "1942-01-01 CET" "1919-01-01 CET" "1930-01-01 CET"
+ [81] "1920-01-01 CET" "1952-01-01 CET" "1919-01-01 CET" "1930-01-01 CET"
  [85] "1925-01-01 CET" "1924-01-01 CET" "1926-01-01 CET" "1918-01-01 CET"
  [89] "1922-01-01 CET" "1921-01-01 CET" "1925-01-01 CET" "1928-01-01 CET"
  [93] "1925-01-01 CET" "1929-01-01 CET" "1933-01-01 CET" "1947-01-01 CET"
@@ -51841,8 +51841,8 @@ Error in rnorm(s = 1, s = 1) :
   formal argument "sd" matched by multiple actual arguments
 
 ##com.oracle.truffle.r.test.functions.TestFunctions.testInvocation
-#{ round( rnorm(1,), digits = 5 ) }
-[1] 0.80642
+#{ set.seed(4357); round( rnorm(1,), digits = 5 ) }
+[1] -0.13102
 
 ##com.oracle.truffle.r.test.functions.TestFunctions.testInvokeIndirectly
 #{ f <- function(x) x+1 ; g <- function(x) x+2 ; funs <- list(f,g) ; funs[[1]](1) }
@@ -104236,56 +104236,56 @@ In qnorm(c(0.1, 0.9, 0.5, 1.00001, 0.99999), 100, c(20, 1)) : NaNs produced
 [1] 52.92218
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRandomIgnore
-#{ round( rbinom(3,10,(1:5)/5), digits = 5 ) }
-[1] 0 2 5
+#{ set.seed(7); round( rbinom(3,10,(1:5)/5), digits = 5 ) }
+[1] 5 4 8
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRandomIgnore
-#{ round( rbinom(3,3,0.9), digits = 5 ) }
-[1] 2 2 3
+#{ set.seed(7); round( rbinom(3,3,0.9), digits = 5 ) }
+[1] 1 3 3
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRandomIgnore
-#{ round( rcauchy(3), digits = 5 ) }
-[1] -15.11183  -0.92188   0.98099
+#{ set.seed(7); round( rcauchy(3), digits = 5 ) }
+[1] -0.03486  3.00509  0.38038
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRandomIgnore
-#{ round( rcauchy(3, scale=4, location=1:3), digits = 5 ) }
-[1]   0.21299 -16.15650   1.05942
+#{ set.seed(7); round( rcauchy(3, scale=4, location=1:3), digits = 5 ) }
+[1]  0.86057 14.02037  4.52150
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRandomIgnore
-#{ round( rgamma(3,0.5,rate=1:3), digits = 5 ) }
-[1] 0.05390 0.03285 0.00659
+#{ set.seed(7); round( rgamma(3,0.5,rate=1:3), digits = 5 ) }
+[1] 3.63965 0.00938 0.02776
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRandomIgnore
-#{ round( rgamma(3,0.5,scale=1:3), digits = 5 ) }
-[1] 0.01605 0.05866 0.64889
+#{ set.seed(7); round( rgamma(3,0.5,scale=1:3), digits = 5 ) }
+[1] 3.63965 0.03753 0.24984
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRandomIgnore
-#{ round( rgamma(3,1), digits = 5 ) }
-[1] 0.58059 0.06937 0.06347
+#{ set.seed(7); round( rgamma(3,1), digits = 5 ) }
+[1] 3.42520 0.95263 2.76594
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRandomIgnore
-#{ round( rlnorm(3), digits = 5 ) }
-[1] 0.26290 0.52463 3.25929
+#{ set.seed(7); round( rlnorm(3), digits = 5 ) }
+[1] 9.84779 0.30217 0.49943
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRandomIgnore
-#{ round( rlnorm(3,sdlog=c(10,3,0.5)), digits = 5 ) }
-[1] 8.16534 1.69155 0.88552
+#{ set.seed(7); round( rlnorm(3,sdlog=c(10,3,0.5)), digits = 5 ) }
+[1] 8.578043e+09 2.759000e-02 7.067000e-01
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRandomIgnore
-#{ round( rnorm(3,c(1000,2,3),c(10,11)), digits = 5 ) }
-[1] 997.00152  16.52071   6.31252
+#{ set.seed(7); round( rnorm(3,c(1000,2,3),c(10,11)), digits = 5 ) }
+[1] 1022.87247  -11.16449   -3.94293
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRandomIgnore
-#{ round( runif(3), digits = 5 ) }
-[1] 0.35346 0.25754 0.31771
+#{ set.seed(7); round( runif(3), digits = 5 ) }
+[1] 0.98891 0.39775 0.11570
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRandomIgnore
-#{ round( runif(3,1,10), digits = 5 ) }
-[1] 5.67056 4.02348 7.49731
+#{ set.seed(7); round( runif(3,1,10), digits = 5 ) }
+[1] 9.90018 4.57971 2.04128
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRandomIgnore
-#{ round( runif(3,1:3,3:2), digits = 5 ) }
-[1] 2.23571 2.00000 3.00000
+#{ set.seed(7); round( runif(3,1:3,3:2), digits = 5 ) }
+[1] 2.97782 2.00000 3.00000
 
 ##com.oracle.truffle.r.test.library.stats.TestStats.testRbinom
 #set.seed(123); rbinom(1,20,c(0.3,0.2))
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/functions/TestFunctions.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/functions/TestFunctions.java
index 0ab02f1d17..e55df52ec2 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/functions/TestFunctions.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/functions/TestFunctions.java
@@ -75,7 +75,7 @@ public class TestFunctions extends TestBase {
         assertEval("{ f <- function(...) { args <- list(...) ; args$name } ; f(name = 42) }");
 
         assertEval(Output.ContainsError, "{ matrix(x=1) }");
-        assertEval(Ignored.Unknown, "{ round( rnorm(1,), digits = 5 ) }");
+        assertEval("{ set.seed(4357); round( rnorm(1,), digits = 5 ) }");
         assertEval(Ignored.Unknown, Output.ContainsError, "{ max(1,2,) }");
     }
 
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/stats/TestStats.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/stats/TestStats.java
index c7a35df6ba..754d83b2de 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/stats/TestStats.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/stats/TestStats.java
@@ -144,24 +144,24 @@ public class TestStats extends TestBase {
 
     @Test
     public void testRandomIgnore() {
-        assertEval(Ignored.Unknown, "{ round( rnorm(3,c(1000,2,3),c(10,11)), digits = 5 ) }");
+        assertEval(Ignored.Unknown, "{ set.seed(7); round( rnorm(3,c(1000,2,3),c(10,11)), digits = 5 ) }");
 
-        assertEval(Ignored.Unknown, "{ round( runif(3), digits = 5 ) }");
-        assertEval(Ignored.Unknown, "{ round( runif(3,1,10), digits = 5 ) }");
-        assertEval(Ignored.Unknown, "{ round( runif(3,1:3,3:2), digits = 5 ) }");
+        assertEval(Ignored.Unknown, "{ set.seed(7); round( runif(3), digits = 5 ) }");
+        assertEval(Ignored.Unknown, "{ set.seed(7); round( runif(3,1,10), digits = 5 ) }");
+        assertEval(Ignored.Unknown, "{ set.seed(7); round( runif(3,1:3,3:2), digits = 5 ) }");
 
-        assertEval(Ignored.Unknown, "{ round( rgamma(3,1), digits = 5 ) }");
-        assertEval(Ignored.Unknown, "{ round( rgamma(3,0.5,scale=1:3), digits = 5 ) }");
-        assertEval(Ignored.Unknown, "{ round( rgamma(3,0.5,rate=1:3), digits = 5 ) }");
+        assertEval(Ignored.Unknown, "{ set.seed(7); round( rgamma(3,1), digits = 5 ) }");
+        assertEval(Ignored.Unknown, "{ set.seed(7); round( rgamma(3,0.5,scale=1:3), digits = 5 ) }");
+        assertEval(Ignored.Unknown, "{ set.seed(7); round( rgamma(3,0.5,rate=1:3), digits = 5 ) }");
 
-        assertEval(Ignored.Unknown, "{ round( rbinom(3,3,0.9), digits = 5 ) }");
-        assertEval(Ignored.Unknown, "{ round( rbinom(3,10,(1:5)/5), digits = 5 ) }");
+        assertEval(Ignored.Unknown, "{ set.seed(7); round( rbinom(3,3,0.9), digits = 5 ) }");
+        assertEval(Ignored.Unknown, "{ set.seed(7); round( rbinom(3,10,(1:5)/5), digits = 5 ) }");
 
-        assertEval(Ignored.Unknown, "{ round( rlnorm(3), digits = 5 ) }");
-        assertEval(Ignored.Unknown, "{ round( rlnorm(3,sdlog=c(10,3,0.5)), digits = 5 ) }");
+        assertEval(Ignored.Unknown, "{ set.seed(7); round( rlnorm(3), digits = 5 ) }");
+        assertEval(Ignored.Unknown, "{ set.seed(7); round( rlnorm(3,sdlog=c(10,3,0.5)), digits = 5 ) }");
 
-        assertEval(Ignored.Unknown, "{ round( rcauchy(3), digits = 5 ) }");
-        assertEval(Ignored.Unknown, "{ round( rcauchy(3, scale=4, location=1:3), digits = 5 ) }");
+        assertEval(Ignored.Unknown, "{ set.seed(7); round( rcauchy(3), digits = 5 ) }");
+        assertEval(Ignored.Unknown, "{ set.seed(7); round( rcauchy(3, scale=4, location=1:3), digits = 5 ) }");
     }
 
     @Test
-- 
GitLab