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

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


The following commit(s) were added to refs/heads/master by this push:
     new 592c44b  [MINOR] Cleanup codegen algorithm tests (config setup 
redundancy)
592c44b is described below

commit 592c44b7325e36b45e51f8510d352c05a0156b42
Author: Matthias Boehm <[email protected]>
AuthorDate: Sat Apr 25 23:07:46 2020 +0200

    [MINOR] Cleanup codegen algorithm tests (config setup redundancy)
---
 .../org/apache/sysds/test/AutomatedTestBase.java   |  24 ++++
 .../codegenalg/partone/AlgorithmAutoEncoder.java   |  68 ++++-----
 .../codegenalg/partone/AlgorithmKMeans.java        | 124 +++++++---------
 .../codegenalg/partone/AlgorithmL2SVM.java         |  60 +++-----
 .../codegenalg/partone/AlgorithmLinregCG.java      | 123 +++++++---------
 .../codegenalg/partone/AlgorithmMDABivar.java      |  33 +----
 .../codegenalg/partone/AlgorithmMLogreg.java       | 156 +++++++++------------
 .../codegenalg/partone/AlgorithmMSVM.java          |  72 ++++------
 .../functions/codegenalg/partone/AlgorithmPCA.java |  58 +++-----
 .../codegenalg/parttwo/AlgorithmARIMA.java         |  32 +----
 .../codegenalg/parttwo/AlgorithmDatagen.java       |  92 +++++-------
 .../functions/codegenalg/parttwo/AlgorithmGLM.java | 112 ++++++---------
 .../codegenalg/parttwo/AlgorithmPNMF.java          |  40 ++----
 .../codegenalg/parttwo/AlgorithmPageRank.java      |  51 +++----
 .../parttwo/AlgorithmStepwiseRegression.java       |  60 +++-----
 15 files changed, 427 insertions(+), 678 deletions(-)

diff --git a/src/test/java/org/apache/sysds/test/AutomatedTestBase.java 
b/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
index 5217d0c..6d1b396 100644
--- a/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
+++ b/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
@@ -116,6 +116,23 @@ public abstract class AutomatedTestBase {
         */
        private static final File CONFIG_TEMPLATE_FILE = new File(CONFIG_DIR, 
"SystemDS-config.xml");
 
+       protected enum CodegenTestType {
+               DEFAULT, FUSE_ALL, FUSE_NO_REDUNDANCY;
+               
+               public String getCodgenConfig() {
+                       switch(this) {
+                               case DEFAULT:
+                                       return "SystemDS-config-codegen.xml";
+                               case FUSE_ALL:
+                                       return 
"SystemDS-config-codegen-fuse-all.xml";
+                               case FUSE_NO_REDUNDANCY:
+                                       return 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
+                               default: 
+                                       throw new RuntimeException("Unsupported 
codegen test config: "+this.name());
+                       }
+               }
+       }
+       
        /**
         * Location under which we create local temporary directories for test 
cases. To adjust where testTemp is located,
         * use -Dsystemds.testTemp.root.dir=<new location>. This is necessary 
if any parent directories are
@@ -289,6 +306,13 @@ public abstract class AutomatedTestBase {
                return CONFIG_TEMPLATE_FILE;
        }
 
+       protected File getCodegenConfigFile(String parent, CodegenTestType 
type) {
+               // Instrumentation in this test's output log to show custom 
configuration file used for template.
+               File tmp = new File(parent, type.getCodgenConfig());
+               System.out.println("This test case overrides default 
configuration with " + tmp.getPath());
+               return tmp;
+       }
+       
        protected ExecMode setExecMode(ExecType instType) {
                switch(instType) {
                        case SPARK: return setExecMode(ExecMode.SPARK);
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmAutoEncoder.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmAutoEncoder.java
index 6fef59a..90d7ff8 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmAutoEncoder.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmAutoEncoder.java
@@ -36,15 +36,6 @@ public class AlgorithmAutoEncoder extends AutomatedTestBase
        private final static String TEST_NAME1 = "Algorithm_AutoEncoder";
        private final static String TEST_DIR = "functions/codegenalg/";
        private final static String TEST_CLASS_DIR = TEST_DIR + 
AlgorithmAutoEncoder.class.getSimpleName() + "/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + TEST_DIR,
-                       TEST_CONF_FUSE_NO_REDUNDANCY);
-
-       private enum TestType { DEFAULT,FUSE_ALL,FUSE_NO_REDUNDANCY }
        
        private final static int rows = 2468;
        private final static int cols = 784;
@@ -56,7 +47,7 @@ public class AlgorithmAutoEncoder extends AutomatedTestBase
        private final static int H2 = 2;
        private final static double epochs = 2; 
        
-       private TestType currentTestType = TestType.DEFAULT;
+       private CodegenTestType currentTestType = CodegenTestType.DEFAULT;
        
        @Override
        public void setUp() {
@@ -69,105 +60,105 @@ public class AlgorithmAutoEncoder extends 
AutomatedTestBase
 
        @Test
        public void testAutoEncoder256DenseCP() {
-               runAutoEncoderTest(256, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runAutoEncoderTest(256, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testAutoEncoder256DenseRewritesCP() {
-               runAutoEncoderTest(256, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runAutoEncoderTest(256, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testAutoEncoder256SparseCP() {
-               runAutoEncoderTest(256, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runAutoEncoderTest(256, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testAutoEncoder256SparseRewritesCP() {
-               runAutoEncoderTest(256, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runAutoEncoderTest(256, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testAutoEncoder512DenseCP() {
-               runAutoEncoderTest(512, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runAutoEncoderTest(512, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testAutoEncoder512DenseRewritesCP() {
-               runAutoEncoderTest(512, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runAutoEncoderTest(512, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testAutoEncoder512SparseCP() {
-               runAutoEncoderTest(512, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runAutoEncoderTest(512, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testAutoEncoder512SparseRewritesCP() {
-               runAutoEncoderTest(512, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runAutoEncoderTest(512, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testAutoEncoder256DenseRewritesSpark() {
-               runAutoEncoderTest(256, false, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runAutoEncoderTest(256, false, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testAutoEncoder256SparseRewritesSpark() {
-               runAutoEncoderTest(256, true, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runAutoEncoderTest(256, true, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testAutoEncoder512DenseRewritesSpark() {
-               runAutoEncoderTest(512, false, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runAutoEncoderTest(512, false, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testAutoEncoder512SparseRewritesSpark() {
-               runAutoEncoderTest(512, true, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runAutoEncoderTest(512, true, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testAutoEncoder512DenseRewritesCPFuseAll() {
-               runAutoEncoderTest(512, false, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runAutoEncoderTest(512, false, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testAutoEncoder512SparseRewritesCPFuseAll() {
-               runAutoEncoderTest(512, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runAutoEncoderTest(512, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testAutoEncoder512DenseRewritesSparkFuseAll() {
-               runAutoEncoderTest(512, false, true, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runAutoEncoderTest(512, false, true, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testAutoEncoder512SparseRewritesSparkFuseAll() {
-               runAutoEncoderTest(512, true, true, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runAutoEncoderTest(512, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testAutoEncoder512DenseRewritesCPFuseNoRedundancy() {
-               runAutoEncoderTest(512, false, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runAutoEncoderTest(512, false, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testAutoEncoder512SparseRewritesCPFuseNoRedundancy() {
-               runAutoEncoderTest(512, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runAutoEncoderTest(512, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testAutoEncoder512DenseRewritesSparkFuseNoRedundancy() {
-               runAutoEncoderTest(512, false, true, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runAutoEncoderTest(512, false, true, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testAutoEncoder512SparseRewritesSparkFuseNoRedundancy() {
-               runAutoEncoderTest(512, true, true, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runAutoEncoderTest(512, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
-       private void runAutoEncoderTest(int batchsize, boolean sparse, boolean 
rewrites, ExecType instType, TestType testType)
+       private void runAutoEncoderTest(int batchsize, boolean sparse, boolean 
rewrites, ExecType instType, CodegenTestType CodegenTestType)
        {
                boolean oldFlag = OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION;
                ExecMode platformOld = rtplatform;
@@ -176,7 +167,7 @@ public class AlgorithmAutoEncoder extends AutomatedTestBase
                        default: rtplatform = ExecMode.HYBRID; break;
                }
 
-               currentTestType = testType;
+               currentTestType = CodegenTestType;
 
                boolean sparkConfigOld = DMLScript.USE_LOCAL_SPARK_CONFIG;
                if( rtplatform == ExecMode.SPARK || rtplatform == 
ExecMode.HYBRID )
@@ -223,17 +214,6 @@ public class AlgorithmAutoEncoder extends AutomatedTestBase
         */
        @Override
        protected File getConfigTemplateFile() {
-               // Instrumentation in this test's output log to show custom 
configuration file used for template.
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + TEST_DIR, 
currentTestType);
        }
 }
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmKMeans.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmKMeans.java
index f8e435d..6c8b7b8 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmKMeans.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmKMeans.java
@@ -36,15 +36,6 @@ public class AlgorithmKMeans extends AutomatedTestBase
        private final static String TEST_NAME1 = "Algorithm_KMeans";
        private final static String TEST_DIR = "functions/codegenalg/";
        private final static String TEST_CLASS_DIR = TEST_DIR + 
AlgorithmKMeans.class.getSimpleName() + "/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + TEST_DIR,
-                       TEST_CONF_FUSE_NO_REDUNDANCY);
-
-       private enum TestType { DEFAULT,FUSE_ALL,FUSE_NO_REDUNDANCY }
 
        //private final static double eps = 1e-5;
        
@@ -57,7 +48,7 @@ public class AlgorithmKMeans extends AutomatedTestBase
        private final static double epsilon = 0.000000001;
        private final static double maxiter = 10;
        
