You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemds.apache.org by mb...@apache.org on 2024/12/03 08:28:38 UTC

(systemds) branch main updated: [MINOR] Improved code coverage of debug and trace logging

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 e6d8248a71 [MINOR] Improved code coverage of debug and trace logging
e6d8248a71 is described below

commit e6d8248a7119711a70d4c8080dd7b22f3364b732
Author: Matthias Boehm <mb...@gmail.com>
AuthorDate: Tue Dec 3 09:27:59 2024 +0100

    [MINOR] Improved code coverage of debug and trace logging
    
    This patch runs the core mlcontext testsuite (with a mix of small and
    algorithm scripts) in log level TRACE in order to improve the test
    coverage of all the debug/trace logging code. A similar logging now
    also happens for selected component tests.
---
 .../sysds/test/component/parfor/ResultMergeTest.java       | 14 +++++++++++++-
 .../apache/sysds/test/functions/io/SeqParReadTest2.java    | 12 ++++++++++++
 .../sysds/test/functions/mlcontext/MLContextTestBase.java  |  9 +++++++++
 3 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/src/test/java/org/apache/sysds/test/component/parfor/ResultMergeTest.java b/src/test/java/org/apache/sysds/test/component/parfor/ResultMergeTest.java
index e2ca770795..a594cbb31d 100644
--- a/src/test/java/org/apache/sysds/test/component/parfor/ResultMergeTest.java
+++ b/src/test/java/org/apache/sysds/test/component/parfor/ResultMergeTest.java
@@ -21,6 +21,8 @@ package org.apache.sysds.test.component.parfor;
 
 import static org.junit.Assert.fail;
 
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
 import org.apache.sysds.common.Types.FileFormat;
 import org.apache.sysds.common.Types.ValueType;
 import org.apache.sysds.runtime.controlprogram.ParForProgramBlock;
@@ -43,10 +45,20 @@ public class ResultMergeTest extends AutomatedTestBase{
 	private final static String TEST_NAME = "parfor_rm";
 	private final static String TEST_DIR = "functions/parfor/";
 	private static final String TEST_CLASS_DIR = TEST_DIR + ResultMergeTest.class.getSimpleName() + "/";
+	private static final String PACKAGE = "org.apache.sysds.runtime.controlprogram.parfor";
+	private static Level _oldLevel = null;
 	
 	@Override
 	public void setUp() {
-		addTestConfiguration(TEST_NAME,new TestConfiguration(TEST_CLASS_DIR, TEST_NAME,new String[]{"C"})); 
+		addTestConfiguration(TEST_NAME,new TestConfiguration(TEST_CLASS_DIR, TEST_NAME,new String[]{"C"}));
+		_oldLevel = Logger.getLogger(PACKAGE).getLevel();
+		Logger.getLogger(PACKAGE).setLevel( Level.TRACE );
+	}
+	
+	@Override
+	public void tearDown() {
+		super.tearDown();
+		Logger.getLogger(PACKAGE).setLevel( _oldLevel );
 	}
 	
 	@Test
diff --git a/src/test/java/org/apache/sysds/test/functions/io/SeqParReadTest2.java b/src/test/java/org/apache/sysds/test/functions/io/SeqParReadTest2.java
index 7f2aedfe0f..6bdc428a90 100644
--- a/src/test/java/org/apache/sysds/test/functions/io/SeqParReadTest2.java
+++ b/src/test/java/org/apache/sysds/test/functions/io/SeqParReadTest2.java
@@ -27,6 +27,8 @@ import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
 import org.apache.sysds.common.Types.FileFormat;
 import org.apache.sysds.common.Types.ValueType;
 import org.apache.sysds.runtime.frame.data.FrameBlock;
@@ -85,6 +87,8 @@ public class SeqParReadTest2 extends AutomatedTestBase {
 	private final static String TEST_NAME = "SeqParReadTest";
 	private final static String TEST_DIR = "functions/io/";
 	private final static String TEST_CLASS_DIR = TEST_DIR + SeqParReadTest2.class.getSimpleName() + "/";
+	private static final String PACKAGE = "org.apache.sysds.runtime.io";
+	private static Level _oldLevel = null;
 	
 	private final static int rows = 1200;
 	private final static int cols = 300;
@@ -107,6 +111,8 @@ public class SeqParReadTest2 extends AutomatedTestBase {
 		TestUtils.clearAssertionInformation();
 		addTestConfiguration(TEST_NAME, 
 			new TestConfiguration(TEST_CLASS_DIR, TEST_NAME, new String[] { "Rout" }) ); 
+		_oldLevel = Logger.getLogger(PACKAGE).getLevel();
+		Logger.getLogger(PACKAGE).setLevel( Level.TRACE );
 	}
 	
 	@Parameters
@@ -157,6 +163,12 @@ public class SeqParReadTest2 extends AutomatedTestBase {
 		return Arrays.asList(data);
 	}
 	
+	@Override
+	public void tearDown() {
+		super.tearDown();
+		Logger.getLogger(PACKAGE).setLevel( _oldLevel );
+	}
+	
 	@Test
 	public void textWriteRead() {
 		getAndLoadTestConfiguration(TEST_NAME);
diff --git a/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextTestBase.java b/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextTestBase.java
index a5136cc601..6b5df523f5 100644
--- a/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextTestBase.java
+++ b/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextTestBase.java
@@ -26,6 +26,8 @@ import java.io.PrintStream;
 
 import org.apache.commons.lang3.tuple.ImmutablePair;
 import org.apache.commons.lang3.tuple.Pair;
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
 import org.apache.spark.api.java.JavaSparkContext;
 import org.apache.spark.sql.SparkSession;
 import org.apache.sysds.api.mlcontext.MLContext;
@@ -63,6 +65,7 @@ public abstract class MLContextTestBase extends AutomatedTestBase {
 
 	protected String testDir = null;
 	protected String testName = null;
+	protected Level _oldLevel = null;
 
 	@Override
 	public void setUp() {
@@ -72,6 +75,11 @@ public abstract class MLContextTestBase extends AutomatedTestBase {
 
 		addTestConfiguration(dir, name);
 		getAndLoadTestConfiguration(name);
+		
+		//run all mlcontext tests in loglevel trace to improve test coverage
+		//of all logging in various components
+		_oldLevel = Logger.getLogger("org.apache.sysds").getLevel();
+		Logger.getLogger("org.apache.sysds").setLevel( Level.TRACE );
 	}
 
 	@BeforeClass
@@ -85,6 +93,7 @@ public abstract class MLContextTestBase extends AutomatedTestBase {
 	@Override
 	public void tearDown() {
 		super.tearDown();
+		Logger.getLogger("org.apache.sysds").setLevel( _oldLevel );
 	}
 
 	@AfterClass