You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemds.apache.org by ma...@apache.org on 2020/11/02 17:15:07 UTC

[systemds] branch master updated: [SYSTEMDS-152] Refactor readDML*FromHDFS and readR*FromFS methods in AutomatedTestBase

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 3a4decd  [SYSTEMDS-152] Refactor readDML*FromHDFS and readR*FromFS methods in AutomatedTestBase
3a4decd is described below

commit 3a4decdb2a7969cf2d68707675dc96868f197de3
Author: Mark Dokter <ma...@dokter.cc>
AuthorDate: Mon Nov 2 18:09:57 2020 +0100

    [SYSTEMDS-152] Refactor readDML*FromHDFS and readR*FromFS methods in AutomatedTestBase
    
    Resolving JIRA issue https://issues.apache.org/jira/browse/SYSTEMDS-152
---
 .../org/apache/sysds/test/AutomatedTestBase.java   |  8 +++---
 src/test/java/org/apache/sysds/test/TestUtils.java |  4 +--
 .../test/applications/ApplyTransformTest.java      |  2 +-
 .../apache/sysds/test/applications/ArimaTest.java  |  4 +--
 .../BivariateCategoricalCategoricallTest.java      | 24 ++++++++--------
 .../applications/BivariateOrdinalOrdinalTest.java  | 16 +++++------
 .../BivariateScaleCategoricalTest.java             | 16 +++++------
 .../test/applications/BivariateScaleScaleTest.java | 16 +++++------
 .../sysds/test/applications/CsplineCGTest.java     |  4 +--
 .../sysds/test/applications/CsplineDSTest.java     |  4 +--
 .../apache/sysds/test/applications/GLMTest.java    |  4 +--
 .../apache/sysds/test/applications/GNMFTest.java   |  8 +++---
 .../apache/sysds/test/applications/HITSTest.java   |  8 +++---
 .../apache/sysds/test/applications/ID3Test.java    |  8 +++---
 .../apache/sysds/test/applications/L2SVMTest.java  |  4 +--
 .../sysds/test/applications/LinearLogRegTest.java  |  4 +--
 .../test/applications/LinearRegressionTest.java    |  4 +--
 .../test/applications/MDABivariateStatsTest.java   |  4 +--
 .../sysds/test/applications/MultiClassSVMTest.java |  4 +--
 .../test/applications/NaiveBayesParforTest.java    |  8 +++---
 .../sysds/test/applications/NaiveBayesTest.java    |  8 +++---
 .../applications/ParForBivariateStatsTest.java     |  4 +--
 .../applications/ParForCVMulticlassSVMTest.java    |  4 +--
 .../test/applications/ParForCorrelationTest.java   |  4 +--
 .../applications/ParForCorrelationTestLarge.java   |  4 +--
 .../test/applications/ParForNaiveBayesTest.java    |  4 +--
 .../sysds/test/applications/ParForSampleTest.java  |  4 +--
 .../applications/ScalableDecompositionTest.java    | 10 +++----
 .../applications/UnivariateCategoricalTest.java    | 16 +++++------
 .../test/applications/UnivariateStatsBase.java     | 16 +++++------
 .../apache/sysds/test/applications/WelchTTest.java |  8 +++---
 .../test/functions/aggregate/AggregateInfTest.java |  2 +-
 .../test/functions/aggregate/ColStdDevsTest.java   |  4 +--
 .../test/functions/aggregate/ColSumsSqTest.java    |  4 +--
 .../test/functions/aggregate/ColVariancesTest.java |  4 +--
 .../functions/aggregate/FullAggregateTest.java     |  4 +--
 .../functions/aggregate/FullColAggregateTest.java  |  4 +--
 .../aggregate/FullGroupedAggregateMatrixTest.java  |  4 +--
 .../aggregate/FullGroupedAggregateTest.java        |  4 +--
 .../functions/aggregate/FullRowAggregateTest.java  |  4 +--
 .../functions/aggregate/PushdownSumBinaryTest.java |  4 +--
 .../aggregate/RowColProdsAggregateTest.java        |  4 +--
 .../test/functions/aggregate/RowStdDevsTest.java   |  4 +--
 .../test/functions/aggregate/RowSumsSqTest.java    |  4 +--
 .../test/functions/aggregate/RowVariancesTest.java |  4 +--
 .../sysds/test/functions/aggregate/StdDevTest.java |  4 +--
 .../sysds/test/functions/aggregate/SumSqTest.java  |  4 +--
 .../test/functions/aggregate/VarianceTest.java     |  4 +--
 .../test/functions/append/AppendChainTest.java     |  4 +--
 .../test/functions/append/AppendMatrixTest.java    |  4 +--
 .../test/functions/append/AppendVectorTest.java    |  4 +--
 .../functions/append/RBindCBindMatrixTest.java     |  4 +--
 .../functions/binary/frame/FrameEqualTest.java     |  4 +--
 .../functions/binary/matrix/BinUaggChainTest.java  |  4 +--
 .../functions/binary/matrix/CentralMomentTest.java |  4 +--
 .../functions/binary/matrix/CovarianceTest.java    |  4 +--
 .../matrix/DiagMatrixMultiplicationTest.java       |  4 +--
 .../binary/matrix/ElementwiseBitwLogicalTest.java  |  4 +--
 .../binary/matrix/ElementwiseLogicalTest.java      |  4 +--
 .../functions/binary/matrix/MapMultChainTest.java  |  4 +--
 .../binary/matrix/MatrixMultiplicationTest.java    |  2 +-
 .../test/functions/binary/matrix/QuantileTest.java |  4 +--
 .../matrix/TransposeMatrixMultiplicationTest.java  |  4 +--
 .../binary/matrix/UaggOuterChainTest.java          |  4 +--
 .../UltraSparseMRMatrixMultiplicationTest.java     |  4 +--
 .../matrix/ZipMMSparkMatrixMultiplicationTest.java |  4 +--
 .../FullMatrixMatrixCellwiseOperationTest.java     |  4 +--
 .../FullMatrixVectorColCellwiseOperationTest.java  |  4 +--
 .../FullMatrixVectorRowCellwiseOperationTest.java  |  4 +--
 .../matrix_full_cellwise/FullMinus1MultTest.java   |  4 +--
 .../FullSortedOuterCompareTest.java                |  4 +--
 ...llVectorVectorCellwiseCompareOperationTest.java |  4 +--
 .../FullVectorVectorCellwiseOperationTest.java     |  4 +--
 .../FullDistributedMatrixMultiplicationTest.java   |  4 +--
 .../matrix_full_other/FullIntegerDivisionTest.java |  4 +--
 .../matrix_full_other/FullLogicalMatrixTest.java   |  4 +--
 .../FullLogicalScalarLeftTest.java                 |  4 +--
 .../FullLogicalScalarRightTest.java                |  4 +--
 .../FullMatrixMultiplicationTest.java              | 16 +++++------
 ...FullMatrixMultiplicationTransposeSelf2Test.java |  4 +--
 .../FullMatrixMultiplicationTransposeSelfTest.java |  8 +++---
 .../FullMatrixMultiplicationUltraSparseTest.java   |  4 +--
 .../FullMinMaxComparisonTest.java                  |  4 +--
 .../binary/matrix_full_other/FullPowerTest.java    |  4 +--
 .../matrix_full_other/MatrixMultShortLhsTest.java  |  4 +--
 .../test/functions/binary/scalar/LogicalTest.java  |  4 +--
 .../test/functions/builtin/BuiltinALSTest.java     |  4 +--
 .../functions/builtin/BuiltinComponentsTest.java   |  2 +-
 .../builtin/BuiltinConfusionMatrixTest.java        |  2 +-
 .../builtin/BuiltinCorrelationMatrixTest.java      |  4 +--
 .../test/functions/builtin/BuiltinDBSCANTest.java  |  4 +--
 .../test/functions/builtin/BuiltinDistTest.java    |  4 +--
 .../test/functions/builtin/BuiltinGLMTest.java     |  4 +--
 .../test/functions/builtin/BuiltinGMMTest.java     |  4 +--
 .../builtin/BuiltinImageBrightnessTest.java        |  4 +--
 .../functions/builtin/BuiltinImageCropTest.java    |  4 +--
 .../functions/builtin/BuiltinImageMirrorTest.java  |  8 +++---
 .../functions/builtin/BuiltinIntersectionTest.java |  2 +-
 .../builtin/BuiltinKmeansPredictTest.java          |  2 +-
 .../test/functions/builtin/BuiltinL2SVMTest.java   |  4 +--
 .../functions/builtin/BuiltinLmPredictTest.java    |  4 +--
 .../test/functions/builtin/BuiltinLmTest.java      |  4 +--
 .../test/functions/builtin/BuiltinMiceTest.java    |  8 +++---
 .../builtin/BuiltinMultiLogRegPredictTest.java     |  4 +--
 .../builtin/BuiltinMulticlassSVMPredictTest.java   |  4 +--
 .../builtin/BuiltinMulticlassSVMTest.java          |  4 +--
 .../test/functions/builtin/BuiltinNaLocfTest.java  |  4 +--
 .../functions/builtin/BuiltinNaiveBayesTest.java   |  8 +++---
 .../functions/builtin/BuiltinNormalizeTest.java    |  4 +--
 .../test/functions/builtin/BuiltinOutlierTest.java |  4 +--
 .../test/functions/builtin/BuiltinSTEPLmTest.java  |  8 +++---
 .../test/functions/builtin/BuiltinScaleTest.java   |  4 +--
 .../test/functions/builtin/BuiltinSigmoidTest.java |  4 +--
 .../functions/builtin/BuiltinSliceFinderTest.java  |  8 +++---
 .../test/functions/builtin/BuiltinSmoteTest.java   |  2 +-
 .../functions/builtin/BuiltinToOneHotTest.java     |  2 +-
 .../functions/builtin/BuiltinWinsorizeTest.java    |  4 +--
 .../functions/builtin/MultipleBuiltinsTest.java    |  4 +--
 .../test/functions/codegen/CellwiseTmplTest.java   |  8 +++---
 .../functions/codegen/DAGCellwiseTmplTest.java     |  4 +--
 .../test/functions/codegen/MiscPatternTest.java    |  4 +--
 .../test/functions/codegen/MultiAggTmplTest.java   |  4 +--
 .../test/functions/codegen/OuterProdTmplTest.java  | 12 ++++----
 .../test/functions/codegen/RowAggTmplTest.java     |  4 +--
 .../functions/codegen/RowConv2DOperationsTest.java |  4 +--
 .../functions/codegen/RowVectorComparisonTest.java |  4 +--
 .../functions/codegen/SparseSideInputTest.java     |  4 +--
 .../functions/codegen/SumProductChainTest.java     |  4 +--
 .../codegenalg/partone/AlgorithmAutoEncoder.java   | 32 +++++++++++-----------
 .../codegenalg/partone/AlgorithmL2SVM.java         |  4 +--
 .../codegenalg/partone/AlgorithmLinregCG.java      |  4 +--
 .../codegenalg/partone/AlgorithmMLogreg.java       |  4 +--
 .../codegenalg/partone/AlgorithmMSVM.java          |  4 +--
 .../functions/codegenalg/partone/AlgorithmPCA.java | 12 ++++----
 .../codegenalg/parttwo/AlgorithmPNMF.java          |  8 +++---
 .../codegenalg/parttwo/AlgorithmPageRank.java      |  4 +--
 .../data/misc/MatrixMarketFormatTest.java          |  8 +++---
 .../functions/data/misc/WriteReadZeroDimsTest.java |  2 +-
 .../data/rand/RandRuntimePlatformBase.java         |  4 +--
 .../functions/data/rand/RandVarMinMaxTest.java     |  4 +--
 .../test/functions/data/rand/RandVarSeedTest.java  |  2 +-
 .../test/functions/data/rand/SequenceTest.java     |  8 +++---
 .../test/functions/dnn/Conv2DBackwardDataTest.java |  4 +--
 .../test/functions/dnn/Conv2DBackwardTest.java     |  4 +--
 .../sysds/test/functions/dnn/Conv2DTest.java       |  4 +--
 .../sysds/test/functions/dnn/PoolBackwardTest.java |  4 +--
 .../apache/sysds/test/functions/dnn/PoolTest.java  |  4 +--
 .../sysds/test/functions/dnn/ReluBackwardTest.java |  4 +--
 .../frame/FrameScalarCastingIntegratedTest.java    |  2 +-
 .../functions/indexing/LeftIndexingScalarTest.java |  4 +--
 .../indexing/LeftIndexingSparseDenseTest.java      |  4 +--
 .../indexing/LeftIndexingSparseSparseTest.java     |  4 +--
 .../test/functions/indexing/LeftIndexingTest.java  |  4 +--
 .../indexing/LeftIndexingUpdateInPlaceTest.java    |  4 +--
 .../indexing/RightIndexingMatrixTest.java          |  4 +--
 .../indexing/RightIndexingVectorTest.java          |  4 +--
 .../indexing/RowBatchRightIndexingTest.java        |  4 +--
 .../functions/jmlc/MulticlassSVMScoreTest.java     |  2 +-
 .../test/functions/lineage/CacheEvictionTest.java  |  4 +--
 .../test/functions/lineage/FullReuseTest.java      |  4 +--
 .../functions/lineage/FunctionFullReuseTest.java   |  4 +--
 .../test/functions/lineage/LineageCodegenTest.java |  2 +-
 .../test/functions/lineage/LineageReuseAlg.java    |  4 +--
 .../test/functions/lineage/LineageRewriteTest.java |  4 +--
 .../functions/lineage/LineageTraceBuiltinTest.java |  2 +-
 .../functions/lineage/LineageTraceDedupTest.java   |  2 +-
 .../lineage/LineageTraceExecSparkTest.java         |  4 +--
 .../functions/lineage/LineageTraceExecTest.java    |  4 +--
 .../functions/lineage/LineageTraceFrameTest.java   |  4 +--
 .../lineage/LineageTraceFunctionTest.java          |  2 +-
 .../functions/lineage/LineageTraceParforTest.java  |  2 +-
 .../test/functions/lineage/PartialReuseTest.java   |  4 +--
 .../test/functions/lineage/SBFullReuseTest.java    |  4 +--
 .../functions/lineage/UnmarkLoopDepVarsTest.java   |  4 +--
 .../test/functions/misc/DataTypeCastingTest.java   |  4 +--
 .../test/functions/misc/ExistsVariableTest.java    |  2 +-
 .../functions/misc/FunctionInExpressionTest.java   |  2 +-
 .../functions/misc/IPAFunctionInliningTest.java    |  2 +-
 .../functions/misc/IPALiteralReplacementTest.java  |  4 +--
 .../functions/misc/IPAUnknownRecursionTest.java    |  4 +--
 .../test/functions/misc/ListAndStructTest.java     |  4 +--
 .../test/functions/misc/ListAppendRemove.java      |  2 +-
 .../functions/misc/NegativeLoopIncrementsTest.java |  4 +--
 .../test/functions/misc/OuterTableExpandTest.java  |  4 +--
 .../test/functions/misc/ScalarFunctionTest.java    |  4 +--
 .../test/functions/misc/SizePropagationTest.java   |  2 +-
 .../functions/misc/ZeroRowsColsMatrixTest.java     |  4 +--
 .../sysds/test/functions/mlcontext/GNMFTest.java   |  8 +++---
 .../functions/mlcontext/MLContextLinregTest.java   |  2 +-
 .../functions/mlcontext/MLContextPNMFTest.java     |  4 +--
 .../functions/mlcontext/MLContextPageRankTest.java |  2 +-
 .../sysds/test/functions/nary/NaryCBindTest.java   |  4 +--
 .../test/functions/nary/NaryListCBindTest.java     |  4 +--
 .../test/functions/nary/NaryListRBindTest.java     |  4 +--
 .../sysds/test/functions/nary/NaryMinMaxTest.java  |  4 +--
 .../sysds/test/functions/nary/NaryRBindTest.java   |  4 +--
 .../parfor/misc/ForLoopPredicateTest.java          |  2 +-
 .../misc/ParForAccumulatorResultMergeTest.java     |  4 +--
 .../parfor/misc/ParForAdversarialLiteralsTest.java |  2 +-
 .../misc/ParForFunctionSerializationTest.java      |  4 +--
 .../parfor/misc/ParForImageBrightnessTest.java     |  4 +--
 .../parfor/misc/ParForImageMirrorTest.java         |  4 +--
 .../parfor/misc/ParForListResultVarsTest.java      |  2 +-
 .../parfor/misc/ParForNaNResultMergeTest.java      |  4 +--
 .../misc/ParForParallelRemoteResultMergeTest.java  |  4 +--
 .../misc/ParForReplaceThreadIDRecompileTest.java   |  2 +-
 .../parfor/misc/ParForRulebasedOptimizerTest.java  |  8 +++---
 .../misc/ParForSerialRemoteResultMergeTest.java    |  4 +--
 .../ParForBlockwiseDataPartitioningTest.java       |  4 +--
 .../ParForColwiseDataPartitioningTest.java         |  4 +--
 .../partition/ParForDataPartitionExecuteTest.java  |  4 +--
 .../ParForDataPartitionLeftIndexingTest.java       |  2 +-
 .../ParForMultipleDataPartitioningTest.java        |  4 +--
 .../partition/ParForRepeatedOptimizationTest.java  |  4 +--
 .../ParForRowwiseDataPartitioningTest.java         |  4 +--
 .../functions/privacy/ScalarPropagationTest.java   |  4 +--
 .../privacy/algorithms/BuiltinGLMTest.java         |  4 +--
 .../test/functions/privacy/algorithms/GLMTest.java |  4 +--
 .../quaternary/RewritesWeightedSigmoidTest.java    |  4 +--
 .../quaternary/WeightedCrossEntropyTest.java       |  4 +--
 .../quaternary/WeightedDivMatrixMultTest.java      |  4 +--
 .../functions/quaternary/WeightedSigmoidTest.java  |  4 +--
 .../quaternary/WeightedSquaredLossTest.java        |  4 +--
 .../quaternary/WeightedUnaryMatrixMultTest.java    |  4 +--
 .../functions/recompile/BranchRemovalTest.java     |  4 +--
 .../functions/recompile/CSVReadInFunctionTest.java |  2 +-
 .../recompile/CSVReadUnknownSizeTest.java          |  2 +-
 .../functions/recompile/FunctionRecompileTest.java |  4 +--
 .../IPAAssignConstantPropagationTest.java          |  4 +--
 .../recompile/IPAConstantPropagationFunTest.java   |  4 +--
 .../recompile/IPAConstantPropagationTest.java      |  4 +--
 .../IPAPropagationSizeMultipleFunctionsTest.java   |  4 +--
 .../functions/recompile/MultipleReadsIPATest.java  |  4 +--
 .../recompile/PredicateRecompileTest.java          |  2 +-
 .../functions/recompile/RandJobRecompileTest.java  |  4 +--
 .../recompile/RandSizeExpressionEvalTest.java      |  2 +-
 .../functions/recompile/ReblockRecompileTest.java  |  2 +-
 .../recompile/RemoveEmptyPotpourriTest.java        |  4 +--
 .../recompile/RemoveEmptyRecompileTest.java        |  4 +--
 .../recompile/RewriteComplexMapMultChainTest.java  |  4 +--
 .../recompile/SparsityFunctionRecompileTest.java   |  2 +-
 .../functions/recompile/SparsityRecompileTest.java |  2 +-
 .../sysds/test/functions/reorg/FullDiagTest.java   |  4 +--
 .../sysds/test/functions/reorg/FullOrderTest.java  |  4 +--
 .../test/functions/reorg/FullReverseTest.java      |  4 +--
 .../test/functions/reorg/FullTransposeTest.java    |  4 +--
 .../test/functions/reorg/MatrixReshapeTest.java    |  4 +--
 .../functions/reorg/MultipleOrderByColsTest.java   |  4 +--
 .../test/functions/reorg/VectorReshapeTest.java    |  4 +--
 .../rewrite/RewriteBinaryMV2OuterTest.java         |  4 +--
 ...iteElementwiseMultChainOptimizationAllTest.java |  4 +--
 ...ewriteElementwiseMultChainOptimizationTest.java |  4 +--
 .../rewrite/RewriteEliminateAggregatesTest.java    |  4 +--
 .../rewrite/RewriteEliminateRemoveEmptyTest.java   |  4 +--
 .../functions/rewrite/RewriteFoldMinMaxTest.java   |  2 +-
 .../functions/rewrite/RewriteFoldRCBindTest.java   |  2 +-
 .../rewrite/RewriteFuseBinaryOpChainTest.java      |  4 +--
 .../functions/rewrite/RewriteFusedRandTest.java    |  2 +-
 .../RewriteHoistingLoopInvariantOpsTest.java       |  4 +--
 .../test/functions/rewrite/RewriteIfElseTest.java  |  4 +--
 .../rewrite/RewriteIndexingVectorizationTest.java  |  2 +-
 .../functions/rewrite/RewriteListTsmmCVTest.java   |  2 +-
 .../rewrite/RewriteLoopVectorization.java          |  4 +--
 .../rewrite/RewriteMatrixMultChainOptTest.java     |  4 +--
 .../rewrite/RewriteMatrixMultChainOptTest2.java    |  4 +--
 .../functions/rewrite/RewriteMergeBlocksTest.java  |  4 +--
 .../test/functions/rewrite/RewriteNNIssueTest.java |  4 +--
 .../functions/rewrite/RewriteNaryPlusTest.java     |  2 +-
 .../rewrite/RewritePushdownSumBinaryMult.java      |  4 +--
 .../rewrite/RewritePushdownSumOnBinaryTest.java    |  4 +--
 .../functions/rewrite/RewritePushdownUaggTest.java |  4 +--
 .../RewriteRemoveUnnecessaryCTableTest.java        |  2 +-
 .../RewriteSimplifyRowColSumMVMultTest.java        |  4 +--
 .../rewrite/RewriteSlicedMatrixMultTest.java       |  4 +--
 .../functions/ternary/ABATernaryAggregateTest.java |  4 +--
 .../ternary/CTableMatrixIgnoreZerosTest.java       |  4 +--
 .../test/functions/ternary/CTableSequenceTest.java |  4 +--
 .../ternary/CentralMomentWeightsTest.java          |  4 +--
 .../functions/ternary/CovarianceWeightsTest.java   |  4 +--
 .../test/functions/ternary/FullIfElseTest.java     |  4 +--
 .../functions/ternary/QuantileWeightsTest.java     |  4 +--
 .../test/functions/ternary/TableOutputTest.java    |  4 +--
 .../functions/ternary/TernaryAggregateTest.java    |  4 +--
 .../TransformFrameEncodeApplySubsetTest.java       |  2 +-
 .../test/functions/unary/matrix/CholeskyTest.java  |  2 +-
 .../unary/matrix/ExtractTriangularTest.java        |  4 +--
 .../functions/unary/matrix/FullCummaxTest.java     |  4 +--
 .../functions/unary/matrix/FullCumminTest.java     |  4 +--
 .../functions/unary/matrix/FullCumprodTest.java    |  4 +--
 .../functions/unary/matrix/FullCumsumTest.java     |  4 +--
 .../functions/unary/matrix/FullCumsumprodTest.java |  2 +-
 .../functions/unary/matrix/FullSelectPosTest.java  |  4 +--
 .../test/functions/unary/matrix/FullSignTest.java  |  4 +--
 .../functions/unary/matrix/IsSpecialValueTest.java |  4 +--
 .../functions/unary/matrix/MLUnaryBuiltinTest.java |  4 +--
 .../test/functions/unary/matrix/MinusTest.java     |  4 +--
 .../functions/unary/matrix/RemoveEmptySelTest.java |  2 +-
 .../test/functions/unary/matrix/ReplaceTest.java   |  4 +--
 .../unary/scalar/FullDistributionTest.java         |  4 +--
 .../test/functions/unary/scalar/RoundTest.java     |  2 +-
 .../test/functions/vect/AutoVectorizationTest.java |  4 +--
 .../vect/LeftIndexingChainUpdateTest.java          |  4 +--
 302 files changed, 664 insertions(+), 664 deletions(-)

diff --git a/src/test/java/org/apache/sysds/test/AutomatedTestBase.java b/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
index 3c3b85b..c3a0c59 100644
--- a/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
+++ b/src/test/java/org/apache/sysds/test/AutomatedTestBase.java
@@ -743,17 +743,17 @@ public abstract class AutomatedTestBase {
 		expectedFiles.add(baseDirectory + EXPECTED_DIR + cacheDir + name);
 	}
 
