From 882a1279586f83f8fe49c29ba3a2f6b14c5a6c79 Mon Sep 17 00:00:00 2001
From: Lukas Stadler <lukas.stadler@oracle.com>
Date: Wed, 11 May 2016 16:42:53 +0200
Subject: [PATCH] provide "Ignore Whitespace" flag for tests

---
 .../src/com/oracle/truffle/r/test/TestBase.java           | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestBase.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestBase.java
index e3adf8b651..b4a87cb576 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestBase.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/TestBase.java
@@ -67,7 +67,8 @@ public class TestBase {
         ContainsAmbiguousError, // the actual error message is ignored
         ContainsWarning, // the warning context is ignored
         MayContainError,
-        MayContainWarning;
+        MayContainWarning,
+        IgnoreWhitespace;
     }
 
     public enum Ignored implements TestTrait {
@@ -456,6 +457,7 @@ public class TestBase {
         boolean mayContainWarning = TestTrait.contains(traits, Output.MayContainWarning);
         boolean mayContainError = TestTrait.contains(traits, Output.MayContainError);
         boolean ambiguousError = TestTrait.contains(traits, Output.ContainsAmbiguousError);
+        boolean ignoreWhitespace = TestTrait.contains(traits, Output.IgnoreWhitespace);
         boolean nonSharedContext = TestTrait.contains(traits, Context.NonShared);
 
         ContextInfo contextInfo = nonSharedContext ? fastROutputManager.fastRSession.createContextInfo(ContextKind.SHARE_NOTHING) : null;
@@ -468,6 +470,10 @@ public class TestBase {
                 ignoredInputCount++;
             } else {
                 String result = fastREval(input, contextInfo);
+                if (ignoreWhitespace) {
+                    expected = expected.replaceAll("\\s+", "");
+                    result = result.replaceAll("\\s+", "");
+                }
 
                 CheckResult checkResult = checkResult(whiteLists, input, expected, result, containsWarning, mayContainWarning, containsError, mayContainError, ambiguousError);
 
-- 
GitLab