-       private TestType currentTestType = TestType.DEFAULT;
+       private CodegenTestType currentTestType = CodegenTestType.DEFAULT;
        
        @Override
        public void setUp() {
@@ -67,245 +58,245 @@ public class AlgorithmKMeans extends AutomatedTestBase
 
        @Test
        public void testKMeansDenseBinSingleRewritesCP() {
-               runKMeansTest(TEST_NAME1, true, false, 2, 1, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, true, false, 2, 1, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansSparseBinSingleRewritesCP() {
-               runKMeansTest(TEST_NAME1, true, true, 2, 1, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, true, true, 2, 1, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansDenseBinSingleCP() {
-               runKMeansTest(TEST_NAME1, false, false, 2, 1, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, false, false, 2, 1, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansSparseBinSingleCP() {
-               runKMeansTest(TEST_NAME1, false, true, 2, 1, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, false, true, 2, 1, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansDenseBinMultiRewritesCP() {
-               runKMeansTest(TEST_NAME1, true, false, 2, 10, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, true, false, 2, 10, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansSparseBinMultiRewritesCP() {
-               runKMeansTest(TEST_NAME1, true, true, 2, 10, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, true, true, 2, 10, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansDenseBinMultiCP() {
-               runKMeansTest(TEST_NAME1, false, false, 2, 10, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, false, false, 2, 10, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansSparseBinMultiCP() {
-               runKMeansTest(TEST_NAME1, false, true, 2, 10, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, false, true, 2, 10, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansDenseMulSingleRewritesCP() {
-               runKMeansTest(TEST_NAME1, true, false, 20, 1, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, true, false, 20, 1, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansSparseMulSingleRewritesCP() {
-               runKMeansTest(TEST_NAME1, true, true, 20, 1, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, true, true, 20, 1, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansDenseMulSingleCP() {
-               runKMeansTest(TEST_NAME1, false, false, 20, 1, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, false, false, 20, 1, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansSparseMulSingleCP() {
-               runKMeansTest(TEST_NAME1, false, true, 20, 1, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, false, true, 20, 1, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansDenseMulMultiRewritesCP() {
-               runKMeansTest(TEST_NAME1, true, false, 20, 10, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, true, false, 20, 10, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansSparseMulMultiRewritesCP() {
-               runKMeansTest(TEST_NAME1, true, true, 20, 10, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, true, true, 20, 10, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansDenseMulMultiCP() {
-               runKMeansTest(TEST_NAME1, false, false, 20, 10, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, false, false, 20, 10, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testKMeansSparseMulMultiCP() {
-               runKMeansTest(TEST_NAME1, false, true, 20, 10, ExecType.CP, 
TestType.DEFAULT);
+               runKMeansTest(TEST_NAME1, false, true, 20, 10, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testKMeansDenseBinSingleRewritesCPFuseAll() {
-               runKMeansTest(TEST_NAME1, true, false, 2, 1, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, true, false, 2, 1, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansSparseBinSingleRewritesCPFuseAll() {
-               runKMeansTest(TEST_NAME1, true, true, 2, 1, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, true, true, 2, 1, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansDenseBinSingleCPFuseAll() {
-               runKMeansTest(TEST_NAME1, false, false, 2, 1, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, false, false, 2, 1, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansSparseBinSingleCPFuseAll() {
-               runKMeansTest(TEST_NAME1, false, true, 2, 1, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, false, true, 2, 1, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansDenseBinMultiRewritesCPFuseAll() {
-               runKMeansTest(TEST_NAME1, true, false, 2, 10, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, true, false, 2, 10, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansSparseBinMultiRewritesCPFuseAll() {
-               runKMeansTest(TEST_NAME1, true, true, 2, 10, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, true, true, 2, 10, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansDenseBinMultiCPFuseAll() {
-               runKMeansTest(TEST_NAME1, false, false, 2, 10, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, false, false, 2, 10, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansSparseBinMultiCPFuseAll() {
-               runKMeansTest(TEST_NAME1, false, true, 2, 10, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, false, true, 2, 10, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansDenseMulSingleRewritesCPFuseAll() {
-               runKMeansTest(TEST_NAME1, true, false, 20, 1, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, true, false, 20, 1, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansSparseMulSingleRewritesCPFuseAll() {
-               runKMeansTest(TEST_NAME1, true, true, 20, 1, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, true, true, 20, 1, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansDenseMulSingleCPFuseAll() {
-               runKMeansTest(TEST_NAME1, false, false, 20, 1, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, false, false, 20, 1, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansSparseMulSingleCPFuseAll() {
-               runKMeansTest(TEST_NAME1, false, true, 20, 1, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, false, true, 20, 1, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansDenseMulMultiRewritesCPFuseAll() {
-               runKMeansTest(TEST_NAME1, true, false, 20, 10, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, true, false, 20, 10, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansSparseMulMultiRewritesCPFuseAll() {
-               runKMeansTest(TEST_NAME1, true, true, 20, 10, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, true, true, 20, 10, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansDenseMulMultiCPFuseAll() {
-               runKMeansTest(TEST_NAME1, false, false, 20, 10, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, false, false, 20, 10, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansSparseMulMultiCPFuseAll() {
-               runKMeansTest(TEST_NAME1, false, true, 20, 10, ExecType.CP, 
TestType.FUSE_ALL);
+               runKMeansTest(TEST_NAME1, false, true, 20, 10, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testKMeansDenseBinSingleRewritesCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, true, false, 2, 1, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, true, false, 2, 1, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansSparseBinSingleRewritesCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, true, true, 2, 1, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, true, true, 2, 1, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansDenseBinSingleCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, false, false, 2, 1, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, false, false, 2, 1, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansSparseBinSingleCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, false, true, 2, 1, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, false, true, 2, 1, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansDenseBinMultiRewritesCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, true, false, 2, 10, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, true, false, 2, 10, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansSparseBinMultiRewritesCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, true, true, 2, 10, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, true, true, 2, 10, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansDenseBinMultiCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, false, false, 2, 10, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, false, false, 2, 10, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansSparseBinMultiCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, false, true, 2, 10, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, false, true, 2, 10, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansDenseMulSingleRewritesCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, true, false, 20, 1, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, true, false, 20, 1, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansSparseMulSingleRewritesCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, true, true, 20, 1, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, true, true, 20, 1, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansDenseMulSingleCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, false, false, 20, 1, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, false, false, 20, 1, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansSparseMulSingleCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, false, true, 20, 1, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, false, true, 20, 1, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansDenseMulMultiRewritesCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, true, false, 20, 10, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, true, false, 20, 10, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansSparseMulMultiRewritesCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, true, true, 20, 10, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, true, true, 20, 10, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansDenseMulMultiCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, false, false, 20, 10, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, false, false, 20, 10, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testKMeansSparseMulMultiCPFuseNoRedundancy() {
-               runKMeansTest(TEST_NAME1, false, true, 20, 10, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runKMeansTest(TEST_NAME1, false, true, 20, 10, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
        
-       private void runKMeansTest( String testname, boolean rewrites, boolean 
sparse, int centroids, int runs, ExecType instType, TestType testType)
+       private void runKMeansTest( String testname, boolean rewrites, boolean 
sparse, int centroids, int runs, ExecType instType, CodegenTestType 
CodegenTestType)
        {
                boolean oldFlag = OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION;
                ExecMode platformOld = rtplatform;
@@ -313,7 +304,7 @@ public class AlgorithmKMeans extends AutomatedTestBase
                        case SPARK: rtplatform = ExecMode.SPARK; break;
                        default: rtplatform = ExecMode.HYBRID; break;
                }
-               currentTestType = testType;
+               currentTestType = CodegenTestType;
                boolean sparkConfigOld = DMLScript.USE_LOCAL_SPARK_CONFIG;
                if( rtplatform == ExecMode.SPARK || rtplatform == 
ExecMode.HYBRID )
                        DMLScript.USE_LOCAL_SPARK_CONFIG = true;
@@ -358,17 +349,6 @@ public class AlgorithmKMeans extends AutomatedTestBase
         */
        @Override
        protected File getConfigTemplateFile() {
-               // Instrumentation in this test's output log to show custom 
configuration file used for template.
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + TEST_DIR, 
currentTestType);
        }
 }
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmL2SVM.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmL2SVM.java
index 59416b9..053741b 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmL2SVM.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmL2SVM.java
@@ -38,15 +38,6 @@ public class AlgorithmL2SVM extends AutomatedTestBase
        private final static String TEST_NAME1 = "Algorithm_L2SVM";
        private final static String TEST_DIR = "functions/codegenalg/";
        private final static String TEST_CLASS_DIR = TEST_DIR + 
AlgorithmL2SVM.class.getSimpleName() + "/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + TEST_DIR,
-                       TEST_CONF_FUSE_NO_REDUNDANCY);
-
-       private enum TestType { DEFAULT,FUSE_ALL,FUSE_NO_REDUNDANCY }
        
        private final static double eps = 1e-5;
        
@@ -61,7 +52,7 @@ public class AlgorithmL2SVM extends AutomatedTestBase
        private final static double epsilon = 0.000000001;
        private final static double maxiter = 10;
        
-       private TestType currentTestType = TestType.DEFAULT;
+       private CodegenTestType currentTestType = CodegenTestType.DEFAULT;
        
        @Override
        public void setUp() {
@@ -71,85 +62,85 @@ public class AlgorithmL2SVM extends AutomatedTestBase
 
        @Test
        public void testL2SVMDenseRewritesCP() {
-               runL2SVMTest(TEST_NAME1, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runL2SVMTest(TEST_NAME1, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testL2SVMSparseRewritesCP() {
-               runL2SVMTest(TEST_NAME1, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runL2SVMTest(TEST_NAME1, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testL2SVMDenseCP() {
-               runL2SVMTest(TEST_NAME1, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runL2SVMTest(TEST_NAME1, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testL2SVMSparseCP() {
-               runL2SVMTest(TEST_NAME1, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runL2SVMTest(TEST_NAME1, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testL2SVMDenseRewritesSP() {
-               runL2SVMTest(TEST_NAME1, true, false, ExecType.SPARK, 
TestType.DEFAULT);
+               runL2SVMTest(TEST_NAME1, true, false, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testL2SVMSparseRewritesSP() {
-               runL2SVMTest(TEST_NAME1, true, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runL2SVMTest(TEST_NAME1, true, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testL2SVMDenseSP() {
-               runL2SVMTest(TEST_NAME1, false, false, ExecType.SPARK, 
TestType.DEFAULT);
+               runL2SVMTest(TEST_NAME1, false, false, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testL2SVMSparseSP() {
-               runL2SVMTest(TEST_NAME1, false, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runL2SVMTest(TEST_NAME1, false, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testL2SVMDenseRewritesCPFuseAll() {
-               runL2SVMTest(TEST_NAME1, true, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runL2SVMTest(TEST_NAME1, true, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testL2SVMSparseRewritesCPFuseAll() {
-               runL2SVMTest(TEST_NAME1, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runL2SVMTest(TEST_NAME1, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testL2SVMDenseRewritesSPFuseAll() {
-               runL2SVMTest(TEST_NAME1, true, false, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runL2SVMTest(TEST_NAME1, true, false, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testL2SVMSparseRewritesSPFuseAll() {
-               runL2SVMTest(TEST_NAME1, true, true, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runL2SVMTest(TEST_NAME1, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testL2SVMDenseRewritesCPFuseNoRedundancy() {
-               runL2SVMTest(TEST_NAME1, true, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runL2SVMTest(TEST_NAME1, true, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testL2SVMSparseRewritesCPFuseNoRedundancy() {
-               runL2SVMTest(TEST_NAME1, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runL2SVMTest(TEST_NAME1, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testL2SVMDenseRewritesSPFuseNoRedundancy() {
-               runL2SVMTest(TEST_NAME1, true, false, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runL2SVMTest(TEST_NAME1, true, false, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testL2SVMSparseRewritesSPFuseNoRedundancy() {
-               runL2SVMTest(TEST_NAME1, true, true, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runL2SVMTest(TEST_NAME1, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
        
-       private void runL2SVMTest( String testname, boolean rewrites, boolean 
sparse, ExecType instType, TestType testType)
+       private void runL2SVMTest( String testname, boolean rewrites, boolean 
sparse, ExecType instType, CodegenTestType CodegenTestType)
        {
                boolean oldFlag = OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION;
                ExecMode platformOld = rtplatform;
@@ -157,7 +148,7 @@ public class AlgorithmL2SVM extends AutomatedTestBase
                        case SPARK: rtplatform = ExecMode.SPARK; break;
                        default: rtplatform = ExecMode.HYBRID; break;
                }
-               currentTestType = testType;
+               currentTestType = CodegenTestType;
        
                boolean sparkConfigOld = DMLScript.USE_LOCAL_SPARK_CONFIG;
                if( rtplatform == ExecMode.SPARK || rtplatform == 
ExecMode.HYBRID )
@@ -210,17 +201,6 @@ public class AlgorithmL2SVM extends AutomatedTestBase
         */
        @Override
        protected File getConfigTemplateFile() {
-               // Instrumentation in this test's output log to show custom 
configuration file used for template.
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + TEST_DIR, 
currentTestType);
        }
 }
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmLinregCG.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmLinregCG.java
index 60687bf..effa7ab 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmLinregCG.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmLinregCG.java
@@ -38,16 +38,8 @@ public class AlgorithmLinregCG extends AutomatedTestBase
        private final static String TEST_NAME1 = "Algorithm_LinregCG";
        private final static String TEST_DIR = "functions/codegenalg/";
        private final static String TEST_CLASS_DIR = TEST_DIR + 
AlgorithmLinregCG.class.getSimpleName() + "/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + TEST_DIR,
-                       TEST_CONF_FUSE_NO_REDUNDANCY);
 
-       private enum TestType { DEFAULT,FUSE_ALL,FUSE_NO_REDUNDANCY }
-       private static TestType currentTestType = TestType.DEFAULT;
+       private static CodegenTestType currentTestType = 
CodegenTestType.DEFAULT;
 
        private final static double eps = 1e-1;
        
@@ -68,245 +60,245 @@ public class AlgorithmLinregCG extends AutomatedTestBase
 
        @Test
        public void testLinregCG0DenseRewritesCP() {
-               runLinregCGTest(TEST_NAME1, true, false, 0, ExecType.CP, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, true, false, 0, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG0SparseRewritesCP() {
-               runLinregCGTest(TEST_NAME1, true, true, 0, ExecType.CP, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, true, true, 0, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG0DenseCP() {
-               runLinregCGTest(TEST_NAME1, false, false, 0, ExecType.CP, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, false, false, 0, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG0SparseCP() {
-               runLinregCGTest(TEST_NAME1, false, true, 0, ExecType.CP, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, false, true, 0, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testLinregCG0DenseRewritesSP() {
-               runLinregCGTest(TEST_NAME1, true, false, 0, ExecType.SPARK, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, true, false, 0, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG0SparseRewritesSP() {
-               runLinregCGTest(TEST_NAME1, true, true, 0, ExecType.SPARK, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, true, true, 0, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG0DenseSP() {
-               runLinregCGTest(TEST_NAME1, false, false, 0, ExecType.SPARK, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, false, false, 0, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG0SparseSP() {
-               runLinregCGTest(TEST_NAME1, false, true, 0, ExecType.SPARK, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, false, true, 0, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG1DenseRewritesCP() {
-               runLinregCGTest(TEST_NAME1, true, false, 1, ExecType.CP, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, true, false, 1, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG1SparseRewritesCP() {
-               runLinregCGTest(TEST_NAME1, true, true, 1, ExecType.CP, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, true, true, 1, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG1DenseCP() {
-               runLinregCGTest(TEST_NAME1, false, false, 1, ExecType.CP, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, false, false, 1, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG1SparseCP() {
-               runLinregCGTest(TEST_NAME1, false, true, 1, ExecType.CP, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, false, true, 1, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testLinregCG1DenseRewritesSP() {
-               runLinregCGTest(TEST_NAME1, true, false, 1, ExecType.SPARK, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, true, false, 1, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG1SparseRewritesSP() {
-               runLinregCGTest(TEST_NAME1, true, true, 1, ExecType.SPARK, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, true, true, 1, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG1DenseSP() {
-               runLinregCGTest(TEST_NAME1, false, false, 1, ExecType.SPARK, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, false, false, 1, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG1SparseSP() {
-               runLinregCGTest(TEST_NAME1, false, true, 1, ExecType.SPARK, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, false, true, 1, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG2DenseRewritesCP() {
-               runLinregCGTest(TEST_NAME1, true, false, 2, ExecType.CP, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, true, false, 2, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG2SparseRewritesCP() {
-               runLinregCGTest(TEST_NAME1, true, true, 2, ExecType.CP, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, true, true, 2, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG2DenseCP() {
-               runLinregCGTest(TEST_NAME1, false, false, 2, ExecType.CP, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, false, false, 2, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG2SparseCP() {
-               runLinregCGTest(TEST_NAME1, false, true, 2, ExecType.CP, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, false, true, 2, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testLinregCG2DenseRewritesSP() {
-               runLinregCGTest(TEST_NAME1, true, false, 2, ExecType.SPARK, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, true, false, 2, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG2SparseRewritesSP() {
-               runLinregCGTest(TEST_NAME1, true, true, 2, ExecType.SPARK, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, true, true, 2, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG2DenseSP() {
-               runLinregCGTest(TEST_NAME1, false, false, 2, ExecType.SPARK, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, false, false, 2, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testLinregCG2SparseSP() {
-               runLinregCGTest(TEST_NAME1, false, true, 2, ExecType.SPARK, 
TestType.DEFAULT);
+               runLinregCGTest(TEST_NAME1, false, true, 2, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testLinregCG0DenseRewritesCPFuseAll() {
-               runLinregCGTest(TEST_NAME1, true, false, 0, ExecType.CP, 
TestType.FUSE_ALL);
+               runLinregCGTest(TEST_NAME1, true, false, 0, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testLinregCG0SparseRewritesCPFuseAll() {
-               runLinregCGTest(TEST_NAME1, true, true, 0, ExecType.CP, 
TestType.FUSE_ALL);
+               runLinregCGTest(TEST_NAME1, true, true, 0, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testLinregCG0DenseRewritesSPFuseAll() {
-               runLinregCGTest(TEST_NAME1, true, false, 0, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runLinregCGTest(TEST_NAME1, true, false, 0, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testLinregCG0SparseRewritesSPFuseAll() {
-               runLinregCGTest(TEST_NAME1, true, true, 0, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runLinregCGTest(TEST_NAME1, true, true, 0, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testLinregCG1DenseRewritesCPFuseAll() {
-               runLinregCGTest(TEST_NAME1, true, false, 1, ExecType.CP, 
TestType.FUSE_ALL);
+               runLinregCGTest(TEST_NAME1, true, false, 1, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testLinregCG1SparseRewritesCPFuseAll() {
-               runLinregCGTest(TEST_NAME1, true, true, 1, ExecType.CP, 
TestType.FUSE_ALL);
+               runLinregCGTest(TEST_NAME1, true, true, 1, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testLinregCG1DenseRewritesSPFuseAll() {
-               runLinregCGTest(TEST_NAME1, true, false, 1, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runLinregCGTest(TEST_NAME1, true, false, 1, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testLinregCG1SparseRewritesSPFuseAll() {
-               runLinregCGTest(TEST_NAME1, true, true, 1, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runLinregCGTest(TEST_NAME1, true, true, 1, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testLinregCG2DenseRewritesCPFuseAll() {
-               runLinregCGTest(TEST_NAME1, true, false, 2, ExecType.CP, 
TestType.FUSE_ALL);
+               runLinregCGTest(TEST_NAME1, true, false, 2, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testLinregCG2SparseRewritesCPFuseAll() {
-               runLinregCGTest(TEST_NAME1, true, true, 2, ExecType.CP, 
TestType.FUSE_ALL);
+               runLinregCGTest(TEST_NAME1, true, true, 2, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testLinregCG2DenseRewritesSPFuseAll() {
-               runLinregCGTest(TEST_NAME1, true, false, 2, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runLinregCGTest(TEST_NAME1, true, false, 2, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testLinregCG2SparseRewritesSPFuseAll() {
-               runLinregCGTest(TEST_NAME1, true, true, 2, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runLinregCGTest(TEST_NAME1, true, true, 2, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testLinregCG0DenseRewritesCPFuseNoRedundancy() {
-               runLinregCGTest(TEST_NAME1, true, false, 0, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runLinregCGTest(TEST_NAME1, true, false, 0, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testLinregCG0SparseRewritesCPFuseNoRedundancy() {
-               runLinregCGTest(TEST_NAME1, true, true, 0, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runLinregCGTest(TEST_NAME1, true, true, 0, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testLinregCG0DenseRewritesSPFuseNoRedundancy() {
-               runLinregCGTest(TEST_NAME1, true, false, 0, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runLinregCGTest(TEST_NAME1, true, false, 0, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testLinregCG0SparseRewritesSPFuseNoRedundancy() {
-               runLinregCGTest(TEST_NAME1, true, true, 0, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runLinregCGTest(TEST_NAME1, true, true, 0, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testLinregCG1DenseRewritesCPFuseNoRedundancy() {
-               runLinregCGTest(TEST_NAME1, true, false, 1, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runLinregCGTest(TEST_NAME1, true, false, 1, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testLinregCG1SparseRewritesCPFuseNoRedundancy() {
-               runLinregCGTest(TEST_NAME1, true, true, 1, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runLinregCGTest(TEST_NAME1, true, true, 1, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testLinregCG1DenseRewritesSPFuseNoRedundancy() {
-               runLinregCGTest(TEST_NAME1, true, false, 1, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runLinregCGTest(TEST_NAME1, true, false, 1, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testLinregCG1SparseRewritesSPFuseNoRedundancy() {
-               runLinregCGTest(TEST_NAME1, true, true, 1, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runLinregCGTest(TEST_NAME1, true, true, 1, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testLinregCG2DenseRewritesCPFuseNoRedundancy() {
-               runLinregCGTest(TEST_NAME1, true, false, 2, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runLinregCGTest(TEST_NAME1, true, false, 2, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testLinregCG2SparseRewritesCPFuseNoRedundancy() {
-               runLinregCGTest(TEST_NAME1, true, true, 2, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runLinregCGTest(TEST_NAME1, true, true, 2, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testLinregCG2DenseRewritesSPFuseNoRedundancy() {
-               runLinregCGTest(TEST_NAME1, true, false, 2, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runLinregCGTest(TEST_NAME1, true, false, 2, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testLinregCG2SparseRewritesSPFuseNoRedundancy() {
-               runLinregCGTest(TEST_NAME1, true, true, 2, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runLinregCGTest(TEST_NAME1, true, true, 2, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
-       private void runLinregCGTest( String testname, boolean rewrites, 
boolean sparse, int intercept, ExecType instType, TestType testType)
+       private void runLinregCGTest( String testname, boolean rewrites, 
boolean sparse, int intercept, ExecType instType, CodegenTestType 
CodegenTestType)
        {
                boolean oldFlag = OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION;
                ExecMode platformOld = rtplatform;
@@ -314,7 +306,7 @@ public class AlgorithmLinregCG extends AutomatedTestBase
                        case SPARK: rtplatform = ExecMode.SPARK; break;
                        default: rtplatform = ExecMode.HYBRID; break;
                }
-               currentTestType = testType;
+               currentTestType = CodegenTestType;
                boolean sparkConfigOld = DMLScript.USE_LOCAL_SPARK_CONFIG;
                if( rtplatform == ExecMode.SPARK || rtplatform == 
ExecMode.HYBRID )
                        DMLScript.USE_LOCAL_SPARK_CONFIG = true;
@@ -366,17 +358,6 @@ public class AlgorithmLinregCG extends AutomatedTestBase
         */
        @Override
        protected File getConfigTemplateFile() {
-               // Instrumentation in this test's output log to show custom 
configuration file used for template.
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + TEST_DIR, 
currentTestType);
        }
 }
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmMDABivar.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmMDABivar.java
index 55c84df..3ec2c22 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmMDABivar.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmMDABivar.java
@@ -31,17 +31,8 @@ import java.io.File;
 public class AlgorithmMDABivar extends MDABivariateStatsTest 
 {
        private final static String LOCAL_TEST_DIR = "functions/codegenalg/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ LOCAL_TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ LOCAL_TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + LOCAL_TEST_DIR,
-                       TEST_CONF_FUSE_NO_REDUNDANCY);
 
-       private enum TestType { DEFAULT,FUSE_ALL,FUSE_NO_REDUNDANCY }
-
-       private TestType currentTestType = TestType.DEFAULT;
+       private CodegenTestType currentTestType = CodegenTestType.DEFAULT;
        
        public AlgorithmMDABivar(int n, int m, int li, int lml) {
                super(n, m, li, lml);
@@ -50,36 +41,26 @@ public class AlgorithmMDABivar extends MDABivariateStatsTest
        
        @Test
        public void testMDABivariateStatsDml() {
-               testMDABivariateStats(TestType.DEFAULT);
+               testMDABivariateStats(CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testMDABivariateStatsDmlFuseAll() {
-               testMDABivariateStats(TestType.FUSE_ALL);
+               testMDABivariateStats(CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMDABivariateStatsDmlFuseNoRedundancy() {
-               testMDABivariateStats(TestType.FUSE_NO_REDUNDANCY);
+               testMDABivariateStats(CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
-       private void testMDABivariateStats(TestType testType) {
-               currentTestType = testType;
+       private void testMDABivariateStats(CodegenTestType CodegenTestType) {
+               currentTestType = CodegenTestType;
                testMDABivariateStats();
        }
        
        @Override
        protected File getConfigTemplateFile() {
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + LOCAL_TEST_DIR, 
currentTestType);
        }
 }
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmMLogreg.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmMLogreg.java
index ed635ad..7a348d9 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmMLogreg.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmMLogreg.java
@@ -38,15 +38,6 @@ public class AlgorithmMLogreg extends AutomatedTestBase
        private final static String TEST_NAME1 = "Algorithm_MLogreg";
        private final static String TEST_DIR = "functions/codegenalg/";
        private final static String TEST_CLASS_DIR = TEST_DIR + 
AlgorithmMLogreg.class.getSimpleName() + "/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + TEST_DIR,
-                       TEST_CONF_FUSE_NO_REDUNDANCY);
-
-       private enum TestType { DEFAULT,FUSE_ALL,FUSE_NO_REDUNDANCY }
 
        private final static double eps = 1e-5;
        
@@ -59,7 +50,7 @@ public class AlgorithmMLogreg extends AutomatedTestBase
        private final static double epsilon = 0.000000001;
        private final static double maxiter = 10;
        
-       private TestType currentTestType = TestType.DEFAULT;
+       private CodegenTestType currentTestType = CodegenTestType.DEFAULT;
        
        
        @Override
@@ -70,325 +61,325 @@ public class AlgorithmMLogreg extends AutomatedTestBase
 
        @Test
        public void testMlogregBin0DenseRewritesCP() {
-               runMlogregTest(TEST_NAME1, 2, 0, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 0, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregBin0SparseRewritesCP() {
-               runMlogregTest(TEST_NAME1, 2, 0, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 0, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregBin0DenseCP() {
-               runMlogregTest(TEST_NAME1, 2, 0, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 0, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregBin0SparseCP() {
-               runMlogregTest(TEST_NAME1, 2, 0, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 0, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul0DenseRewritesCP() {
-               runMlogregTest(TEST_NAME1, 5, 0, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 0, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul0SparseRewritesCP() {
-               runMlogregTest(TEST_NAME1, 5, 0, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 0, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul0DenseCP() {
-               runMlogregTest(TEST_NAME1, 5, 0, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 0, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul0SparseCP() {
-               runMlogregTest(TEST_NAME1, 5, 0, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 0, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testMlogregBin0DenseRewritesSP() {
-               runMlogregTest(TEST_NAME1, 2, 0, true, false, ExecType.SPARK, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 0, true, false, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregBin0SparseRewritesSP() {
-               runMlogregTest(TEST_NAME1, 2, 0, true, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 0, true, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregBin0DenseSP() {
-               runMlogregTest(TEST_NAME1, 2, 0, false, false, ExecType.SPARK, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 0, false, false, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregBin0SparseSP() {
-               runMlogregTest(TEST_NAME1, 2, 0, false, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 0, false, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul0DenseRewritesSP() {
-               runMlogregTest(TEST_NAME1, 5, 0, true, false, ExecType.SPARK, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 0, true, false, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul0SparseRewritesSP() {
-               runMlogregTest(TEST_NAME1, 5, 0, true, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 0, true, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul0DenseSP() {
-               runMlogregTest(TEST_NAME1, 5, 0, false, false, ExecType.SPARK, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 0, false, false, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul0SparseSP() {
-               runMlogregTest(TEST_NAME1, 5, 0, false, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 0, false, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregBin1DenseRewritesCP() {
-               runMlogregTest(TEST_NAME1, 2, 1, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 1, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregBin1SparseRewritesCP() {
-               runMlogregTest(TEST_NAME1, 2, 1, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 1, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregBin1DenseCP() {
-               runMlogregTest(TEST_NAME1, 2, 1, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 1, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregBin1SparseCP() {
-               runMlogregTest(TEST_NAME1, 2, 1, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 1, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul1DenseRewritesCP() {
-               runMlogregTest(TEST_NAME1, 5, 1, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 1, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul1SparseRewritesCP() {
-               runMlogregTest(TEST_NAME1, 5, 1, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 1, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul1DenseCP() {
-               runMlogregTest(TEST_NAME1, 5, 1, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 1, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul1SparseCP() {
-               runMlogregTest(TEST_NAME1, 5, 1, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 1, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testMlogregBin2DenseRewritesCP() {
-               runMlogregTest(TEST_NAME1, 2, 2, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 2, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregBin2SparseRewritesCP() {
-               runMlogregTest(TEST_NAME1, 2, 2, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 2, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregBin2DenseCP() {
-               runMlogregTest(TEST_NAME1, 2, 2, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 2, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregBin2SparseCP() {
-               runMlogregTest(TEST_NAME1, 2, 2, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 2, 2, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul2DenseRewritesCP() {
-               runMlogregTest(TEST_NAME1, 5, 2, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 2, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul2SparseRewritesCP() {
-               runMlogregTest(TEST_NAME1, 5, 2, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 2, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul2DenseCP() {
-               runMlogregTest(TEST_NAME1, 5, 2, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 2, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMlogregMul2SparseCP() {
-               runMlogregTest(TEST_NAME1, 5, 2, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runMlogregTest(TEST_NAME1, 5, 2, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testMlogregBin0DenseRewritesCPFuseAll() {
-               runMlogregTest(TEST_NAME1, 2, 0, true, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 2, 0, true, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregBin0SparseRewritesCPFuseAll() {
-               runMlogregTest(TEST_NAME1, 2, 0, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 2, 0, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregMul0DenseRewritesCPFuseAll() {
-               runMlogregTest(TEST_NAME1, 5, 0, true, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 5, 0, true, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregMul0SparseRewritesCPFuseAll() {
-               runMlogregTest(TEST_NAME1, 5, 0, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 5, 0, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregBin0DenseRewritesSPFuseAll() {
-               runMlogregTest(TEST_NAME1, 2, 0, true, false, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 2, 0, true, false, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregBin0SparseRewritesSPFuseAll() {
-               runMlogregTest(TEST_NAME1, 2, 0, true, true, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 2, 0, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregMul0DenseRewritesSPFuseAll() {
-               runMlogregTest(TEST_NAME1, 5, 0, true, false, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 5, 0, true, false, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregMul0SparseRewritesSPFuseAll() {
-               runMlogregTest(TEST_NAME1, 5, 0, true, true, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 5, 0, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregBin1DenseRewritesCPFuseAll() {
-               runMlogregTest(TEST_NAME1, 2, 1, true, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 2, 1, true, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregBin1SparseRewritesCPFuseAll() {
-               runMlogregTest(TEST_NAME1, 2, 1, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 2, 1, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregMul1DenseRewritesCPFuseAll() {
-               runMlogregTest(TEST_NAME1, 5, 1, true, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 5, 1, true, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregMul1SparseRewritesCPFuseAll() {
-               runMlogregTest(TEST_NAME1, 5, 1, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 5, 1, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregBin2DenseRewritesCPFuseAll() {
-               runMlogregTest(TEST_NAME1, 2, 2, true, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 2, 2, true, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregBin2SparseRewritesCPFuseAll() {
-               runMlogregTest(TEST_NAME1, 2, 2, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 2, 2, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregMul2DenseRewritesCPFuseAll() {
-               runMlogregTest(TEST_NAME1, 5, 2, true, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 5, 2, true, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregMul2SparseRewritesCPFuseAll() {
-               runMlogregTest(TEST_NAME1, 5, 2, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runMlogregTest(TEST_NAME1, 5, 2, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMlogregBin0DenseRewritesCPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 2, 0, true, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 2, 0, true, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregBin0SparseRewritesCPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 2, 0, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 2, 0, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregMul0DenseRewritesCPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 5, 0, true, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 5, 0, true, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregMul0SparseRewritesCPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 5, 0, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 5, 0, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregBin0DenseRewritesSPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 2, 0, true, false, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 2, 0, true, false, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregBin0SparseRewritesSPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 2, 0, true, true, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 2, 0, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregMul0DenseRewritesSPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 5, 0, true, false, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 5, 0, true, false, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregMul0SparseRewritesSPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 5, 0, true, true, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 5, 0, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregBin1DenseRewritesCPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 2, 1, true, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 2, 1, true, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregBin1SparseRewritesCPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 2, 1, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 2, 1, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregMul1DenseRewritesCPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 5, 1, true, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 5, 1, true, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregMul1SparseRewritesCPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 5, 1, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 5, 1, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregBin2DenseRewritesCPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 2, 2, true, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 2, 2, true, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregBin2SparseRewritesCPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 2, 2, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 2, 2, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregMul2DenseRewritesCPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 5, 2, true, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 5, 2, true, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMlogregMul2SparseRewritesCPFuseNoRedundancy() {
-               runMlogregTest(TEST_NAME1, 5, 2, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMlogregTest(TEST_NAME1, 5, 2, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
        
-       private void runMlogregTest( String testname, int classes, int 
intercept, boolean rewrites, boolean sparse, ExecType instType, TestType 
testType)
+       private void runMlogregTest( String testname, int classes, int 
intercept, boolean rewrites, boolean sparse, ExecType instType, CodegenTestType 
CodegenTestType)
        {
                boolean oldFlag = OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION;
                ExecMode platformOld = rtplatform;
@@ -396,7 +387,7 @@ public class AlgorithmMLogreg extends AutomatedTestBase
                        case SPARK: rtplatform = ExecMode.SPARK; break;
                        default: rtplatform = ExecMode.HYBRID; break;
                }
-               currentTestType = testType;
+               currentTestType = CodegenTestType;
                boolean sparkConfigOld = DMLScript.USE_LOCAL_SPARK_CONFIG;
                if( rtplatform == ExecMode.SPARK || rtplatform == 
ExecMode.HYBRID )
                        DMLScript.USE_LOCAL_SPARK_CONFIG = true;
@@ -448,17 +439,6 @@ public class AlgorithmMLogreg extends AutomatedTestBase
         */
        @Override
        protected File getConfigTemplateFile() {
-               // Instrumentation in this test's output log to show custom 
configuration file used for template.
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + TEST_DIR, 
currentTestType);
        }
 }
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmMSVM.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmMSVM.java
index b5ad949..2085f2d 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmMSVM.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmMSVM.java
@@ -39,15 +39,6 @@ public class AlgorithmMSVM extends AutomatedTestBase
        private final static String TEST_NAME1 = "Algorithm_MSVM";
        private final static String TEST_DIR = "functions/codegenalg/";
        private final static String TEST_CLASS_DIR = TEST_DIR + 
AlgorithmMSVM.class.getSimpleName() + "/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + TEST_DIR,
-                       TEST_CONF_FUSE_NO_REDUNDANCY);
-
-       private enum TestType { DEFAULT,FUSE_ALL,FUSE_NO_REDUNDANCY }
 
        private final static double eps = 1e-5;
        
@@ -61,7 +52,7 @@ public class AlgorithmMSVM extends AutomatedTestBase
        private final static double epsilon = 0.000000001;
        private final static double maxiter = 10;
 
-       private TestType currentTestType = TestType.DEFAULT;
+       private CodegenTestType currentTestType = CodegenTestType.DEFAULT;
        
        @Override
        public void setUp() {
@@ -71,109 +62,109 @@ public class AlgorithmMSVM extends AutomatedTestBase
 
        @Test
        public void testMSVMDenseBinRewritesCP() {
-               runMSVMTest(TEST_NAME1, true, false, 2, ExecType.CP, 
TestType.DEFAULT);
+               runMSVMTest(TEST_NAME1, true, false, 2, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMSVMSparseBinRewritesCP() {
-               runMSVMTest(TEST_NAME1, true, true, 2, ExecType.CP, 
TestType.DEFAULT);
+               runMSVMTest(TEST_NAME1, true, true, 2, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMSVMDenseBinCP() {
-               runMSVMTest(TEST_NAME1, false, false, 2, ExecType.CP, 
TestType.DEFAULT);
+               runMSVMTest(TEST_NAME1, false, false, 2, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMSVMSparseBinCP() {
-               runMSVMTest(TEST_NAME1, false, true, 2, ExecType.CP, 
TestType.DEFAULT);
+               runMSVMTest(TEST_NAME1, false, true, 2, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMSVMDenseMulRewritesCP() {
-               runMSVMTest(TEST_NAME1, true, false, 4, ExecType.CP, 
TestType.DEFAULT);
+               runMSVMTest(TEST_NAME1, true, false, 4, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMSVMSparseMulRewritesCP() {
-               runMSVMTest(TEST_NAME1, true, true, 4, ExecType.CP, 
TestType.DEFAULT);
+               runMSVMTest(TEST_NAME1, true, true, 4, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMSVMDenseMulCP() {
-               runMSVMTest(TEST_NAME1, false, false, 4, ExecType.CP, 
TestType.DEFAULT);
+               runMSVMTest(TEST_NAME1, false, false, 4, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMSVMSparseMulCP() {
-               runMSVMTest(TEST_NAME1, false, true, 4, ExecType.CP, 
TestType.DEFAULT);
+               runMSVMTest(TEST_NAME1, false, true, 4, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testMSVMDenseBinRewritesCPFuseAll() {
-               runMSVMTest(TEST_NAME1, true, false, 2, ExecType.CP, 
TestType.FUSE_ALL);
+               runMSVMTest(TEST_NAME1, true, false, 2, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMSVMSparseBinRewritesCPFuseAll() {
-               runMSVMTest(TEST_NAME1, true, true, 2, ExecType.CP, 
TestType.FUSE_ALL);
+               runMSVMTest(TEST_NAME1, true, true, 2, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMSVMDenseMulRewritesCPFuseAll() {
-               runMSVMTest(TEST_NAME1, true, false, 4, ExecType.CP, 
TestType.FUSE_ALL);
+               runMSVMTest(TEST_NAME1, true, false, 4, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMSVMSparseMulRewritesCPFuseAll() {
-               runMSVMTest(TEST_NAME1, true, true, 4, ExecType.CP, 
TestType.FUSE_ALL);
+               runMSVMTest(TEST_NAME1, true, true, 4, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testMSVMDenseBinRewritesCPFuseNoRedundancy() {
-               runMSVMTest(TEST_NAME1, true, false, 2, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMSVMTest(TEST_NAME1, true, false, 2, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMSVMSparseBinRewritesCPFuseNoRedundancy() {
-               runMSVMTest(TEST_NAME1, true, true, 2, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMSVMTest(TEST_NAME1, true, true, 2, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMSVMDenseMulRewritesCPFuseNoRedundancy() {
-               runMSVMTest(TEST_NAME1, true, false, 4, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMSVMTest(TEST_NAME1, true, false, 4, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testMSVMSparseMulRewritesCPFuseNoRedundancy() {
-               runMSVMTest(TEST_NAME1, true, true, 4, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runMSVMTest(TEST_NAME1, true, true, 4, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
-       private void runMSVMTest( String testname, boolean rewrites, boolean 
sparse, int numClasses, ExecType instType, TestType testType) {
-               runMSVMTest(testname, rewrites, sparse, false, numClasses, 
instType, testType);
+       private void runMSVMTest( String testname, boolean rewrites, boolean 
sparse, int numClasses, ExecType instType, CodegenTestType CodegenTestType) {
+               runMSVMTest(testname, rewrites, sparse, false, numClasses, 
instType, CodegenTestType);
        }
        
        @Test
        public void testMSVMDenseMulRewritesCPLineage() {
-               runMSVMTest(TEST_NAME1, true, false, true, 4, ExecType.CP, 
TestType.DEFAULT);
+               runMSVMTest(TEST_NAME1, true, false, true, 4, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMSVMSparseMulRewritesCPLineage() {
-               runMSVMTest(TEST_NAME1, true, true, true, 4, ExecType.CP, 
TestType.DEFAULT);
+               runMSVMTest(TEST_NAME1, true, true, true, 4, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMSVMDenseMulCPLineage() {
-               runMSVMTest(TEST_NAME1, false, false, true, 4, ExecType.CP, 
TestType.DEFAULT);
+               runMSVMTest(TEST_NAME1, false, false, true, 4, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testMSVMSparseMulCPLineage() {
-               runMSVMTest(TEST_NAME1, false, true, true, 4, ExecType.CP, 
TestType.DEFAULT);
+               runMSVMTest(TEST_NAME1, false, true, true, 4, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
-       private void runMSVMTest( String testname, boolean rewrites, boolean 
sparse, boolean lineage, int numClasses, ExecType instType, TestType testType)
+       private void runMSVMTest( String testname, boolean rewrites, boolean 
sparse, boolean lineage, int numClasses, ExecType instType, CodegenTestType 
CodegenTestType)
        {
                boolean oldFlag = OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION;
                ExecMode platformOld = rtplatform;
@@ -181,7 +172,7 @@ public class AlgorithmMSVM extends AutomatedTestBase
                        case SPARK: rtplatform = ExecMode.SPARK; break;
                        default: rtplatform = ExecMode.HYBRID; break;
                }
-               currentTestType = testType;
+               currentTestType = CodegenTestType;
                boolean sparkConfigOld = DMLScript.USE_LOCAL_SPARK_CONFIG;
                if( rtplatform == ExecMode.SPARK || rtplatform == 
ExecMode.HYBRID )
                        DMLScript.USE_LOCAL_SPARK_CONFIG = true;
@@ -234,17 +225,6 @@ public class AlgorithmMSVM extends AutomatedTestBase
         */
        @Override
        protected File getConfigTemplateFile() {
-               // Instrumentation in this test's output log to show custom 
configuration file used for template.
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + TEST_DIR, 
currentTestType);
        }
 }
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmPCA.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmPCA.java
index e0a1906..e769705 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmPCA.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/partone/AlgorithmPCA.java
@@ -37,15 +37,6 @@ public class AlgorithmPCA extends AutomatedTestBase
        private final static String TEST_NAME1 = "Algorithm_PCA";
        private final static String TEST_DIR = "functions/codegenalg/";
        private final static String TEST_CLASS_DIR = TEST_DIR + 
AlgorithmPCA.class.getSimpleName() + "/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + TEST_DIR,
-                       TEST_CONF_FUSE_NO_REDUNDANCY);
-
-       private enum TestType { DEFAULT, FUSE_ALL, FUSE_NO_REDUNDANCY }
 
        private final static double eps = 1e-5;
 
@@ -56,7 +47,7 @@ public class AlgorithmPCA extends AutomatedTestBase
        private final static double sparsity1 = 0.7; //dense
        private final static double sparsity2 = 0.1; //sparse
        
-       private TestType currentTestType = TestType.DEFAULT;
+       private CodegenTestType currentTestType = CodegenTestType.DEFAULT;
 
        @Override
        public void setUp() {
@@ -66,85 +57,85 @@ public class AlgorithmPCA extends AutomatedTestBase
 
        @Test
        public void testPCADenseRewritesCP() {
-               runPCATest(TEST_NAME1, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runPCATest(TEST_NAME1, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testPCASparseRewritesCP() {
-               runPCATest(TEST_NAME1, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runPCATest(TEST_NAME1, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testPCADenseCP() {
-               runPCATest(TEST_NAME1, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runPCATest(TEST_NAME1, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testPCASparseCP() {
-               runPCATest(TEST_NAME1, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runPCATest(TEST_NAME1, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testPCADenseRewritesSP() {
-               runPCATest(TEST_NAME1, true, false, ExecType.SPARK, 
TestType.DEFAULT);
+               runPCATest(TEST_NAME1, true, false, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testPCASparseRewritesSP() {
-               runPCATest(TEST_NAME1, true, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runPCATest(TEST_NAME1, true, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testPCADenseSP() {
-               runPCATest(TEST_NAME1, false, false, ExecType.SPARK, 
TestType.DEFAULT);
+               runPCATest(TEST_NAME1, false, false, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testPCASparseSP() {
-               runPCATest(TEST_NAME1, false, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runPCATest(TEST_NAME1, false, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testPCADenseRewritesCPFuseAll() {
-               runPCATest(TEST_NAME1, true, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runPCATest(TEST_NAME1, true, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testPCASparseRewritesCPFuseAll() {
-               runPCATest(TEST_NAME1, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runPCATest(TEST_NAME1, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testPCADenseRewritesSPFuseAll() {
-               runPCATest(TEST_NAME1, true, false, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runPCATest(TEST_NAME1, true, false, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testPCASparseRewritesSPFuseAll() {
-               runPCATest(TEST_NAME1, true, true, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runPCATest(TEST_NAME1, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testPCADenseRewritesCPFuseNoRedundancy() {
-               runPCATest(TEST_NAME1, true, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runPCATest(TEST_NAME1, true, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testPCASparseRewritesCPFuseNoRedundancy() {
-               runPCATest(TEST_NAME1, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runPCATest(TEST_NAME1, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testPCADenseRewritesSPFuseNoRedundancy() {
-               runPCATest(TEST_NAME1, true, false, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runPCATest(TEST_NAME1, true, false, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testPCASparseRewritesSPFuseNoRedundancy() {
-               runPCATest(TEST_NAME1, true, true, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runPCATest(TEST_NAME1, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
-       private void runPCATest(String testname, boolean rewrites, boolean 
sparse, ExecType instType, TestType testType)
+       private void runPCATest(String testname, boolean rewrites, boolean 
sparse, ExecType instType, CodegenTestType CodegenTestType)
        {
                boolean oldFlag = OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION;
                ExecMode platformOld = setExecMode(instType);
@@ -197,17 +188,6 @@ public class AlgorithmPCA extends AutomatedTestBase
         */
        @Override
        protected File getConfigTemplateFile() {
-               // Instrumentation in this test's output log to show custom 
configuration file used for template.
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == AlgorithmPCA.TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + TEST_DIR, 
currentTestType);
        }
 }
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmARIMA.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmARIMA.java
index 95c3420..7cfb918 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmARIMA.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmARIMA.java
@@ -31,16 +31,8 @@ import java.io.File;
 public class AlgorithmARIMA extends ArimaTest 
 {
        private final static String LOCAL_TEST_DIR = "functions/codegenalg/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ LOCAL_TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ LOCAL_TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + LOCAL_TEST_DIR,
-                       TEST_CONF_FUSE_NO_REDUNDANCY);
 
-       private enum TestType { DEFAULT,FUSE_ALL,FUSE_NO_REDUNDANCY }
-       private TestType currentTestType = TestType.DEFAULT;
+       private CodegenTestType currentTestType = CodegenTestType.DEFAULT;
 
        public AlgorithmARIMA(int m, int p, int d, int q, int P, int D, int Q, 
int s, int include_mean, int useJacobi) {
                super(m, p, d, q, P, D, Q, s, include_mean, useJacobi);
@@ -49,36 +41,26 @@ public class AlgorithmARIMA extends ArimaTest
 
        @Test
        public void testArimaDml() {
-               testArima(TestType.DEFAULT);
+               testArima(CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testArimaDmlFuseAll() {
-               testArima(TestType.FUSE_ALL);
+               testArima(CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testArimaDmlFuseNoRedundancy() {
-               testArima(TestType.FUSE_NO_REDUNDANCY);
+               testArima(CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
-       private void testArima(TestType testType){
-               currentTestType = testType;
+       private void testArima(CodegenTestType CodegenTestType){
+               currentTestType = CodegenTestType;
                testArima();
        }
        
        @Override
        protected File getConfigTemplateFile() {
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + LOCAL_TEST_DIR, 
currentTestType);
        }
 }
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmDatagen.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmDatagen.java
index 8d171d8..3a7fc09 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmDatagen.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmDatagen.java
@@ -36,15 +36,6 @@ public class AlgorithmDatagen extends AutomatedTestBase
        private final static String TEST_NAME1 = "Algorithm_Datagen";
        private final static String TEST_DIR = "functions/codegenalg/";
        private final static String TEST_CLASS_DIR = TEST_DIR + 
AlgorithmDatagen.class.getSimpleName() + "/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + TEST_DIR,
-                       TEST_CONF_FUSE_NO_REDUNDANCY);
-
-       private enum TestType { DEFAULT,FUSE_ALL,FUSE_NO_REDUNDANCY }
 
        private final static int rows = 2468;
        private final static int cols = 200;
@@ -57,7 +48,7 @@ public class AlgorithmDatagen extends AutomatedTestBase
                LOGREG,
        }
 
-       private TestType currentTestType = TestType.DEFAULT;
+       private CodegenTestType currentTestType = CodegenTestType.DEFAULT;
        
        @Override
        public void setUp() {
@@ -67,165 +58,165 @@ public class AlgorithmDatagen extends AutomatedTestBase
 
        @Test
        public void testDatagenLinregDenseRewritesCP() {
-               runStepwiseTest(DatagenType.LINREG, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LINREG, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLinregSparseRewritesCP() {
-               runStepwiseTest(DatagenType.LINREG, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LINREG, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLinregDenseNoRewritesCP() {
-               runStepwiseTest(DatagenType.LINREG, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LINREG, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLinregSparseNoRewritesCP() {
-               runStepwiseTest(DatagenType.LINREG, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LINREG, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLogregDenseRewritesCP() {
-               runStepwiseTest(DatagenType.LOGREG, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LOGREG, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLogregSparseRewritesCP() {
-               runStepwiseTest(DatagenType.LOGREG, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LOGREG, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLogregDenseNoRewritesCP() {
-               runStepwiseTest(DatagenType.LOGREG, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LOGREG, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLogregSparseNoRewritesCP() {
-               runStepwiseTest(DatagenType.LOGREG, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LOGREG, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testDatagenLinregDenseRewritesSP() {
-               runStepwiseTest(DatagenType.LINREG, false, true, 
ExecType.SPARK, TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LINREG, false, true, 
ExecType.SPARK, CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLinregSparseRewritesSP() {
-               runStepwiseTest(DatagenType.LINREG, true, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LINREG, true, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLinregDenseNoRewritesSP() {
-               runStepwiseTest(DatagenType.LINREG, false, false, 
ExecType.SPARK, TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LINREG, false, false, 
ExecType.SPARK, CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLinregSparseNoRewritesSP() {
-               runStepwiseTest(DatagenType.LINREG, true, false, 
ExecType.SPARK, TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LINREG, true, false, 
ExecType.SPARK, CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLogregDenseRewritesSP() {
-               runStepwiseTest(DatagenType.LOGREG, false, true, 
ExecType.SPARK, TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LOGREG, false, true, 
ExecType.SPARK, CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLogregSparseRewritesSP() {
-               runStepwiseTest(DatagenType.LOGREG, true, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LOGREG, true, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLogregDenseNoRewritesSP() {
-               runStepwiseTest(DatagenType.LOGREG, false, false, 
ExecType.SPARK, TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LOGREG, false, false, 
ExecType.SPARK, CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testDatagenLogregSparseNoRewritesSP() {
-               runStepwiseTest(DatagenType.LOGREG, true, false, 
ExecType.SPARK, TestType.DEFAULT);
+               runStepwiseTest(DatagenType.LOGREG, true, false, 
ExecType.SPARK, CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testDatagenLinregDenseRewritesCPFuseAll() {
-               runStepwiseTest(DatagenType.LINREG, false, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runStepwiseTest(DatagenType.LINREG, false, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testDatagenLinregSparseRewritesCPFuseAll() {
-               runStepwiseTest(DatagenType.LINREG, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runStepwiseTest(DatagenType.LINREG, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testDatagenLogregDenseRewritesCPFuseAll() {
-               runStepwiseTest(DatagenType.LOGREG, false, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runStepwiseTest(DatagenType.LOGREG, false, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testDatagenLogregSparseRewritesCPFuseAll() {
-               runStepwiseTest(DatagenType.LOGREG, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runStepwiseTest(DatagenType.LOGREG, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testDatagenLinregDenseRewritesSPFuseAll() {
-               runStepwiseTest(DatagenType.LINREG, false, true, 
ExecType.SPARK, TestType.FUSE_ALL);
+               runStepwiseTest(DatagenType.LINREG, false, true, 
ExecType.SPARK, CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testDatagenLinregSparseRewritesSPFuseAll() {
-               runStepwiseTest(DatagenType.LINREG, true, true, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runStepwiseTest(DatagenType.LINREG, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testDatagenLogregDenseRewritesSPFuseAll() {
-               runStepwiseTest(DatagenType.LOGREG, false, true, 
ExecType.SPARK, TestType.FUSE_ALL);
+               runStepwiseTest(DatagenType.LOGREG, false, true, 
ExecType.SPARK, CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testDatagenLogregSparseRewritesSPFuseAll() {
-               runStepwiseTest(DatagenType.LOGREG, true, true, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runStepwiseTest(DatagenType.LOGREG, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testDatagenLinregDenseRewritesCPFuseNoRedundancy() {
-               runStepwiseTest(DatagenType.LINREG, false, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runStepwiseTest(DatagenType.LINREG, false, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testDatagenLinregSparseRewritesCPFuseNoRedundancy() {
-               runStepwiseTest(DatagenType.LINREG, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runStepwiseTest(DatagenType.LINREG, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testDatagenLogregDenseRewritesCPFuseNoRedundancy() {
-               runStepwiseTest(DatagenType.LOGREG, false, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runStepwiseTest(DatagenType.LOGREG, false, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testDatagenLogregSparseRewritesCPFuseNoRedundancy() {
-               runStepwiseTest(DatagenType.LOGREG, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runStepwiseTest(DatagenType.LOGREG, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testDatagenLinregDenseRewritesSPFuseNoRedundancy() {
-               runStepwiseTest(DatagenType.LINREG, false, true, 
ExecType.SPARK, TestType.FUSE_NO_REDUNDANCY);
+               runStepwiseTest(DatagenType.LINREG, false, true, 
ExecType.SPARK, CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testDatagenLinregSparseRewritesSPFuseNoRedundancy() {
-               runStepwiseTest(DatagenType.LINREG, true, true, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runStepwiseTest(DatagenType.LINREG, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testDatagenLogregDenseRewritesSPFuseNoRedundancy() {
-               runStepwiseTest(DatagenType.LOGREG, false, true, 
ExecType.SPARK, TestType.FUSE_NO_REDUNDANCY);
+               runStepwiseTest(DatagenType.LOGREG, false, true, 
ExecType.SPARK, CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testDatagenLogregSparseRewritesSPFuseNoRedundancy() {
-               runStepwiseTest(DatagenType.LOGREG, true, true, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runStepwiseTest(DatagenType.LOGREG, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
        
-       private void runStepwiseTest( DatagenType type, boolean sparse, boolean 
rewrites, ExecType instType, TestType testType)
+       private void runStepwiseTest( DatagenType type, boolean sparse, boolean 
rewrites, ExecType instType, CodegenTestType CodegenTestType)
        {
                boolean oldFlag = OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION;
                ExecMode platformOld = rtplatform;
@@ -233,7 +224,7 @@ public class AlgorithmDatagen extends AutomatedTestBase
                        case SPARK: rtplatform = ExecMode.SPARK; break;
                        default: rtplatform = ExecMode.HYBRID; break;
                }
-               currentTestType = testType;
+               currentTestType = CodegenTestType;
                boolean sparkConfigOld = DMLScript.USE_LOCAL_SPARK_CONFIG;
                if( rtplatform == ExecMode.SPARK || rtplatform == 
ExecMode.HYBRID )
                        DMLScript.USE_LOCAL_SPARK_CONFIG = true;
@@ -281,17 +272,6 @@ public class AlgorithmDatagen extends AutomatedTestBase
         */
        @Override
        protected File getConfigTemplateFile() {
-               // Instrumentation in this test's output log to show custom 
configuration file used for template.
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + TEST_DIR, 
currentTestType);
        }
 }
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmGLM.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmGLM.java
index 0e7df0b..bdaa74c 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmGLM.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmGLM.java
@@ -36,15 +36,6 @@ public class AlgorithmGLM extends AutomatedTestBase
        private final static String TEST_NAME1 = "Algorithm_GLM";
        private final static String TEST_DIR = "functions/codegenalg/";
        private final static String TEST_CLASS_DIR = TEST_DIR + 
AlgorithmGLM.class.getSimpleName() + "/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + TEST_DIR,
-                       TEST_CONF_FUSE_NO_REDUNDANCY);
-
-       private enum TestType { DEFAULT,FUSE_ALL,FUSE_NO_REDUNDANCY }
 
        //private final static double eps = 1e-5;
        
@@ -64,7 +55,7 @@ public class AlgorithmGLM extends AutomatedTestBase
                BINOMIAL_PROBIT,
        }
        
-       private TestType currentTestType = TestType.DEFAULT;
+       private CodegenTestType currentTestType = CodegenTestType.DEFAULT;
        
        @Override
        public void setUp() {
@@ -74,215 +65,215 @@ public class AlgorithmGLM extends AutomatedTestBase
 
        @Test
        public void testGLMPoissonDenseRewritesCP() {
-               runGLMTest(GLMType.POISSON_LOG, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runGLMTest(GLMType.POISSON_LOG, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMPoissonSparseRewritesCP() {
-               runGLMTest(GLMType.POISSON_LOG, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runGLMTest(GLMType.POISSON_LOG, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMPoissonDenseCP() {
-               runGLMTest(GLMType.POISSON_LOG, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runGLMTest(GLMType.POISSON_LOG, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMPoissonSparseCP() {
-               runGLMTest(GLMType.POISSON_LOG, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runGLMTest(GLMType.POISSON_LOG, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMGammaDenseRewritesCP() {
-               runGLMTest(GLMType.GAMMA_LOG, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runGLMTest(GLMType.GAMMA_LOG, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMGammaSparseRewritesCP() {
-               runGLMTest(GLMType.GAMMA_LOG, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runGLMTest(GLMType.GAMMA_LOG, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMGammaDenseCP() {
-               runGLMTest(GLMType.GAMMA_LOG, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runGLMTest(GLMType.GAMMA_LOG, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMGammaSparseCP() {
-               runGLMTest(GLMType.GAMMA_LOG, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runGLMTest(GLMType.GAMMA_LOG, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMBinomialDenseRewritesCP() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMBinomialSparseRewritesCP() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMBinomialDenseCP() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMBinomialSparseCP() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMPoissonDenseRewritesSP() {
-               runGLMTest(GLMType.POISSON_LOG, true, false, ExecType.SPARK, 
TestType.DEFAULT);
+               runGLMTest(GLMType.POISSON_LOG, true, false, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMPoissonSparseRewritesSP() {
-               runGLMTest(GLMType.POISSON_LOG, true, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runGLMTest(GLMType.POISSON_LOG, true, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMGammaDenseRewritesSP() {
-               runGLMTest(GLMType.GAMMA_LOG, true, false, ExecType.SPARK, 
TestType.DEFAULT);
+               runGLMTest(GLMType.GAMMA_LOG, true, false, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMGammaSparseRewritesSP() {
-               runGLMTest(GLMType.GAMMA_LOG, true, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runGLMTest(GLMType.GAMMA_LOG, true, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMBinomialDenseRewritesSP() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, true, false, 
ExecType.SPARK, TestType.DEFAULT);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, true, false, 
ExecType.SPARK, CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testGLMBinomialSparseRewritesSP() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, true, true, ExecType.SPARK, 
TestType.DEFAULT);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, true, true, ExecType.SPARK, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testGLMPoissonDenseRewritesCPFuseAll() {
-               runGLMTest(GLMType.POISSON_LOG, true, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runGLMTest(GLMType.POISSON_LOG, true, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testGLMPoissonSparseRewritesCPFuseAll() {
-               runGLMTest(GLMType.POISSON_LOG, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runGLMTest(GLMType.POISSON_LOG, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testGLMGammaDenseRewritesCPFuseAll() {
-               runGLMTest(GLMType.GAMMA_LOG, true, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runGLMTest(GLMType.GAMMA_LOG, true, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testGLMGammaSparseRewritesCPFuseAll() {
-               runGLMTest(GLMType.GAMMA_LOG, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runGLMTest(GLMType.GAMMA_LOG, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testGLMBinomialDenseRewritesCPFuseAll() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, true, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, true, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testGLMBinomialSparseRewritesCPFuseAll() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testGLMPoissonDenseRewritesSPFuseAll() {
-               runGLMTest(GLMType.POISSON_LOG, true, false, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runGLMTest(GLMType.POISSON_LOG, true, false, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testGLMPoissonSparseRewritesSPFuseAll() {
-               runGLMTest(GLMType.POISSON_LOG, true, true, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runGLMTest(GLMType.POISSON_LOG, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testGLMGammaDenseRewritesSPFuseAll() {
-               runGLMTest(GLMType.GAMMA_LOG, true, false, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runGLMTest(GLMType.GAMMA_LOG, true, false, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testGLMGammaSparseRewritesSPFuseAll() {
-               runGLMTest(GLMType.GAMMA_LOG, true, true, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runGLMTest(GLMType.GAMMA_LOG, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testGLMBinomialDenseRewritesSPFuseAll() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, true, false, 
ExecType.SPARK, TestType.FUSE_ALL);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, true, false, 
ExecType.SPARK, CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testGLMBinomialSparseRewritesSPFuseAll() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, true, true, ExecType.SPARK, 
TestType.FUSE_ALL);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testGLMPoissonDenseRewritesCPFuseNoRedundancy() {
-               runGLMTest(GLMType.POISSON_LOG, true, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runGLMTest(GLMType.POISSON_LOG, true, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testGLMPoissonSparseRewritesCPFuseNoRedundancy() {
-               runGLMTest(GLMType.POISSON_LOG, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runGLMTest(GLMType.POISSON_LOG, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testGLMGammaDenseRewritesCPFuseNoRedundancy() {
-               runGLMTest(GLMType.GAMMA_LOG, true, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runGLMTest(GLMType.GAMMA_LOG, true, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testGLMGammaSparseRewritesCPFuseNoRedundancy() {
-               runGLMTest(GLMType.GAMMA_LOG, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runGLMTest(GLMType.GAMMA_LOG, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testGLMBinomialDenseRewritesCPFuseNoRedundancy() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, true, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, true, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testGLMBinomialSparseRewritesCPFuseNoRedundancy() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testGLMPoissonDenseRewritesSPFuseNoRedundancy() {
-               runGLMTest(GLMType.POISSON_LOG, true, false, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runGLMTest(GLMType.POISSON_LOG, true, false, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testGLMPoissonSparseRewritesSPFuseNoRedundancy() {
-               runGLMTest(GLMType.POISSON_LOG, true, true, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runGLMTest(GLMType.POISSON_LOG, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testGLMGammaDenseRewritesSPFuseNoRedundancy() {
-               runGLMTest(GLMType.GAMMA_LOG, true, false, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runGLMTest(GLMType.GAMMA_LOG, true, false, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testGLMGammaSparseRewritesSPFuseNoRedundancy() {
-               runGLMTest(GLMType.GAMMA_LOG, true, true, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runGLMTest(GLMType.GAMMA_LOG, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testGLMBinomialDenseRewritesSPFuseNoRedundancy() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, true, false, 
ExecType.SPARK, TestType.FUSE_NO_REDUNDANCY);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, true, false, 
ExecType.SPARK, CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testGLMBinomialSparseRewritesSPFuseNoRedundancy() {
-               runGLMTest(GLMType.BINOMIAL_PROBIT, true, true, ExecType.SPARK, 
TestType.FUSE_NO_REDUNDANCY);
+               runGLMTest(GLMType.BINOMIAL_PROBIT, true, true, ExecType.SPARK, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
-       private void runGLMTest( GLMType type, boolean rewrites, boolean 
sparse, ExecType instType, TestType testType)
+       private void runGLMTest( GLMType type, boolean rewrites, boolean 
sparse, ExecType instType, CodegenTestType CodegenTestType)
        {
                boolean oldFlag = OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION;
                ExecMode platformOld = rtplatform;
@@ -290,7 +281,7 @@ public class AlgorithmGLM extends AutomatedTestBase
                        case SPARK: rtplatform = ExecMode.SPARK; break;
                        default: rtplatform = ExecMode.HYBRID; break;
                }
-               currentTestType = testType;
+               currentTestType = CodegenTestType;
                boolean sparkConfigOld = DMLScript.USE_LOCAL_SPARK_CONFIG;
                if( rtplatform == ExecMode.SPARK || rtplatform == 
ExecMode.HYBRID )
                        DMLScript.USE_LOCAL_SPARK_CONFIG = true;
@@ -357,17 +348,6 @@ public class AlgorithmGLM extends AutomatedTestBase
         */
        @Override
        protected File getConfigTemplateFile() {
-               // Instrumentation in this test's output log to show custom 
configuration file used for template.
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + TEST_DIR, 
currentTestType);
        }
 }
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmPNMF.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmPNMF.java
index cae0736..9226ff1 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmPNMF.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmPNMF.java
@@ -38,15 +38,6 @@ public class AlgorithmPNMF extends AutomatedTestBase
        private final static String TEST_NAME1 = "Algorithm_PNMF";
        private final static String TEST_DIR = "functions/codegenalg/";
        private final static String TEST_CLASS_DIR = TEST_DIR + 
AlgorithmPNMF.class.getSimpleName() + "/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + TEST_DIR,
-                       TEST_CONF_FUSE_NO_REDUNDANCY);
-
-       private enum TestType { DEFAULT,FUSE_ALL,FUSE_NO_REDUNDANCY }
 
        private final static double eps = 1e-5;
        
@@ -60,7 +51,7 @@ public class AlgorithmPNMF extends AutomatedTestBase
        private final static double epsilon = 0.000000001;
        private final static double maxiter = 10;
        
-       private TestType currentTestType = TestType.DEFAULT;
+       private CodegenTestType currentTestType = CodegenTestType.DEFAULT;
        
        @Override
        public void setUp() {
@@ -70,32 +61,32 @@ public class AlgorithmPNMF extends AutomatedTestBase
 
        @Test
        public void testPNMFDenseCP() {
-               runPNMFTest(TEST_NAME1, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runPNMFTest(TEST_NAME1, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testPNMFSparseCP() {
-               runPNMFTest(TEST_NAME1, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runPNMFTest(TEST_NAME1, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testPNMFDenseCPFuseAll() {
-               runPNMFTest(TEST_NAME1, false, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runPNMFTest(TEST_NAME1, false, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testPNMFSparseCPFuseAll() {
-               runPNMFTest(TEST_NAME1, false, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runPNMFTest(TEST_NAME1, false, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testPNMFDenseCPFuseNoRedundancy() {
-               runPNMFTest(TEST_NAME1, false, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runPNMFTest(TEST_NAME1, false, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testPNMFSparseCPFuseNoRedundancy() {
-               runPNMFTest(TEST_NAME1, false, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runPNMFTest(TEST_NAME1, false, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
        
        //TODO requires proper handling of blocksize constraints
@@ -109,7 +100,7 @@ public class AlgorithmPNMF extends AutomatedTestBase
        //      runPNMFTest(TEST_NAME1, false, true, ExecType.SPARK);
        //}
 
-       private void runPNMFTest( String testname, boolean rewrites, boolean 
sparse, ExecType instType, TestType testType)
+       private void runPNMFTest( String testname, boolean rewrites, boolean 
sparse, ExecType instType, CodegenTestType CodegenTestType)
        {
                boolean oldFlag = OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION;
                ExecMode platformOld = rtplatform;
@@ -117,7 +108,7 @@ public class AlgorithmPNMF extends AutomatedTestBase
                        case SPARK: rtplatform = ExecMode.SPARK; break;
                        default: rtplatform = ExecMode.HYBRID; break;
                }
-               currentTestType = testType;
+               currentTestType = CodegenTestType;
                boolean sparkConfigOld = DMLScript.USE_LOCAL_SPARK_CONFIG;
                if( rtplatform == ExecMode.SPARK || rtplatform == 
ExecMode.HYBRID )
                        DMLScript.USE_LOCAL_SPARK_CONFIG = true;
@@ -173,17 +164,6 @@ public class AlgorithmPNMF extends AutomatedTestBase
         */
        @Override
        protected File getConfigTemplateFile() {
-               // Instrumentation in this test's output log to show custom 
configuration file used for template.
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + TEST_DIR, 
currentTestType);
        }
 }
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmPageRank.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmPageRank.java
index d196a4b..89addba 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmPageRank.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmPageRank.java
@@ -38,14 +38,6 @@ public class AlgorithmPageRank extends AutomatedTestBase
        private final static String TEST_NAME1 = "Algorithm_PageRank";
        private final static String TEST_DIR = "functions/codegenalg/";
        private final static String TEST_CLASS_DIR = TEST_DIR + 
AlgorithmPageRank.class.getSimpleName() + "/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + TEST_DIR, TEST_CONF_FUSE_NO_REDUNDANCY);
-
-       private enum TestType { DEFAULT,FUSE_ALL,FUSE_NO_REDUNDANCY }
 
        //absolute diff for large output scale in the +E12
        private final static double eps = 0.1;
@@ -59,7 +51,7 @@ public class AlgorithmPageRank extends AutomatedTestBase
        private final static double alpha = 0.85;
        private final static double maxiter = 10;
        
-       private TestType currentTestType = TestType.DEFAULT;
+       private CodegenTestType currentTestType = CodegenTestType.DEFAULT;
        
        @Override
        public void setUp() {
@@ -69,65 +61,65 @@ public class AlgorithmPageRank extends AutomatedTestBase
 
        @Test
        public void testPageRankDenseCP() {
-               runPageRankTest(TEST_NAME1, true, false, ExecType.CP, 
TestType.DEFAULT);
+               runPageRankTest(TEST_NAME1, true, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testPageRankSparseCP() {
-               runPageRankTest(TEST_NAME1, true, true, ExecType.CP, 
TestType.DEFAULT);
+               runPageRankTest(TEST_NAME1, true, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testPageRankDenseCPFuseAll() {
-               runPageRankTest(TEST_NAME1, true, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runPageRankTest(TEST_NAME1, true, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testPageRankSparseCPFuseAll() {
-               runPageRankTest(TEST_NAME1, true, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runPageRankTest(TEST_NAME1, true, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testPageRankDenseCPFuseNoRedundancy() {
-               runPageRankTest(TEST_NAME1, true, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runPageRankTest(TEST_NAME1, true, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testPageRankSparseCPFuseNoRedundancy() {
-               runPageRankTest(TEST_NAME1, true, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runPageRankTest(TEST_NAME1, true, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
        
        @Test
        public void testPageRankDenseCPNoR() {
-               runPageRankTest(TEST_NAME1, false, false, ExecType.CP, 
TestType.DEFAULT);
+               runPageRankTest(TEST_NAME1, false, false, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testPageRankSparseCPNoR() {
-               runPageRankTest(TEST_NAME1, false, true, ExecType.CP, 
TestType.DEFAULT);
+               runPageRankTest(TEST_NAME1, false, true, ExecType.CP, 
CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testPageRankDenseCPFuseAllNoR() {
-               runPageRankTest(TEST_NAME1, false, false, ExecType.CP, 
TestType.FUSE_ALL);
+               runPageRankTest(TEST_NAME1, false, false, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testPageRankSparseCPFuseAllNoR() {
-               runPageRankTest(TEST_NAME1, false, true, ExecType.CP, 
TestType.FUSE_ALL);
+               runPageRankTest(TEST_NAME1, false, true, ExecType.CP, 
CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testPageRankDenseCPFuseNoRedundancyNoR() {
-               runPageRankTest(TEST_NAME1, false, false, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runPageRankTest(TEST_NAME1, false, false, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testPageRankSparseCPFuseNoRedundancyNoR() {
-               runPageRankTest(TEST_NAME1, false, true, ExecType.CP, 
TestType.FUSE_NO_REDUNDANCY);
+               runPageRankTest(TEST_NAME1, false, true, ExecType.CP, 
CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
-       private void runPageRankTest( String testname, boolean rewrites, 
boolean sparse, ExecType instType, TestType testType)
+       private void runPageRankTest( String testname, boolean rewrites, 
boolean sparse, ExecType instType, CodegenTestType CodegenTestType)
        {
                boolean oldFlag = OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION;
                ExecMode platformOld = rtplatform;
@@ -135,7 +127,7 @@ public class AlgorithmPageRank extends AutomatedTestBase
                        case SPARK: rtplatform = ExecMode.SPARK; break;
                        default: rtplatform = ExecMode.HYBRID; break;
                }
-               currentTestType = testType;
+               currentTestType = CodegenTestType;
                boolean sparkConfigOld = DMLScript.USE_LOCAL_SPARK_CONFIG;
                if( rtplatform == ExecMode.SPARK || rtplatform == 
ExecMode.HYBRID )
                        DMLScript.USE_LOCAL_SPARK_CONFIG = true;
@@ -188,17 +180,6 @@ public class AlgorithmPageRank extends AutomatedTestBase
         */
        @Override
        protected File getConfigTemplateFile() {
-               // Instrumentation in this test's output log to show custom 
configuration file used for template.
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + TEST_DIR, 
currentTestType);
        }
 }
diff --git 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmStepwiseRegression.java
 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmStepwiseRegression.java
index 38d76fd..1d96edc 100644
--- 
a/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmStepwiseRegression.java
+++ 
b/src/test/java/org/apache/sysds/test/functions/codegenalg/parttwo/AlgorithmStepwiseRegression.java
@@ -36,15 +36,6 @@ public class AlgorithmStepwiseRegression extends 
AutomatedTestBase
        private final static String TEST_NAME1 = "Algorithm_Stepwise";
        private final static String TEST_DIR = "functions/codegenalg/";
        private final static String TEST_CLASS_DIR = TEST_DIR + 
AlgorithmStepwiseRegression.class.getSimpleName() + "/";
-       private final static String TEST_CONF_DEFAULT = 
"SystemDS-config-codegen.xml";
-       private final static File TEST_CONF_FILE_DEFAULT = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_DEFAULT);
-       private final static String TEST_CONF_FUSE_ALL = 
"SystemDS-config-codegen-fuse-all.xml";
-       private final static File TEST_CONF_FILE_FUSE_ALL = new File(SCRIPT_DIR 
+ TEST_DIR, TEST_CONF_FUSE_ALL);
-       private final static String TEST_CONF_FUSE_NO_REDUNDANCY = 
"SystemDS-config-codegen-fuse-no-redundancy.xml";
-       private final static File TEST_CONF_FILE_FUSE_NO_REDUNDANCY = new 
File(SCRIPT_DIR + TEST_DIR,
-                       TEST_CONF_FUSE_NO_REDUNDANCY);
-
-       private enum TestType { DEFAULT,FUSE_ALL,FUSE_NO_REDUNDANCY }
 
        private final static int rows = 2468;
        private final static int cols = 200;
@@ -60,7 +51,7 @@ public class AlgorithmStepwiseRegression extends 
AutomatedTestBase
                LINREG_DS,
        }
        
-       private TestType currentTestType = TestType.DEFAULT;
+       private CodegenTestType currentTestType = CodegenTestType.DEFAULT;
        
        @Override
        public void setUp() {
@@ -70,22 +61,22 @@ public class AlgorithmStepwiseRegression extends 
AutomatedTestBase
 
        @Test
        public void testStepwiseGLMDenseRewritesCP() {
-               runStepwiseTest(StepwiseType.GLM_PROBIT, false, true, 
ExecType.CP, TestType.DEFAULT);
+               runStepwiseTest(StepwiseType.GLM_PROBIT, false, true, 
ExecType.CP, CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testStepwiseGLMSparseRewritesCP() {
-               runStepwiseTest(StepwiseType.GLM_PROBIT, true, true, 
ExecType.CP, TestType.DEFAULT);
+               runStepwiseTest(StepwiseType.GLM_PROBIT, true, true, 
ExecType.CP, CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testStepwiseGLMDenseNoRewritesCP() {
-               runStepwiseTest(StepwiseType.GLM_PROBIT, false, false, 
ExecType.CP, TestType.DEFAULT);
+               runStepwiseTest(StepwiseType.GLM_PROBIT, false, false, 
ExecType.CP, CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testStepwiseGLMSparseNoRewritesCP() {
-               runStepwiseTest(StepwiseType.GLM_PROBIT, true, false, 
ExecType.CP, TestType.DEFAULT);
+               runStepwiseTest(StepwiseType.GLM_PROBIT, true, false, 
ExecType.CP, CodegenTestType.DEFAULT);
        }
        
 //     @Test
@@ -110,66 +101,66 @@ public class AlgorithmStepwiseRegression extends 
AutomatedTestBase
        
        @Test
        public void testStepwiseLinregDSDenseRewritesCP() {
-               runStepwiseTest(StepwiseType.LINREG_DS, false, true, 
ExecType.CP, TestType.DEFAULT);
+               runStepwiseTest(StepwiseType.LINREG_DS, false, true, 
ExecType.CP, CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testStepwiseLinregDSSparseRewritesCP() {
-               runStepwiseTest(StepwiseType.LINREG_DS, true, true, 
ExecType.CP, TestType.DEFAULT);
+               runStepwiseTest(StepwiseType.LINREG_DS, true, true, 
ExecType.CP, CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testStepwiseLinregDSDenseNoRewritesCP() {
-               runStepwiseTest(StepwiseType.LINREG_DS, false, false, 
ExecType.CP, TestType.DEFAULT);
+               runStepwiseTest(StepwiseType.LINREG_DS, false, false, 
ExecType.CP, CodegenTestType.DEFAULT);
        }
        
        @Test
        public void testStepwiseLinregDSSparseNoRewritesCP() {
-               runStepwiseTest(StepwiseType.LINREG_DS, true, false, 
ExecType.CP, TestType.DEFAULT);
+               runStepwiseTest(StepwiseType.LINREG_DS, true, false, 
ExecType.CP, CodegenTestType.DEFAULT);
        }
 
        @Test
        public void testStepwiseGLMDenseRewritesCPFuseAll() {
-               runStepwiseTest(StepwiseType.GLM_PROBIT, false, true, 
ExecType.CP, TestType.FUSE_ALL);
+               runStepwiseTest(StepwiseType.GLM_PROBIT, false, true, 
ExecType.CP, CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testStepwiseGLMSparseRewritesCPFuseAll() {
-               runStepwiseTest(StepwiseType.GLM_PROBIT, true, true, 
ExecType.CP, TestType.FUSE_ALL);
+               runStepwiseTest(StepwiseType.GLM_PROBIT, true, true, 
ExecType.CP, CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testStepwiseLinregDSDenseRewritesCPFuseAll() {
-               runStepwiseTest(StepwiseType.LINREG_DS, false, true, 
ExecType.CP, TestType.FUSE_ALL);
+               runStepwiseTest(StepwiseType.LINREG_DS, false, true, 
ExecType.CP, CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testStepwiseLinregDSSparseRewritesCPFuseAll() {
-               runStepwiseTest(StepwiseType.LINREG_DS, true, true, 
ExecType.CP, TestType.FUSE_ALL);
+               runStepwiseTest(StepwiseType.LINREG_DS, true, true, 
ExecType.CP, CodegenTestType.FUSE_ALL);
        }
 
        @Test
        public void testStepwiseGLMDenseRewritesCPFuseNoRedundancy() {
-               runStepwiseTest(StepwiseType.GLM_PROBIT, false, true, 
ExecType.CP, TestType.FUSE_NO_REDUNDANCY);
+               runStepwiseTest(StepwiseType.GLM_PROBIT, false, true, 
ExecType.CP, CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testStepwiseGLMSparseRewritesCPFuseNoRedundancy() {
-               runStepwiseTest(StepwiseType.GLM_PROBIT, true, true, 
ExecType.CP, TestType.FUSE_NO_REDUNDANCY);
+               runStepwiseTest(StepwiseType.GLM_PROBIT, true, true, 
ExecType.CP, CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testStepwiseLinregDSDenseRewritesCPFuseNoRedundancy() {
-               runStepwiseTest(StepwiseType.LINREG_DS, false, true, 
ExecType.CP, TestType.FUSE_NO_REDUNDANCY);
+               runStepwiseTest(StepwiseType.LINREG_DS, false, true, 
ExecType.CP, CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        @Test
        public void testStepwiseLinregDSSparseRewritesCPFuseNoRedundancy() {
-               runStepwiseTest(StepwiseType.LINREG_DS, true, true, 
ExecType.CP, TestType.FUSE_NO_REDUNDANCY);
+               runStepwiseTest(StepwiseType.LINREG_DS, true, true, 
ExecType.CP, CodegenTestType.FUSE_NO_REDUNDANCY);
        }
 
        
-       private void runStepwiseTest( StepwiseType type, boolean sparse, 
boolean rewrites, ExecType instType, TestType testType)
+       private void runStepwiseTest( StepwiseType type, boolean sparse, 
boolean rewrites, ExecType instType, CodegenTestType CodegenTestType)
        {
                boolean oldFlag = OptimizerUtils.ALLOW_ALGEBRAIC_SIMPLIFICATION;
                ExecMode platformOld = rtplatform;
@@ -177,7 +168,7 @@ public class AlgorithmStepwiseRegression extends 
AutomatedTestBase
                        case SPARK: rtplatform = ExecMode.SPARK; break;
                        default: rtplatform = ExecMode.HYBRID; break;
                }
-               currentTestType = testType;
+               currentTestType = CodegenTestType;
                boolean sparkConfigOld = DMLScript.USE_LOCAL_SPARK_CONFIG;
                if( rtplatform == ExecMode.SPARK || rtplatform == 
ExecMode.HYBRID )
                        DMLScript.USE_LOCAL_SPARK_CONFIG = true;
@@ -230,17 +221,6 @@ public class AlgorithmStepwiseRegression extends 
AutomatedTestBase
         */
        @Override
        protected File getConfigTemplateFile() {
-               // Instrumentation in this test's output log to show custom 
configuration file used for template.
-               String message = "This test case overrides default 
configuration with ";
-               if(currentTestType == TestType.FUSE_ALL){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_ALL.getPath());
-                       return TEST_CONF_FILE_FUSE_ALL;
-               } else if(currentTestType == TestType.FUSE_NO_REDUNDANCY){
-                       System.out.println(message + 
TEST_CONF_FILE_FUSE_NO_REDUNDANCY.getPath());
-                       return TEST_CONF_FILE_FUSE_NO_REDUNDANCY;
-               } else {
-                       System.out.println(message + 
TEST_CONF_FILE_DEFAULT.getPath());
-                       return TEST_CONF_FILE_DEFAULT;
-               }
+               return getCodegenConfigFile(SCRIPT_DIR + TEST_DIR, 
currentTestType);
        }
 }

Reply via email to