-	protected static HashMap<CellIndex, Double> readDMLMatrixFromHDFS(String fileName) {
+	protected static HashMap<CellIndex, Double> readDMLMatrixFromOutputDir(String fileName) {
 		return TestUtils.readDMLMatrixFromHDFS(baseDirectory + OUTPUT_DIR + fileName);
 	}
 
-	public HashMap<CellIndex, Double> readRMatrixFromFS(String fileName) {
+	public HashMap<CellIndex, Double> readRMatrixFromExpectedDir(String fileName) {
 		if(LOG.isInfoEnabled())
 			LOG.info("R script out: " + baseDirectory + EXPECTED_DIR + cacheDir + fileName);
 		return TestUtils.readRMatrixFromFS(baseDirectory + EXPECTED_DIR + cacheDir + fileName);
 	}
 
-	protected static HashMap<CellIndex, Double> readDMLScalarFromHDFS(String fileName) {
+	protected static HashMap<CellIndex, Double> readDMLScalarFromOutputDir(String fileName) {
 		return TestUtils.readDMLScalarFromHDFS(baseDirectory + OUTPUT_DIR + fileName);
 	}
 
@@ -795,7 +795,7 @@ public abstract class AutomatedTestBase {
 		return reader.readFrameFromHDFS(strFrameFileName, md.getRows(), md.getCols());
 	}
 
-	public HashMap<CellIndex, Double> readRScalarFromFS(String fileName) {
+	public HashMap<CellIndex, Double> readRScalarFromExpectedDir(String fileName) {
 		if(LOG.isInfoEnabled())
 			LOG.info("R script out: " + baseDirectory + EXPECTED_DIR + cacheDir + fileName);
 		return TestUtils.readRScalarFromFS(baseDirectory + EXPECTED_DIR + cacheDir + fileName);
diff --git a/src/test/java/org/apache/sysds/test/TestUtils.java b/src/test/java/org/apache/sysds/test/TestUtils.java
index 1755e89..7b7893b 100644
--- a/src/test/java/org/apache/sysds/test/TestUtils.java
+++ b/src/test/java/org/apache/sysds/test/TestUtils.java
@@ -464,7 +464,7 @@ public class TestUtils
 	 * Reads values from a matrix file in HDFS in DML format
 	 *
 	 * NOTE: For reading the output of a matrix produced by a JUnit test, use the convenience
-	 *       function {@link AutomatedTestBase#readDMLMatrixFromHDFS(String)}
+	 *       function {@link AutomatedTestBase#readDMLMatrixFromOutputDir(String)}
 	 *
 	 * @param filePath Path to the file to be read.
 	 * @return Matrix values in a hashmap <index,value>
@@ -495,7 +495,7 @@ public class TestUtils
 	 * Reads values from a matrix file in OS's FS in R format
 	 *
 	 * NOTE: For reading the output of a matrix produced by a R validation code of a JUnit test, use the convenience
-	 *       function {@link AutomatedTestBase#readRMatrixFromFS(String)}
+	 *       function {@link AutomatedTestBase#readRMatrixFromExpectedDir(String)}
 	 *
 	 * @param filePath Path to the file to be read.
 	 * @return Matrix values in a hashmap <index,value>
diff --git a/src/test/java/org/apache/sysds/test/applications/ApplyTransformTest.java b/src/test/java/org/apache/sysds/test/applications/ApplyTransformTest.java
index 7cf8c94..c6d2852 100644
--- a/src/test/java/org/apache/sysds/test/applications/ApplyTransformTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/ApplyTransformTest.java
@@ -95,7 +95,7 @@ public class ApplyTransformTest extends AutomatedTestBase{
 		 
 		runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
 		 
-		HashMap<CellIndex, Double> XDML= readDMLMatrixFromHDFS("transformed_X.mtx");
+		HashMap<CellIndex, Double> XDML= readDMLMatrixFromOutputDir("transformed_X.mtx");
 		 
 		Iterator<Map.Entry<CellIndex, Double>> iter = XDML.entrySet().iterator();
 		while(iter.hasNext()){
diff --git a/src/test/java/org/apache/sysds/test/applications/ArimaTest.java b/src/test/java/org/apache/sysds/test/applications/ArimaTest.java
index 020ffb6..15aefe0 100644
--- a/src/test/java/org/apache/sysds/test/applications/ArimaTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/ArimaTest.java
@@ -141,8 +141,8 @@ public class ArimaTest extends AutomatedTestBase {
 		runRScript(true);
 
 		double tol = Math.pow(10, -14);
-		HashMap<CellIndex, Double> arima_model_R = readRMatrixFromFS("learnt.model");
-		HashMap<CellIndex, Double> arima_model_SYSTEMDS= readDMLMatrixFromHDFS("learnt.model");
+		HashMap<CellIndex, Double> arima_model_R = readRMatrixFromExpectedDir("learnt.model");
+		HashMap<CellIndex, Double> arima_model_SYSTEMDS= readDMLMatrixFromOutputDir("learnt.model");
 		TestUtils.compareMatrices(arima_model_R, arima_model_SYSTEMDS, tol, "arima_model_R", "arima_model_SYSTEMDS");
 	}
 }
diff --git a/src/test/java/org/apache/sysds/test/applications/BivariateCategoricalCategoricallTest.java b/src/test/java/org/apache/sysds/test/applications/BivariateCategoricalCategoricallTest.java
index d9c14f2..058a26e 100644
--- a/src/test/java/org/apache/sysds/test/applications/BivariateCategoricalCategoricallTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/BivariateCategoricalCategoricallTest.java
@@ -108,12 +108,12 @@ public class BivariateCategoricalCategoricallTest extends AutomatedTestBase
 			HashMap<CellIndex, Double> rfile;
 			if (file.endsWith(".scalar")) {
 				file = file.replace(".scalar", "");
-				dmlfile = readDMLScalarFromHDFS(file);
-				rfile = readRScalarFromFS(file);
+				dmlfile = readDMLScalarFromOutputDir(file);
+				rfile = readRScalarFromExpectedDir(file);
 			}
 			else {
-				dmlfile = readDMLMatrixFromHDFS(file);
-				rfile = readRMatrixFromFS(file);
+				dmlfile = readDMLMatrixFromOutputDir(file);
+				rfile = readRMatrixFromExpectedDir(file);
 			}
 			TestUtils.compareMatrices(dmlfile, rfile, eps, file+"-DML", file+"-R");
 		}
@@ -166,12 +166,12 @@ public class BivariateCategoricalCategoricallTest extends AutomatedTestBase
 			HashMap<CellIndex, Double> rfile;
 			if (file.endsWith(".scalar")) {
 				file = file.replace(".scalar", "");
-				dmlfile = readDMLScalarFromHDFS(file);
-				rfile = readRScalarFromFS(file);
+				dmlfile = readDMLScalarFromOutputDir(file);
+				rfile = readRScalarFromExpectedDir(file);
 			}
 			else {
-				dmlfile = readDMLMatrixFromHDFS(file);
-				rfile = readRMatrixFromFS(file);
+				dmlfile = readDMLMatrixFromOutputDir(file);
+				rfile = readRMatrixFromExpectedDir(file);
 			}
 			TestUtils.compareMatrices(dmlfile, rfile, eps, file+"-DML", file+"-R");
 		}
@@ -223,12 +223,12 @@ public class BivariateCategoricalCategoricallTest extends AutomatedTestBase
 			HashMap<CellIndex, Double> rfile;
 			if (file.endsWith(".scalar")) {
 				file = file.replace(".scalar", "");
-				dmlfile = readDMLScalarFromHDFS(file);
-				rfile = readRScalarFromFS(file);
+				dmlfile = readDMLScalarFromOutputDir(file);
+				rfile = readRScalarFromExpectedDir(file);
 			}
 			else {
-				dmlfile = readDMLMatrixFromHDFS(file);
-				rfile = readRMatrixFromFS(file);
+				dmlfile = readDMLMatrixFromOutputDir(file);
+				rfile = readRMatrixFromExpectedDir(file);
 			}
 			TestUtils.compareMatrices(dmlfile, rfile, eps, file+"-DML", file+"-R");
 		}
diff --git a/src/test/java/org/apache/sysds/test/applications/BivariateOrdinalOrdinalTest.java b/src/test/java/org/apache/sysds/test/applications/BivariateOrdinalOrdinalTest.java
index 7b9396d..e89516d 100644
--- a/src/test/java/org/apache/sysds/test/applications/BivariateOrdinalOrdinalTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/BivariateOrdinalOrdinalTest.java
@@ -85,12 +85,12 @@ public class BivariateOrdinalOrdinalTest extends AutomatedTestBase
 			HashMap<CellIndex, Double> rfile;
 			if (file.endsWith(".scalar")) {
 				file = file.replace(".scalar", "");
-				dmlfile = readDMLScalarFromHDFS(file);
-				rfile = readRScalarFromFS(file);
+				dmlfile = readDMLScalarFromOutputDir(file);
+				rfile = readRScalarFromExpectedDir(file);
 			}
 			else {
-				dmlfile = readDMLMatrixFromHDFS(file);
-				rfile = readRMatrixFromFS(file);
+				dmlfile = readDMLMatrixFromOutputDir(file);
+				rfile = readRMatrixFromExpectedDir(file);
 			}
 			TestUtils.compareMatrices(dmlfile, rfile, eps, file+"-DML", file+"-R");
 		}
@@ -132,12 +132,12 @@ public class BivariateOrdinalOrdinalTest extends AutomatedTestBase
 			HashMap<CellIndex, Double> rfile;
 			if (file.endsWith(".scalar")) {
 				file = file.replace(".scalar", "");
-				dmlfile = readDMLScalarFromHDFS(file);
-				rfile = readRScalarFromFS(file);
+				dmlfile = readDMLScalarFromOutputDir(file);
+				rfile = readRScalarFromExpectedDir(file);
 			}
 			else {
-				dmlfile = readDMLMatrixFromHDFS(file);
-				rfile = readRMatrixFromFS(file);
+				dmlfile = readDMLMatrixFromOutputDir(file);
+				rfile = readRMatrixFromExpectedDir(file);
 			}
 			TestUtils.compareMatrices(dmlfile, rfile, eps, file+"-DML", file+"-R");
 		}
diff --git a/src/test/java/org/apache/sysds/test/applications/BivariateScaleCategoricalTest.java b/src/test/java/org/apache/sysds/test/applications/BivariateScaleCategoricalTest.java
index 7459ef43..196ceda 100644
--- a/src/test/java/org/apache/sysds/test/applications/BivariateScaleCategoricalTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/BivariateScaleCategoricalTest.java
@@ -91,12 +91,12 @@ public class BivariateScaleCategoricalTest extends AutomatedTestBase
 			HashMap<CellIndex, Double> rfile;
 			if (file.endsWith(".scalar")) {
 				file = file.replace(".scalar", "");
-				dmlfile = readDMLScalarFromHDFS(file);
-				rfile = readRScalarFromFS(file);
+				dmlfile = readDMLScalarFromOutputDir(file);
+				rfile = readRScalarFromExpectedDir(file);
 			}
 			else {
-				dmlfile = readDMLMatrixFromHDFS(file);
-				rfile = readRMatrixFromFS(file);
+				dmlfile = readDMLMatrixFromOutputDir(file);
+				rfile = readRMatrixFromExpectedDir(file);
 			}
 			TestUtils.compareMatrices(dmlfile, rfile, eps, file+"-DML", file+"-R");
 		}
@@ -140,12 +140,12 @@ public class BivariateScaleCategoricalTest extends AutomatedTestBase
 			HashMap<CellIndex, Double> rfile;
 			if (file.endsWith(".scalar")) {
 				file = file.replace(".scalar", "");
-				dmlfile = readDMLScalarFromHDFS(file);
-				rfile = readRScalarFromFS(file);
+				dmlfile = readDMLScalarFromOutputDir(file);
+				rfile = readRScalarFromExpectedDir(file);
 			}
 			else {
-				dmlfile = readDMLMatrixFromHDFS(file);
-				rfile = readRMatrixFromFS(file);
+				dmlfile = readDMLMatrixFromOutputDir(file);
+				rfile = readRMatrixFromExpectedDir(file);
 			}
 			TestUtils.compareMatrices(dmlfile, rfile, eps, file+"-DML", file+"-R");
 		}
diff --git a/src/test/java/org/apache/sysds/test/applications/BivariateScaleScaleTest.java b/src/test/java/org/apache/sysds/test/applications/BivariateScaleScaleTest.java
index 5e9e324..d24c9e0 100644
--- a/src/test/java/org/apache/sysds/test/applications/BivariateScaleScaleTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/BivariateScaleScaleTest.java
@@ -91,12 +91,12 @@ public class BivariateScaleScaleTest extends AutomatedTestBase
 			HashMap<CellIndex, Double> rfile;
 			if (file.endsWith(".scalar")) {
 				file = file.replace(".scalar", "");
-				dmlfile = readDMLScalarFromHDFS(file);
-				rfile = readRScalarFromFS(file);
+				dmlfile = readDMLScalarFromOutputDir(file);
+				rfile = readRScalarFromExpectedDir(file);
 			}
 			else {
-				dmlfile = readDMLMatrixFromHDFS(file);
-				rfile = readRMatrixFromFS(file);
+				dmlfile = readDMLMatrixFromOutputDir(file);
+				rfile = readRMatrixFromExpectedDir(file);
 			}
 			TestUtils.compareMatrices(dmlfile, rfile, eps, file+"-DML", file+"-R");
 		}
@@ -146,12 +146,12 @@ public class BivariateScaleScaleTest extends AutomatedTestBase
 			HashMap<CellIndex, Double> rfile;
 			if (file.endsWith(".scalar")) {
 				file = file.replace(".scalar", "");
-				dmlfile = readDMLScalarFromHDFS(file);
-				rfile = readRScalarFromFS(file);
+				dmlfile = readDMLScalarFromOutputDir(file);
+				rfile = readRScalarFromExpectedDir(file);
 			}
 			else {
-				dmlfile = readDMLMatrixFromHDFS(file);
-				rfile = readRMatrixFromFS(file);
+				dmlfile = readDMLMatrixFromOutputDir(file);
+				rfile = readRMatrixFromExpectedDir(file);
 			}
 			TestUtils.compareMatrices(dmlfile, rfile, eps, file+"-DML", file+"-R");
 		}
diff --git a/src/test/java/org/apache/sysds/test/applications/CsplineCGTest.java b/src/test/java/org/apache/sysds/test/applications/CsplineCGTest.java
index 0c6c017..1665911 100644
--- a/src/test/java/org/apache/sysds/test/applications/CsplineCGTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/CsplineCGTest.java
@@ -101,8 +101,8 @@ public class CsplineCGTest extends AutomatedTestBase {
 
 		runRScript(true);
 
-		HashMap<CellIndex, Double> pred_y_R = readRMatrixFromFS("pred_y");
-		HashMap<CellIndex, Double> pred_y_SYSTEMDS= readDMLMatrixFromHDFS("pred_y");
+		HashMap<CellIndex, Double> pred_y_R = readRMatrixFromExpectedDir("pred_y");
+		HashMap<CellIndex, Double> pred_y_SYSTEMDS= readDMLMatrixFromOutputDir("pred_y");
 
 		TestUtils.compareMatrices(pred_y_R, pred_y_SYSTEMDS, Math.pow(10, -5), "k_R", "k_SYSTEMDS");
 	}
diff --git a/src/test/java/org/apache/sysds/test/applications/CsplineDSTest.java b/src/test/java/org/apache/sysds/test/applications/CsplineDSTest.java
index 085af61..e978e1b 100644
--- a/src/test/java/org/apache/sysds/test/applications/CsplineDSTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/CsplineDSTest.java
@@ -105,8 +105,8 @@ public class CsplineDSTest  extends AutomatedTestBase {
 
 		runRScript(true);
 
-		HashMap<CellIndex, Double> priorR = readRMatrixFromFS("pred_y");
-		HashMap<CellIndex, Double> priorSYSTEMDS= readDMLMatrixFromHDFS("pred_y");
+		HashMap<CellIndex, Double> priorR = readRMatrixFromExpectedDir("pred_y");
+		HashMap<CellIndex, Double> priorSYSTEMDS= readDMLMatrixFromOutputDir("pred_y");
 
 		TestUtils.compareMatrices(priorR, priorSYSTEMDS, Math.pow(10, -12), "k_R", "k_SYSTEMDS");
 	}
diff --git a/src/test/java/org/apache/sysds/test/applications/GLMTest.java b/src/test/java/org/apache/sysds/test/applications/GLMTest.java
index 0084b6f..9ed3730 100644
--- a/src/test/java/org/apache/sysds/test/applications/GLMTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/GLMTest.java
@@ -275,7 +275,7 @@ public class GLMTest extends AutomatedTestBase
 			max_abs_beta = (max_abs_beta >= Math.abs (beta[j]) ? max_abs_beta : Math.abs (beta[j]));
 		}
 
-		HashMap<CellIndex, Double> wSYSTEMDS_raw = readDMLMatrixFromHDFS ("betas_SYSTEMDS");
+		HashMap<CellIndex, Double> wSYSTEMDS_raw = readDMLMatrixFromOutputDir("betas_SYSTEMDS");
 		HashMap<CellIndex, Double> wSYSTEMDS = new HashMap<> ();
 		for (CellIndex key : wSYSTEMDS_raw.keySet())
 			if (key.column == 1)
@@ -283,7 +283,7 @@ public class GLMTest extends AutomatedTestBase
 
 		runRScript(true);
 
-		HashMap<CellIndex, Double> wR   = readRMatrixFromFS ("betas_R");
+		HashMap<CellIndex, Double> wR   = readRMatrixFromExpectedDir("betas_R");
 		
 		double eps = 0.000001;
 		if( (distParam==0 && linkType==1) ) { // Gaussian.*
diff --git a/src/test/java/org/apache/sysds/test/applications/GNMFTest.java b/src/test/java/org/apache/sysds/test/applications/GNMFTest.java
index d89b649..52d106b 100644
--- a/src/test/java/org/apache/sysds/test/applications/GNMFTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/GNMFTest.java
@@ -131,10 +131,10 @@ public class GNMFTest extends AutomatedTestBase
 		
 		runRScript(true);
 
-		HashMap<CellIndex, Double> hmWSYSTEMDS = readDMLMatrixFromHDFS("w");
-		HashMap<CellIndex, Double> hmHSYSTEMDS = readDMLMatrixFromHDFS("h");
-		HashMap<CellIndex, Double> hmWR = readRMatrixFromFS("w");
-		HashMap<CellIndex, Double> hmHR = readRMatrixFromFS("h");
+		HashMap<CellIndex, Double> hmWSYSTEMDS = readDMLMatrixFromOutputDir("w");
+		HashMap<CellIndex, Double> hmHSYSTEMDS = readDMLMatrixFromOutputDir("h");
+		HashMap<CellIndex, Double> hmWR = readRMatrixFromExpectedDir("w");
+		HashMap<CellIndex, Double> hmHR = readRMatrixFromExpectedDir("h");
 
 		TestUtils.compareMatrices(hmWSYSTEMDS, hmWR, 0.000001, "hmWSYSTEMDS", "hmWR");
 		TestUtils.compareMatrices(hmHSYSTEMDS, hmHR, 0.000001, "hmHSYSTEMDS", "hmHR");
diff --git a/src/test/java/org/apache/sysds/test/applications/HITSTest.java b/src/test/java/org/apache/sysds/test/applications/HITSTest.java
index f64f7bb..72db090 100644
--- a/src/test/java/org/apache/sysds/test/applications/HITSTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/HITSTest.java
@@ -76,10 +76,10 @@ public class HITSTest extends AutomatedTestBase
 		
 		runRScript(true);
 
-		HashMap<CellIndex, Double> hubsSYSTEMDS = readDMLMatrixFromHDFS("hubs");
-		HashMap<CellIndex, Double> authSYSTEMDS = readDMLMatrixFromHDFS("authorities");
-		HashMap<CellIndex, Double> hubsR = readRMatrixFromFS("hubs");
-		HashMap<CellIndex, Double> authR = readRMatrixFromFS("authorities");
+		HashMap<CellIndex, Double> hubsSYSTEMDS = readDMLMatrixFromOutputDir("hubs");
+		HashMap<CellIndex, Double> authSYSTEMDS = readDMLMatrixFromOutputDir("authorities");
+		HashMap<CellIndex, Double> hubsR = readRMatrixFromExpectedDir("hubs");
+		HashMap<CellIndex, Double> authR = readRMatrixFromExpectedDir("authorities");
 
 		TestUtils.compareMatrices(hubsSYSTEMDS, hubsR, 0.001, "hubsSYSTEMDS", "hubsR");
 		TestUtils.compareMatrices(authSYSTEMDS, authR, 0.001, "authSYSTEMDS", "authR");
diff --git a/src/test/java/org/apache/sysds/test/applications/ID3Test.java b/src/test/java/org/apache/sysds/test/applications/ID3Test.java
index 2ade39d..304def4 100644
--- a/src/test/java/org/apache/sysds/test/applications/ID3Test.java
+++ b/src/test/java/org/apache/sysds/test/applications/ID3Test.java
@@ -104,10 +104,10 @@ public class ID3Test extends AutomatedTestBase
 		}
 		
 		//compare results
-		HashMap<CellIndex, Double> nR = readRMatrixFromFS("nodes");
-		HashMap<CellIndex, Double> nSYSTEMDS= readDMLMatrixFromHDFS("nodes");
-		HashMap<CellIndex, Double> eR = readRMatrixFromFS("edges");
-		HashMap<CellIndex, Double> eSYSTEMDS= readDMLMatrixFromHDFS("edges");
+		HashMap<CellIndex, Double> nR = readRMatrixFromExpectedDir("nodes");
+		HashMap<CellIndex, Double> nSYSTEMDS= readDMLMatrixFromOutputDir("nodes");
+		HashMap<CellIndex, Double> eR = readRMatrixFromExpectedDir("edges");
+		HashMap<CellIndex, Double> eSYSTEMDS= readDMLMatrixFromOutputDir("edges");
 		TestUtils.compareMatrices(nR, nSYSTEMDS, Math.pow(10, -14), "nR", "nSYSTEMDS");
 		TestUtils.compareMatrices(eR, eSYSTEMDS, Math.pow(10, -14), "eR", "eSYSTEMDS");
 	}
diff --git a/src/test/java/org/apache/sysds/test/applications/L2SVMTest.java b/src/test/java/org/apache/sysds/test/applications/L2SVMTest.java
index b62b842..b77bc49 100644
--- a/src/test/java/org/apache/sysds/test/applications/L2SVMTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/L2SVMTest.java
@@ -108,8 +108,8 @@ public class L2SVMTest extends AutomatedTestBase
 
 		runRScript(true);
 
-		HashMap<CellIndex, Double> wR = readRMatrixFromFS("w");
-		HashMap<CellIndex, Double> wSYSTEMDS= readDMLMatrixFromHDFS("w");
+		HashMap<CellIndex, Double> wR = readRMatrixFromExpectedDir("w");
+		HashMap<CellIndex, Double> wSYSTEMDS= readDMLMatrixFromOutputDir("w");
 		TestUtils.compareMatrices(wR, wSYSTEMDS, epsilon, "wR", "wSYSTEMDS");
 	}
 }
diff --git a/src/test/java/org/apache/sysds/test/applications/LinearLogRegTest.java b/src/test/java/org/apache/sysds/test/applications/LinearLogRegTest.java
index b2af77a..939642b 100644
--- a/src/test/java/org/apache/sysds/test/applications/LinearLogRegTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/LinearLogRegTest.java
@@ -111,8 +111,8 @@ public class LinearLogRegTest extends AutomatedTestBase
         
 		runRScript(true);
 
-        HashMap<CellIndex, Double> wR = readRMatrixFromFS("w");
-        HashMap<CellIndex, Double> wSYSTEMDS= readDMLMatrixFromHDFS("w");
+        HashMap<CellIndex, Double> wR = readRMatrixFromExpectedDir("w");
+        HashMap<CellIndex, Double> wSYSTEMDS= readDMLMatrixFromOutputDir("w");
         TestUtils.compareMatrices(wR, wSYSTEMDS, Math.pow(10, -14), "wR", "wSYSTEMDS");
     }
 }
diff --git a/src/test/java/org/apache/sysds/test/applications/LinearRegressionTest.java b/src/test/java/org/apache/sysds/test/applications/LinearRegressionTest.java
index 38b3f0d..d2bc43f 100644
--- a/src/test/java/org/apache/sysds/test/applications/LinearRegressionTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/LinearRegressionTest.java
@@ -107,8 +107,8 @@ public class LinearRegressionTest extends AutomatedTestBase {
 		
 		runRScript(true);
 		
-		HashMap<CellIndex, Double> wR = readRMatrixFromFS("w");
-		HashMap<CellIndex, Double> wSYSTEMDS= readDMLMatrixFromHDFS("w");
+		HashMap<CellIndex, Double> wR = readRMatrixFromExpectedDir("w");
+		HashMap<CellIndex, Double> wSYSTEMDS= readDMLMatrixFromOutputDir("w");
 		TestUtils.compareMatrices(wR, wSYSTEMDS, Math.pow(10, -10), "wR", "wSYSTEMDS");
 	}
 }
diff --git a/src/test/java/org/apache/sysds/test/applications/MDABivariateStatsTest.java b/src/test/java/org/apache/sysds/test/applications/MDABivariateStatsTest.java
index f789f2f..df83f6b 100644
--- a/src/test/java/org/apache/sysds/test/applications/MDABivariateStatsTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/MDABivariateStatsTest.java
@@ -132,8 +132,8 @@ public class MDABivariateStatsTest extends AutomatedTestBase
 		
 		runRScript(true);
 
-		HashMap<CellIndex, Double> statsSYSTEMDS = readDMLMatrixFromHDFS("stats");
-		HashMap<CellIndex, Double> statsR = readRMatrixFromFS("stats");
+		HashMap<CellIndex, Double> statsSYSTEMDS = readDMLMatrixFromOutputDir("stats");
+		HashMap<CellIndex, Double> statsR = readRMatrixFromExpectedDir("stats");
 		
 		TestUtils.compareMatrices(statsSYSTEMDS, statsR, 0.000001, "statsSYSTEMDS", "statsR");
 	}
diff --git a/src/test/java/org/apache/sysds/test/applications/MultiClassSVMTest.java b/src/test/java/org/apache/sysds/test/applications/MultiClassSVMTest.java
index b637331..ef89a27 100644
--- a/src/test/java/org/apache/sysds/test/applications/MultiClassSVMTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/MultiClassSVMTest.java
@@ -135,8 +135,8 @@ public class MultiClassSVMTest  extends AutomatedTestBase
 	     runRScript(true);
 	        
 	     //compare outputs (assert on tear down)
-		 HashMap<CellIndex, Double> wR = readRMatrixFromFS("w");
-		 HashMap<CellIndex, Double> wSYSTEMDS = readDMLMatrixFromHDFS("w");
+		 HashMap<CellIndex, Double> wR = readRMatrixFromExpectedDir("w");
+		 HashMap<CellIndex, Double> wSYSTEMDS = readDMLMatrixFromOutputDir("w");
 		 TestUtils.compareMatrices(wR, wSYSTEMDS, Math.pow(10, -10), "wR", "wSYSTEMDS");
 	 }
 }
\ No newline at end of file
diff --git a/src/test/java/org/apache/sysds/test/applications/NaiveBayesParforTest.java b/src/test/java/org/apache/sysds/test/applications/NaiveBayesParforTest.java
index 4a67e88..1b5aa50 100644
--- a/src/test/java/org/apache/sysds/test/applications/NaiveBayesParforTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/NaiveBayesParforTest.java
@@ -116,10 +116,10 @@ public class NaiveBayesParforTest  extends AutomatedTestBase{
 	        
 		 runRScript(true);
 	        
-		 HashMap<CellIndex, Double> priorR = readRMatrixFromFS("prior");
-		 HashMap<CellIndex, Double> priorSYSTEMDS= readDMLMatrixFromHDFS("prior");
-		 HashMap<CellIndex, Double> conditionalsR = readRMatrixFromFS("conditionals");
-		 HashMap<CellIndex, Double> conditionalsSYSTEMDS = readDMLMatrixFromHDFS("conditionals");
+		 HashMap<CellIndex, Double> priorR = readRMatrixFromExpectedDir("prior");
+		 HashMap<CellIndex, Double> priorSYSTEMDS= readDMLMatrixFromOutputDir("prior");
+		 HashMap<CellIndex, Double> conditionalsR = readRMatrixFromExpectedDir("conditionals");
+		 HashMap<CellIndex, Double> conditionalsSYSTEMDS = readDMLMatrixFromOutputDir("conditionals");
 		 TestUtils.compareMatrices(priorR, priorSYSTEMDS, Math.pow(10, -12), "priorR", "priorSYSTEMDS");
 		 TestUtils.compareMatrices(conditionalsR, conditionalsSYSTEMDS, Math.pow(10.0, -12.0), "conditionalsR", "conditionalsSYSTEMDS");
 	 }
diff --git a/src/test/java/org/apache/sysds/test/applications/NaiveBayesTest.java b/src/test/java/org/apache/sysds/test/applications/NaiveBayesTest.java
index a976398..efa10a4 100644
--- a/src/test/java/org/apache/sysds/test/applications/NaiveBayesTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/NaiveBayesTest.java
@@ -116,10 +116,10 @@ public class NaiveBayesTest  extends AutomatedTestBase{
 	        
 		 runRScript(true);
 	        
-		 HashMap<CellIndex, Double> priorR = readRMatrixFromFS("prior");
-		 HashMap<CellIndex, Double> priorSYSTEMDS= readDMLMatrixFromHDFS("prior");
-		 HashMap<CellIndex, Double> conditionalsR = readRMatrixFromFS("conditionals");
-		 HashMap<CellIndex, Double> conditionalsSYSTEMDS = readDMLMatrixFromHDFS("conditionals");
+		 HashMap<CellIndex, Double> priorR = readRMatrixFromExpectedDir("prior");
+		 HashMap<CellIndex, Double> priorSYSTEMDS= readDMLMatrixFromOutputDir("prior");
+		 HashMap<CellIndex, Double> conditionalsR = readRMatrixFromExpectedDir("conditionals");
+		 HashMap<CellIndex, Double> conditionalsSYSTEMDS = readDMLMatrixFromOutputDir("conditionals");
 		 TestUtils.compareMatrices(priorR, priorSYSTEMDS, Math.pow(10, -12), "priorR", "priorSYSTEMDS");
 		 TestUtils.compareMatrices(conditionalsR, conditionalsSYSTEMDS, Math.pow(10.0, -12.0), "conditionalsR", "conditionalsSYSTEMDS");
 	 }
diff --git a/src/test/java/org/apache/sysds/test/applications/ParForBivariateStatsTest.java b/src/test/java/org/apache/sysds/test/applications/ParForBivariateStatsTest.java
index 64d0106..fb82660 100644
--- a/src/test/java/org/apache/sysds/test/applications/ParForBivariateStatsTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/ParForBivariateStatsTest.java
@@ -139,9 +139,9 @@ public class ParForBivariateStatsTest extends AutomatedTestBase
 		//compare matrices 
 		for( String out : new String[]{"bivar.stats", "category.counts", "category.means",  "category.variances" } )
 		{
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("bivarstats/"+out);
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("bivarstats/"+out);
 			
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS(out);
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir(out);
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 	}
diff --git a/src/test/java/org/apache/sysds/test/applications/ParForCVMulticlassSVMTest.java b/src/test/java/org/apache/sysds/test/applications/ParForCVMulticlassSVMTest.java
index da899a7..fd559af 100644
--- a/src/test/java/org/apache/sysds/test/applications/ParForCVMulticlassSVMTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/ParForCVMulticlassSVMTest.java
@@ -158,8 +158,8 @@ public class ParForCVMulticlassSVMTest extends AutomatedTestBase
 		runRScript(true); 
 		
 		//compare matrices 
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("stats");
-		HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("stats");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("stats");
+		HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("stats");
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 	}
 }
