This is an automated email from the ASF dual-hosted git repository.

mboehm7 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git


The following commit(s) were added to refs/heads/main by this push:
     new 92d46ecee4 [MINOR] Fix TypeTypoTest for active stdout/stderr buffering
92d46ecee4 is described below

commit 92d46ecee4a6ac91843be7ae26ec25054fb32504
Author: Matthias Boehm <mboe...@gmail.com>
AuthorDate: Thu Aug 22 17:57:14 2024 +0200

    [MINOR] Fix TypeTypoTest for active stdout/stderr buffering
    
    In local tests we run with outputBuffering=false for interactive
    feedback, but in the github actions tests we run with activated
    outputBuffering which piped the stderr output to the LOG such that
    the test could not check for correctly raised errors.
---
 src/test/java/org/apache/sysds/test/AutomatedTestBase.java         | 4 ++++
 .../java/org/apache/sysds/test/functions/misc/TypeTyposTest.java   | 7 +++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/test/java/org/apache/sysds/test/AutomatedTestBase.java 
b/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
index 58b9763ab8..0ea20b8be2 100644
--- a/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
+++ b/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
@@ -308,6 +308,10 @@ public abstract class AutomatedTestBase {
        protected void setOutputBuffering(boolean value) {
                outputBuffering = value;
        }
+       
+       protected boolean getOutputBuffering() {
+               return outputBuffering;
+       }
 
        /**
         * <p>
diff --git 
a/src/test/java/org/apache/sysds/test/functions/misc/TypeTyposTest.java 
b/src/test/java/org/apache/sysds/test/functions/misc/TypeTyposTest.java
index 668f061d4c..1ca443b4d7 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/TypeTyposTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/TypeTyposTest.java
@@ -60,7 +60,9 @@ public class TypeTyposTest extends AutomatedTestBase
                fullDMLScriptName = HOME + testName + ".dml";
                programArgs = new String[]{"-explain"};
                
-               PrintStream old = System.err;
+               boolean oldBuff = getOutputBuffering();
+               setOutputBuffering(false);
+               PrintStream oldErr = System.err;
                String out = null;
                try {
                        ByteArrayOutputStream buff = new 
ByteArrayOutputStream();
@@ -69,7 +71,8 @@ public class TypeTyposTest extends AutomatedTestBase
                        out = buff.toString();
                }
                finally {
-                       System.setErr(old);
+                       System.setErr(oldErr);
+                       setOutputBuffering(oldBuff);
                }
                if( testName.equals(TEST_NAME1) )
                        Assert.assertTrue(out.contains("invalid valuetype"));

Reply via email to