\ No newline at end of file
diff --git a/src/test/java/org/apache/sysds/test/applications/ParForCorrelationTest.java b/src/test/java/org/apache/sysds/test/applications/ParForCorrelationTest.java
index 4775161..207b6b3 100644
--- a/src/test/java/org/apache/sysds/test/applications/ParForCorrelationTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/ParForCorrelationTest.java
@@ -147,8 +147,8 @@ public class ParForCorrelationTest extends AutomatedTestBase
 		}
 		
 		//compare matrices
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("PearsonR");
-		HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Rout");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("PearsonR");
+		HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Rout");
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "PearsonR-DML", "PearsonR-R");
 	}
 }
diff --git a/src/test/java/org/apache/sysds/test/applications/ParForCorrelationTestLarge.java b/src/test/java/org/apache/sysds/test/applications/ParForCorrelationTestLarge.java
index d57d5f1..fe65bee 100644
--- a/src/test/java/org/apache/sysds/test/applications/ParForCorrelationTestLarge.java
+++ b/src/test/java/org/apache/sysds/test/applications/ParForCorrelationTestLarge.java
@@ -100,8 +100,8 @@ public class ParForCorrelationTestLarge extends AutomatedTestBase
 		runRScript(true);
 		
 		//compare matrices
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("PearsonR");
-		HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Rout");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("PearsonR");
+		HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Rout");
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "PearsonR-DML", "PearsonR-R");
 	}
 }
\ No newline at end of file
diff --git a/src/test/java/org/apache/sysds/test/applications/ParForNaiveBayesTest.java b/src/test/java/org/apache/sysds/test/applications/ParForNaiveBayesTest.java
index e39fa8b..13351e6 100644
--- a/src/test/java/org/apache/sysds/test/applications/ParForNaiveBayesTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/ParForNaiveBayesTest.java
@@ -152,8 +152,8 @@ public class ParForNaiveBayesTest extends AutomatedTestBase
 			//compare output matrices
 			for( String out : new String[]{"class_prior", "class_conditionals" } )
 			{
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(out);				
-				HashMap<CellIndex, Double> rfile  = readRMatrixFromFS(out);
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(out);				
+				HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir(out);
 				TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			}	
 		}
diff --git a/src/test/java/org/apache/sysds/test/applications/ParForSampleTest.java b/src/test/java/org/apache/sysds/test/applications/ParForSampleTest.java
index 1a563fa..2986074 100644
--- a/src/test/java/org/apache/sysds/test/applications/ParForSampleTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/ParForSampleTest.java
@@ -112,8 +112,8 @@ public class ParForSampleTest extends AutomatedTestBase
 			runTest(true, false, null, -1);
 			
 			//read result data and meta data
-			HashMap<CellIndex, Double> B1 = readDMLMatrixFromHDFS("B1");				
-			HashMap<CellIndex, Double> B2 = readDMLMatrixFromHDFS("B2");				
+			HashMap<CellIndex, Double> B1 = readDMLMatrixFromOutputDir("B1");				
+			HashMap<CellIndex, Double> B2 = readDMLMatrixFromOutputDir("B2");				
 			MatrixCharacteristics B1mc = readDMLMetaDataFile("B1");
 			MatrixCharacteristics B2mc = readDMLMetaDataFile("B2");
 			
diff --git a/src/test/java/org/apache/sysds/test/applications/ScalableDecompositionTest.java b/src/test/java/org/apache/sysds/test/applications/ScalableDecompositionTest.java
index ab8b7d9..de66851 100644
--- a/src/test/java/org/apache/sysds/test/applications/ScalableDecompositionTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/ScalableDecompositionTest.java
@@ -190,7 +190,7 @@ public class ScalableDecompositionTest extends AutomatedTestBase
 					MatrixBlock AtA = A.transposeSelfMatrixMultOperations(new MatrixBlock(), MMTSJType.LEFT);
 					writeInputMatrixWithMTD("A", AtA, false);
 					runTest(true, false, null, -1);
-					HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
+					HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
 					MatrixBlock C2 = LibCommonsMath.unaryOperations(AtA, "cholesky");
 					TestUtils.compareMatrices(dmlfile, C2, eps);
 					break;
@@ -202,7 +202,7 @@ public class ScalableDecompositionTest extends AutomatedTestBase
 					writeInputMatrixWithMTD("A", A, false);
 					writeInputMatrixWithMTD("B", y, false);
 					runTest(true, false, null, -1);
-					HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
+					HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
 					MatrixBlock C2 = LibCommonsMath.matrixMatrixOperations(A, b, "solve");
 					TestUtils.compareMatrices(dmlfile, C2, eps);
 					break;
@@ -214,7 +214,7 @@ public class ScalableDecompositionTest extends AutomatedTestBase
 					MatrixBlock[] C = LibCommonsMath.multiReturnOperations(A, "lu");
 					String[] outputs = new String[]{"C","D","E"};
 					for(int i=0; i<outputs.length; i++) {
-						HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(outputs[i]);
+						HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(outputs[i]);
 						TestUtils.compareMatrices(dmlfile, C[i], eps);
 					}
 					break;
@@ -226,7 +226,7 @@ public class ScalableDecompositionTest extends AutomatedTestBase
 					MatrixBlock[] C = LibCommonsMath.multiReturnOperations(A, "qr");
 					String[] outputs = new String[]{"C","D","E"};
 					for(int i=0; i<outputs.length; i++) {
-						HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(outputs[i]);
+						HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(outputs[i]);
 						TestUtils.compareMatrices(dmlfile, C[i], eps);
 					}
 					break;
@@ -235,7 +235,7 @@ public class ScalableDecompositionTest extends AutomatedTestBase
 					MatrixBlock A = MatrixBlock.randOperations(rows, cols, 1.0, -5, 10, "uniform", 7);
 					writeInputMatrixWithMTD("A", A, false);
 					runTest(true, false, null, -1);
-					HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
+					HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
 					MatrixBlock C2 = LibCommonsMath.unaryOperations(A, "inverse");
 					TestUtils.compareMatrices(dmlfile, C2, eps);
 					break;
diff --git a/src/test/java/org/apache/sysds/test/applications/UnivariateCategoricalTest.java b/src/test/java/org/apache/sysds/test/applications/UnivariateCategoricalTest.java
index f046fd6..0f43b13 100644
--- a/src/test/java/org/apache/sysds/test/applications/UnivariateCategoricalTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/UnivariateCategoricalTest.java
@@ -77,12 +77,12 @@ public class UnivariateCategoricalTest extends UnivariateStatsBase
 			HashMap<CellIndex, Double> rfile;
 			if (file.endsWith(".scalar")) {
 				file = file.replace(".scalar", "");
-				dmlfile = readDMLScalarFromHDFS(file);
-				rfile = readRScalarFromFS(file);
+				dmlfile = readDMLScalarFromOutputDir(file);
+				rfile = readRScalarFromExpectedDir(file);
 			}
 			else {
-				dmlfile = readDMLMatrixFromHDFS(file);
-				rfile = readRMatrixFromFS(file);
+				dmlfile = readDMLMatrixFromOutputDir(file);
+				rfile = readRMatrixFromExpectedDir(file);
 			}
 			TestUtils.compareMatrices(dmlfile, rfile, epsilon, file+"-DML", file+"-R");
 		}
@@ -126,12 +126,12 @@ public class UnivariateCategoricalTest extends UnivariateStatsBase
 			HashMap<CellIndex, Double> rfile;
 			if (file.endsWith(".scalar")) {
 				file = file.replace(".scalar", "");
-				dmlfile = readDMLScalarFromHDFS(file);
-				rfile = readRScalarFromFS(file);
+				dmlfile = readDMLScalarFromOutputDir(file);
+				rfile = readRScalarFromExpectedDir(file);
 			}
 			else {
-				dmlfile = readDMLMatrixFromHDFS(file);
-				rfile = readRMatrixFromFS(file);
+				dmlfile = readDMLMatrixFromOutputDir(file);
+				rfile = readRMatrixFromExpectedDir(file);
 			}
 			TestUtils.compareMatrices(dmlfile, rfile, epsilon, file+"-DML", file+"-R");
 		}
diff --git a/src/test/java/org/apache/sysds/test/applications/UnivariateStatsBase.java b/src/test/java/org/apache/sysds/test/applications/UnivariateStatsBase.java
index b1637d7..8c37ae5 100644
--- a/src/test/java/org/apache/sysds/test/applications/UnivariateStatsBase.java
+++ b/src/test/java/org/apache/sysds/test/applications/UnivariateStatsBase.java
@@ -185,11 +185,11 @@ public abstract class UnivariateStatsBase extends AutomatedTestBase {
 				HashMap<CellIndex, Double> rfile;
 				if (file.endsWith(".scalar")) {
 					file = file.replace(".scalar", "");
-					dmlfile = readDMLScalarFromHDFS(file);
-					rfile = readRScalarFromFS(file);
+					dmlfile = readDMLScalarFromOutputDir(file);
+					rfile = readRScalarFromExpectedDir(file);
 				} else {
-					dmlfile = readDMLMatrixFromHDFS(file);
-					rfile = readRMatrixFromFS(file);
+					dmlfile = readDMLMatrixFromOutputDir(file);
+					rfile = readRMatrixFromExpectedDir(file);
 				}
 				TestUtils.compareMatrices(dmlfile, rfile, epsilon, file
 						+ "-DML", file + "-R");
@@ -267,11 +267,11 @@ public abstract class UnivariateStatsBase extends AutomatedTestBase {
 				HashMap<CellIndex, Double> rfile;
 				if (file.endsWith(".scalar")) {
 					file = file.replace(".scalar", "");
-					dmlfile = readDMLScalarFromHDFS(file);
-					rfile = readRScalarFromFS(file);
+					dmlfile = readDMLScalarFromOutputDir(file);
+					rfile = readRScalarFromExpectedDir(file);
 				} else {
-					dmlfile = readDMLMatrixFromHDFS(file);
-					rfile = readRMatrixFromFS(file);
+					dmlfile = readDMLMatrixFromOutputDir(file);
+					rfile = readRMatrixFromExpectedDir(file);
 				}
 				TestUtils.compareMatrices(dmlfile, rfile, epsilon, file
 						+ "-DML", file + "-R");
diff --git a/src/test/java/org/apache/sysds/test/applications/WelchTTest.java b/src/test/java/org/apache/sysds/test/applications/WelchTTest.java
index d8151d6..5f018fc 100644
--- a/src/test/java/org/apache/sysds/test/applications/WelchTTest.java
+++ b/src/test/java/org/apache/sysds/test/applications/WelchTTest.java
@@ -95,12 +95,12 @@ public class WelchTTest extends AutomatedTestBase {
 		runRScript(true);
 
 		double tol = Math.pow(10, -13);
-		HashMap<CellIndex, Double> t_statistics_R = readRMatrixFromFS("t_statistics");
-        HashMap<CellIndex, Double> t_statistics_SYSTEMDS= readDMLMatrixFromHDFS("t_statistics");
+		HashMap<CellIndex, Double> t_statistics_R = readRMatrixFromExpectedDir("t_statistics");
+        HashMap<CellIndex, Double> t_statistics_SYSTEMDS= readDMLMatrixFromOutputDir("t_statistics");
         TestUtils.compareMatrices(t_statistics_R, t_statistics_SYSTEMDS, tol, "t_statistics_R", "t_statistics_SYSTEMDS");
         
-        HashMap<CellIndex, Double> degrees_of_freedom_R = readRMatrixFromFS("degrees_of_freedom");
-        HashMap<CellIndex, Double> degrees_of_freedom_SYSTEMDS= readDMLMatrixFromHDFS("degrees_of_freedom");
+        HashMap<CellIndex, Double> degrees_of_freedom_R = readRMatrixFromExpectedDir("degrees_of_freedom");
+        HashMap<CellIndex, Double> degrees_of_freedom_SYSTEMDS= readDMLMatrixFromOutputDir("degrees_of_freedom");
         TestUtils.compareMatrices(degrees_of_freedom_R, degrees_of_freedom_SYSTEMDS, tol, "degrees_of_freedom_R", "degrees_of_freedom_SYSTEMDS");
 	}
 }
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/AggregateInfTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/AggregateInfTest.java
index fbcebc0..99a60c8 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/AggregateInfTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/AggregateInfTest.java
@@ -114,7 +114,7 @@ public class AggregateInfTest extends AutomatedTestBase
 			runTest(true, false, null, -1); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
 			HashMap<CellIndex, Double> compfile  = new HashMap<>();
 			compfile.put(new CellIndex(1,1), infval);
 			TestUtils.compareMatrices(dmlfile, compfile, eps, "Stat-DML", "Stat-R");
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/ColStdDevsTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/ColStdDevsTest.java
index 0c66d0c..cf3fdef 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/ColStdDevsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/ColStdDevsTest.java
@@ -234,8 +234,8 @@ public class ColStdDevsTest extends AutomatedTestBase {
             runRScript(true);
 
             // Compare output matrices
-            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(OUTPUT_NAME);
-            HashMap<CellIndex, Double> rfile  = readRMatrixFromFS(OUTPUT_NAME);
+            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(OUTPUT_NAME);
+            HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir(OUTPUT_NAME);
             TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
         }
         finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/ColSumsSqTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/ColSumsSqTest.java
index 38536e5..3ee701e 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/ColSumsSqTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/ColSumsSqTest.java
@@ -199,8 +199,8 @@ public class ColSumsSqTest extends AutomatedTestBase {
             runRScript(true);
 
             // Compare output matrices
-            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(OUTPUT_NAME);
-            HashMap<CellIndex, Double> rfile  = readRMatrixFromFS(OUTPUT_NAME);
+            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(OUTPUT_NAME);
+            HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir(OUTPUT_NAME);
             TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 
             // On CP and Spark modes, check that the rewrite actually
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/ColVariancesTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/ColVariancesTest.java
index 7561df3..ada5a2c 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/ColVariancesTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/ColVariancesTest.java
@@ -343,8 +343,8 @@ public class ColVariancesTest extends AutomatedTestBase {
             runRScript(true);
 
             // Compare output matrices
-            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(OUTPUT_NAME);
-            HashMap<CellIndex, Double> rfile  = readRMatrixFromFS(OUTPUT_NAME);
+            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(OUTPUT_NAME);
+            HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir(OUTPUT_NAME);
             TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 
             // On CP and Spark modes, check that the following
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/FullAggregateTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/FullAggregateTest.java
index 4528a91..729285b 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/FullAggregateTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/FullAggregateTest.java
@@ -441,8 +441,8 @@ public class FullAggregateTest extends AutomatedTestBase
 			runRScript(true);
 		
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/FullColAggregateTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/FullColAggregateTest.java
index 14a45b0..5274837 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/FullColAggregateTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/FullColAggregateTest.java
@@ -442,8 +442,8 @@ public class FullColAggregateTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/FullGroupedAggregateMatrixTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/FullGroupedAggregateMatrixTest.java
index 17681b1..7de3a64 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/FullGroupedAggregateMatrixTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/FullGroupedAggregateMatrixTest.java
@@ -305,8 +305,8 @@ public class FullGroupedAggregateMatrixTest extends AutomatedTestBase
 				runRScript(true); 
 				
 				//compare output matrices
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-				HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+				HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 				TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 				
 				//check dml output meta data
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/FullGroupedAggregateTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/FullGroupedAggregateTest.java
index 6a11f75..5e0be1b 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/FullGroupedAggregateTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/FullGroupedAggregateTest.java
@@ -470,8 +470,8 @@ public class FullGroupedAggregateTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(weights?"D":"C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS(weights?"D":"C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(weights?"D":"C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir(weights?"D":"C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		catch(IOException ex)
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/FullRowAggregateTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/FullRowAggregateTest.java
index f5832ea..b5535f4 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/FullRowAggregateTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/FullRowAggregateTest.java
@@ -801,8 +801,8 @@ public class FullRowAggregateTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/PushdownSumBinaryTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/PushdownSumBinaryTest.java
index 8d12b98..7cf9941 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/PushdownSumBinaryTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/PushdownSumBinaryTest.java
@@ -145,8 +145,8 @@ public class PushdownSumBinaryTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare output matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			String lopcode = TEST_NAME.equals(TEST_NAME1) ? "+" : "-";
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/RowColProdsAggregateTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/RowColProdsAggregateTest.java
index 8271ab5..4327693 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/RowColProdsAggregateTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/RowColProdsAggregateTest.java
@@ -150,8 +150,8 @@ public class RowColProdsAggregateTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/RowStdDevsTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/RowStdDevsTest.java
index bea1a71..28acc8b 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/RowStdDevsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/RowStdDevsTest.java
@@ -234,8 +234,8 @@ public class RowStdDevsTest extends AutomatedTestBase {
             runRScript(true);
 
             // Compare output matrices
-            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(OUTPUT_NAME);
-            HashMap<CellIndex, Double> rfile  = readRMatrixFromFS(OUTPUT_NAME);
+            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(OUTPUT_NAME);
+            HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir(OUTPUT_NAME);
             TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
         }
         finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/RowSumsSqTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/RowSumsSqTest.java
index 308264e..d437752 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/RowSumsSqTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/RowSumsSqTest.java
@@ -199,8 +199,8 @@ public class RowSumsSqTest extends AutomatedTestBase {
             runRScript(true);
 
             // Compare output matrices
-            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(OUTPUT_NAME);
-            HashMap<CellIndex, Double> rfile  = readRMatrixFromFS(OUTPUT_NAME);
+            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(OUTPUT_NAME);
+            HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir(OUTPUT_NAME);
             TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 
             // On CP and Spark modes, check that the rewrite actually
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/RowVariancesTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/RowVariancesTest.java
index db8d0ef..f09474b 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/RowVariancesTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/RowVariancesTest.java
@@ -343,8 +343,8 @@ public class RowVariancesTest extends AutomatedTestBase {
             runRScript(true);
 
             // Compare output matrices
-            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(OUTPUT_NAME);
-            HashMap<CellIndex, Double> rfile  = readRMatrixFromFS(OUTPUT_NAME);
+            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(OUTPUT_NAME);
+            HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir(OUTPUT_NAME);
             TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 
             // On CP and Spark modes, check that the following
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/StdDevTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/StdDevTest.java
index 2fa6fbf..c0e87b2 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/StdDevTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/StdDevTest.java
@@ -233,8 +233,8 @@ public class StdDevTest extends AutomatedTestBase {
             runRScript(true);
 
             // Compare output matrices
-            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(OUTPUT_NAME);
-            HashMap<CellIndex, Double> rfile  = readRMatrixFromFS(OUTPUT_NAME);
+            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(OUTPUT_NAME);
+            HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir(OUTPUT_NAME);
             TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
         }
         finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/SumSqTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/SumSqTest.java
index aa83e01..b53e8b9 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/SumSqTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/SumSqTest.java
@@ -199,8 +199,8 @@ public class SumSqTest extends AutomatedTestBase {
             runRScript(true);
 
             // Compare output matrices
-            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(OUTPUT_NAME);
-            HashMap<CellIndex, Double> rfile  = readRMatrixFromFS(OUTPUT_NAME);
+            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(OUTPUT_NAME);
+            HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir(OUTPUT_NAME);
             TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 
             // On CP and Spark modes, check that the rewrite actually
diff --git a/src/test/java/org/apache/sysds/test/functions/aggregate/VarianceTest.java b/src/test/java/org/apache/sysds/test/functions/aggregate/VarianceTest.java
index 41369cf..345811f 100644
--- a/src/test/java/org/apache/sysds/test/functions/aggregate/VarianceTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/aggregate/VarianceTest.java
@@ -234,8 +234,8 @@ public class VarianceTest extends AutomatedTestBase {
             runRScript(true);
 
             // Compare output matrices
-            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(OUTPUT_NAME);
-            HashMap<CellIndex, Double> rfile  = readRMatrixFromFS(OUTPUT_NAME);
+            HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(OUTPUT_NAME);
+            HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir(OUTPUT_NAME);
             TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
         }
         finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/append/AppendChainTest.java b/src/test/java/org/apache/sysds/test/functions/append/AppendChainTest.java
index dcce9c2..f6ef056 100644
--- a/src/test/java/org/apache/sysds/test/functions/append/AppendChainTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/append/AppendChainTest.java
@@ -144,8 +144,8 @@ public class AppendChainTest extends AutomatedTestBase
 			Assert.assertEquals("Wrong number of executed Spark jobs.",
 				expectedCompiled, Statistics.getNoOfExecutedSPInst());
 			for(String file: config.getOutputFiles()) {
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(file);
-				HashMap<CellIndex, Double> rfile = readRMatrixFromFS(file);
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(file);
+				HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir(file);
 				TestUtils.compareMatrices(dmlfile, rfile, epsilon, file+"-DML", file+"-R");
 			}
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/append/AppendMatrixTest.java b/src/test/java/org/apache/sysds/test/functions/append/AppendMatrixTest.java
index 5067ce0..434b002 100644
--- a/src/test/java/org/apache/sysds/test/functions/append/AppendMatrixTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/append/AppendMatrixTest.java
@@ -186,8 +186,8 @@ public class AppendMatrixTest extends AutomatedTestBase
 			Assert.assertEquals("Wrong number of executed Spark jobs.",
 				expectedCompiled, Statistics.getNoOfExecutedSPInst());
 			for(String file: config.getOutputFiles()) {
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(file);
-				HashMap<CellIndex, Double> rfile = readRMatrixFromFS(file);
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(file);
+				HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir(file);
 				TestUtils.compareMatrices(dmlfile, rfile, epsilon, file+"-DML", file+"-R");
 			}
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/append/AppendVectorTest.java b/src/test/java/org/apache/sysds/test/functions/append/AppendVectorTest.java
index acd7266..8752d78 100644
--- a/src/test/java/org/apache/sysds/test/functions/append/AppendVectorTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/append/AppendVectorTest.java
@@ -115,8 +115,8 @@ public class AppendVectorTest extends AutomatedTestBase
 			runRScript(true);
 			
 			for(String file: config.getOutputFiles()) {
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(file);
-				HashMap<CellIndex, Double> rfile = readRMatrixFromFS(file);
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(file);
+				HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir(file);
 				TestUtils.compareMatrices(dmlfile, rfile, epsilon, file+"-DML", file+"-R");
 			}
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/append/RBindCBindMatrixTest.java b/src/test/java/org/apache/sysds/test/functions/append/RBindCBindMatrixTest.java
index 3b8816b..40f5403 100644
--- a/src/test/java/org/apache/sysds/test/functions/append/RBindCBindMatrixTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/append/RBindCBindMatrixTest.java
@@ -137,8 +137,8 @@ public class RBindCBindMatrixTest extends AutomatedTestBase
 			runRScript(true);
 	
 			//compare results
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, epsilon, "DML", "R");
 			
 			//check dml output meta data
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/frame/FrameEqualTest.java b/src/test/java/org/apache/sysds/test/functions/binary/frame/FrameEqualTest.java
index cdb8999..a9a4ad3 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/frame/FrameEqualTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/frame/FrameEqualTest.java
@@ -156,8 +156,8 @@ public class FrameEqualTest extends AutomatedTestBase {
 			runRScript(true);
 
 			//compare matrices
-			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<MatrixValue.CellIndex, Double> rfile = readRMatrixFromFS("C");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<MatrixValue.CellIndex, Double> rfile = readRMatrixFromExpectedDir("C");
 
 			double eps = 0.0001;
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix/BinUaggChainTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix/BinUaggChainTest.java
index e8cbe16..7fe685b 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix/BinUaggChainTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix/BinUaggChainTest.java
@@ -106,8 +106,8 @@ public class BinUaggChainTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check compiled/executed jobs
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix/CentralMomentTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix/CentralMomentTest.java
index 108b2d2..80ed291 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix/CentralMomentTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix/CentralMomentTest.java
@@ -167,8 +167,8 @@ public class CentralMomentTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix/CovarianceTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix/CovarianceTest.java
index 93bc9f9..ebd3a9c 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix/CovarianceTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix/CovarianceTest.java
@@ -119,8 +119,8 @@ public class CovarianceTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix/DiagMatrixMultiplicationTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix/DiagMatrixMultiplicationTest.java
index 2650c6f..eb1d6ac 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix/DiagMatrixMultiplicationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix/DiagMatrixMultiplicationTest.java
@@ -262,8 +262,8 @@ public class DiagMatrixMultiplicationTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix/ElementwiseBitwLogicalTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix/ElementwiseBitwLogicalTest.java
index c039ea9..3017c5b 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix/ElementwiseBitwLogicalTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix/ElementwiseBitwLogicalTest.java
@@ -192,8 +192,8 @@ public class ElementwiseBitwLogicalTest extends AutomatedTestBase{
 			runRScript(true);
 
 			//compare matrices
-			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R", true);
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix/ElementwiseLogicalTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix/ElementwiseLogicalTest.java
index dd2090e..1d761c3 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix/ElementwiseLogicalTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix/ElementwiseLogicalTest.java
@@ -175,8 +175,8 @@ public class ElementwiseLogicalTest extends AutomatedTestBase{
 			runRScript(true);
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix/MapMultChainTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix/MapMultChainTest.java
index 843f233..14e3266 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix/MapMultChainTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix/MapMultChainTest.java
@@ -234,8 +234,8 @@ public class MapMultChainTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check compiled/executed jobs
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix/MatrixMultiplicationTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix/MatrixMultiplicationTest.java
index b895c82..9395f42 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix/MatrixMultiplicationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix/MatrixMultiplicationTest.java
@@ -173,7 +173,7 @@ public class MatrixMultiplicationTest extends AutomatedTestBase
 		runTest();
 		
 		HashMap<CellIndex, Double> hmDMLJ = TestUtils.convert2DDoubleArrayToHashMap(e);
-		HashMap<CellIndex, Double> hmDMLE = readDMLMatrixFromHDFS("e");
+		HashMap<CellIndex, Double> hmDMLE = readDMLMatrixFromOutputDir("e");
 		TestUtils.compareMatrices(hmDMLJ, hmDMLE, 0, "hmDMLJ","hmDMLE");
 		
 		TestUtils.displayAssertionBuffer();
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix/QuantileTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix/QuantileTest.java
index 13b9030..45d6245 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix/QuantileTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix/QuantileTest.java
@@ -193,8 +193,8 @@ public class QuantileTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix/TransposeMatrixMultiplicationTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix/TransposeMatrixMultiplicationTest.java
index 4352f54..c15bb1e 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix/TransposeMatrixMultiplicationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix/TransposeMatrixMultiplicationTest.java
@@ -275,8 +275,8 @@ public class TransposeMatrixMultiplicationTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix/UaggOuterChainTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix/UaggOuterChainTest.java
index fb5d99b..1bd8d06 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix/UaggOuterChainTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix/UaggOuterChainTest.java
@@ -790,8 +790,8 @@ public class UaggOuterChainTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			if(sumType == SumType.ROW_SUM)
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix/UltraSparseMRMatrixMultiplicationTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix/UltraSparseMRMatrixMultiplicationTest.java
index 22b28d7..c21c4d5 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix/UltraSparseMRMatrixMultiplicationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix/UltraSparseMRMatrixMultiplicationTest.java
@@ -145,8 +145,8 @@ public class UltraSparseMRMatrixMultiplicationTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix/ZipMMSparkMatrixMultiplicationTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix/ZipMMSparkMatrixMultiplicationTest.java
index 146aa8f..425aa2e 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix/ZipMMSparkMatrixMultiplicationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix/ZipMMSparkMatrixMultiplicationTest.java
@@ -159,8 +159,8 @@ public class ZipMMSparkMatrixMultiplicationTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixMatrixCellwiseOperationTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixMatrixCellwiseOperationTest.java
index 30d9e65..34a5234 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixMatrixCellwiseOperationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixMatrixCellwiseOperationTest.java
@@ -524,8 +524,8 @@ public class FullMatrixMatrixCellwiseOperationTest extends AutomatedTestBase
 				runRScript(true); 
 			
 				//compare matrices 
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-				HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+				HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 				TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			}
 			else
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorColCellwiseOperationTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorColCellwiseOperationTest.java
index fcf2c2c..eee364e 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorColCellwiseOperationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorColCellwiseOperationTest.java
@@ -597,8 +597,8 @@ public class FullMatrixVectorColCellwiseOperationTest extends AutomatedTestBase
 				runRScript(true); 
 			
 				//compare matrices 
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-				HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+				HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 				TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			}
 			else
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorRowCellwiseOperationTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorRowCellwiseOperationTest.java
index 0e05fdf..8d5cb4b 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorRowCellwiseOperationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMatrixVectorRowCellwiseOperationTest.java
@@ -597,8 +597,8 @@ public class FullMatrixVectorRowCellwiseOperationTest extends AutomatedTestBase
 				runRScript(true); 
 			
 				//compare matrices 
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-				HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+				HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 				TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			}
 			else
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMinus1MultTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMinus1MultTest.java
index 186f9ed..302b3c7 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMinus1MultTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullMinus1MultTest.java
@@ -122,8 +122,8 @@ public class FullMinus1MultTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check generated opcode
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullSortedOuterCompareTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullSortedOuterCompareTest.java
index d199c65..def9891 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullSortedOuterCompareTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullSortedOuterCompareTest.java
@@ -135,8 +135,8 @@ public class FullSortedOuterCompareTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			checkDMLMetaDataFile("C", new MatrixCharacteristics(rows1,rows1,1,1));
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseCompareOperationTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseCompareOperationTest.java
index 85c1eec..5e18a1c 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseCompareOperationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseCompareOperationTest.java
@@ -227,8 +227,8 @@ public class FullVectorVectorCellwiseCompareOperationTest extends AutomatedTestB
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			checkDMLMetaDataFile("C", new MatrixCharacteristics(rows1,rows2,1,1));
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseOperationTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseOperationTest.java
index 7567692..d4611b4 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseOperationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_cellwise/FullVectorVectorCellwiseOperationTest.java
@@ -589,8 +589,8 @@ public class FullVectorVectorCellwiseOperationTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			checkDMLMetaDataFile("C", new MatrixCharacteristics(rows1,rows2,1,1));
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullDistributedMatrixMultiplicationTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullDistributedMatrixMultiplicationTest.java
index 8d1692d..dc67e1b 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullDistributedMatrixMultiplicationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullDistributedMatrixMultiplicationTest.java
@@ -197,8 +197,8 @@ public class FullDistributedMatrixMultiplicationTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullIntegerDivisionTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullIntegerDivisionTest.java
index cbf83f7..2fc7889 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullIntegerDivisionTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullIntegerDivisionTest.java
@@ -270,11 +270,11 @@ public class FullIntegerDivisionTest extends AutomatedTestBase
 		
 			//compare matrices 
 			HashMap<CellIndex, Double> dmlfile = null;
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("C");
 			if( dt1==DataType.SCALAR&&dt2==DataType.SCALAR )
 				dmlfile = readScalarMatrixFromHDFS("C");
 			else
-				dmlfile = readDMLMatrixFromHDFS("C");
+				dmlfile = readDMLMatrixFromOutputDir("C");
 			
 			//NaN and Infinity currently ignored because R's writeMM replaces them with 1.0E308
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R", true);
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullLogicalMatrixTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullLogicalMatrixTest.java
index 76c469d..d07c344 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullLogicalMatrixTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullLogicalMatrixTest.java
@@ -426,8 +426,8 @@ public class FullLogicalMatrixTest extends AutomatedTestBase
 			runRScript(true);
 
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullLogicalScalarLeftTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullLogicalScalarLeftTest.java
index 70a65f2..acab597 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullLogicalScalarLeftTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullLogicalScalarLeftTest.java
@@ -276,8 +276,8 @@ public class FullLogicalScalarLeftTest extends AutomatedTestBase
 			runRScript(true);
 
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullLogicalScalarRightTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullLogicalScalarRightTest.java
index dc85f26..cb05d37 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullLogicalScalarRightTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullLogicalScalarRightTest.java
@@ -274,8 +274,8 @@ public class FullLogicalScalarRightTest extends AutomatedTestBase
 			runRScript(true);
 
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationTest.java
index edf673e..f4ab9dc 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationTest.java
@@ -202,8 +202,8 @@ public class FullMatrixMultiplicationTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
@@ -260,8 +260,8 @@ public class FullMatrixMultiplicationTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
@@ -312,8 +312,8 @@ public class FullMatrixMultiplicationTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
@@ -368,8 +368,8 @@ public class FullMatrixMultiplicationTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationTransposeSelf2Test.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationTransposeSelf2Test.java
index 0134b34..d0eb9f8 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationTransposeSelf2Test.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationTransposeSelf2Test.java
@@ -167,8 +167,8 @@ public class FullMatrixMultiplicationTransposeSelf2Test extends AutomatedTestBas
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		
 			//check for compiled tsmm instructions
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationTransposeSelfTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationTransposeSelfTest.java
index bfc1142..757378f 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationTransposeSelfTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationTransposeSelfTest.java
@@ -182,8 +182,8 @@ public class FullMatrixMultiplicationTransposeSelfTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
@@ -253,8 +253,8 @@ public class FullMatrixMultiplicationTransposeSelfTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationUltraSparseTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationUltraSparseTest.java
index ea3d7e7..7645ab4 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationUltraSparseTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMatrixMultiplicationUltraSparseTest.java
@@ -177,8 +177,8 @@ public class FullMatrixMultiplicationUltraSparseTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMinMaxComparisonTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMinMaxComparisonTest.java
index ee8563c..bdcc10e 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMinMaxComparisonTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullMinMaxComparisonTest.java
@@ -263,8 +263,8 @@ public class FullMinMaxComparisonTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		} 
 		catch (IOException e) 
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullPowerTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullPowerTest.java
index b0ee6bc..9fb1d2e 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullPowerTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/FullPowerTest.java
@@ -199,11 +199,11 @@ public class FullPowerTest extends AutomatedTestBase
 		
 			//compare matrices 
 			HashMap<CellIndex, Double> dmlfile = null;
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("C");
 			if( dt1==DataType.SCALAR&&dt2==DataType.SCALAR )
 				dmlfile = readScalarMatrixFromHDFS("C");
 			else
-				dmlfile = readDMLMatrixFromHDFS("C");
+				dmlfile = readDMLMatrixFromOutputDir("C");
 			
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R", true);
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/MatrixMultShortLhsTest.java b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/MatrixMultShortLhsTest.java
index bb6f197..73282d7 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/MatrixMultShortLhsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/matrix_full_other/MatrixMultShortLhsTest.java
@@ -96,8 +96,8 @@ public class MatrixMultShortLhsTest extends AutomatedTestBase
 		runRScript(true); 
 		
 		//compare matrices 
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-		HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+		HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 	}
 }
diff --git a/src/test/java/org/apache/sysds/test/functions/binary/scalar/LogicalTest.java b/src/test/java/org/apache/sysds/test/functions/binary/scalar/LogicalTest.java
index 1e3b995..e0f3ece 100644
--- a/src/test/java/org/apache/sysds/test/functions/binary/scalar/LogicalTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/binary/scalar/LogicalTest.java
@@ -149,8 +149,8 @@ public class LogicalTest extends AutomatedTestBase {
 			runRScript(true);
 
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile   = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile   = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinALSTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinALSTest.java
index 778813d..af90c08 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinALSTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinALSTest.java
@@ -80,8 +80,8 @@ public class BuiltinALSTest extends AutomatedTestBase {
 		runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
 
 		//compare expected results
-		HashMap<MatrixValue.CellIndex, Double> matrixV = readDMLMatrixFromHDFS("V");
-		HashMap<MatrixValue.CellIndex, Double> matrixU = readDMLMatrixFromHDFS("U");
+		HashMap<MatrixValue.CellIndex, Double> matrixV = readDMLMatrixFromOutputDir("V");
+		HashMap<MatrixValue.CellIndex, Double> matrixU = readDMLMatrixFromOutputDir("U");
 		double[][] doubleV = TestUtils.convertHashMapToDoubleArray(matrixV);
 		double[][] doubleU = TestUtils.convertHashMapToDoubleArray(matrixU);
 		double[][] result = TestUtils.performMatrixMultiplication(doubleU, doubleV);
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinComponentsTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinComponentsTest.java
index 8c1b05b..e7ec1d4 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinComponentsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinComponentsTest.java
@@ -86,7 +86,7 @@ public class BuiltinComponentsTest extends AutomatedTestBase {
 
 			runTest(true, false, null, -1);
 
-			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 			for( int i=0; i<numVertices; i++ ) {
 				int expected = i<(numVertices/2) ? (numVertices/2) :
 					i==(numVertices/2) ? i+1 : numVertices;
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinConfusionMatrixTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinConfusionMatrixTest.java
index a6ded50..80ad36e 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinConfusionMatrixTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinConfusionMatrixTest.java
@@ -130,7 +130,7 @@ public class BuiltinConfusionMatrixTest extends AutomatedTestBase {
 			writeInputMatrixWithMTD("Y", y, false);
 			runTest(true, false, null, -1);
 
-			HashMap<MatrixValue.CellIndex, Double> dmlResult = readDMLMatrixFromHDFS("B");
+			HashMap<MatrixValue.CellIndex, Double> dmlResult = readDMLMatrixFromOutputDir("B");
 			TestUtils.compareMatrices(dmlResult, res, eps, "DML_Result", "Expected");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinCorrelationMatrixTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinCorrelationMatrixTest.java
index 26e3b02..61b54f0 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinCorrelationMatrixTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinCorrelationMatrixTest.java
@@ -76,8 +76,8 @@ public class BuiltinCorrelationMatrixTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinDBSCANTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinDBSCANTest.java
index 980f644..4c4dc20 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinDBSCANTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinDBSCANTest.java
@@ -74,8 +74,8 @@ public class BuiltinDBSCANTest extends AutomatedTestBase
 			runRScript(true);
 
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 
 			//map cluster ids
 			//NOTE: border points that are reachable from more than 1 cluster
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinDistTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinDistTest.java
index 26970f6..113b4d1 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinDistTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinDistTest.java
@@ -74,8 +74,8 @@ public class BuiltinDistTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinGLMTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinGLMTest.java
index 8225303..91c62b8 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinGLMTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinGLMTest.java
@@ -193,7 +193,7 @@ public class BuiltinGLMTest extends AutomatedTestBase
 				max_abs_beta = (max_abs_beta >= Math.abs(beta[j]) ? max_abs_beta : Math.abs(beta[j]));
 			}
 
-			HashMap<MatrixValue.CellIndex, Double> wSYSTEMDS_raw = readDMLMatrixFromHDFS("betas_SYSTEMDS");
+			HashMap<MatrixValue.CellIndex, Double> wSYSTEMDS_raw = readDMLMatrixFromOutputDir("betas_SYSTEMDS");
 			HashMap<MatrixValue.CellIndex, Double> wSYSTEMDS = new HashMap<>();
 			for (MatrixValue.CellIndex key : wSYSTEMDS_raw.keySet())
 				if (key.column == 1)
@@ -201,7 +201,7 @@ public class BuiltinGLMTest extends AutomatedTestBase
 
 			runRScript(true);
 
-			HashMap<MatrixValue.CellIndex, Double> wR = readRMatrixFromFS("betas_R");
+			HashMap<MatrixValue.CellIndex, Double> wR = readRMatrixFromExpectedDir("betas_R");
 
 			if ((distParam == 0 && linkType == 1)) { // Gaussian.*
 				//NOTE MB: Gaussian.log was the only test failing when we introduced multi-threaded
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinGMMTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinGMMTest.java
index 62b9f60..59cfd3a 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinGMMTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinGMMTest.java
@@ -144,8 +144,8 @@ public class BuiltinGMMTest extends AutomatedTestBase {
 			runRScript(true);
 
 			//compare matrices
-			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("O");
-			HashMap<MatrixValue.CellIndex, Double> rfile = readRMatrixFromFS("O");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("O");
+			HashMap<MatrixValue.CellIndex, Double> rfile = readRMatrixFromExpectedDir("O");
 			System.out.println(dmlfile.values().iterator().next().doubleValue());
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinImageBrightnessTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinImageBrightnessTest.java
index 5524d3d..5e5e581 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinImageBrightnessTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinImageBrightnessTest.java
@@ -89,8 +89,8 @@ public class BuiltinImageBrightnessTest extends AutomatedTestBase
 			runRScript(true);
 
 			//compare matrices
-			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinImageCropTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinImageCropTest.java
index 49485e5..e8ec62a 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinImageCropTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinImageCropTest.java
@@ -93,8 +93,8 @@ public class BuiltinImageCropTest extends AutomatedTestBase
 			runRScript(true);
 
 			//compare matrices
-			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinImageMirrorTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinImageMirrorTest.java
index 206c5c0..1fb06eb 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinImageMirrorTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinImageMirrorTest.java
@@ -90,13 +90,13 @@ public class BuiltinImageMirrorTest extends AutomatedTestBase
 			runRScript(true);
 
 			//compare matrices of the image mirrored on the x axis
-			HashMap<MatrixValue.CellIndex, Double> dmlfile_x = readDMLMatrixFromHDFS("Bx");
-			HashMap<MatrixValue.CellIndex, Double> rfile_x  = readRMatrixFromFS("Bx");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile_x = readDMLMatrixFromOutputDir("Bx");
+			HashMap<MatrixValue.CellIndex, Double> rfile_x  = readRMatrixFromExpectedDir("Bx");
 			TestUtils.compareMatrices(dmlfile_x, rfile_x, eps, "Stat-DML", "Stat-R");
 
 			//compare matrices of the image mirrored on the y axis
-			HashMap<MatrixValue.CellIndex, Double> dmlfile_y = readDMLMatrixFromHDFS("By");
-			HashMap<MatrixValue.CellIndex, Double> rfile_y  = readRMatrixFromFS("By");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile_y = readDMLMatrixFromOutputDir("By");
+			HashMap<MatrixValue.CellIndex, Double> rfile_y  = readRMatrixFromExpectedDir("By");
 			TestUtils.compareMatrices(dmlfile_y, rfile_y, eps, "Stat-DML", "Stat-R");
 		}
 
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinIntersectionTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinIntersectionTest.java
index 00fdebe..144243a 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinIntersectionTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinIntersectionTest.java
@@ -94,7 +94,7 @@ public class BuiltinIntersectionTest extends AutomatedTestBase
 			HashMap<CellIndex, Double> R = new HashMap<>();
 			for(int i=0; i<expected.length; i++)
 				R.put(new CellIndex(i+1,1), expected[i][0]);
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
 			TestUtils.compareMatrices(dmlfile, R, 1e-10, "dml", "expected");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinKmeansPredictTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinKmeansPredictTest.java
index bc1f074..6050eea 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinKmeansPredictTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinKmeansPredictTest.java
@@ -79,7 +79,7 @@ public class BuiltinKmeansPredictTest extends AutomatedTestBase {
 			writeInputMatrixWithMTD("X", X, true);
 
 			runTest(null);
-			HashMap<CellIndex, Double>  res = readDMLScalarFromHDFS("res");
+			HashMap<CellIndex, Double>  res = readDMLScalarFromOutputDir("res");
 			Assert.assertTrue(res.values().size() == 1);
 			Assert.assertEquals(res.values().toArray()[0] , 1.);
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinL2SVMTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinL2SVMTest.java
index 12593f6..9869810 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinL2SVMTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinL2SVMTest.java
@@ -128,8 +128,8 @@ public class BuiltinL2SVMTest extends AutomatedTestBase {
 			runTest(true, false, null, -1);
 			runRScript(true);
 
-			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("model");
-			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromFS("model");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("model");
+			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromExpectedDir("model");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinLmPredictTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinLmPredictTest.java
index d1fcd94..d288ae9 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinLmPredictTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinLmPredictTest.java
@@ -95,8 +95,8 @@ public class BuiltinLmPredictTest extends AutomatedTestBase
 			runRScript(true); 
 
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("D");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("D");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("D");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("D");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinLmTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinLmTest.java
index 7ae14e4..9eeee44 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinLmTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinLmTest.java
@@ -145,8 +145,8 @@ public class BuiltinLmTest extends AutomatedTestBase
 
 			//compare matrices 
 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMiceTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMiceTest.java
index ab76824..0f25672 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMiceTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMiceTest.java
@@ -119,16 +119,16 @@ public class BuiltinMiceTest extends AutomatedTestBase {
 
 	private void testNumericOutput() {
 		//compare matrices
-		HashMap<MatrixValue.CellIndex, Double> dmlfileN = readDMLMatrixFromHDFS("N");
-		HashMap<MatrixValue.CellIndex, Double> rfileN  = readRMatrixFromFS("N");
+		HashMap<MatrixValue.CellIndex, Double> dmlfileN = readDMLMatrixFromOutputDir("N");
+		HashMap<MatrixValue.CellIndex, Double> rfileN  = readRMatrixFromExpectedDir("N");
 
 		// compare numerical imputations
 		TestUtils.compareMatrices(dmlfileN, rfileN, eps, "Stat-DML", "Stat-R");
 	}
 
 	private void testCategoricalOutput() {
-		HashMap<MatrixValue.CellIndex, Double> dmlfileC = readDMLMatrixFromHDFS("C");
-		HashMap<MatrixValue.CellIndex, Double> rfileC  = readRMatrixFromFS("C");
+		HashMap<MatrixValue.CellIndex, Double> dmlfileC = readDMLMatrixFromOutputDir("C");
+		HashMap<MatrixValue.CellIndex, Double> rfileC  = readRMatrixFromExpectedDir("C");
 
 		// compare categorical imputations
 		int countTrue = 0;
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMultiLogRegPredictTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMultiLogRegPredictTest.java
index a3483d8..264864c 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMultiLogRegPredictTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMultiLogRegPredictTest.java
@@ -96,8 +96,8 @@ public class BuiltinMultiLogRegPredictTest extends AutomatedTestBase {
 			runRScript(true);
 
 			//compare matrices
-			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("O");
-			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromFS("O");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("O");
+			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromExpectedDir("O");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMulticlassSVMPredictTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMulticlassSVMPredictTest.java
index 15ff509..18fd4d5 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMulticlassSVMPredictTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMulticlassSVMPredictTest.java
@@ -115,8 +115,8 @@ public class BuiltinMulticlassSVMPredictTest extends AutomatedTestBase {
 			writeInputMatrixWithMTD("W", w, false);
 			runTest(true, false, null, -1);
 
-			HashMap<MatrixValue.CellIndex, Double> YRaw_res = readDMLMatrixFromHDFS("YRaw");
-			HashMap<MatrixValue.CellIndex, Double> Y_res = readDMLMatrixFromHDFS("Y");
+			HashMap<MatrixValue.CellIndex, Double> YRaw_res = readDMLMatrixFromOutputDir("YRaw");
+			HashMap<MatrixValue.CellIndex, Double> Y_res = readDMLMatrixFromOutputDir("Y");
 
 			TestUtils.compareMatrices(YRaw_res, YRaw, eps, "DML_Result", "Expected");
 			TestUtils.compareMatrices(Y_res, Y, eps, "DML_Result", "Expected");
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMulticlassSVMTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMulticlassSVMTest.java
index 37c4014..71ae271 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMulticlassSVMTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinMulticlassSVMTest.java
@@ -123,8 +123,8 @@ public class BuiltinMulticlassSVMTest extends AutomatedTestBase {
 			runTest(true, false, null, -1);
 			runRScript(true);
 
-			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("model");
-			HashMap<MatrixValue.CellIndex, Double> rfile = readRMatrixFromFS("model");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("model");
+			HashMap<MatrixValue.CellIndex, Double> rfile = readRMatrixFromExpectedDir("model");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinNaLocfTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinNaLocfTest.java
index 71968eb..aadb5c2 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinNaLocfTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinNaLocfTest.java
@@ -108,8 +108,8 @@ public class BuiltinNaLocfTest extends AutomatedTestBase {
 			runTest(true, false, null, -1);
 			runRScript(true);
 			//compare matrices
-			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("O");
-			HashMap<MatrixValue.CellIndex, Double> rfile = readRMatrixFromFS("O");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("O");
+			HashMap<MatrixValue.CellIndex, Double> rfile = readRMatrixFromExpectedDir("O");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinNaiveBayesTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinNaiveBayesTest.java
index 07b1070..d1a4059 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinNaiveBayesTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinNaiveBayesTest.java
@@ -97,10 +97,10 @@ public class BuiltinNaiveBayesTest extends AutomatedTestBase
 
 		runRScript(true);
 
-		HashMap<CellIndex, Double> priorR = readRMatrixFromFS("prior");
-		HashMap<CellIndex, Double> priorSYSTEMDS= readDMLMatrixFromHDFS("prior");
-		HashMap<CellIndex, Double> conditionalsR = readRMatrixFromFS("conditionals");
-		HashMap<CellIndex, Double> conditionalsSYSTEMDS = readDMLMatrixFromHDFS("conditionals");
+		HashMap<CellIndex, Double> priorR = readRMatrixFromExpectedDir("prior");
+		HashMap<CellIndex, Double> priorSYSTEMDS= readDMLMatrixFromOutputDir("prior");
+		HashMap<CellIndex, Double> conditionalsR = readRMatrixFromExpectedDir("conditionals");
+		HashMap<CellIndex, Double> conditionalsSYSTEMDS = readDMLMatrixFromOutputDir("conditionals");
 		TestUtils.compareMatrices(priorR, priorSYSTEMDS, Math.pow(10, -12), "priorR", "priorSYSTEMDS");
 		TestUtils.compareMatrices(conditionalsR, conditionalsSYSTEMDS, Math.pow(10.0, -12.0), "conditionalsR", "conditionalsSYSTEMDS");
 	}
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinNormalizeTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinNormalizeTest.java
index 88a525c..fe287ea 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinNormalizeTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinNormalizeTest.java
@@ -89,8 +89,8 @@ public class BuiltinNormalizeTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinOutlierTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinOutlierTest.java
index 5d21b18..3da06ab 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinOutlierTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinOutlierTest.java
@@ -111,8 +111,8 @@ public class BuiltinOutlierTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSTEPLmTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSTEPLmTest.java
index baae1a3..ff32077 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSTEPLmTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSTEPLmTest.java
@@ -100,10 +100,10 @@ public class BuiltinSTEPLmTest extends AutomatedTestBase
 
 			//compare matrices
 			//FIXME: currently only scenario w/o any features produce same results
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> dmfile1 = readDMLMatrixFromHDFS("S");
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("C");
-			HashMap<CellIndex, Double> rfile1 = readRMatrixFromFS("S");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> dmfile1 = readDMLMatrixFromOutputDir("S");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("C");
+			HashMap<CellIndex, Double> rfile1 = readRMatrixFromExpectedDir("S");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			TestUtils.compareMatrices(dmfile1, rfile1, eps, "Stat-DML", "Stat-R");
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinScaleTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinScaleTest.java
index 48b9921..ecde63e 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinScaleTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinScaleTest.java
@@ -174,8 +174,8 @@ public class BuiltinScaleTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSigmoidTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSigmoidTest.java
index 373c12d..ef3e653 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSigmoidTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSigmoidTest.java
@@ -99,8 +99,8 @@ public class BuiltinSigmoidTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSliceFinderTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSliceFinderTest.java
index 168a142..5bb74bc 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSliceFinderTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSliceFinderTest.java
@@ -112,8 +112,8 @@ public class BuiltinSliceFinderTest extends AutomatedTestBase
 			runTest(true, false, null, -1);
 			
 			//read output and store for dml and R
-			double[][] X = TestUtils.convertHashMapToDoubleArray(readDMLMatrixFromHDFS("X"));
-			double[][] e = TestUtils.convertHashMapToDoubleArray(readDMLMatrixFromHDFS("e"));
+			double[][] X = TestUtils.convertHashMapToDoubleArray(readDMLMatrixFromOutputDir("X"));
+			double[][] e = TestUtils.convertHashMapToDoubleArray(readDMLMatrixFromOutputDir("e"));
 			writeInputMatrixWithMTD("X", X, true);
 			writeInputMatrixWithMTD("e", e, true);
 			
@@ -130,8 +130,8 @@ public class BuiltinSliceFinderTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare dml and R
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, 1e-2, "Stat-DML", "Stat-R");
 			
 			//compare expected results
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSmoteTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSmoteTest.java
index 4eb2fdf..0c1fd77 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSmoteTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinSmoteTest.java
@@ -92,7 +92,7 @@ public class BuiltinSmoteTest extends AutomatedTestBase {
 			writeInputMatrixWithMTD("T", T, true);
 
 			runTest(true, false, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> value = readDMLMatrixFromHDFS("Sum");
+			HashMap<MatrixValue.CellIndex, Double> value = readDMLMatrixFromOutputDir("Sum");
 			Assert.assertEquals("synthetic samples does not fall into minority class cluster",1,
 				value.get(new MatrixValue.CellIndex(1,1)), 0.000001);
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinToOneHotTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinToOneHotTest.java
index bcaa0b7..c42b101 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinToOneHotTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinToOneHotTest.java
@@ -82,7 +82,7 @@ public class BuiltinToOneHotTest extends AutomatedTestBase {
 
 			if(!shouldFail) {
 				HashMap<MatrixValue.CellIndex, Double> expected = computeExpectedResult(A);
-				HashMap<MatrixValue.CellIndex, Double> result = readDMLMatrixFromHDFS("B");
+				HashMap<MatrixValue.CellIndex, Double> result = readDMLMatrixFromOutputDir("B");
 				TestUtils.compareMatrices(result, expected, eps, "Stat-DML", "Stat-Java");
 			}
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinWinsorizeTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinWinsorizeTest.java
index 7a204d4..cfe4392 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinWinsorizeTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/BuiltinWinsorizeTest.java
@@ -76,8 +76,8 @@ public class BuiltinWinsorizeTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/builtin/MultipleBuiltinsTest.java b/src/test/java/org/apache/sysds/test/functions/builtin/MultipleBuiltinsTest.java
index 6502f4a..ca8f7bd 100644
--- a/src/test/java/org/apache/sysds/test/functions/builtin/MultipleBuiltinsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/builtin/MultipleBuiltinsTest.java
@@ -76,8 +76,8 @@ public class MultipleBuiltinsTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/codegen/CellwiseTmplTest.java b/src/test/java/org/apache/sysds/test/functions/codegen/CellwiseTmplTest.java
index b1d184c..65093e2 100644
--- a/src/test/java/org/apache/sysds/test/functions/codegen/CellwiseTmplTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/codegen/CellwiseTmplTest.java
@@ -490,14 +490,14 @@ public class CellwiseTmplTest extends AutomatedTestBase
 			if(testname.equals(TEST_NAME6) || testname.equals(TEST_NAME7) 
 				|| testname.equals(TEST_NAME9) || testname.equals(TEST_NAME10)) {
 				//compare scalars 
-				HashMap<CellIndex, Double> dmlfile = readDMLScalarFromHDFS("S");
-				HashMap<CellIndex, Double> rfile  = readRScalarFromFS("S");
+				HashMap<CellIndex, Double> dmlfile = readDMLScalarFromOutputDir("S");
+				HashMap<CellIndex, Double> rfile  = readRScalarFromExpectedDir("S");
 				TestUtils.compareScalars((Double) dmlfile.values().toArray()[0], (Double) rfile.values().toArray()[0],0);
 			}
 			else {
 				//compare matrices 
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("S");
-				HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("S");
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("S");
+				HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("S");
 				TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			}
 			
diff --git a/src/test/java/org/apache/sysds/test/functions/codegen/DAGCellwiseTmplTest.java b/src/test/java/org/apache/sysds/test/functions/codegen/DAGCellwiseTmplTest.java
index 457285c..d74fc46 100644
--- a/src/test/java/org/apache/sysds/test/functions/codegen/DAGCellwiseTmplTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/codegen/DAGCellwiseTmplTest.java
@@ -139,8 +139,8 @@ public class DAGCellwiseTmplTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("S");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("S");	
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("S");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("S");	
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			Assert.assertTrue(heavyHittersContainsSubString("spoofCell") 
 				|| heavyHittersContainsSubString("sp_spoofCell"));
diff --git a/src/test/java/org/apache/sysds/test/functions/codegen/MiscPatternTest.java b/src/test/java/org/apache/sysds/test/functions/codegen/MiscPatternTest.java
index 08c631c..eb02561 100644
--- a/src/test/java/org/apache/sysds/test/functions/codegen/MiscPatternTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/codegen/MiscPatternTest.java
@@ -137,8 +137,8 @@ public class MiscPatternTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("S");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("S");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("S");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("S");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			Assert.assertTrue(heavyHittersContainsSubString("spoof") 
 					|| heavyHittersContainsSubString("sp_spoof"));
diff --git a/src/test/java/org/apache/sysds/test/functions/codegen/MultiAggTmplTest.java b/src/test/java/org/apache/sysds/test/functions/codegen/MultiAggTmplTest.java
index d0b1c5a..0614062 100644
--- a/src/test/java/org/apache/sysds/test/functions/codegen/MultiAggTmplTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/codegen/MultiAggTmplTest.java
@@ -185,8 +185,8 @@ public class MultiAggTmplTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("S");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("S");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("S");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("S");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			Assert.assertTrue(heavyHittersContainsSubString("spoofMA") 
 					|| heavyHittersContainsSubString("sp_spoofMA"));
diff --git a/src/test/java/org/apache/sysds/test/functions/codegen/OuterProdTmplTest.java b/src/test/java/org/apache/sysds/test/functions/codegen/OuterProdTmplTest.java
index d64f7ed..526afa7 100644
--- a/src/test/java/org/apache/sysds/test/functions/codegen/OuterProdTmplTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/codegen/OuterProdTmplTest.java
@@ -227,8 +227,8 @@ public class OuterProdTmplTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("S");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("S");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("S");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("S");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			if( testname.equals(TEST_NAME8) )
@@ -277,14 +277,14 @@ public class OuterProdTmplTest extends AutomatedTestBase
 			
 			if(testname.equals(TEST_NAME4)) { //wcemm
 				//compare scalars 
-				HashMap<CellIndex, Double> dmlfile = readDMLScalarFromHDFS("S");
-				HashMap<CellIndex, Double> rfile  = readRScalarFromFS("S");
+				HashMap<CellIndex, Double> dmlfile = readDMLScalarFromOutputDir("S");
+				HashMap<CellIndex, Double> rfile  = readRScalarFromExpectedDir("S");
 				TestUtils.compareScalars((Double) dmlfile.values().toArray()[0], (Double) rfile.values().toArray()[0],0.0001);
 			}
 			else {
 				//compare matrices 
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("S");
-				HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("S");
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("S");
+				HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("S");
 				TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			}
 			
diff --git a/src/test/java/org/apache/sysds/test/functions/codegen/RowAggTmplTest.java b/src/test/java/org/apache/sysds/test/functions/codegen/RowAggTmplTest.java
index 695ee51..14774a5 100644
--- a/src/test/java/org/apache/sysds/test/functions/codegen/RowAggTmplTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/codegen/RowAggTmplTest.java
@@ -810,8 +810,8 @@ public class RowAggTmplTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("S");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("S");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("S");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("S");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			Assert.assertTrue(heavyHittersContainsSubString("spoofRA") 
 				|| heavyHittersContainsSubString("sp_spoofRA"));
diff --git a/src/test/java/org/apache/sysds/test/functions/codegen/RowConv2DOperationsTest.java b/src/test/java/org/apache/sysds/test/functions/codegen/RowConv2DOperationsTest.java
index c80508d..6678f29 100644
--- a/src/test/java/org/apache/sysds/test/functions/codegen/RowConv2DOperationsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/codegen/RowConv2DOperationsTest.java
@@ -100,8 +100,8 @@ public class RowConv2DOperationsTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			Assert.assertTrue(heavyHittersContainsSubString("spoofRA") 
 				|| heavyHittersContainsSubString("sp_spoofRA"));
diff --git a/src/test/java/org/apache/sysds/test/functions/codegen/RowVectorComparisonTest.java b/src/test/java/org/apache/sysds/test/functions/codegen/RowVectorComparisonTest.java
index c33a471..1ffa4ed 100644
--- a/src/test/java/org/apache/sysds/test/functions/codegen/RowVectorComparisonTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/codegen/RowVectorComparisonTest.java
@@ -143,8 +143,8 @@ public class RowVectorComparisonTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			Assert.assertTrue(heavyHittersContainsSubString("spoofRA") 
 					|| heavyHittersContainsSubString("sp_spoofRA"));
diff --git a/src/test/java/org/apache/sysds/test/functions/codegen/SparseSideInputTest.java b/src/test/java/org/apache/sysds/test/functions/codegen/SparseSideInputTest.java
index 74460e4..d3c6aa1 100644
--- a/src/test/java/org/apache/sysds/test/functions/codegen/SparseSideInputTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/codegen/SparseSideInputTest.java
@@ -170,8 +170,8 @@ public class SparseSideInputTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			Assert.assertTrue(heavyHittersContainsSubString("spoof") 
 				|| heavyHittersContainsSubString("sp_spoof"));
diff --git a/src/test/java/org/apache/sysds/test/functions/codegen/SumProductChainTest.java b/src/test/java/org/apache/sysds/test/functions/codegen/SumProductChainTest.java
index f674f88..47183ec 100644
--- a/src/test/java/org/apache/sysds/test/functions/codegen/SumProductChainTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/codegen/SumProductChainTest.java
@@ -127,8 +127,8 @@ public class SumProductChainTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");	
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");	
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			if( vectors || !sparse  )
 				Assert.assertTrue(heavyHittersContainsSubString("spoofCell") 
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 fca850c..7597f53 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
@@ -218,22 +218,22 @@ public class AlgorithmAutoEncoder extends AutomatedTestBase
 			runTest(true, false, null, -1); 
 			runRScript(true);
 
-			HashMap<MatrixValue.CellIndex, Double> dmlW1 = readDMLMatrixFromHDFS("W1");
-			HashMap<MatrixValue.CellIndex, Double> dmlW2 = readDMLMatrixFromHDFS("W2");
-			HashMap<MatrixValue.CellIndex, Double> dmlW3 = readDMLMatrixFromHDFS("W3");
-			HashMap<MatrixValue.CellIndex, Double> dmlW4 = readDMLMatrixFromHDFS("W4");
-			HashMap<MatrixValue.CellIndex, Double> dmlb1 = readDMLMatrixFromHDFS("b1");
-			HashMap<MatrixValue.CellIndex, Double> dmlb2 = readDMLMatrixFromHDFS("b2");
-			HashMap<MatrixValue.CellIndex, Double> dmlb3 = readDMLMatrixFromHDFS("b3");
-			HashMap<MatrixValue.CellIndex, Double> dmlb4 = readDMLMatrixFromHDFS("b4");
-			HashMap<MatrixValue.CellIndex, Double> rW1  = readRMatrixFromFS("W1");
-			HashMap<MatrixValue.CellIndex, Double> rW2  = readRMatrixFromFS("W2");
-			HashMap<MatrixValue.CellIndex, Double> rW3  = readRMatrixFromFS("W3");
-			HashMap<MatrixValue.CellIndex, Double> rW4  = readRMatrixFromFS("W4");
-			HashMap<MatrixValue.CellIndex, Double> rb1  = readRMatrixFromFS("b1");
-			HashMap<MatrixValue.CellIndex, Double> rb2  = readRMatrixFromFS("b2");
-			HashMap<MatrixValue.CellIndex, Double> rb3  = readRMatrixFromFS("b3");
-			HashMap<MatrixValue.CellIndex, Double> rb4  = readRMatrixFromFS("b4");
+			HashMap<MatrixValue.CellIndex, Double> dmlW1 = readDMLMatrixFromOutputDir("W1");
+			HashMap<MatrixValue.CellIndex, Double> dmlW2 = readDMLMatrixFromOutputDir("W2");
+			HashMap<MatrixValue.CellIndex, Double> dmlW3 = readDMLMatrixFromOutputDir("W3");
+			HashMap<MatrixValue.CellIndex, Double> dmlW4 = readDMLMatrixFromOutputDir("W4");
+			HashMap<MatrixValue.CellIndex, Double> dmlb1 = readDMLMatrixFromOutputDir("b1");
+			HashMap<MatrixValue.CellIndex, Double> dmlb2 = readDMLMatrixFromOutputDir("b2");
+			HashMap<MatrixValue.CellIndex, Double> dmlb3 = readDMLMatrixFromOutputDir("b3");
+			HashMap<MatrixValue.CellIndex, Double> dmlb4 = readDMLMatrixFromOutputDir("b4");
+			HashMap<MatrixValue.CellIndex, Double> rW1  = readRMatrixFromExpectedDir("W1");
+			HashMap<MatrixValue.CellIndex, Double> rW2  = readRMatrixFromExpectedDir("W2");
+			HashMap<MatrixValue.CellIndex, Double> rW3  = readRMatrixFromExpectedDir("W3");
+			HashMap<MatrixValue.CellIndex, Double> rW4  = readRMatrixFromExpectedDir("W4");
+			HashMap<MatrixValue.CellIndex, Double> rb1  = readRMatrixFromExpectedDir("b1");
+			HashMap<MatrixValue.CellIndex, Double> rb2  = readRMatrixFromExpectedDir("b2");
+			HashMap<MatrixValue.CellIndex, Double> rb3  = readRMatrixFromExpectedDir("b3");
+			HashMap<MatrixValue.CellIndex, Double> rb4  = readRMatrixFromExpectedDir("b4");
 			TestUtils.compareMatrices(dmlW1, rW1, eps, "Stat-DML", "Stat-R");
 			TestUtils.compareMatrices(dmlW2, rW2, eps, "Stat-DML", "Stat-R");
 			TestUtils.compareMatrices(dmlW3, rW3, eps, "Stat-DML", "Stat-R");
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 5fb1ade..f068cc4 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
@@ -181,8 +181,8 @@ public class AlgorithmL2SVM extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("w");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("w");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("w");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("w");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			Assert.assertTrue(heavyHittersContainsSubString("spoof") || heavyHittersContainsSubString("sp_spoof"));
 		}
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 effa7ab..e8e3a06 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
@@ -337,8 +337,8 @@ public class AlgorithmLinregCG extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("w");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("w");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("w");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("w");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			Assert.assertTrue(heavyHittersContainsSubString("spoofRA") 
 					|| heavyHittersContainsSubString("sp_spoofRA"));
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 7a348d9..20d20cf 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
@@ -418,8 +418,8 @@ public class AlgorithmMLogreg extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("w");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("w");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("w");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("w");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			Assert.assertTrue(heavyHittersContainsSubString("spoof")
 				|| heavyHittersContainsSubString("sp_spoof"));
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 2085f2d..98d4714 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
@@ -205,8 +205,8 @@ public class AlgorithmMSVM extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("w");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("w");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("w");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("w");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			Assert.assertTrue(heavyHittersContainsSubString("spoof") || heavyHittersContainsSubString("sp_spoof"));
 		}
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 e769705..6168265 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
@@ -163,12 +163,12 @@ public class AlgorithmPCA extends AutomatedTestBase
 			runRScript(true);
 
 			//compare matrices
-			HashMap<CellIndex, Double> dmleval = readDMLMatrixFromHDFS("dominant.eigen.values");
-			HashMap<CellIndex, Double> reval   = readRMatrixFromFS("dominant.eigen.values");
-			HashMap<CellIndex, Double> dmlevec = readDMLMatrixFromHDFS("dominant.eigen.vectors");
-			HashMap<CellIndex, Double> revec = readDMLMatrixFromHDFS("dominant.eigen.vectors");
-			HashMap<CellIndex, Double> dmlstd = readDMLMatrixFromHDFS("dominant.eigen.standard.deviations");
-			HashMap<CellIndex, Double> rstd   = readRMatrixFromFS("dominant.eigen.standard.deviations");
+			HashMap<CellIndex, Double> dmleval = readDMLMatrixFromOutputDir("dominant.eigen.values");
+			HashMap<CellIndex, Double> reval   = readRMatrixFromExpectedDir("dominant.eigen.values");
+			HashMap<CellIndex, Double> dmlevec = readDMLMatrixFromOutputDir("dominant.eigen.vectors");
+			HashMap<CellIndex, Double> revec = readDMLMatrixFromOutputDir("dominant.eigen.vectors");
+			HashMap<CellIndex, Double> dmlstd = readDMLMatrixFromOutputDir("dominant.eigen.standard.deviations");
+			HashMap<CellIndex, Double> rstd   = readRMatrixFromExpectedDir("dominant.eigen.standard.deviations");
 			TestUtils.compareMatrices(dmleval, reval, eps, "Stat-DML", "Stat-R");
 			TestUtils.compareMatrices(dmlevec, revec, eps, "Stat-DML", "Stat-R");
 			TestUtils.compareMatrices(dmlstd, rstd, eps, "Stat-DML", "Stat-R");
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 9226ff1..0d4231d 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
@@ -141,10 +141,10 @@ public class AlgorithmPNMF extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlW = readDMLMatrixFromHDFS("W");
-			HashMap<CellIndex, Double> dmlH = readDMLMatrixFromHDFS("H");
-			HashMap<CellIndex, Double> rW = readRMatrixFromFS("W");
-			HashMap<CellIndex, Double> rH = readRMatrixFromFS("H");
+			HashMap<CellIndex, Double> dmlW = readDMLMatrixFromOutputDir("W");
+			HashMap<CellIndex, Double> dmlH = readDMLMatrixFromOutputDir("H");
+			HashMap<CellIndex, Double> rW = readRMatrixFromExpectedDir("W");
+			HashMap<CellIndex, Double> rH = readRMatrixFromExpectedDir("H");
 			TestUtils.compareMatrices(dmlW, rW, eps, "Stat-DML", "Stat-R");
 			TestUtils.compareMatrices(dmlH, rH, eps, "Stat-DML", "Stat-R");
 			Assert.assertTrue(heavyHittersContainsSubString("spoof") || heavyHittersContainsSubString("sp_spoof"));
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 89addba..01c4bd5 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
@@ -159,8 +159,8 @@ public class AlgorithmPageRank extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dml = readDMLMatrixFromHDFS("p");
-			HashMap<CellIndex, Double> r = readRMatrixFromFS("p");
+			HashMap<CellIndex, Double> dml = readDMLMatrixFromOutputDir("p");
+			HashMap<CellIndex, Double> r = readRMatrixFromExpectedDir("p");
 			TestUtils.compareMatrices(dml, r, eps, "Stat-DML", "Stat-R");
 			Assert.assertTrue(heavyHittersContainsSubString("spoofRA") 
 				|| heavyHittersContainsSubString("sp_spoofRA"));
diff --git a/src/test/java/org/apache/sysds/test/functions/data/misc/MatrixMarketFormatTest.java b/src/test/java/org/apache/sysds/test/functions/data/misc/MatrixMarketFormatTest.java
index 36c3b69..d969363 100644
--- a/src/test/java/org/apache/sysds/test/functions/data/misc/MatrixMarketFormatTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/data/misc/MatrixMarketFormatTest.java
@@ -229,10 +229,10 @@ public class MatrixMarketFormatTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare row and column aggregates
-			TestUtils.compareMatrices(readDMLMatrixFromHDFS("R"),
-				readRMatrixFromFS("R"), 1e-10, "Stat-DML", "Stat-R");
-			TestUtils.compareMatrices(readDMLMatrixFromHDFS("C"),
-				readRMatrixFromFS("C"), 1e-10, "Stat-DML", "Stat-R");
+			TestUtils.compareMatrices(readDMLMatrixFromOutputDir("R"),
+				readRMatrixFromExpectedDir("R"), 1e-10, "Stat-DML", "Stat-R");
+			TestUtils.compareMatrices(readDMLMatrixFromOutputDir("C"),
+				readRMatrixFromExpectedDir("C"), 1e-10, "Stat-DML", "Stat-R");
 		}
 		catch (IOException e) {
 			throw new RuntimeException(e);
diff --git a/src/test/java/org/apache/sysds/test/functions/data/misc/WriteReadZeroDimsTest.java b/src/test/java/org/apache/sysds/test/functions/data/misc/WriteReadZeroDimsTest.java
index ad4c6e0..07d1081 100644
--- a/src/test/java/org/apache/sysds/test/functions/data/misc/WriteReadZeroDimsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/data/misc/WriteReadZeroDimsTest.java
@@ -165,7 +165,7 @@ public class WriteReadZeroDimsTest extends AutomatedTestBase
 				//check overall result
 				double expected = ((type == Type.Zero_Rows) ? colsM : rowsM) * 7;
 				Assert.assertEquals(new Double(expected),
-					readDMLMatrixFromHDFS("R2").get(new CellIndex(1,1)));
+					readDMLMatrixFromOutputDir("R2").get(new CellIndex(1,1)));
 			}
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/data/rand/RandRuntimePlatformBase.java b/src/test/java/org/apache/sysds/test/functions/data/rand/RandRuntimePlatformBase.java
index d99ae7e..1d854b2 100644
--- a/src/test/java/org/apache/sysds/test/functions/data/rand/RandRuntimePlatformBase.java
+++ b/src/test/java/org/apache/sysds/test/functions/data/rand/RandRuntimePlatformBase.java
@@ -164,8 +164,8 @@ public abstract class RandRuntimePlatformBase extends AutomatedTestBase
 			}
 		
 			//compare matrices
-			HashMap<CellIndex, Double> cpfile = readDMLMatrixFromHDFS("A_CP");
-			HashMap<CellIndex, Double> spfile = readDMLMatrixFromHDFS("A_SPARK");
+			HashMap<CellIndex, Double> cpfile = readDMLMatrixFromOutputDir("A_CP");
+			HashMap<CellIndex, Double> spfile = readDMLMatrixFromOutputDir("A_SPARK");
 			TestUtils.compareMatrices(spfile, cpfile, eps, "SPFile", "CPFile");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/data/rand/RandVarMinMaxTest.java b/src/test/java/org/apache/sysds/test/functions/data/rand/RandVarMinMaxTest.java
index 9915bbb..c4c0eaf 100644
--- a/src/test/java/org/apache/sysds/test/functions/data/rand/RandVarMinMaxTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/data/rand/RandVarMinMaxTest.java
@@ -123,8 +123,8 @@ public class RandVarMinMaxTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, 0, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/data/rand/RandVarSeedTest.java b/src/test/java/org/apache/sysds/test/functions/data/rand/RandVarSeedTest.java
index 46ae5b5..87f537b 100644
--- a/src/test/java/org/apache/sysds/test/functions/data/rand/RandVarSeedTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/data/rand/RandVarSeedTest.java
@@ -101,7 +101,7 @@ public class RandVarSeedTest extends AutomatedTestBase
 			double[][] expectedMatrix = DataConverter.convertToDoubleMatrix(expectedMB);
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 			double[][] resultMatrix = TestUtils.convertHashMapToDoubleArray(dmlfile);
 			TestUtils.compareMatrices(expectedMatrix, resultMatrix, rows, cols, 0);
 		} 
diff --git a/src/test/java/org/apache/sysds/test/functions/data/rand/SequenceTest.java b/src/test/java/org/apache/sysds/test/functions/data/rand/SequenceTest.java
index 6622718..07f5f58 100644
--- a/src/test/java/org/apache/sysds/test/functions/data/rand/SequenceTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/data/rand/SequenceTest.java
@@ -150,14 +150,14 @@ public class SequenceTest extends AutomatedTestBase
 			
 			if ( !exceptionExpected ) {
 				runRScript(true);
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("A_CP");
-				HashMap<CellIndex, Double> rfile = readRMatrixFromFS("A");
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("A_CP");
+				HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("A");
 				TestUtils.compareMatrices(dmlfile, rfile, eps, "A-CP", "A-R");
 				
-				dmlfile = readDMLMatrixFromHDFS("A_HYBRID");
+				dmlfile = readDMLMatrixFromOutputDir("A_HYBRID");
 				TestUtils.compareMatrices(dmlfile, rfile, eps, "A-HYBRID", "A-R");
 				
-				dmlfile = readDMLMatrixFromHDFS("A_SPARK");
+				dmlfile = readDMLMatrixFromOutputDir("A_SPARK");
 				TestUtils.compareMatrices(dmlfile, rfile, eps, "A-SPARK", "A-R");
 			}
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DBackwardDataTest.java b/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DBackwardDataTest.java
index 64b1e2d..be2087f 100644
--- a/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DBackwardDataTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DBackwardDataTest.java
@@ -174,9 +174,9 @@ public class Conv2DBackwardDataTest extends AutomatedTestBase
 					" " + sparseVal1 + " " + sparseVal2;
 			// Run comparison R script
 			runRScript(true);
-			HashMap<CellIndex, Double> bHM = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> bHM = readRMatrixFromExpectedDir("B");
 			
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
 			TestUtils.compareMatrices(dmlfile, bHM, epsilon, "B-DML", "NumPy");
 			
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DBackwardTest.java b/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DBackwardTest.java
index c901f81..d3cc053 100644
--- a/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DBackwardTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DBackwardTest.java
@@ -213,8 +213,8 @@ public class Conv2DBackwardTest extends AutomatedTestBase
 			runTest(true, false, null, -1);
 			runRScript(true);
 			
-			HashMap<CellIndex, Double> bHM = readRMatrixFromFS("B");
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
+			HashMap<CellIndex, Double> bHM = readRMatrixFromExpectedDir("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
 			TestUtils.compareMatrices(dmlfile, bHM, epsilon, "B-DML", "NumPy");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DTest.java b/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DTest.java
index ad5b567..6c25cfe 100644
--- a/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/dnn/Conv2DTest.java
@@ -284,8 +284,8 @@ public class Conv2DTest extends AutomatedTestBase
 			runTest(true, false, null, -1);
 			runRScript(true);
 			
-			HashMap<CellIndex, Double> bHM = readRMatrixFromFS("B");
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
+			HashMap<CellIndex, Double> bHM = readRMatrixFromExpectedDir("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
 			TestUtils.compareMatrices(dmlfile, bHM, epsilon, "B-DML", "B-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/dnn/PoolBackwardTest.java b/src/test/java/org/apache/sysds/test/functions/dnn/PoolBackwardTest.java
index 2764801..241cb67 100644
--- a/src/test/java/org/apache/sysds/test/functions/dnn/PoolBackwardTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/dnn/PoolBackwardTest.java
@@ -170,8 +170,8 @@ public class PoolBackwardTest extends AutomatedTestBase
 			runRScript(true);
 			
 			// compare results
-			HashMap<CellIndex, Double> bHM = readRMatrixFromFS("B");
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
+			HashMap<CellIndex, Double> bHM = readRMatrixFromExpectedDir("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
 			TestUtils.compareMatrices(dmlfile, bHM, epsilon, "B-DML", "R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/dnn/PoolTest.java b/src/test/java/org/apache/sysds/test/functions/dnn/PoolTest.java
index bff1001..df4a224 100644
--- a/src/test/java/org/apache/sysds/test/functions/dnn/PoolTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/dnn/PoolTest.java
@@ -167,8 +167,8 @@ public class PoolTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare results
-			HashMap<CellIndex, Double> bHM = readRMatrixFromFS("B");
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
+			HashMap<CellIndex, Double> bHM = readRMatrixFromExpectedDir("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
 			TestUtils.compareMatrices(dmlfile, bHM, epsilon, "B-DML", "NumPy");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/dnn/ReluBackwardTest.java b/src/test/java/org/apache/sysds/test/functions/dnn/ReluBackwardTest.java
index cee22b9..2445cab 100644
--- a/src/test/java/org/apache/sysds/test/functions/dnn/ReluBackwardTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/dnn/ReluBackwardTest.java
@@ -89,9 +89,9 @@ public class ReluBackwardTest extends AutomatedTestBase
 			
 			// Run comparison R script
 			runRScript(true);
-			HashMap<CellIndex, Double> bHM = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> bHM = readRMatrixFromExpectedDir("B");
 			
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
 			TestUtils.compareMatrices(dmlfile, bHM, epsilon, "B-DML", "NumPy");
 			
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/frame/FrameScalarCastingIntegratedTest.java b/src/test/java/org/apache/sysds/test/functions/frame/FrameScalarCastingIntegratedTest.java
index 2400ee1..9a23800 100644
--- a/src/test/java/org/apache/sysds/test/functions/frame/FrameScalarCastingIntegratedTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/frame/FrameScalarCastingIntegratedTest.java
@@ -153,7 +153,7 @@ public class FrameScalarCastingIntegratedTest extends AutomatedTestBase
 			runTest(true, false, null, -1);
 
 			//compare output 
-			Assert.assertEquals(readDMLMatrixFromHDFS("R").get(new CellIndex(1,1)), Double.valueOf(1));
+			Assert.assertEquals(readDMLMatrixFromOutputDir("R").get(new CellIndex(1,1)), Double.valueOf(1));
 			if( et != ExecMode.SPARK ) {
 				Assert.assertTrue(Statistics.getNoOfCompiledSPInst()==0);
 				Assert.assertTrue(Statistics.getNoOfExecutedSPInst()==0);
diff --git a/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingScalarTest.java b/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingScalarTest.java
index 16438f0..b5ea0aa 100644
--- a/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingScalarTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingScalarTest.java
@@ -97,8 +97,8 @@ public class LeftIndexingScalarTest extends AutomatedTestBase
 	        runTest(true, false, null, -1);		
 			runRScript(true);
 			
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("A");
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("A");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("A");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("A");
 			TestUtils.compareMatrices(dmlfile, rfile, epsilon, "A-DML", "A-R");
 			checkDMLMetaDataFile("A", new MatrixCharacteristics(rows,cols,1,1));
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingSparseDenseTest.java b/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingSparseDenseTest.java
index 03939a0..3550385 100644
--- a/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingSparseDenseTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingSparseDenseTest.java
@@ -207,8 +207,8 @@ public class LeftIndexingSparseDenseTest extends AutomatedTestBase
 			runTest(true, false, null, 6); //2xrblk,2xchk,ix,write
 			runRScript(true);
 			
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, 0, "DML", "R");
 			checkDMLMetaDataFile("R", new MatrixCharacteristics(rows1,lcols1,1,1));
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingSparseSparseTest.java b/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingSparseSparseTest.java
index 5569732..efddeb6 100644
--- a/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingSparseSparseTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingSparseSparseTest.java
@@ -193,8 +193,8 @@ public class LeftIndexingSparseSparseTest extends AutomatedTestBase
 			LeftIndexingOp.FORCED_LEFT_INDEXING = null;
 		}
 		
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-		HashMap<CellIndex, Double> rfile = readRMatrixFromFS("R");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+		HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("R");
 		TestUtils.compareMatrices(dmlfile, rfile, 0, "DML", "R");
 		checkDMLMetaDataFile("R", new MatrixCharacteristics(rows1,cols1,1,1));
 	}
diff --git a/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingTest.java b/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingTest.java
index 35f27ae..558dbb4 100644
--- a/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingTest.java
@@ -158,8 +158,8 @@ public class LeftIndexingTest extends AutomatedTestBase
 	
 		for(String file: config.getOutputFiles())
 		{
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(file);
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS(file);
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(file);
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir(file);
 		//	System.out.println(file+"-DML: "+dmlfile);
 		//	System.out.println(file+"-R: "+rfile);
 			TestUtils.compareMatrices(dmlfile, rfile, epsilon, file+"-DML", file+"-R");
diff --git a/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingUpdateInPlaceTest.java b/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingUpdateInPlaceTest.java
index c0c124f..5f3d927 100644
--- a/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingUpdateInPlaceTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/indexing/LeftIndexingUpdateInPlaceTest.java
@@ -153,8 +153,8 @@ public class LeftIndexingUpdateInPlaceTest extends AutomatedTestBase
 			runTest(true, false, null, 2); //2xrblk
 			runRScript(true);
 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, 0, "DML", "R");
 			checkDMLMetaDataFile("R", testName.equals(TEST_NAME1) ?
 				new MatrixCharacteristics(rows1, cols1, 1, 1):
diff --git a/src/test/java/org/apache/sysds/test/functions/indexing/RightIndexingMatrixTest.java b/src/test/java/org/apache/sysds/test/functions/indexing/RightIndexingMatrixTest.java
index 8ea57f5..7ded0d5 100644
--- a/src/test/java/org/apache/sysds/test/functions/indexing/RightIndexingMatrixTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/indexing/RightIndexingMatrixTest.java
@@ -139,8 +139,8 @@ public class RightIndexingMatrixTest extends AutomatedTestBase
 			
 			//compare results
 			for(String file: config.getOutputFiles()) {
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(file);
-				HashMap<CellIndex, Double> rfile = readRMatrixFromFS(file);
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(file);
+				HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir(file);
 				TestUtils.compareMatrices(dmlfile, rfile, epsilon, file+"-DML", file+"-R");
 			}
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/indexing/RightIndexingVectorTest.java b/src/test/java/org/apache/sysds/test/functions/indexing/RightIndexingVectorTest.java
index f2a68d7..e254eae 100644
--- a/src/test/java/org/apache/sysds/test/functions/indexing/RightIndexingVectorTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/indexing/RightIndexingVectorTest.java
@@ -110,8 +110,8 @@ public class RightIndexingVectorTest extends AutomatedTestBase
 		
 			for(String file: config.getOutputFiles())
 			{
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(file);
-				HashMap<CellIndex, Double> rfile = readRMatrixFromFS(file);
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(file);
+				HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir(file);
 				TestUtils.compareMatrices(dmlfile, rfile, epsilon, file+"-DML", file+"-R");
 			}
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/indexing/RowBatchRightIndexingTest.java b/src/test/java/org/apache/sysds/test/functions/indexing/RowBatchRightIndexingTest.java
index 24d59a5..3b45703 100644
--- a/src/test/java/org/apache/sysds/test/functions/indexing/RowBatchRightIndexingTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/indexing/RowBatchRightIndexingTest.java
@@ -108,8 +108,8 @@ public class RowBatchRightIndexingTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare output aggregate
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, epsilon, "DML", "R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/jmlc/MulticlassSVMScoreTest.java b/src/test/java/org/apache/sysds/test/functions/jmlc/MulticlassSVMScoreTest.java
index 67b1049..7943b0c 100644
--- a/src/test/java/org/apache/sysds/test/functions/jmlc/MulticlassSVMScoreTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/jmlc/MulticlassSVMScoreTest.java
@@ -103,7 +103,7 @@ public class MulticlassSVMScoreTest extends AutomatedTestBase
 		runRScript(true);
 		
 		//read and convert R output
-		HashMap<CellIndex, Double> rfile = readRMatrixFromFS("predicted_y");
+		HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("predicted_y");
 		double[][] expected = TestUtils.convertHashMapToDoubleArray(rfile, rows, 1);
 		
 		//for each input data set compare results
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/CacheEvictionTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/CacheEvictionTest.java
index a378082..584e973 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/CacheEvictionTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/CacheEvictionTest.java
@@ -96,7 +96,7 @@ public class CacheEvictionTest extends LineageBase {
 			proArgs.add(output("R"));
 			programArgs = proArgs.toArray(new String[proArgs.size()]);
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> R_lru = readDMLMatrixFromHDFS("R");
+			HashMap<MatrixValue.CellIndex, Double> R_lru = readDMLMatrixFromOutputDir("R");
 			long expCount_lru = Statistics.getCPHeavyHitterCount("exp");
 			long hitCount_lru = LineageCacheStatistics.getInstHits();
 			long evictedCount_lru = LineageCacheStatistics.getMemDeletes();
@@ -113,7 +113,7 @@ public class CacheEvictionTest extends LineageBase {
 			programArgs = proArgs.toArray(new String[proArgs.size()]);
 			Lineage.resetInternalState();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> R_costnsize= readDMLMatrixFromHDFS("R");
+			HashMap<MatrixValue.CellIndex, Double> R_costnsize= readDMLMatrixFromOutputDir("R");
 			long expCount_wt = Statistics.getCPHeavyHitterCount("exp");
 			long hitCount_wt = LineageCacheStatistics.getInstHits();
 			long evictedCount_wt = LineageCacheStatistics.getMemDeletes();
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/FullReuseTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/FullReuseTest.java
index 2bae49e..3ac4aaf 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/FullReuseTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/FullReuseTest.java
@@ -93,7 +93,7 @@ public class FullReuseTest extends LineageBase {
 			
 			Lineage.resetInternalState();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> X_orig = readDMLMatrixFromHDFS("X");
+			HashMap<MatrixValue.CellIndex, Double> X_orig = readDMLMatrixFromOutputDir("X");
 			
 			// With lineage-based reuse enabled
 			proArgs.clear();
@@ -107,7 +107,7 @@ public class FullReuseTest extends LineageBase {
 			Lineage.resetInternalState();
 			Lineage.setLinReuseFull();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> X_reused = readDMLMatrixFromHDFS("X");
+			HashMap<MatrixValue.CellIndex, Double> X_reused = readDMLMatrixFromOutputDir("X");
 			Lineage.setLinReuseNone();
 			
 			TestUtils.compareMatrices(X_orig, X_reused, 1e-6, "Origin", "Reused");
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/FunctionFullReuseTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/FunctionFullReuseTest.java
index 2aa6d60..16897d4 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/FunctionFullReuseTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/FunctionFullReuseTest.java
@@ -110,7 +110,7 @@ public class FunctionFullReuseTest extends LineageBase {
 			
 			Lineage.resetInternalState();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> X_orig = readDMLMatrixFromHDFS("X");
+			HashMap<MatrixValue.CellIndex, Double> X_orig = readDMLMatrixFromOutputDir("X");
 			
 			// With lineage-based reuse enabled
 			proArgs.clear();
@@ -124,7 +124,7 @@ public class FunctionFullReuseTest extends LineageBase {
 			Lineage.resetInternalState();
 			Lineage.setLinReuseFull();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> X_reused = readDMLMatrixFromHDFS("X");
+			HashMap<MatrixValue.CellIndex, Double> X_reused = readDMLMatrixFromOutputDir("X");
 			Lineage.setLinReuseNone();
 			
 			TestUtils.compareMatrices(X_orig, X_reused, 1e-6, "Origin", "Reused");
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/LineageCodegenTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/LineageCodegenTest.java
index e95e2b8..cc88317 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/LineageCodegenTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/LineageCodegenTest.java
@@ -101,7 +101,7 @@ public class LineageCodegenTest extends LineageBase {
 			//get lineage and generate program
 			String Rtrace = readDMLLineageFromHDFS("R");
 			Data ret = LineageRecomputeUtils.parseNComputeLineageTrace(Rtrace, null);
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 			MatrixBlock tmp = ((MatrixObject)ret).acquireReadAndRelease();
 			TestUtils.compareMatrices(dmlfile, tmp, 1e-6);
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/LineageReuseAlg.java b/src/test/java/org/apache/sysds/test/functions/lineage/LineageReuseAlg.java
index e0be528..d601308 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/LineageReuseAlg.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/LineageReuseAlg.java
@@ -120,7 +120,7 @@ public class LineageReuseAlg extends LineageBase {
 			programArgs = proArgs.toArray(new String[proArgs.size()]);
 			Lineage.resetInternalState();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> X_orig = readDMLMatrixFromHDFS("X");
+			HashMap<MatrixValue.CellIndex, Double> X_orig = readDMLMatrixFromOutputDir("X");
 			
 			// With lineage-based reuse enabled
 			proArgs.clear();
@@ -134,7 +134,7 @@ public class LineageReuseAlg extends LineageBase {
 			Lineage.setLinReuseFull();
 			
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> X_reused = readDMLMatrixFromHDFS("X");
+			HashMap<MatrixValue.CellIndex, Double> X_reused = readDMLMatrixFromOutputDir("X");
 			
 			Lineage.setLinReuseNone();
 			TestUtils.compareMatrices(X_orig, X_reused, 1e-6, "Origin", "Reused");
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/LineageRewriteTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/LineageRewriteTest.java
index 3960448..5789794 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/LineageRewriteTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/LineageRewriteTest.java
@@ -134,7 +134,7 @@ public class LineageRewriteTest extends AutomatedTestBase {
 			writeInputMatrixWithMTD("X", X, true);
 			writeInputMatrixWithMTD("Y", Y, true);
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> R_orig = readDMLMatrixFromHDFS("Res");
+			HashMap<MatrixValue.CellIndex, Double> R_orig = readDMLMatrixFromOutputDir("Res");
 
 			proArgs.clear();
 			proArgs.add("-stats");
@@ -151,7 +151,7 @@ public class LineageRewriteTest extends AutomatedTestBase {
 			Lineage.setLinReusePartial();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
 			Lineage.setLinReuseNone();
-			HashMap<MatrixValue.CellIndex, Double> R_reused = readDMLMatrixFromHDFS("Res");
+			HashMap<MatrixValue.CellIndex, Double> R_reused = readDMLMatrixFromOutputDir("Res");
 			TestUtils.compareMatrices(R_orig, R_reused, 1e-6, "Origin", "Reused");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceBuiltinTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceBuiltinTest.java
index 90e4864..84cea6d 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceBuiltinTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceBuiltinTest.java
@@ -80,7 +80,7 @@ public class LineageTraceBuiltinTest extends LineageBase {
 		String Rtrace = readDMLLineageFromHDFS("R");
 		Data ret = LineageRecomputeUtils.parseNComputeLineageTrace(Rtrace, null);
 		
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 		MatrixBlock tmp = ((MatrixObject)ret).acquireReadAndRelease();
 		TestUtils.compareMatrices(dmlfile, tmp, 1e-6);
 	}
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceDedupTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceDedupTest.java
index 4be3493..7862295 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceDedupTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceDedupTest.java
@@ -155,7 +155,7 @@ public class LineageTraceDedupTest extends LineageBase
 			Data ret = LineageRecomputeUtils.parseNComputeLineageTrace(Rtrace, RDedupPatches);
 			
 			//match the original and recomputed results
-			HashMap<CellIndex, Double> orig = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> orig = readDMLMatrixFromOutputDir("R");
 			MatrixBlock recomputed = ((MatrixObject)ret).acquireReadAndRelease();
 			TestUtils.compareMatrices(orig, recomputed, 1e-6);
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceExecSparkTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceExecSparkTest.java
index 13fa93b..88456dd 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceExecSparkTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceExecSparkTest.java
@@ -117,12 +117,12 @@ public class LineageTraceExecSparkTest extends LineageBase {
 			
 			//generate program
 			Data X_data = LineageRecomputeUtils.parseNComputeLineageTrace(X_lineage, null);
-			HashMap<MatrixValue.CellIndex, Double> X_dmlfile = readDMLMatrixFromHDFS("X");
+			HashMap<MatrixValue.CellIndex, Double> X_dmlfile = readDMLMatrixFromOutputDir("X");
 			MatrixBlock X_tmp = ((MatrixObject)X_data).acquireReadAndRelease();
 			TestUtils.compareMatrices(X_dmlfile, X_tmp, 1e-6);
 			
 			Data Y_data = LineageRecomputeUtils.parseNComputeLineageTrace(Y_lineage, null);
-			HashMap<MatrixValue.CellIndex, Double> Y_dmlfile = readDMLMatrixFromHDFS("Y");
+			HashMap<MatrixValue.CellIndex, Double> Y_dmlfile = readDMLMatrixFromOutputDir("Y");
 			MatrixBlock Y_tmp = ((MatrixObject)Y_data).acquireReadAndRelease();
 			TestUtils.compareMatrices(Y_dmlfile, Y_tmp, 1e-6);
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceExecTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceExecTest.java
index 1433a9a..4138f89 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceExecTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceExecTest.java
@@ -123,12 +123,12 @@ public class LineageTraceExecTest extends LineageBase {
 		Data ret = LineageRecomputeUtils.parseNComputeLineageTrace(Rtrace, null);
 		
 		if( testname.equals(TEST_NAME2) || testname.equals(TEST_NAME5)) {
-			double val1 = readDMLScalarFromHDFS("R").get(new CellIndex(1,1));
+			double val1 = readDMLScalarFromOutputDir("R").get(new CellIndex(1,1));
 			double val2 = ((ScalarObject)ret).getDoubleValue();
 			TestUtils.compareScalars(val1, val2, 1e-6);
 		}
 		else {
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 			MatrixBlock tmp = ((MatrixObject)ret).acquireReadAndRelease();
 			TestUtils.compareMatrices(dmlfile, tmp, 1e-6);
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceFrameTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceFrameTest.java
index cd8fb55..2928019 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceFrameTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceFrameTest.java
@@ -101,7 +101,7 @@ public class LineageTraceFrameTest extends LineageBase {
 			
 			Lineage.resetInternalState();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> X_orig = readDMLMatrixFromHDFS("X");
+			HashMap<MatrixValue.CellIndex, Double> X_orig = readDMLMatrixFromOutputDir("X");
 			
 			// With lineage-based reuse enabled
 			proArgs.clear();
@@ -116,7 +116,7 @@ public class LineageTraceFrameTest extends LineageBase {
 			Lineage.resetInternalState();
 			Lineage.setLinReuseFull();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> X_reused = readDMLMatrixFromHDFS("X");
+			HashMap<MatrixValue.CellIndex, Double> X_reused = readDMLMatrixFromOutputDir("X");
 			Lineage.setLinReuseNone();
 			
 			TestUtils.compareMatrices(X_orig, X_reused, 1e-6, "Origin", "Reused");
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceFunctionTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceFunctionTest.java
index e31d737..763e735 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceFunctionTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceFunctionTest.java
@@ -88,7 +88,7 @@ public class LineageTraceFunctionTest extends LineageBase
 		String Rtrace = readDMLLineageFromHDFS("R");
 		Data ret = LineageRecomputeUtils.parseNComputeLineageTrace(Rtrace, null);
 		
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 		MatrixBlock tmp = ((MatrixObject)ret).acquireReadAndRelease();
 		TestUtils.compareMatrices(dmlfile, tmp, 1e-6);
 	}
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceParforTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceParforTest.java
index f56c4d4..48c39b0 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceParforTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/LineageTraceParforTest.java
@@ -162,7 +162,7 @@ public class LineageTraceParforTest extends LineageBase {
 			String Rtrace = readDMLLineageFromHDFS("R");
 			Data ret = LineageRecomputeUtils.parseNComputeLineageTrace(Rtrace, null);
 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 			MatrixBlock tmp = ((MatrixObject) ret).acquireReadAndRelease();
 			TestUtils.compareMatrices(dmlfile, tmp, 1e-6);
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/PartialReuseTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/PartialReuseTest.java
index 6f7717a..375a5b8 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/PartialReuseTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/PartialReuseTest.java
@@ -76,7 +76,7 @@ public class PartialReuseTest extends LineageBase {
 			programArgs = proArgs.toArray(new String[proArgs.size()]);
 			Lineage.resetInternalState();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> X_orig = readDMLMatrixFromHDFS("X");
+			HashMap<MatrixValue.CellIndex, Double> X_orig = readDMLMatrixFromOutputDir("X");
 			
 			// With lineage-based reuse enabled
 			proArgs.clear();
@@ -89,7 +89,7 @@ public class PartialReuseTest extends LineageBase {
 			Lineage.resetInternalState();
 			Lineage.setLinReuseFull();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> X_reused = readDMLMatrixFromHDFS("X");
+			HashMap<MatrixValue.CellIndex, Double> X_reused = readDMLMatrixFromOutputDir("X");
 			Lineage.setLinReuseNone();
 			
 			//compare matrices
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/SBFullReuseTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/SBFullReuseTest.java
index 60b2c85..d8a07d7 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/SBFullReuseTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/SBFullReuseTest.java
@@ -89,7 +89,7 @@ public class SBFullReuseTest extends LineageBase {
 			
 			Lineage.resetInternalState();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> X_orig = readDMLMatrixFromHDFS("X");
+			HashMap<MatrixValue.CellIndex, Double> X_orig = readDMLMatrixFromOutputDir("X");
 			
 			// With lineage-based reuse enabled
 			proArgs.clear();
@@ -103,7 +103,7 @@ public class SBFullReuseTest extends LineageBase {
 			Lineage.resetInternalState();
 			Lineage.setLinReuseFull();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> X_reused = readDMLMatrixFromHDFS("X");
+			HashMap<MatrixValue.CellIndex, Double> X_reused = readDMLMatrixFromOutputDir("X");
 			Lineage.setLinReuseNone();
 			
 			TestUtils.compareMatrices(X_orig, X_reused, 1e-6, "Origin", "Reused");
diff --git a/src/test/java/org/apache/sysds/test/functions/lineage/UnmarkLoopDepVarsTest.java b/src/test/java/org/apache/sysds/test/functions/lineage/UnmarkLoopDepVarsTest.java
index 9558ee9..97d563e 100644
--- a/src/test/java/org/apache/sysds/test/functions/lineage/UnmarkLoopDepVarsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/lineage/UnmarkLoopDepVarsTest.java
@@ -67,7 +67,7 @@ public class UnmarkLoopDepVarsTest extends AutomatedTestBase {
 			double[][] X = getRandomMatrix(numRecords, numFeatures, 0, 1, 0.8, -1);
 			writeInputMatrixWithMTD("X", X, true);
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
-			HashMap<MatrixValue.CellIndex, Double> R_orig = readDMLMatrixFromHDFS("Res");
+			HashMap<MatrixValue.CellIndex, Double> R_orig = readDMLMatrixFromOutputDir("Res");
 
 			proArgs.clear();
 			proArgs.add("-stats");
@@ -83,7 +83,7 @@ public class UnmarkLoopDepVarsTest extends AutomatedTestBase {
 			Lineage.setLinReusePartial();
 			runTest(true, EXCEPTION_NOT_EXPECTED, null, -1);
 			Lineage.setLinReuseNone();
-			HashMap<MatrixValue.CellIndex, Double> R_reused = readDMLMatrixFromHDFS("Res");
+			HashMap<MatrixValue.CellIndex, Double> R_reused = readDMLMatrixFromOutputDir("Res");
 			TestUtils.compareMatrices(R_orig, R_reused, 1e-6, "Origin", "Reused");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/misc/DataTypeCastingTest.java b/src/test/java/org/apache/sysds/test/functions/misc/DataTypeCastingTest.java
index 8dc3564..6df7e9c 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/DataTypeCastingTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/DataTypeCastingTest.java
@@ -118,11 +118,11 @@ public class DataTypeCastingTest extends AutomatedTestBase
 		        //read output
 		        double ret = -1;
 		        if( testName.equals(TEST_NAME2) ){
-		        	HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+		        	HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 		        	ret = dmlfile.get(new CellIndex(1,1));		
 		        }
 				else if( testName.equals(TEST_NAME1) ){
-					HashMap<CellIndex, Double> dmlfile = readDMLScalarFromHDFS("R");
+					HashMap<CellIndex, Double> dmlfile = readDMLScalarFromOutputDir("R");
 					ret = dmlfile.get(new CellIndex(1,1));
 				}
 		        
diff --git a/src/test/java/org/apache/sysds/test/functions/misc/ExistsVariableTest.java b/src/test/java/org/apache/sysds/test/functions/misc/ExistsVariableTest.java
index ff32dbe..dee93cd 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/ExistsVariableTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/ExistsVariableTest.java
@@ -74,7 +74,7 @@ public class ExistsVariableTest extends AutomatedTestBase
 		runTest(true, false, null, -1); 
 		
 		//compare results
-		Double val = readDMLMatrixFromHDFS("R").get(new CellIndex(1,1));
+		Double val = readDMLMatrixFromOutputDir("R").get(new CellIndex(1,1));
 		val = (val!=null) ? val : 0;
 		Assert.assertTrue("Wrong result: "+param+" vs "+val,
 			val==Double.parseDouble(param));
diff --git a/src/test/java/org/apache/sysds/test/functions/misc/FunctionInExpressionTest.java b/src/test/java/org/apache/sysds/test/functions/misc/FunctionInExpressionTest.java
index 11441c5..7c5cd44 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/FunctionInExpressionTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/FunctionInExpressionTest.java
@@ -103,7 +103,7 @@ public class FunctionInExpressionTest extends AutomatedTestBase
 		runTest(true, false, null, -1); 
 		
 		//compare results
-		double val = readDMLMatrixFromHDFS("R").get(new CellIndex(1,1));
+		double val = readDMLMatrixFromOutputDir("R").get(new CellIndex(1,1));
 		Assert.assertTrue("Wrong result: 7 vs "+val, Math.abs(val-7)<Math.pow(10, -13));
 	}
 }
diff --git a/src/test/java/org/apache/sysds/test/functions/misc/IPAFunctionInliningTest.java b/src/test/java/org/apache/sysds/test/functions/misc/IPAFunctionInliningTest.java
index 1324239..ca9d156 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/IPAFunctionInliningTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/IPAFunctionInliningTest.java
@@ -143,7 +143,7 @@ public class IPAFunctionInliningTest extends AutomatedTestBase
 			
 			//compare results
 			if( !testName.equals(TEST_NAME6) && !testName.equals(TEST_NAME7) ) {
-				double val = readDMLMatrixFromHDFS("R").get(new CellIndex(1,1));
+				double val = readDMLMatrixFromOutputDir("R").get(new CellIndex(1,1));
 				Assert.assertTrue("Wrong result: 7 vs "+val, Math.abs(val-7)<Math.pow(10, -14));
 			}
 			
diff --git a/src/test/java/org/apache/sysds/test/functions/misc/IPALiteralReplacementTest.java b/src/test/java/org/apache/sysds/test/functions/misc/IPALiteralReplacementTest.java
index 5681372..dc832ca 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/IPALiteralReplacementTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/IPALiteralReplacementTest.java
@@ -99,8 +99,8 @@ public class IPALiteralReplacementTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, 0, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/misc/IPAUnknownRecursionTest.java b/src/test/java/org/apache/sysds/test/functions/misc/IPAUnknownRecursionTest.java
index 4c4146d..24a628d 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/IPAUnknownRecursionTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/IPAUnknownRecursionTest.java
@@ -83,8 +83,8 @@ public class IPAUnknownRecursionTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, 0, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/misc/ListAndStructTest.java b/src/test/java/org/apache/sysds/test/functions/misc/ListAndStructTest.java
index d7426a5..4f7c31a 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/ListAndStructTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/ListAndStructTest.java
@@ -182,8 +182,8 @@ public class ListAndStructTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			Assert.assertEquals(dmlfile.get(new CellIndex(1,1)), rfile.get(new CellIndex(1,1)));
 			
 			//check for properly compiled CP operations
diff --git a/src/test/java/org/apache/sysds/test/functions/misc/ListAppendRemove.java b/src/test/java/org/apache/sysds/test/functions/misc/ListAppendRemove.java
index 423fb63..64daa4b 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/ListAppendRemove.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/ListAppendRemove.java
@@ -106,7 +106,7 @@ public class ListAppendRemove extends AutomatedTestBase
 			
 			//compare matrices 
 			double[][] ret = TestUtils.convertHashMapToDoubleArray(
-				readDMLMatrixFromHDFS("R"), 4, 1);
+				readDMLMatrixFromOutputDir("R"), 4, 1);
 			Assert.assertEquals(new Double(ret[0][0]), new Double(0)); //empty list
 			Assert.assertEquals(new Double(ret[1][0]), new Double(7)); //append list
 			//Assert.assertEquals(new Double(ret[2][0]), new Double(3)); //remove list
diff --git a/src/test/java/org/apache/sysds/test/functions/misc/NegativeLoopIncrementsTest.java b/src/test/java/org/apache/sysds/test/functions/misc/NegativeLoopIncrementsTest.java
index 13335db..7ec6db2 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/NegativeLoopIncrementsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/NegativeLoopIncrementsTest.java
@@ -112,8 +112,8 @@ public class NegativeLoopIncrementsTest extends AutomatedTestBase
 		runRScript(true); 
 		
 		//compare matrices 
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-		HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+		HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 		//check meta data
diff --git a/src/test/java/org/apache/sysds/test/functions/misc/OuterTableExpandTest.java b/src/test/java/org/apache/sysds/test/functions/misc/OuterTableExpandTest.java
index 74679b6..fb5c071 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/OuterTableExpandTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/OuterTableExpandTest.java
@@ -199,8 +199,8 @@ public class OuterTableExpandTest extends AutomatedTestBase
 			
 			if( !exceptionExpected ) {
 				//compare matrices 
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-				HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+				HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 				TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 				
 				//check meta data
diff --git a/src/test/java/org/apache/sysds/test/functions/misc/ScalarFunctionTest.java b/src/test/java/org/apache/sysds/test/functions/misc/ScalarFunctionTest.java
index 13c0746..a612ffd 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/ScalarFunctionTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/ScalarFunctionTest.java
@@ -77,8 +77,8 @@ public class ScalarFunctionTest extends AutomatedTestBase
 		runRScript(true); 
 		
 		//compare matrices 
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-		HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+		HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 		//check meta data
diff --git a/src/test/java/org/apache/sysds/test/functions/misc/SizePropagationTest.java b/src/test/java/org/apache/sysds/test/functions/misc/SizePropagationTest.java
index 7f4bfb1..3bc1ba8 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/SizePropagationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/SizePropagationTest.java
@@ -120,7 +120,7 @@ public class SizePropagationTest extends AutomatedTestBase
 			DMLScript.USE_LOCAL_SPARK_CONFIG = true;
 			
 			runTest(true, false, null, -1); 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 			Assert.assertEquals(new Double(expect), dmlfile.get(new CellIndex(1,1)));
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/misc/ZeroRowsColsMatrixTest.java b/src/test/java/org/apache/sysds/test/functions/misc/ZeroRowsColsMatrixTest.java
index 6741700..a5bbd98 100644
--- a/src/test/java/org/apache/sysds/test/functions/misc/ZeroRowsColsMatrixTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/misc/ZeroRowsColsMatrixTest.java
@@ -192,8 +192,8 @@ public class ZeroRowsColsMatrixTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check meta data
diff --git a/src/test/java/org/apache/sysds/test/functions/mlcontext/GNMFTest.java b/src/test/java/org/apache/sysds/test/functions/mlcontext/GNMFTest.java
index 23ae8bd..b127605 100644
--- a/src/test/java/org/apache/sysds/test/functions/mlcontext/GNMFTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/mlcontext/GNMFTest.java
@@ -226,10 +226,10 @@ public class GNMFTest extends MLContextTestBase
 			runRScript(true);
 
 			//compare matrices
-			HashMap<CellIndex, Double> hmWDML = readDMLMatrixFromHDFS("w");
-			HashMap<CellIndex, Double> hmHDML = readDMLMatrixFromHDFS("h");
-			HashMap<CellIndex, Double> hmWR = readRMatrixFromFS("w");
-			HashMap<CellIndex, Double> hmHR = readRMatrixFromFS("h");
+			HashMap<CellIndex, Double> hmWDML = readDMLMatrixFromOutputDir("w");
+			HashMap<CellIndex, Double> hmHDML = readDMLMatrixFromOutputDir("h");
+			HashMap<CellIndex, Double> hmWR = readRMatrixFromExpectedDir("w");
+			HashMap<CellIndex, Double> hmHR = readRMatrixFromExpectedDir("h");
 			TestUtils.compareMatrices(hmWDML, hmWR, 0.000001, "hmWDML", "hmWR");
 			TestUtils.compareMatrices(hmHDML, hmHR, 0.000001, "hmHDML", "hmHR");
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextLinregTest.java b/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextLinregTest.java
index 0e45cb4..8e9ded7 100644
--- a/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextLinregTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextLinregTest.java
@@ -104,7 +104,7 @@ public class MLContextLinregTest extends MLContextTestBase {
 		}
 
 		//compare matrices
-		HashMap<MatrixValue.CellIndex, Double> rfile = readRMatrixFromFS("w");
+		HashMap<MatrixValue.CellIndex, Double> rfile = readRMatrixFromExpectedDir("w");
 		TestUtils.compareMatrices(rfile, outmat, eps);
 	}
 }
diff --git a/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextPNMFTest.java b/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextPNMFTest.java
index a197834..aea6e2e 100644
--- a/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextPNMFTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextPNMFTest.java
@@ -85,8 +85,8 @@ public class MLContextPNMFTest extends MLContextTestBase {
 		MatrixBlock dmlH = outres.getMatrix("H").toMatrixBlock();
 
 		//compare matrices
-		HashMap<MatrixValue.CellIndex, Double> rW = readRMatrixFromFS("W");
-		HashMap<MatrixValue.CellIndex, Double> rH = readRMatrixFromFS("H");
+		HashMap<MatrixValue.CellIndex, Double> rW = readRMatrixFromExpectedDir("W");
+		HashMap<MatrixValue.CellIndex, Double> rH = readRMatrixFromExpectedDir("H");
 		TestUtils.compareMatrices(rW, dmlW, eps);
 		TestUtils.compareMatrices(rH, dmlH, eps);
 	}
diff --git a/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextPageRankTest.java b/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextPageRankTest.java
index 880b286..9362e8f 100644
--- a/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextPageRankTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/mlcontext/MLContextPageRankTest.java
@@ -84,7 +84,7 @@ public class MLContextPageRankTest extends MLContextTestBase {
 
 
 		//compare matrices
-		HashMap<MatrixValue.CellIndex, Double> rfile = readRMatrixFromFS("p");
+		HashMap<MatrixValue.CellIndex, Double> rfile = readRMatrixFromExpectedDir("p");
 		TestUtils.compareMatrices(rfile, outmat, eps);
 	}
 }
diff --git a/src/test/java/org/apache/sysds/test/functions/nary/NaryCBindTest.java b/src/test/java/org/apache/sysds/test/functions/nary/NaryCBindTest.java
index 01ce860..b1f00cc 100644
--- a/src/test/java/org/apache/sysds/test/functions/nary/NaryCBindTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/nary/NaryCBindTest.java
@@ -175,8 +175,8 @@ public class NaryCBindTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare result data
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, epsilon, "DML", "R");
 			
 			//check for spark instructions
diff --git a/src/test/java/org/apache/sysds/test/functions/nary/NaryListCBindTest.java b/src/test/java/org/apache/sysds/test/functions/nary/NaryListCBindTest.java
index 4d9bd64..e96b298 100644
--- a/src/test/java/org/apache/sysds/test/functions/nary/NaryListCBindTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/nary/NaryListCBindTest.java
@@ -133,8 +133,8 @@ public class NaryListCBindTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare result data
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, epsilon, "DML", "R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/nary/NaryListRBindTest.java b/src/test/java/org/apache/sysds/test/functions/nary/NaryListRBindTest.java
index 0e36beb..ab461f3 100644
--- a/src/test/java/org/apache/sysds/test/functions/nary/NaryListRBindTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/nary/NaryListRBindTest.java
@@ -133,8 +133,8 @@ public class NaryListRBindTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare result data
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, epsilon, "DML", "R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/nary/NaryMinMaxTest.java b/src/test/java/org/apache/sysds/test/functions/nary/NaryMinMaxTest.java
index c334351..76a484e 100644
--- a/src/test/java/org/apache/sysds/test/functions/nary/NaryMinMaxTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/nary/NaryMinMaxTest.java
@@ -129,8 +129,8 @@ public class NaryMinMaxTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare result data
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, epsilon, "DML", "R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/nary/NaryRBindTest.java b/src/test/java/org/apache/sysds/test/functions/nary/NaryRBindTest.java
index 8e084bc..c551202 100644
--- a/src/test/java/org/apache/sysds/test/functions/nary/NaryRBindTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/nary/NaryRBindTest.java
@@ -175,8 +175,8 @@ public class NaryRBindTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare result data
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, epsilon, "DML", "R");
 			
 			//check for spark instructions
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ForLoopPredicateTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ForLoopPredicateTest.java
index 14c9a7f..aea2a15 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ForLoopPredicateTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ForLoopPredicateTest.java
@@ -192,7 +192,7 @@ public class ForLoopPredicateTest extends AutomatedTestBase
 		runTest(true, false, null, -1);
 		
 		//compare matrices
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 		Assert.assertEquals( Double.valueOf(Math.ceil((Math.round(to)-Math.round(from)+1)/increment)),
 				             dmlfile.get(new CellIndex(1,1)));
 	}
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForAccumulatorResultMergeTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForAccumulatorResultMergeTest.java
index 8c979e6..6044c2b 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForAccumulatorResultMergeTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForAccumulatorResultMergeTest.java
@@ -125,8 +125,8 @@ public class ParForAccumulatorResultMergeTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForAdversarialLiteralsTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForAdversarialLiteralsTest.java
index afeab47..252a175 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForAdversarialLiteralsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForAdversarialLiteralsTest.java
@@ -126,7 +126,7 @@ public class ParForAdversarialLiteralsTest extends AutomatedTestBase
 		
 		//compare matrices
 		HashMap<CellIndex, Double> dmlin = TestUtils.readDMLMatrixFromHDFS(input(IN));
-		HashMap<CellIndex, Double> dmlout = readDMLMatrixFromHDFS(OUT); 
+		HashMap<CellIndex, Double> dmlout = readDMLMatrixFromOutputDir(OUT); 
 		
 		TestUtils.compareMatrices(dmlin, dmlout, eps, "DMLin", "DMLout");
 	}
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForFunctionSerializationTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForFunctionSerializationTest.java
index ca5ffef..6833b33 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForFunctionSerializationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForFunctionSerializationTest.java
@@ -79,8 +79,8 @@ public class ParForFunctionSerializationTest extends AutomatedTestBase
 		runRScript(true);
 		
 		//compare matrices
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-		HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Rout");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+		HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Rout");
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 	}
 }
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForImageBrightnessTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForImageBrightnessTest.java
index 37b5c24..48e9a7d 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForImageBrightnessTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForImageBrightnessTest.java
@@ -109,8 +109,8 @@ public class ParForImageBrightnessTest extends AutomatedTestBase
 			runRScript(true);
 
 			//compare matrices
-			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForImageMirrorTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForImageMirrorTest.java
index 499efbb..e4f1262 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForImageMirrorTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForImageMirrorTest.java
@@ -101,8 +101,8 @@ public class ParForImageMirrorTest extends AutomatedTestBase
 			runRScript(true);
 
 			//compare matrices
-			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<MatrixValue.CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<MatrixValue.CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForListResultVarsTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForListResultVarsTest.java
index 28d9852..fc952e1 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForListResultVarsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForListResultVarsTest.java
@@ -57,6 +57,6 @@ public class ParForListResultVarsTest extends AutomatedTestBase
 
 		runTest(true, false, null, -1);
 		Assert.assertEquals(new Double(7),
-			readDMLMatrixFromHDFS("R").get(new CellIndex(1,1)));
+			readDMLMatrixFromOutputDir("R").get(new CellIndex(1,1)));
 	}
 }
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForNaNResultMergeTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForNaNResultMergeTest.java
index 78fd83e..044e18c 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForNaNResultMergeTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForNaNResultMergeTest.java
@@ -106,8 +106,8 @@ public class ParForNaNResultMergeTest extends AutomatedTestBase
 		runRScript(true);
 	
 		//compare matrices
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-		HashMap<CellIndex, Double> rfile  = replaceNaNValues(readRMatrixFromFS("R"));
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+		HashMap<CellIndex, Double> rfile  = replaceNaNValues(readRMatrixFromExpectedDir("R"));
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");	
 	}
 	
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForParallelRemoteResultMergeTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForParallelRemoteResultMergeTest.java
index dd10a24..64e8e64 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForParallelRemoteResultMergeTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForParallelRemoteResultMergeTest.java
@@ -112,8 +112,8 @@ public class ParForParallelRemoteResultMergeTest extends AutomatedTestBase
 			Assert.assertEquals("Unexpected number of executed Spark jobs.",
 				33, Statistics.getNoOfExecutedSPInst());
 		//compare matrices
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-		HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Rout");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+		HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Rout");
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");	
 	}
 }
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForReplaceThreadIDRecompileTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForReplaceThreadIDRecompileTest.java
index bc97b78..f7de9e0 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForReplaceThreadIDRecompileTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForReplaceThreadIDRecompileTest.java
@@ -88,7 +88,7 @@ public class ParForReplaceThreadIDRecompileTest extends AutomatedTestBase
 			runTest(true, false, null, -1);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlout = readDMLMatrixFromHDFS("B");
+			HashMap<CellIndex, Double> dmlout = readDMLMatrixFromOutputDir("B");
 			Assert.assertTrue( dmlout.size()>=1 );
 		}
 		finally{
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForRulebasedOptimizerTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForRulebasedOptimizerTest.java
index f32d78e..8bad74c 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForRulebasedOptimizerTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForRulebasedOptimizerTest.java
@@ -261,8 +261,8 @@ public class ParForRulebasedOptimizerTest extends AutomatedTestBase
 		runRScript(true);
 		
 		//compare matrices
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-		HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Rout");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+		HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Rout");
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 	}
 	
@@ -327,8 +327,8 @@ public class ParForRulebasedOptimizerTest extends AutomatedTestBase
 		
 		//compare matrices 
 		for( String out : new String[]{"bivar.stats", "category.counts", "category.means",  "category.variances" } ) {
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("bivarstats/"+out);
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS(out);
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("bivarstats/"+out);
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir(out);
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 	}
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForSerialRemoteResultMergeTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForSerialRemoteResultMergeTest.java
index b349996..86e436f 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForSerialRemoteResultMergeTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/misc/ParForSerialRemoteResultMergeTest.java
@@ -146,8 +146,8 @@ public class ParForSerialRemoteResultMergeTest extends AutomatedTestBase
 			Assert.assertEquals("Unexpected number of executed Spark jobs.", expectedJobs, Statistics.getNoOfExecutedSPInst());
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Rout");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Rout");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForBlockwiseDataPartitioningTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForBlockwiseDataPartitioningTest.java
index 487889c..7219f95 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForBlockwiseDataPartitioningTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForBlockwiseDataPartitioningTest.java
@@ -214,8 +214,8 @@ public class ParForBlockwiseDataPartitioningTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Rout");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Rout");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 			
 			//test for correct plan
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForColwiseDataPartitioningTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForColwiseDataPartitioningTest.java
index 0f5f4cf..d979e89 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForColwiseDataPartitioningTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForColwiseDataPartitioningTest.java
@@ -327,8 +327,8 @@ public class ParForColwiseDataPartitioningTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Rout");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Rout");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForDataPartitionExecuteTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForDataPartitionExecuteTest.java
index b3a2527..4099cb1 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForDataPartitionExecuteTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForDataPartitionExecuteTest.java
@@ -114,8 +114,8 @@ public class ParForDataPartitionExecuteTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 			
 			//check for compiled datapartition-execute
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForDataPartitionLeftIndexingTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForDataPartitionLeftIndexingTest.java
index 62b5ef2..363d312 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForDataPartitionLeftIndexingTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForDataPartitionLeftIndexingTest.java
@@ -116,7 +116,7 @@ public class ParForDataPartitionLeftIndexingTest extends AutomatedTestBase
 		
 		//compare matrices
 		HashMap<CellIndex, Double> input = TestUtils.convert2DDoubleArrayToHashMap(V);
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 		TestUtils.compareMatrices(dmlfile, input, eps, "DML", "Input");
 	}
 }
\ No newline at end of file
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForMultipleDataPartitioningTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForMultipleDataPartitioningTest.java
index 5a8e269..3fee4ec 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForMultipleDataPartitioningTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForMultipleDataPartitioningTest.java
@@ -102,8 +102,8 @@ public class ParForMultipleDataPartitioningTest extends AutomatedTestBase
 		runRScript(true);
 		
 		//compare matrices
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-		HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Rout");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+		HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Rout");
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");	
 	}
 }
\ No newline at end of file
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForRepeatedOptimizationTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForRepeatedOptimizationTest.java
index 86ab64a..ee342ae 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForRepeatedOptimizationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForRepeatedOptimizationTest.java
@@ -166,8 +166,8 @@ public class ParForRepeatedOptimizationTest extends AutomatedTestBase
 				numExpectedMR, Statistics.getNoOfExecutedSPInst());
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForRowwiseDataPartitioningTest.java b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForRowwiseDataPartitioningTest.java
index 83ad64e..2a60b2e 100644
--- a/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForRowwiseDataPartitioningTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/parfor/partition/ParForRowwiseDataPartitioningTest.java
@@ -301,8 +301,8 @@ public class ParForRowwiseDataPartitioningTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Rout");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Rout");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/privacy/ScalarPropagationTest.java b/src/test/java/org/apache/sysds/test/functions/privacy/ScalarPropagationTest.java
index 514b0f7..d2e27b3 100644
--- a/src/test/java/org/apache/sysds/test/functions/privacy/ScalarPropagationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/privacy/ScalarPropagationTest.java
@@ -67,7 +67,7 @@ public class ScalarPropagationTest extends AutomatedTestBase
 		
 		runTest(true, false, null, -1);
 		
-		HashMap<CellIndex, Double> map = readDMLScalarFromHDFS("scalar");
+		HashMap<CellIndex, Double> map = readDMLScalarFromOutputDir("scalar");
 		double dmlvalue = map.get(new CellIndex(1,1));
 		
 		assertEquals("Values mismatch: DMLvalue " + dmlvalue + " != ExpectedValue " + roundScalar, 
@@ -124,7 +124,7 @@ public class ScalarPropagationTest extends AutomatedTestBase
 		
 		runTest(true, false, null, -1);
 		
-		HashMap<CellIndex, Double> map = readDMLScalarFromHDFS("scalar");
+		HashMap<CellIndex, Double> map = readDMLScalarFromOutputDir("scalar");
 		double actualScalar = map.get(new CellIndex(1,1));
 		
 		assertEquals("Values mismatch: DMLvalue " + actualScalar + " != ExpectedValue " + expectedScalar, 
diff --git a/src/test/java/org/apache/sysds/test/functions/privacy/algorithms/BuiltinGLMTest.java b/src/test/java/org/apache/sysds/test/functions/privacy/algorithms/BuiltinGLMTest.java
index 7359e2f..6ddf4f7 100644
--- a/src/test/java/org/apache/sysds/test/functions/privacy/algorithms/BuiltinGLMTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/privacy/algorithms/BuiltinGLMTest.java
@@ -178,7 +178,7 @@ public class BuiltinGLMTest extends AutomatedTestBase
 					max_abs_beta = (max_abs_beta >= Math.abs(beta[j]) ? max_abs_beta : Math.abs(beta[j]));
 				}
 
-				HashMap<MatrixValue.CellIndex, Double> wSYSTEMDS_raw = readDMLMatrixFromHDFS("betas_SYSTEMDS");
+				HashMap<MatrixValue.CellIndex, Double> wSYSTEMDS_raw = readDMLMatrixFromOutputDir("betas_SYSTEMDS");
 				HashMap<MatrixValue.CellIndex, Double> wSYSTEMDS = new HashMap<>();
 				for (MatrixValue.CellIndex key : wSYSTEMDS_raw.keySet())
 					if (key.column == 1)
@@ -186,7 +186,7 @@ public class BuiltinGLMTest extends AutomatedTestBase
 
 				runRScript(true);
 
-				HashMap<MatrixValue.CellIndex, Double> wR = readRMatrixFromFS("betas_R");
+				HashMap<MatrixValue.CellIndex, Double> wR = readRMatrixFromExpectedDir("betas_R");
 
 				if ((distParam == 0 && linkType == 1)) { // Gaussian.*
 					//NOTE MB: Gaussian.log was the only test failing when we introduced multi-threaded
diff --git a/src/test/java/org/apache/sysds/test/functions/privacy/algorithms/GLMTest.java b/src/test/java/org/apache/sysds/test/functions/privacy/algorithms/GLMTest.java
index 350ff4a..a999f50 100644
--- a/src/test/java/org/apache/sysds/test/functions/privacy/algorithms/GLMTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/privacy/algorithms/GLMTest.java
@@ -305,7 +305,7 @@ public class GLMTest extends AutomatedTestBase
 				max_abs_beta = (max_abs_beta >= Math.abs (beta[j]) ? max_abs_beta : Math.abs (beta[j]));
 			}
 
-			HashMap<CellIndex, Double> wSYSTEMDS_raw = readDMLMatrixFromHDFS ("betas_SYSTEMDS");
+			HashMap<CellIndex, Double> wSYSTEMDS_raw = readDMLMatrixFromOutputDir("betas_SYSTEMDS");
 			HashMap<CellIndex, Double> wSYSTEMDS = new HashMap<> ();
 			for (CellIndex key : wSYSTEMDS_raw.keySet())
 				if (key.column == 1)
@@ -313,7 +313,7 @@ public class GLMTest extends AutomatedTestBase
 
 			runRScript(true);
 
-			HashMap<CellIndex, Double> wR   = readRMatrixFromFS ("betas_R");
+			HashMap<CellIndex, Double> wR   = readRMatrixFromExpectedDir("betas_R");
 			
 			double eps = 0.0001;
 			if( (distParam==0 && linkType==1) ) { // Gaussian.*
diff --git a/src/test/java/org/apache/sysds/test/functions/quaternary/RewritesWeightedSigmoidTest.java b/src/test/java/org/apache/sysds/test/functions/quaternary/RewritesWeightedSigmoidTest.java
index eda6c0f..bec5a17 100644
--- a/src/test/java/org/apache/sysds/test/functions/quaternary/RewritesWeightedSigmoidTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/quaternary/RewritesWeightedSigmoidTest.java
@@ -150,8 +150,8 @@ public class RewritesWeightedSigmoidTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			checkDMLMetaDataFile("C", new MatrixCharacteristics(rows2,rank,1,1));
 
diff --git a/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedCrossEntropyTest.java b/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedCrossEntropyTest.java
index b28d1f3..9c26f21 100644
--- a/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedCrossEntropyTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedCrossEntropyTest.java
@@ -203,8 +203,8 @@ public class WeightedCrossEntropyTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			checkDMLMetaDataFile("R", new MatrixCharacteristics(1,1,1,1));
 
diff --git a/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedDivMatrixMultTest.java b/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedDivMatrixMultTest.java
index bb64c09..71c3dc9 100644
--- a/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedDivMatrixMultTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedDivMatrixMultTest.java
@@ -464,8 +464,8 @@ public class WeightedDivMatrixMultTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			checkDMLMetaDataFile("R", new MatrixCharacteristics(left?cols:rows, basic?cols:rank, 1, 1));
 
diff --git a/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedSigmoidTest.java b/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedSigmoidTest.java
index 789a82a..dff183e 100644
--- a/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedSigmoidTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedSigmoidTest.java
@@ -350,8 +350,8 @@ public class WeightedSigmoidTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			checkDMLMetaDataFile("R", new MatrixCharacteristics(rows,cols,1,1));
 
diff --git a/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedSquaredLossTest.java b/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedSquaredLossTest.java
index c46d70d..c2bcbbf 100644
--- a/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedSquaredLossTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedSquaredLossTest.java
@@ -372,8 +372,8 @@ public class WeightedSquaredLossTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			checkDMLMetaDataFile("R", new MatrixCharacteristics(1,1,1,1));
 
diff --git a/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedUnaryMatrixMultTest.java b/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedUnaryMatrixMultTest.java
index ae79ffb..1fae482 100644
--- a/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedUnaryMatrixMultTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/quaternary/WeightedUnaryMatrixMultTest.java
@@ -232,8 +232,8 @@ public class WeightedUnaryMatrixMultTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			checkDMLMetaDataFile("R", new MatrixCharacteristics(rows, cols, 1, 1));
 
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/BranchRemovalTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/BranchRemovalTest.java
index 7cbd013..07d86a5 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/BranchRemovalTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/BranchRemovalTest.java
@@ -115,8 +115,8 @@ public class BranchRemovalTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("X");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("X");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("X");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("X");
 			TestUtils.compareMatrices(dmlfile, rfile, 0, "Stat-DML", "Stat-R");
 			
 			//check expected number of compiled and executed MR jobs
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/CSVReadInFunctionTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/CSVReadInFunctionTest.java
index cbcd5b4..0a2897f 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/CSVReadInFunctionTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/CSVReadInFunctionTest.java
@@ -104,7 +104,7 @@ public class CSVReadInFunctionTest extends AutomatedTestBase {
 			runTest(true, false, null, -1);
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 			Assert.assertEquals(dmlfile.get(new CellIndex(1,1)), new Double(mbA.sum()+mbB.sum()));
 			
 			//check no executed spark instructions
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/CSVReadUnknownSizeTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/CSVReadUnknownSizeTest.java
index 5190772..9fbd61c 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/CSVReadUnknownSizeTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/CSVReadUnknownSizeTest.java
@@ -119,7 +119,7 @@ public class CSVReadUnknownSizeTest extends AutomatedTestBase {
 			runTest(true, false, null, -1); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 			for( int i=0; i<rows; i++ )
 				for( int j=0; j<cols; j++ )
 				{
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/FunctionRecompileTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/FunctionRecompileTest.java
index 0cda977..994c3a3 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/FunctionRecompileTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/FunctionRecompileTest.java
@@ -117,8 +117,8 @@ public class FunctionRecompileTest extends AutomatedTestBase
 				expectNumExecuted, Statistics.getNoOfExecutedSPInst());
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Rout");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Rout");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/IPAAssignConstantPropagationTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/IPAAssignConstantPropagationTest.java
index b7d10d1..c7a2fbb 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/IPAAssignConstantPropagationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/IPAAssignConstantPropagationTest.java
@@ -92,8 +92,8 @@ public class IPAAssignConstantPropagationTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("X");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("X");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("X");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("X");
 			TestUtils.compareMatrices(dmlfile, rfile, 0, "Stat-DML", "Stat-R");
 			
 			//check expected number of compiled and executed spark jobs
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/IPAConstantPropagationFunTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/IPAConstantPropagationFunTest.java
index 2eb6ccf..51112ae 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/IPAConstantPropagationFunTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/IPAConstantPropagationFunTest.java
@@ -66,11 +66,11 @@ public class IPAConstantPropagationFunTest extends AutomatedTestBase
 
 			OptimizerUtils.ALLOW_INTER_PROCEDURAL_ANALYSIS = true;
 			runTest(true, false, null, -1);
-			HashMap<CellIndex, Double> dmlfile1 = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile1 = readDMLMatrixFromOutputDir("R");
 			
 			OptimizerUtils.ALLOW_INTER_PROCEDURAL_ANALYSIS = false;
 			runTest(true, false, null, -1);
-			HashMap<CellIndex, Double> dmlfile2 = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile2 = readDMLMatrixFromOutputDir("R");
 			
 			//compare results with and without IPA
 			TestUtils.compareMatrices(dmlfile1, dmlfile2, 1e-14, "IPA", "No IPA");
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/IPAConstantPropagationTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/IPAConstantPropagationTest.java
index f45fdfe..741dfee 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/IPAConstantPropagationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/IPAConstantPropagationTest.java
@@ -112,8 +112,8 @@ public class IPAConstantPropagationTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("X");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("X");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("X");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("X");
 			TestUtils.compareMatrices(dmlfile, rfile, 0, "Stat-DML", "Stat-R");
 			
 			//check expected number of compiled and executed Spark jobs
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/IPAPropagationSizeMultipleFunctionsTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/IPAPropagationSizeMultipleFunctionsTest.java
index 028daa5..16801c5 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/IPAPropagationSizeMultipleFunctionsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/IPAPropagationSizeMultipleFunctionsTest.java
@@ -131,8 +131,8 @@ public class IPAPropagationSizeMultipleFunctionsTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, 1e-10, "Stat-DML", "Stat-R");
 			
 			//check expected number of compiled and executed Spark jobs
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/MultipleReadsIPATest.java b/src/test/java/org/apache/sysds/test/functions/recompile/MultipleReadsIPATest.java
index 1425328..1d1dbe6 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/MultipleReadsIPATest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/MultipleReadsIPATest.java
@@ -98,8 +98,8 @@ public class MultipleReadsIPATest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("X");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("X");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("X");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("X");
 			TestUtils.compareMatrices(dmlfile, rfile, 0, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/PredicateRecompileTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/PredicateRecompileTest.java
index e8905fc..b98c108 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/PredicateRecompileTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/PredicateRecompileTest.java
@@ -297,7 +297,7 @@ public class PredicateRecompileTest extends AutomatedTestBase
 			}
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 			Assert.assertEquals(Double.valueOf(val), dmlfile.get(new CellIndex(1,1)));
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/RandJobRecompileTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/RandJobRecompileTest.java
index cde890b..4231481 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/RandJobRecompileTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/RandJobRecompileTest.java
@@ -88,8 +88,8 @@ public class RandJobRecompileTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("Z");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Z");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("Z");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Z");
 			TestUtils.compareMatrices(dmlfile, rfile, 0, "Stat-DML", "Stat-R");
 			
 			//check expected number of compiled and executed Spark jobs
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/RandSizeExpressionEvalTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/RandSizeExpressionEvalTest.java
index 449542b..6757faf 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/RandSizeExpressionEvalTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/RandSizeExpressionEvalTest.java
@@ -91,7 +91,7 @@ public class RandSizeExpressionEvalTest extends AutomatedTestBase
 			runTest(true, false, null, -1); 
 			
 			//check correct propagated size via final results
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 			Assert.assertEquals("Unexpected results.", Double.valueOf(rows*cols*3.0), dmlfile.get(new CellIndex(1,1)));
 			
 			//check expected number of compiled and executed MR jobs
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/ReblockRecompileTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/ReblockRecompileTest.java
index 8e7eb52..16a04d7 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/ReblockRecompileTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/ReblockRecompileTest.java
@@ -121,7 +121,7 @@ public class ReblockRecompileTest extends AutomatedTestBase
 				for( int j=0; j<mo.getNumColumns(); j++ )
 					dmlfile.put(new CellIndex(i+1,j+1), mo.getValue(i, j));
 				
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Rout");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Rout");
 			boolean flag = TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 			if( !flag )
 				System.out.println("Matrix compare found differences for input data generated with seed="+seed);
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/RemoveEmptyPotpourriTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/RemoveEmptyPotpourriTest.java
index 212ccb4..12e481e 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/RemoveEmptyPotpourriTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/RemoveEmptyPotpourriTest.java
@@ -130,8 +130,8 @@ public class RemoveEmptyPotpourriTest extends AutomatedTestBase
 			runRScript(true);
 					
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 			
 			if( TEST_NAME.equals(TEST_NAME5) ) {
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/RemoveEmptyRecompileTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/RemoveEmptyRecompileTest.java
index 59564b3..cb32325 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/RemoveEmptyRecompileTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/RemoveEmptyRecompileTest.java
@@ -257,8 +257,8 @@ public class RemoveEmptyRecompileTest extends AutomatedTestBase
 			}
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");	
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/RewriteComplexMapMultChainTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/RewriteComplexMapMultChainTest.java
index 6671454..9361fac 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/RewriteComplexMapMultChainTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/RewriteComplexMapMultChainTest.java
@@ -106,8 +106,8 @@ public class RewriteComplexMapMultChainTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("HV");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("HV");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("HV");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("HV");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "DML", "R");
 			
 			//check expected number of compiled and executed Spark jobs
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/SparsityFunctionRecompileTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/SparsityFunctionRecompileTest.java
index dae5382..5534914 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/SparsityFunctionRecompileTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/SparsityFunctionRecompileTest.java
@@ -192,7 +192,7 @@ public class SparsityFunctionRecompileTest extends AutomatedTestBase
 				expectNumExecuted, Statistics.getNoOfExecutedSPInst());
 
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 			Assert.assertEquals(Double.valueOf(val), dmlfile.get(new CellIndex(1,1)));
 		}
 		catch(Exception ex) {
diff --git a/src/test/java/org/apache/sysds/test/functions/recompile/SparsityRecompileTest.java b/src/test/java/org/apache/sysds/test/functions/recompile/SparsityRecompileTest.java
index 16377b9..d3665c5 100644
--- a/src/test/java/org/apache/sysds/test/functions/recompile/SparsityRecompileTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/recompile/SparsityRecompileTest.java
@@ -143,7 +143,7 @@ public class SparsityRecompileTest extends AutomatedTestBase
 				expectNumExecuted, Statistics.getNoOfExecutedSPInst());
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 			Assert.assertEquals((Double)val, dmlfile.get(new CellIndex(1,1)));
 		}
 		catch(Exception ex) {
diff --git a/src/test/java/org/apache/sysds/test/functions/reorg/FullDiagTest.java b/src/test/java/org/apache/sysds/test/functions/reorg/FullDiagTest.java
index c3e8444..53d280a 100644
--- a/src/test/java/org/apache/sysds/test/functions/reorg/FullDiagTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/reorg/FullDiagTest.java
@@ -93,8 +93,8 @@ public class FullDiagTest extends AutomatedTestBase
 			runRScript(true);
 		
 			for(String file: config.getOutputFiles()) {
-				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS(file);
-				HashMap<CellIndex, Double> rfile = readRMatrixFromFS(file);
+				HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir(file);
+				HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir(file);
 				TestUtils.compareMatrices(dmlfile, rfile, epsilon, file+"-DML", file+"-R");
 			}
 		}
diff --git a/src/test/java/org/apache/sysds/test/functions/reorg/FullOrderTest.java b/src/test/java/org/apache/sysds/test/functions/reorg/FullOrderTest.java
index 4c72a46..9f29571 100644
--- a/src/test/java/org/apache/sysds/test/functions/reorg/FullOrderTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/reorg/FullOrderTest.java
@@ -574,8 +574,8 @@ public class FullOrderTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/reorg/FullReverseTest.java b/src/test/java/org/apache/sysds/test/functions/reorg/FullReverseTest.java
index dcb4683..bec9f67 100644
--- a/src/test/java/org/apache/sysds/test/functions/reorg/FullReverseTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/reorg/FullReverseTest.java
@@ -147,8 +147,8 @@ public class FullReverseTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, 0, "Stat-DML", "Stat-R");
 			
 			//check generated opcode
diff --git a/src/test/java/org/apache/sysds/test/functions/reorg/FullTransposeTest.java b/src/test/java/org/apache/sysds/test/functions/reorg/FullTransposeTest.java
index b5c325f..e1ea548 100644
--- a/src/test/java/org/apache/sysds/test/functions/reorg/FullTransposeTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/reorg/FullTransposeTest.java
@@ -184,8 +184,8 @@ public class FullTransposeTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("Y");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Y");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("Y");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Y");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/reorg/MatrixReshapeTest.java b/src/test/java/org/apache/sysds/test/functions/reorg/MatrixReshapeTest.java
index dd2657d..cd0aa2d 100644
--- a/src/test/java/org/apache/sysds/test/functions/reorg/MatrixReshapeTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/reorg/MatrixReshapeTest.java
@@ -345,8 +345,8 @@ public class MatrixReshapeTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("Y");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Y");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("Y");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Y");
 			TestUtils.compareMatrices(dmlfile, rfile, 0.001, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/reorg/MultipleOrderByColsTest.java b/src/test/java/org/apache/sysds/test/functions/reorg/MultipleOrderByColsTest.java
index daaeca9..8a03ae2 100644
--- a/src/test/java/org/apache/sysds/test/functions/reorg/MultipleOrderByColsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/reorg/MultipleOrderByColsTest.java
@@ -188,8 +188,8 @@ public class MultipleOrderByColsTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check for applied rewrite
diff --git a/src/test/java/org/apache/sysds/test/functions/reorg/VectorReshapeTest.java b/src/test/java/org/apache/sysds/test/functions/reorg/VectorReshapeTest.java
index 9ffd145..cd1eea7 100644
--- a/src/test/java/org/apache/sysds/test/functions/reorg/VectorReshapeTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/reorg/VectorReshapeTest.java
@@ -105,8 +105,8 @@ public class VectorReshapeTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, 10e-10, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteBinaryMV2OuterTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteBinaryMV2OuterTest.java
index 2cd0732..bc80cb4 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteBinaryMV2OuterTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteBinaryMV2OuterTest.java
@@ -114,8 +114,8 @@ public class RewriteBinaryMV2OuterTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check for applied rewrites
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteElementwiseMultChainOptimizationAllTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteElementwiseMultChainOptimizationAllTest.java
index aabfe9e..be691de 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteElementwiseMultChainOptimizationAllTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteElementwiseMultChainOptimizationAllTest.java
@@ -115,8 +115,8 @@ public class RewriteElementwiseMultChainOptimizationAllTest extends AutomatedTes
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check for presence of power operator, if we did a rewrite
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteElementwiseMultChainOptimizationTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteElementwiseMultChainOptimizationTest.java
index fe7035b..013d5f6 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteElementwiseMultChainOptimizationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteElementwiseMultChainOptimizationTest.java
@@ -108,8 +108,8 @@ public class RewriteElementwiseMultChainOptimizationTest extends AutomatedTestBa
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check for presence of power operator, if we did a rewrite
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteEliminateAggregatesTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteEliminateAggregatesTest.java
index 3ebd2c1..1adb293 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteEliminateAggregatesTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteEliminateAggregatesTest.java
@@ -119,8 +119,8 @@ public class RewriteEliminateAggregatesTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare scalars 
-			double ret1 = readDMLScalarFromHDFS("Scalar").get(new CellIndex(1,1));
-			double ret2 = readRScalarFromFS("Scalar").get(new CellIndex(1,1));
+			double ret1 = readDMLScalarFromOutputDir("Scalar").get(new CellIndex(1,1));
+			double ret2 = readRScalarFromExpectedDir("Scalar").get(new CellIndex(1,1));
 			TestUtils.compareScalars(ret1, ret2, tol);
 			
 			//check for applied rewrites
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteEliminateRemoveEmptyTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteEliminateRemoveEmptyTest.java
index cf89c77..82703c3 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteEliminateRemoveEmptyTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteEliminateRemoveEmptyTest.java
@@ -170,7 +170,7 @@ public class RewriteEliminateRemoveEmptyTest extends AutomatedTestBase
 		runTest(true, false, null, -1); 
 		
 		//compare NNZ
-		double ret1 = readDMLMatrixFromHDFS("B").get(new CellIndex(1,1));
+		double ret1 = readDMLMatrixFromOutputDir("B").get(new CellIndex(1,1));
 		TestUtils.compareScalars(ret1, nnz, 1e-10); 
 	}
 
@@ -182,7 +182,7 @@ public class RewriteEliminateRemoveEmptyTest extends AutomatedTestBase
 		runTest(true, false, null, -1);
 		
 		//compare scalar
-		double s = readDMLScalarFromHDFS("s").get(new CellIndex(1, 1));
+		double s = readDMLScalarFromOutputDir("s").get(new CellIndex(1, 1));
 		TestUtils.compareScalars(s,sum[0][0],1e-10);
 	}
 
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFoldMinMaxTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFoldMinMaxTest.java
index 8d0cc5d..8cf8679 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFoldMinMaxTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFoldMinMaxTest.java
@@ -97,7 +97,7 @@ public class RewriteFoldMinMaxTest extends AutomatedTestBase
 			runTest(true, false, null, -1); 
 			
 			//compare matrices 
-			Double ret = readDMLMatrixFromHDFS("R").get(new CellIndex(1,1));
+			Double ret = readDMLMatrixFromOutputDir("R").get(new CellIndex(1,1));
 			Assert.assertEquals("Wrong result", new Double(5*rows*cols), ret);
 			
 			//check for applied rewrites
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFoldRCBindTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFoldRCBindTest.java
index 067316f..a02bccb 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFoldRCBindTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFoldRCBindTest.java
@@ -97,7 +97,7 @@ public class RewriteFoldRCBindTest extends AutomatedTestBase
 			runTest(true, false, null, -1); 
 			
 			//compare matrices 
-			Double ret = readDMLMatrixFromHDFS("R").get(new CellIndex(1,1));
+			Double ret = readDMLMatrixFromOutputDir("R").get(new CellIndex(1,1));
 			Assert.assertEquals("Wrong result", new Double(5*rows*cols), ret);
 			
 			//check for applied rewrites
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFuseBinaryOpChainTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFuseBinaryOpChainTest.java
index c6ca486..26796dc 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFuseBinaryOpChainTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFuseBinaryOpChainTest.java
@@ -173,8 +173,8 @@ public class RewriteFuseBinaryOpChainTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("S");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("S");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("S");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("S");
 			Assert.assertTrue(TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R"));
 			
 			if( testname.equals(TEST_NAME5) ) {
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFusedRandTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFusedRandTest.java
index febb04b..ba4286a 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFusedRandTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteFusedRandTest.java
@@ -118,7 +118,7 @@ public class RewriteFusedRandTest extends AutomatedTestBase
 			runTest(true, false, null, -1); 
 			
 			//compare matrices 
-			Double ret = readDMLMatrixFromHDFS("R").get(new CellIndex(1,1));
+			Double ret = readDMLMatrixFromOutputDir("R").get(new CellIndex(1,1));
 			if( testname.equals(TEST_NAME1) )
 				Assert.assertEquals("Wrong result", new Double(rows), ret);
 			else if( testname.equals(TEST_NAME2) )
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteHoistingLoopInvariantOpsTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteHoistingLoopInvariantOpsTest.java
index 74d14ac..413472d 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteHoistingLoopInvariantOpsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteHoistingLoopInvariantOpsTest.java
@@ -109,8 +109,8 @@ public class RewriteHoistingLoopInvariantOpsTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check applied code motion rewrites (moved sum and - from 10 to 1)
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteIfElseTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteIfElseTest.java
index 0059634..e91cabe 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteIfElseTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteIfElseTest.java
@@ -172,8 +172,8 @@ public class RewriteIfElseTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			Assert.assertTrue(TestUtils.compareMatrices(dmlfile, rfile, Math.pow(10,-10), "Stat-DML", "Stat-R"));
 			
 			//check for presence of power operator, if we did a rewrite
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteIndexingVectorizationTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteIndexingVectorizationTest.java
index 7184092..2957a3b 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteIndexingVectorizationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteIndexingVectorizationTest.java
@@ -90,7 +90,7 @@ public class RewriteIndexingVectorizationTest extends AutomatedTestBase
 			runTest(true, false, null, -1);
 			
 			//compare output 
-			double ret = readDMLMatrixFromHDFS("R").get(new CellIndex(1,1));
+			double ret = readDMLMatrixFromOutputDir("R").get(new CellIndex(1,1));
 			Assert.assertTrue(ret == (711*5));
 			
 			//check for applied rewrite
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteListTsmmCVTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteListTsmmCVTest.java
index aa4ba24..6aeef9a 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteListTsmmCVTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteListTsmmCVTest.java
@@ -121,7 +121,7 @@ public class RewriteListTsmmCVTest extends AutomatedTestBase
 			runTest(true, false, null, -1);
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("S");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("S");
 			Assert.assertEquals(new Double(cols*7), dmlfile.get(new CellIndex(1,1)));
 			
 			//check compiled instructions after rewrite
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteLoopVectorization.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteLoopVectorization.java
index 607723c..fe8a47b 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteLoopVectorization.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteLoopVectorization.java
@@ -95,8 +95,8 @@ public class RewriteLoopVectorization extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare scalars 
-			HashMap<CellIndex, Double> dmlfile = readDMLScalarFromHDFS("Scalar");
-			HashMap<CellIndex, Double> rfile  = readRScalarFromFS("Scalar");
+			HashMap<CellIndex, Double> dmlfile = readDMLScalarFromOutputDir("Scalar");
+			HashMap<CellIndex, Double> rfile  = readRScalarFromExpectedDir("Scalar");
 			TestUtils.compareScalars(dmlfile.toString(), rfile.toString());
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteMatrixMultChainOptTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteMatrixMultChainOptTest.java
index 0045814..fb5c254 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteMatrixMultChainOptTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteMatrixMultChainOptTest.java
@@ -105,8 +105,8 @@ public class RewriteMatrixMultChainOptTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check for correct matrix multiplication order, which also allows
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteMatrixMultChainOptTest2.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteMatrixMultChainOptTest2.java
index 2476585..93eda5c 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteMatrixMultChainOptTest2.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteMatrixMultChainOptTest2.java
@@ -75,8 +75,8 @@ public class RewriteMatrixMultChainOptTest2 extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, 1e-8, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteMergeBlocksTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteMergeBlocksTest.java
index 0670bc1..354536a 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteMergeBlocksTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteMergeBlocksTest.java
@@ -94,8 +94,8 @@ public class RewriteMergeBlocksTest extends AutomatedTestBase
 		runRScript(true); 
 		
 		//compare outputs and check for compiled mmchain as proof for merge blocks 
-		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-		HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+		HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+		HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 		TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		Assert.assertTrue(expectedMerge == 
 			heavyHittersContainsSubString("mmchain"));
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteNNIssueTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteNNIssueTest.java
index d65b8ae..80ad6db 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteNNIssueTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteNNIssueTest.java
@@ -74,8 +74,8 @@ public class RewriteNNIssueTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteNaryPlusTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteNaryPlusTest.java
index c486b11..0fa3f09 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteNaryPlusTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteNaryPlusTest.java
@@ -103,7 +103,7 @@ public class RewriteNaryPlusTest extends AutomatedTestBase
 			runTest(true, false, null, -1); 
 			
 			//compare output
-			Double ret = readDMLMatrixFromHDFS("R").get(new CellIndex(1,1));
+			Double ret = readDMLMatrixFromOutputDir("R").get(new CellIndex(1,1));
 			Assert.assertEquals(new Double(100000), ret);
 			
 			//check for applied nary plus
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewritePushdownSumBinaryMult.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewritePushdownSumBinaryMult.java
index 2449c55..60ce24f 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewritePushdownSumBinaryMult.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewritePushdownSumBinaryMult.java
@@ -95,8 +95,8 @@ public class RewritePushdownSumBinaryMult extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare scalars 
-			HashMap<CellIndex, Double> dmlfile = readDMLScalarFromHDFS("Scalar");
-			HashMap<CellIndex, Double> rfile  = readRScalarFromFS("Scalar");
+			HashMap<CellIndex, Double> dmlfile = readDMLScalarFromOutputDir("Scalar");
+			HashMap<CellIndex, Double> rfile  = readRScalarFromExpectedDir("Scalar");
 			TestUtils.compareScalars(dmlfile.toString(), rfile.toString());
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewritePushdownSumOnBinaryTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewritePushdownSumOnBinaryTest.java
index 6dacba3..3681b90 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewritePushdownSumOnBinaryTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewritePushdownSumOnBinaryTest.java
@@ -84,9 +84,9 @@ public class RewritePushdownSumOnBinaryTest extends AutomatedTestBase
 			
 			//compare matrices 
 			long expect = Math.round(0.5*rows);
-			HashMap<CellIndex, Double> dmlfile1 = readDMLScalarFromHDFS("R1");
+			HashMap<CellIndex, Double> dmlfile1 = readDMLScalarFromOutputDir("R1");
 			Assert.assertEquals("Wrong result R1, expected: "+expect, expect, Math.round(dmlfile1.get(new CellIndex(1,1))));
-			HashMap<CellIndex, Double> dmlfile2 = readDMLScalarFromHDFS("R2");
+			HashMap<CellIndex, Double> dmlfile2 = readDMLScalarFromOutputDir("R2");
 			Assert.assertEquals("Wrong result R2, expected: "+expect, expect, Math.round(dmlfile2.get(new CellIndex(1,1))));
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewritePushdownUaggTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewritePushdownUaggTest.java
index 26c977e..171a08d 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewritePushdownUaggTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewritePushdownUaggTest.java
@@ -125,8 +125,8 @@ public class RewritePushdownUaggTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check matrix mult existence
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteRemoveUnnecessaryCTableTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteRemoveUnnecessaryCTableTest.java
index cb42818..6965d23 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteRemoveUnnecessaryCTableTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteRemoveUnnecessaryCTableTest.java
@@ -165,7 +165,7 @@ public class RewriteRemoveUnnecessaryCTableTest extends AutomatedTestBase
 			runTest(true, false, null, -1);
 			
 			//compare scalar
-			double s = readDMLScalarFromHDFS("s").get(new CellIndex(1, 1));
+			double s = readDMLScalarFromOutputDir("s").get(new CellIndex(1, 1));
 			TestUtils.compareScalars(s,sum[0][0],1e-10);
 
 			if( checkHeavyHitters ) {
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteSimplifyRowColSumMVMultTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteSimplifyRowColSumMVMultTest.java
index 804b051..7e147e6 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteSimplifyRowColSumMVMultTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteSimplifyRowColSumMVMultTest.java
@@ -97,8 +97,8 @@ public class RewriteSimplifyRowColSumMVMultTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check matrix mult existence
diff --git a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteSlicedMatrixMultTest.java b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteSlicedMatrixMultTest.java
index 578d0fd..6ab4ae0 100644
--- a/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteSlicedMatrixMultTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/rewrite/RewriteSlicedMatrixMultTest.java
@@ -111,8 +111,8 @@ public class RewriteSlicedMatrixMultTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/ternary/ABATernaryAggregateTest.java b/src/test/java/org/apache/sysds/test/functions/ternary/ABATernaryAggregateTest.java
index a6c8042..8594931 100644
--- a/src/test/java/org/apache/sysds/test/functions/ternary/ABATernaryAggregateTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/ternary/ABATernaryAggregateTest.java
@@ -354,8 +354,8 @@ public class ABATernaryAggregateTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare output matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check for rewritten patterns in statistics output
diff --git a/src/test/java/org/apache/sysds/test/functions/ternary/CTableMatrixIgnoreZerosTest.java b/src/test/java/org/apache/sysds/test/functions/ternary/CTableMatrixIgnoreZerosTest.java
index edf7184..6a2587d 100644
--- a/src/test/java/org/apache/sysds/test/functions/ternary/CTableMatrixIgnoreZerosTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/ternary/CTableMatrixIgnoreZerosTest.java
@@ -153,8 +153,8 @@ public class CTableMatrixIgnoreZerosTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/ternary/CTableSequenceTest.java b/src/test/java/org/apache/sysds/test/functions/ternary/CTableSequenceTest.java
index 43b4c80..d0bf7b6 100644
--- a/src/test/java/org/apache/sysds/test/functions/ternary/CTableSequenceTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/ternary/CTableSequenceTest.java
@@ -185,8 +185,8 @@ public class CTableSequenceTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//w/ rewrite: 4 instead of 6 because seq and aggregation are not required for ctable_expand
diff --git a/src/test/java/org/apache/sysds/test/functions/ternary/CentralMomentWeightsTest.java b/src/test/java/org/apache/sysds/test/functions/ternary/CentralMomentWeightsTest.java
index 4c5732d..195dfc7 100644
--- a/src/test/java/org/apache/sysds/test/functions/ternary/CentralMomentWeightsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/ternary/CentralMomentWeightsTest.java
@@ -171,8 +171,8 @@ public class CentralMomentWeightsTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/ternary/CovarianceWeightsTest.java b/src/test/java/org/apache/sysds/test/functions/ternary/CovarianceWeightsTest.java
index d610d71..1c92cf3 100644
--- a/src/test/java/org/apache/sysds/test/functions/ternary/CovarianceWeightsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/ternary/CovarianceWeightsTest.java
@@ -125,8 +125,8 @@ public class CovarianceWeightsTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/ternary/FullIfElseTest.java b/src/test/java/org/apache/sysds/test/functions/ternary/FullIfElseTest.java
index 147058a..ec14baa 100644
--- a/src/test/java/org/apache/sysds/test/functions/ternary/FullIfElseTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/ternary/FullIfElseTest.java
@@ -252,8 +252,8 @@ public class FullIfElseTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare output matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, 0, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/ternary/QuantileWeightsTest.java b/src/test/java/org/apache/sysds/test/functions/ternary/QuantileWeightsTest.java
index 267b652..7be3af5 100644
--- a/src/test/java/org/apache/sysds/test/functions/ternary/QuantileWeightsTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/ternary/QuantileWeightsTest.java
@@ -190,8 +190,8 @@ public class QuantileWeightsTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/ternary/TableOutputTest.java b/src/test/java/org/apache/sysds/test/functions/ternary/TableOutputTest.java
index 20873a2..359b40c 100644
--- a/src/test/java/org/apache/sysds/test/functions/ternary/TableOutputTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/ternary/TableOutputTest.java
@@ -128,8 +128,8 @@ public class TableOutputTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("F");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("F");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("F");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("F");
 			
 			CellIndex tmp = new CellIndex(-1, -1);
 			double dmlVal, rVal;
diff --git a/src/test/java/org/apache/sysds/test/functions/ternary/TernaryAggregateTest.java b/src/test/java/org/apache/sysds/test/functions/ternary/TernaryAggregateTest.java
index 7a09f2a..095b717 100644
--- a/src/test/java/org/apache/sysds/test/functions/ternary/TernaryAggregateTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/ternary/TernaryAggregateTest.java
@@ -224,8 +224,8 @@ public class TernaryAggregateTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare output matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check for rewritten patterns in statistics output
diff --git a/src/test/java/org/apache/sysds/test/functions/transform/TransformFrameEncodeApplySubsetTest.java b/src/test/java/org/apache/sysds/test/functions/transform/TransformFrameEncodeApplySubsetTest.java
index ca4f487..a445ce6 100644
--- a/src/test/java/org/apache/sysds/test/functions/transform/TransformFrameEncodeApplySubsetTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/transform/TransformFrameEncodeApplySubsetTest.java
@@ -138,7 +138,7 @@ public class TransformFrameEncodeApplySubsetTest extends AutomatedTestBase
 			
 			//check output 
 			Assert.assertEquals(Double.valueOf(148), 
-				readDMLMatrixFromHDFS("R").get(new CellIndex(1,1)));
+				readDMLMatrixFromOutputDir("R").get(new CellIndex(1,1)));
 		}
 		finally {
 			rtplatform = rtold;
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/CholeskyTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/CholeskyTest.java
index 90f20e1..a9f89bc 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/CholeskyTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/CholeskyTest.java
@@ -109,7 +109,7 @@ public class CholeskyTest extends AutomatedTestBase
 			
 			//run tests and compare results
 			runTest(true, false, null, -1);
-			HashMap<CellIndex, Double> dmlOut = readDMLMatrixFromHDFS("D");
+			HashMap<CellIndex, Double> dmlOut = readDMLMatrixFromOutputDir("D");
 			MatrixValue.CellIndex index = dmlOut.keySet().iterator().next();
 			double d = dmlOut.get(index);
 			Assert.assertEquals(0, d, 1e-5);
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/ExtractTriangularTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/ExtractTriangularTest.java
index 6be4447..efdf386 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/ExtractTriangularTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/ExtractTriangularTest.java
@@ -252,8 +252,8 @@ public class ExtractTriangularTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile = readRMatrixFromFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCummaxTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCummaxTest.java
index 896b580..f36573b 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCummaxTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCummaxTest.java
@@ -234,8 +234,8 @@ public class FullCummaxTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumminTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumminTest.java
index d3f98e6..a43ee74 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumminTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumminTest.java
@@ -210,8 +210,8 @@ public class FullCumminTest extends AutomatedTestBase
 			runRScript(true);
 		
 			//compare matrices
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumprodTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumprodTest.java
index 90a2cf4..9b1fd67 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumprodTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumprodTest.java
@@ -234,8 +234,8 @@ public class FullCumprodTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumsumTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumsumTest.java
index 4c972e6..108a636 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumsumTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumsumTest.java
@@ -208,8 +208,8 @@ public class FullCumsumTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumsumprodTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumsumprodTest.java
index ff7d400..e0389f6 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumsumprodTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullCumsumprodTest.java
@@ -117,7 +117,7 @@ public class FullCumsumprodTest extends AutomatedTestBase
 			runTest(true, false, null, -1); 
 			
 			Assert.assertEquals(new Double(rows),
-				readDMLMatrixFromHDFS("C").get(new CellIndex(1,1)));
+				readDMLMatrixFromOutputDir("C").get(new CellIndex(1,1)));
 		}
 		finally {
 			rtplatform = platformOld;
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullSelectPosTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullSelectPosTest.java
index 8feb313..3556f46 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullSelectPosTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullSelectPosTest.java
@@ -166,8 +166,8 @@ public class FullSelectPosTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 			
 			//check generated opcode
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullSignTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullSignTest.java
index 1f44ca2..e17eb26 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullSignTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/FullSignTest.java
@@ -160,8 +160,8 @@ public class FullSignTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, 0, "Stat-DML", "Stat-R");
 			
 			//check generated opcode
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/IsSpecialValueTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/IsSpecialValueTest.java
index 65649ef..d61e45a 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/IsSpecialValueTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/IsSpecialValueTest.java
@@ -166,8 +166,8 @@ public class IsSpecialValueTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, 1e-14, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/MLUnaryBuiltinTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/MLUnaryBuiltinTest.java
index 070653f..ce68f44 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/MLUnaryBuiltinTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/MLUnaryBuiltinTest.java
@@ -230,8 +230,8 @@ public class MLUnaryBuiltinTest extends AutomatedTestBase
 			runRScript(true); 
 		
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("B");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("B");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("B");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("B");
 			TestUtils.compareMatrices(dmlfile, rfile, eps, "Stat-DML", "Stat-R");
 		}
 		finally
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/MinusTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/MinusTest.java
index 75d0d3a..bacbc51 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/MinusTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/MinusTest.java
@@ -133,8 +133,8 @@ public class MinusTest extends AutomatedTestBase
 			runRScript(true);
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("Y");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("Y");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("Y");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("Y");
 			TestUtils.compareMatrices(dmlfile, rfile, 1e-12, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/RemoveEmptySelTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/RemoveEmptySelTest.java
index c002497..d3bda15 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/RemoveEmptySelTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/RemoveEmptySelTest.java
@@ -116,7 +116,7 @@ public class RemoveEmptySelTest extends AutomatedTestBase
 			runTest(true, false, null, -1);
 	
 			//compare expected dimensions
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
 			Double expectedRows = (double) (margin.equals("rows") ? rows/2 : rows);
 			Double expectedCols = (double) (margin.equals("cols") ? cols/2 : cols);
 			Assert.assertEquals("Wrong output nrow.", expectedRows, dmlfile.get(new CellIndex(1,1)));
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/matrix/ReplaceTest.java b/src/test/java/org/apache/sysds/test/functions/unary/matrix/ReplaceTest.java
index 342a974..702baca 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/matrix/ReplaceTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/matrix/ReplaceTest.java
@@ -239,8 +239,8 @@ public class ReplaceTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare matrices 
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("C");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("C");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("C");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("C");
 			TestUtils.compareMatrices(dmlfile, rfile, 1e-14, "Stat-DML", "Stat-R");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/scalar/FullDistributionTest.java b/src/test/java/org/apache/sysds/test/functions/unary/scalar/FullDistributionTest.java
index f08f86e..9466daa 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/scalar/FullDistributionTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/scalar/FullDistributionTest.java
@@ -197,8 +197,8 @@ public class FullDistributionTest extends AutomatedTestBase
 			runRScript(true); 
 			
 			//compare results
-			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("dfout");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("dfout");
+			HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("dfout");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("dfout");
 			TestUtils.compareMatrices(dmlfile, rfile, 1e-8, "DMLout", "Rout");
 		}
 		finally {
diff --git a/src/test/java/org/apache/sysds/test/functions/unary/scalar/RoundTest.java b/src/test/java/org/apache/sysds/test/functions/unary/scalar/RoundTest.java
index e7f7b81..69fc553 100644
--- a/src/test/java/org/apache/sysds/test/functions/unary/scalar/RoundTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/unary/scalar/RoundTest.java
@@ -57,7 +57,7 @@ public class RoundTest extends AutomatedTestBase
 		
 		runTest(true, false, null, -1);
 		
-		HashMap<CellIndex, Double> map = readDMLScalarFromHDFS("scalar");
+		HashMap<CellIndex, Double> map = readDMLScalarFromOutputDir("scalar");
 		double dmlvalue = map.get(new CellIndex(1,1));
 		
 		if ( dmlvalue != roundScalar ) {
diff --git a/src/test/java/org/apache/sysds/test/functions/vect/AutoVectorizationTest.java b/src/test/java/org/apache/sysds/test/functions/vect/AutoVectorizationTest.java
index 1d87731..0b0b301 100644
--- a/src/test/java/org/apache/sysds/test/functions/vect/AutoVectorizationTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/vect/AutoVectorizationTest.java
@@ -243,8 +243,8 @@ public class AutoVectorizationTest extends AutomatedTestBase
 	        runRScript(true);
 	        
 	        //compare results
-	        HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+	        HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, 1e-14, "DML", "R");		
 		}
 		catch(Exception ex)
diff --git a/src/test/java/org/apache/sysds/test/functions/vect/LeftIndexingChainUpdateTest.java b/src/test/java/org/apache/sysds/test/functions/vect/LeftIndexingChainUpdateTest.java
index 4b346ae..dfe1d35 100644
--- a/src/test/java/org/apache/sysds/test/functions/vect/LeftIndexingChainUpdateTest.java
+++ b/src/test/java/org/apache/sysds/test/functions/vect/LeftIndexingChainUpdateTest.java
@@ -93,8 +93,8 @@ public class LeftIndexingChainUpdateTest extends AutomatedTestBase
 	        runRScript(true);
 	        
 	        //compare results
-	        HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromHDFS("R");
-			HashMap<CellIndex, Double> rfile  = readRMatrixFromFS("R");
+	        HashMap<CellIndex, Double> dmlfile = readDMLMatrixFromOutputDir("R");
+			HashMap<CellIndex, Double> rfile  = readRMatrixFromExpectedDir("R");
 			TestUtils.compareMatrices(dmlfile, rfile, 1e-14, "DML", "R");		
 		}
 		catch(Exception ex) {