wonook closed pull request #69: [NEMO-2, 106, 117] Remove the /tests directory
URL: https://github.com/apache/incubator-nemo/pull/69
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/.gitignore b/.gitignore
index 0ee0ba68a..be82d4592 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,7 +17,7 @@ build
 # ----------------------------------------------------------------------
 .sample_output*
 sample_output*
-dag/*
+runtime/dag/*
 *.log
 #
 # ----------------------------------------------------------------------
diff --git a/client/src/test/java/edu/snu/nemo/client/ClientEndpointTest.java 
b/client/src/test/java/edu/snu/nemo/client/ClientEndpointTest.java
index 19f41f53c..3f0d1a0cd 100644
--- a/client/src/test/java/edu/snu/nemo/client/ClientEndpointTest.java
+++ b/client/src/test/java/edu/snu/nemo/client/ClientEndpointTest.java
@@ -20,7 +20,7 @@
 import edu.snu.nemo.runtime.common.state.TaskState;
 import edu.snu.nemo.runtime.master.MetricMessageHandler;
 import edu.snu.nemo.runtime.master.JobStateManager;
-import edu.snu.nemo.runtime.plangenerator.TestPlanGenerator;
+import edu.snu.nemo.runtime.common.plan.TestPlanGenerator;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.powermock.core.classloader.annotations.PrepareForTest;
diff --git a/compiler/backend/pom.xml b/compiler/backend/pom.xml
index 679575d99..8b6c5bc99 100644
--- a/compiler/backend/pom.xml
+++ b/compiler/backend/pom.xml
@@ -46,5 +46,11 @@ limitations under the License.
             <artifactId>nemo-runtime-common</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>edu.snu.nemo</groupId>
+            <artifactId>nemo-compiler-optimizer</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 </project>
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/backend/nemo/NemoBackendTest.java
 
b/compiler/backend/src/test/java/edu/snu/nemo/compiler/backend/nemo/NemoBackendTest.java
similarity index 97%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/backend/nemo/NemoBackendTest.java
rename to 
compiler/backend/src/test/java/edu/snu/nemo/compiler/backend/nemo/NemoBackendTest.java
index 1ffd86668..f93a9b611 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/backend/nemo/NemoBackendTest.java
+++ 
b/compiler/backend/src/test/java/edu/snu/nemo/compiler/backend/nemo/NemoBackendTest.java
@@ -13,14 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.backend.nemo;
+package edu.snu.nemo.compiler.backend.nemo;
 
 import edu.snu.nemo.common.dag.DAG;
 import edu.snu.nemo.common.ir.edge.IREdge;
 import 
edu.snu.nemo.common.ir.edge.executionproperty.DataCommunicationPatternProperty;
 import edu.snu.nemo.common.ir.vertex.IRVertex;
 import edu.snu.nemo.common.ir.vertex.OperatorVertex;
-import edu.snu.nemo.compiler.backend.nemo.NemoBackend;
 import edu.snu.nemo.common.dag.DAGBuilder;
 import edu.snu.nemo.compiler.optimizer.CompiletimeOptimizer;
 import edu.snu.nemo.common.test.EmptyComponents;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/policy/PolicyBuilderTest.java
 
b/compiler/optimizer/src/test/java/edu/snu/nemo/compiler/optimizer/policy/PolicyBuilderTest.java
similarity index 95%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/policy/PolicyBuilderTest.java
rename to 
compiler/optimizer/src/test/java/edu/snu/nemo/compiler/optimizer/policy/PolicyBuilderTest.java
index b6ac067ed..7f96cfa0b 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/policy/PolicyBuilderTest.java
+++ 
b/compiler/optimizer/src/test/java/edu/snu/nemo/compiler/optimizer/policy/PolicyBuilderTest.java
@@ -13,12 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.policy;
+package edu.snu.nemo.compiler.optimizer.policy;
 
 import edu.snu.nemo.common.exception.CompileTimeOptimizationException;
 import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.DefaultScheduleGroupPass;
 import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.composite.PadoCompositePass;
-import edu.snu.nemo.compiler.optimizer.policy.*;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
diff --git a/tests/pom.xml b/compiler/test/pom.xml
similarity index 61%
rename from tests/pom.xml
rename to compiler/test/pom.xml
index a7ca69be9..4c30dbf3a 100644
--- a/tests/pom.xml
+++ b/compiler/test/pom.xml
@@ -22,11 +22,11 @@ limitations under the License.
         <groupId>edu.snu.nemo</groupId>
         <artifactId>nemo-project</artifactId>
         <version>0.1-SNAPSHOT</version>
-        <relativePath>../</relativePath>
+        <relativePath>../../</relativePath>
     </parent>
 
-    <artifactId>nemo-tests</artifactId>
-    <name>Nemo Unit Tests</name>
+    <artifactId>nemo-compiler-test</artifactId>
+    <name>Nemo Compiler Test</name>
 
     <repositories>
         <repository>
@@ -46,10 +46,37 @@ limitations under the License.
             <artifactId>nemo-client</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>edu.snu.nemo</groupId>
+            <artifactId>nemo-compiler-frontend-beam</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>edu.snu.nemo</groupId>
             <artifactId>nemo-examples-beam</artifactId>
             <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>${junit.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <version>${mockito.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.powermock</groupId>
+            <artifactId>powermock-module-junit4</artifactId>
+            <version>${powermock.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.powermock</groupId>
+            <artifactId>powermock-api-mockito2</artifactId>
+            <version>${powermock.version}</version>
         </dependency>
     </dependencies>
-</project>
+</project>
\ No newline at end of file
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/CompilerTestUtil.java 
b/compiler/test/src/main/java/edu/snu/nemo/compiler/CompilerTestUtil.java
similarity index 75%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/CompilerTestUtil.java
rename to 
compiler/test/src/main/java/edu/snu/nemo/compiler/CompilerTestUtil.java
index d5f17f4aa..ec5a77048 100644
--- a/tests/src/test/java/edu/snu/nemo/tests/compiler/CompilerTestUtil.java
+++ b/compiler/test/src/main/java/edu/snu/nemo/compiler/CompilerTestUtil.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler;
+package edu.snu.nemo.compiler;
 
 import edu.snu.nemo.common.test.ArgBuilder;
 import edu.snu.nemo.conf.JobConf;
@@ -27,13 +27,43 @@
 import org.mockito.ArgumentCaptor;
 import org.powermock.api.mockito.PowerMockito;
 
+import java.io.File;
 import java.lang.reflect.Method;
 
 /**
  * Utility methods for tests.
  */
 public final class CompilerTestUtil {
-  private static final String rootDir = System.getProperty("user.dir");
+  private static final String ROOT_DIR = 
findRoot(System.getProperty("user.dir"));
+
+  // Utility classes should not have a public or default constructor
+  private CompilerTestUtil() {
+
+  }
+
+  /**
+   * Find the root directory of Nemo project, ascending directory hierarchy 
one by one starting from {@code curDir}.
+   * This method distinguishes the root with "LICENSE" file.
+   * @param curDir the current directory
+   * @return the absolute path of the root directory
+   */
+  private static String findRoot(final String curDir) {
+    boolean foundRoot = false;
+    File folder = new File(curDir);
+
+    while (!foundRoot) {
+      folder = folder.getParentFile();
+      final File[] listOfFiles = folder.listFiles();
+      for (final File file : listOfFiles) {
+        if (file.isFile() && file.getName().equals("LICENSE")) {
+          foundRoot = true;
+          break;
+        }
+      }
+    }
+
+    return folder.getAbsolutePath();
+  }
 
   private static DAG<IRVertex, IREdge> compileDAG(final String[] args) throws 
Exception {
     final String userMainClassName;
@@ -60,8 +90,8 @@
   }
 
   public static DAG<IRVertex, IREdge> compileWordCountDAG() throws Exception {
-    final String input = rootDir + 
"/../examples/resources/sample_input_wordcount";
-    final String output = rootDir + "/../examples/resources/sample_output";
+    final String input = ROOT_DIR + 
"/examples/resources/sample_input_wordcount";
+    final String output = ROOT_DIR + "/examples/resources/sample_output";
     final String main = "edu.snu.nemo.examples.beam.WordCount";
 
     final ArgBuilder mrArgBuilder = new ArgBuilder()
@@ -72,7 +102,7 @@
   }
 
   public static DAG<IRVertex, IREdge> compileALSDAG() throws Exception {
-    final String input = rootDir + "/../examples/resources/sample_input_als";
+    final String input = ROOT_DIR + "/examples/resources/sample_input_als";
     final String numFeatures = "10";
     final String numIteration = "3";
     final String main = "edu.snu.nemo.examples.beam.AlternatingLeastSquare";
@@ -85,7 +115,7 @@
   }
 
   public static DAG<IRVertex, IREdge> compileALSInefficientDAG() throws 
Exception {
-    final String input = rootDir + "/../examples/resources/sample_input_als";
+    final String input = ROOT_DIR + "/examples/resources/sample_input_als";
     final String numFeatures = "10";
     final String numIteration = "3";
     final String main = 
"edu.snu.nemo.examples.beam.AlternatingLeastSquareInefficient";
@@ -98,7 +128,7 @@
   }
 
   public static DAG<IRVertex, IREdge> compileMLRDAG() throws Exception {
-    final String input = rootDir + "/../examples/resources/sample_input_mlr";
+    final String input = ROOT_DIR + "/examples/resources/sample_input_mlr";
     final String numFeatures = "100";
     final String numClasses = "5";
     final String numIteration = "3";
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/policy/TestPolicy.java
 
b/compiler/test/src/main/java/edu/snu/nemo/compiler/optimizer/policy/TestPolicy.java
similarity index 93%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/policy/TestPolicy.java
rename to 
compiler/test/src/main/java/edu/snu/nemo/compiler/optimizer/policy/TestPolicy.java
index 59dbd4eba..aca479148 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/policy/TestPolicy.java
+++ 
b/compiler/test/src/main/java/edu/snu/nemo/compiler/optimizer/policy/TestPolicy.java
@@ -13,11 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.policy;
+package edu.snu.nemo.compiler.optimizer.policy;
 
 import edu.snu.nemo.compiler.optimizer.pass.compiletime.CompileTimePass;
 import edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.*;
-import edu.snu.nemo.compiler.optimizer.policy.Policy;
 import edu.snu.nemo.runtime.common.optimizer.pass.runtime.RuntimePass;
 
 import java.util.*;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/runtime/common/plan/DAGConverterTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/backend/nemo/DAGConverterTest.java
similarity index 99%
rename from 
tests/src/test/java/edu/snu/nemo/tests/runtime/common/plan/DAGConverterTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/backend/nemo/DAGConverterTest.java
index 517504563..6702b443c 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/runtime/common/plan/DAGConverterTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/backend/nemo/DAGConverterTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.runtime.common.plan;
+package edu.snu.nemo.compiler.backend.nemo;
 
 import edu.snu.nemo.common.dag.DAG;
 import edu.snu.nemo.common.dag.DAGBuilder;
@@ -34,7 +34,7 @@
 import edu.snu.nemo.runtime.common.plan.PhysicalPlanGenerator;
 import edu.snu.nemo.runtime.common.plan.Stage;
 import edu.snu.nemo.runtime.common.plan.StageEdge;
-import edu.snu.nemo.tests.compiler.optimizer.policy.TestPolicy;
+import edu.snu.nemo.compiler.optimizer.policy.TestPolicy;
 import org.apache.reef.tang.Injector;
 import org.apache.reef.tang.Tang;
 import org.junit.Before;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/frontend/beam/BeamFrontendALSTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/frontend/beam/BeamFrontendALSTest.java
similarity index 95%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/frontend/beam/BeamFrontendALSTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/frontend/beam/BeamFrontendALSTest.java
index c5bf2076a..27872c229 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/frontend/beam/BeamFrontendALSTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/frontend/beam/BeamFrontendALSTest.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.frontend.beam;
+package edu.snu.nemo.compiler.frontend.beam;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.dag.DAG;
 import edu.snu.nemo.common.ir.edge.IREdge;
 import edu.snu.nemo.common.ir.vertex.IRVertex;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.powermock.core.classloader.annotations.PrepareForTest;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/frontend/beam/BeamFrontendMLRTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/frontend/beam/BeamFrontendMLRTest.java
similarity index 95%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/frontend/beam/BeamFrontendMLRTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/frontend/beam/BeamFrontendMLRTest.java
index bc8440fc7..8553263e6 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/frontend/beam/BeamFrontendMLRTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/frontend/beam/BeamFrontendMLRTest.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.frontend.beam;
+package edu.snu.nemo.compiler.frontend.beam;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.dag.DAG;
 import edu.snu.nemo.common.ir.edge.IREdge;
 import edu.snu.nemo.common.ir.vertex.IRVertex;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.powermock.core.classloader.annotations.PrepareForTest;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/annotating/DefaultEdgeCoderPassTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/annotating/DefaultEdgeCoderPassTest.java
similarity index 91%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/annotating/DefaultEdgeCoderPassTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/annotating/DefaultEdgeCoderPassTest.java
index 7f9dc3a8e..e21ee55f5 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/annotating/DefaultEdgeCoderPassTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/annotating/DefaultEdgeCoderPassTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.pass.compiletime.annotating;
+package edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.coder.DecoderFactory;
@@ -23,10 +23,7 @@
 import edu.snu.nemo.common.ir.edge.executionproperty.DecoderProperty;
 import edu.snu.nemo.common.ir.edge.executionproperty.EncoderProperty;
 import edu.snu.nemo.common.ir.vertex.IRVertex;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.AnnotatingPass;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.DefaultEdgeDecoderPass;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.DefaultEdgeEncoderPass;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/annotating/DefaultParallelismPassTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/annotating/DefaultParallelismPassTest.java
similarity index 89%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/annotating/DefaultParallelismPassTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/annotating/DefaultParallelismPassTest.java
index 105eeb8fb..59c54c230 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/annotating/DefaultParallelismPassTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/annotating/DefaultParallelismPassTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.pass.compiletime.annotating;
+package edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.dag.DAG;
@@ -21,9 +21,7 @@
 import edu.snu.nemo.common.ir.vertex.IRVertex;
 import edu.snu.nemo.common.ir.vertex.SourceVertex;
 import edu.snu.nemo.common.ir.vertex.executionproperty.ParallelismProperty;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.AnnotatingPass;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.DefaultParallelismPass;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/annotating/DefaultScheduleGroupPassTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/annotating/DefaultScheduleGroupPassTest.java
similarity index 97%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/annotating/DefaultScheduleGroupPassTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/annotating/DefaultScheduleGroupPassTest.java
index 7d1f588af..585c40b4f 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/annotating/DefaultScheduleGroupPassTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/annotating/DefaultScheduleGroupPassTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.pass.compiletime.annotating;
+package edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.Pair;
@@ -27,11 +27,9 @@
 import edu.snu.nemo.common.ir.vertex.executionproperty.ScheduleGroupProperty;
 import edu.snu.nemo.common.ir.vertex.transform.Transform;
 import edu.snu.nemo.common.test.EmptyComponents;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import edu.snu.nemo.compiler.optimizer.CompiletimeOptimizer;
-import edu.snu.nemo.tests.compiler.optimizer.policy.TestPolicy;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.AnnotatingPass;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.DefaultScheduleGroupPass;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
+import edu.snu.nemo.compiler.optimizer.policy.TestPolicy;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.powermock.core.classloader.annotations.PrepareForTest;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/composite/DataSkewCompositePassTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/composite/DataSkewCompositePassTest.java
similarity index 94%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/composite/DataSkewCompositePassTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/composite/DataSkewCompositePassTest.java
index 8345b0570..4034748ab 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/composite/DataSkewCompositePassTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/composite/DataSkewCompositePassTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.pass.compiletime.composite;
+package edu.snu.nemo.compiler.optimizer.pass.compiletime.composite;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.dag.DAG;
@@ -24,11 +24,9 @@
 import edu.snu.nemo.common.ir.vertex.IRVertex;
 import edu.snu.nemo.common.ir.vertex.MetricCollectionBarrierVertex;
 import edu.snu.nemo.common.ir.executionproperty.ExecutionProperty;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import 
edu.snu.nemo.common.ir.vertex.executionproperty.SkewnessAwareSchedulingProperty;
 import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.AnnotatingPass;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.composite.CompositePass;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.composite.DataSkewCompositePass;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/composite/DisaggregationPassTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/composite/DisaggregationPassTest.java
similarity index 91%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/composite/DisaggregationPassTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/composite/DisaggregationPassTest.java
index d4cc616bc..98775d3a6 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/composite/DisaggregationPassTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/composite/DisaggregationPassTest.java
@@ -13,18 +13,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.pass.compiletime.composite;
+package edu.snu.nemo.compiler.optimizer.pass.compiletime.composite;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.dag.DAG;
 import edu.snu.nemo.common.ir.edge.IREdge;
-import 
edu.snu.nemo.common.ir.edge.executionproperty.DataCommunicationPatternProperty;
 import 
edu.snu.nemo.common.ir.edge.executionproperty.InterTaskDataStoreProperty;
 import edu.snu.nemo.common.ir.vertex.IRVertex;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.DefaultParallelismPass;
 import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.DisaggregationEdgeDataStorePass;
 import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.DefaultInterTaskDataStorePass;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/composite/PadoCompositePassTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/composite/PadoCompositePassTest.java
similarity index 95%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/composite/PadoCompositePassTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/composite/PadoCompositePassTest.java
index f983698df..368308811 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/composite/PadoCompositePassTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/composite/PadoCompositePassTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.pass.compiletime.composite;
+package edu.snu.nemo.compiler.optimizer.pass.compiletime.composite;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.dag.DAG;
@@ -22,10 +22,9 @@
 import 
edu.snu.nemo.common.ir.edge.executionproperty.InterTaskDataStoreProperty;
 import edu.snu.nemo.common.ir.vertex.IRVertex;
 import 
edu.snu.nemo.common.ir.vertex.executionproperty.ExecutorPlacementProperty;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.PadoEdgeDataStorePass;
 import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.annotating.PadoVertexExecutorPlacementPass;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.composite.PadoCompositePass;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/composite/SailfishPassTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/composite/SailfishPassTest.java
similarity index 94%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/composite/SailfishPassTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/composite/SailfishPassTest.java
index ab1beb7b7..e49d31a47 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/composite/SailfishPassTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/composite/SailfishPassTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.pass.compiletime.composite;
+package edu.snu.nemo.compiler.optimizer.pass.compiletime.composite;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.coder.BytesDecoderFactory;
@@ -22,8 +22,7 @@
 import edu.snu.nemo.common.ir.edge.IREdge;
 import edu.snu.nemo.common.ir.edge.executionproperty.*;
 import edu.snu.nemo.common.ir.vertex.IRVertex;
-import edu.snu.nemo.compiler.optimizer.pass.compiletime.composite.SailfishPass;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/CommonSubexpressionEliminationPassTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/CommonSubexpressionEliminationPassTest.java
similarity index 96%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/CommonSubexpressionEliminationPassTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/CommonSubexpressionEliminationPassTest.java
index 827e3264e..1f8b4793b 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/CommonSubexpressionEliminationPassTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/CommonSubexpressionEliminationPassTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.pass.compiletime.reshaping;
+package edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.dag.DAG;
@@ -23,7 +23,6 @@
 import edu.snu.nemo.common.ir.vertex.OperatorVertex;
 import edu.snu.nemo.common.dag.DAGBuilder;
 import edu.snu.nemo.common.test.EmptyComponents;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping.CommonSubexpressionEliminationPass;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopExtractionPassTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopExtractionPassTest.java
similarity index 87%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopExtractionPassTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopExtractionPassTest.java
index 4568f68f3..acccd73f3 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopExtractionPassTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopExtractionPassTest.java
@@ -13,14 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.pass.compiletime.reshaping;
+package edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.dag.DAG;
 import edu.snu.nemo.common.ir.edge.IREdge;
 import edu.snu.nemo.common.ir.vertex.IRVertex;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping.LoopExtractionPass;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopFusionPassTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopFusionPassTest.java
similarity index 96%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopFusionPassTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopFusionPassTest.java
index d2d6954da..2a784cf27 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopFusionPassTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopFusionPassTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.pass.compiletime.reshaping;
+package edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.dag.DAG;
@@ -24,9 +24,7 @@
 import edu.snu.nemo.common.ir.edge.executionproperty.EncoderProperty;
 import edu.snu.nemo.common.ir.vertex.IRVertex;
 import edu.snu.nemo.common.ir.vertex.LoopVertex;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping.LoopExtractionPass;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping.LoopOptimizations;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopInvariantCodeMotionALSInefficientTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopInvariantCodeMotionALSInefficientTest.java
similarity index 86%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopInvariantCodeMotionALSInefficientTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopInvariantCodeMotionALSInefficientTest.java
index a74c0c8d5..64d5b7451 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopInvariantCodeMotionALSInefficientTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopInvariantCodeMotionALSInefficientTest.java
@@ -13,15 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.pass.compiletime.reshaping;
+package edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.dag.DAG;
 import edu.snu.nemo.common.ir.edge.IREdge;
 import edu.snu.nemo.common.ir.vertex.IRVertex;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping.LoopExtractionPass;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping.LoopOptimizations;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopInvariantCodeMotionPassTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopInvariantCodeMotionPassTest.java
similarity index 94%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopInvariantCodeMotionPassTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopInvariantCodeMotionPassTest.java
index a461873d6..115992130 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopInvariantCodeMotionPassTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopInvariantCodeMotionPassTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.pass.compiletime.reshaping;
+package edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.dag.DAG;
@@ -24,9 +24,7 @@
 import edu.snu.nemo.common.ir.edge.executionproperty.EncoderProperty;
 import edu.snu.nemo.common.ir.vertex.IRVertex;
 import edu.snu.nemo.common.ir.vertex.LoopVertex;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping.LoopExtractionPass;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping.LoopOptimizations;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopUnrollingPassTest.java
 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopUnrollingPassTest.java
similarity index 89%
rename from 
tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopUnrollingPassTest.java
rename to 
compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopUnrollingPassTest.java
index 684bfc98d..5f823f1f6 100644
--- 
a/tests/src/test/java/edu/snu/nemo/tests/compiler/optimizer/pass/compiletime/reshaping/LoopUnrollingPassTest.java
+++ 
b/compiler/test/src/test/java/edu/snu/nemo/compiler/optimizer/pass/compiletime/reshaping/LoopUnrollingPassTest.java
@@ -13,16 +13,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.tests.compiler.optimizer.pass.compiletime.reshaping;
+package edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping;
 
 import edu.snu.nemo.client.JobLauncher;
 import edu.snu.nemo.common.Pair;
 import edu.snu.nemo.common.dag.DAG;
 import edu.snu.nemo.common.ir.edge.IREdge;
 import edu.snu.nemo.common.ir.vertex.IRVertex;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping.LoopExtractionPass;
-import 
edu.snu.nemo.compiler.optimizer.pass.compiletime.reshaping.LoopUnrollingPass;
-import edu.snu.nemo.tests.compiler.CompilerTestUtil;
+import edu.snu.nemo.compiler.CompilerTestUtil;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/pom.xml b/pom.xml
index aa8837deb..2929ec2c7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -60,14 +60,14 @@ limitations under the License.
         <module>compiler/frontend/beam</module>
         <module>compiler/frontend/spark</module>
         <module>compiler/optimizer</module>
+        <module>compiler/test</module>
         <module>examples/beam</module>
         <module>examples/spark</module>
         <module>runtime/common</module>
         <module>runtime/executor</module>
         <module>runtime/master</module>
         <module>runtime/driver</module>
-        <module>runtime/plangenerator</module>
-        <module>tests</module>
+        <module>runtime/test</module>
     </modules>
 
     <dependencies>
diff --git 
a/tests/src/test/java/edu/snu/nemo/runtime/common/plan/PhysicalPlanGeneratorTest.java
 
b/runtime/common/src/test/java/edu/snu/nemo/runtime/common/plan/PhysicalPlanGeneratorTest.java
similarity index 100%
rename from 
tests/src/test/java/edu/snu/nemo/runtime/common/plan/PhysicalPlanGeneratorTest.java
rename to 
runtime/common/src/test/java/edu/snu/nemo/runtime/common/plan/PhysicalPlanGeneratorTest.java
diff --git 
a/tests/src/test/java/edu/snu/nemo/runtime/common/plan/StagePartitionerTest.java
 
b/runtime/common/src/test/java/edu/snu/nemo/runtime/common/plan/StagePartitionerTest.java
similarity index 100%
rename from 
tests/src/test/java/edu/snu/nemo/runtime/common/plan/StagePartitionerTest.java
rename to 
runtime/common/src/test/java/edu/snu/nemo/runtime/common/plan/StagePartitionerTest.java
diff --git 
a/tests/src/test/java/edu/snu/nemo/runtime/master/MetricFlushTest.java 
b/runtime/executor/src/test/java/edu/snu/nemo/runtime/executor/MetricFlushTest.java
similarity index 95%
rename from tests/src/test/java/edu/snu/nemo/runtime/master/MetricFlushTest.java
rename to 
runtime/executor/src/test/java/edu/snu/nemo/runtime/executor/MetricFlushTest.java
index ea8237a98..7497ecbf2 100644
--- a/tests/src/test/java/edu/snu/nemo/runtime/master/MetricFlushTest.java
+++ 
b/runtime/executor/src/test/java/edu/snu/nemo/runtime/executor/MetricFlushTest.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.runtime.master;
+package edu.snu.nemo.runtime.executor;
 
 import edu.snu.nemo.runtime.common.comm.ControlMessage;
 import edu.snu.nemo.runtime.common.message.*;
 import edu.snu.nemo.runtime.common.message.local.LocalMessageDispatcher;
 import edu.snu.nemo.runtime.common.message.local.LocalMessageEnvironment;
-import edu.snu.nemo.runtime.executor.MetricManagerWorker;
+import edu.snu.nemo.runtime.master.MetricManagerMaster;
 import edu.snu.nemo.runtime.master.resource.ExecutorRepresenter;
 import edu.snu.nemo.runtime.master.scheduler.ExecutorRegistry;
 import org.apache.reef.tang.Configuration;
@@ -43,7 +43,7 @@
 import static org.mockito.Mockito.mock;
 
 /**
- * Ensures metrics collected by {@link 
edu.snu.nemo.runtime.executor.MetricManagerWorker} are properly sent to master
+ * Ensures metrics collected by {@link MetricManagerWorker} are properly sent 
to master
  * before the job finishes.
  */
 @RunWith(PowerMockRunner.class)
diff --git a/runtime/master/pom.xml b/runtime/master/pom.xml
index 8ea468804..dace8c998 100644
--- a/runtime/master/pom.xml
+++ b/runtime/master/pom.xml
@@ -48,7 +48,7 @@ limitations under the License.
         </dependency>
         <dependency>
             <groupId>edu.snu.nemo</groupId>
-            <artifactId>nemo-runtime-plangenerator</artifactId>
+            <artifactId>nemo-runtime-test</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
diff --git 
a/runtime/master/src/test/java/edu/snu/nemo/runtime/master/JobStateManagerTest.java
 
b/runtime/master/src/test/java/edu/snu/nemo/runtime/master/JobStateManagerTest.java
index 803fa40ec..73176be2f 100644
--- 
a/runtime/master/src/test/java/edu/snu/nemo/runtime/master/JobStateManagerTest.java
+++ 
b/runtime/master/src/test/java/edu/snu/nemo/runtime/master/JobStateManagerTest.java
@@ -25,7 +25,7 @@
 import edu.snu.nemo.runtime.common.state.JobState;
 import edu.snu.nemo.runtime.common.state.StageState;
 import edu.snu.nemo.runtime.common.state.TaskState;
-import edu.snu.nemo.runtime.plangenerator.TestPlanGenerator;
+import edu.snu.nemo.runtime.common.plan.TestPlanGenerator;
 import org.apache.reef.tang.Injector;
 import org.junit.Before;
 import org.junit.Test;
diff --git 
a/runtime/master/src/test/java/edu/snu/nemo/runtime/master/scheduler/BatchSingleJobSchedulerTest.java
 
b/runtime/master/src/test/java/edu/snu/nemo/runtime/master/scheduler/BatchSingleJobSchedulerTest.java
index 44fb64c09..935f3104f 100644
--- 
a/runtime/master/src/test/java/edu/snu/nemo/runtime/master/scheduler/BatchSingleJobSchedulerTest.java
+++ 
b/runtime/master/src/test/java/edu/snu/nemo/runtime/master/scheduler/BatchSingleJobSchedulerTest.java
@@ -23,7 +23,6 @@
 import edu.snu.nemo.runtime.common.plan.PhysicalPlan;
 import edu.snu.nemo.runtime.common.plan.Stage;
 import edu.snu.nemo.runtime.common.plan.StageEdge;
-import edu.snu.nemo.runtime.common.state.StageState;
 import edu.snu.nemo.runtime.master.JobStateManager;
 import edu.snu.nemo.runtime.master.MetricMessageHandler;
 import edu.snu.nemo.runtime.master.BlockManagerMaster;
@@ -32,7 +31,7 @@
 import edu.snu.nemo.runtime.master.resource.ExecutorRepresenter;
 import edu.snu.nemo.runtime.master.resource.ResourceSpecification;
 import edu.snu.nemo.common.dag.DAG;
-import edu.snu.nemo.runtime.plangenerator.TestPlanGenerator;
+import edu.snu.nemo.runtime.common.plan.TestPlanGenerator;
 import org.apache.reef.driver.context.ActiveContext;
 import org.apache.reef.tang.Injector;
 import org.apache.reef.tang.Tang;
diff --git 
a/tests/src/test/java/edu/snu/nemo/runtime/master/scheduler/SchedulingConstraintnRegistryTest.java
 
b/runtime/master/src/test/java/edu/snu/nemo/runtime/master/scheduler/SchedulingConstraintnRegistryTest.java
similarity index 100%
rename from 
tests/src/test/java/edu/snu/nemo/runtime/master/scheduler/SchedulingConstraintnRegistryTest.java
rename to 
runtime/master/src/test/java/edu/snu/nemo/runtime/master/scheduler/SchedulingConstraintnRegistryTest.java
diff --git 
a/runtime/master/src/test/java/edu/snu/nemo/runtime/master/scheduler/TaskRetryTest.java
 
b/runtime/master/src/test/java/edu/snu/nemo/runtime/master/scheduler/TaskRetryTest.java
index fe5ee1719..d9b9b30bd 100644
--- 
a/runtime/master/src/test/java/edu/snu/nemo/runtime/master/scheduler/TaskRetryTest.java
+++ 
b/runtime/master/src/test/java/edu/snu/nemo/runtime/master/scheduler/TaskRetryTest.java
@@ -28,7 +28,7 @@
 import edu.snu.nemo.runtime.master.eventhandler.UpdatePhysicalPlanEventHandler;
 import edu.snu.nemo.runtime.master.resource.ExecutorRepresenter;
 import edu.snu.nemo.runtime.master.resource.ResourceSpecification;
-import edu.snu.nemo.runtime.plangenerator.TestPlanGenerator;
+import edu.snu.nemo.runtime.common.plan.TestPlanGenerator;
 import org.apache.reef.driver.context.ActiveContext;
 import org.apache.reef.tang.Injector;
 import org.apache.reef.tang.Tang;
diff --git a/runtime/plangenerator/pom.xml b/runtime/test/pom.xml
similarity index 94%
rename from runtime/plangenerator/pom.xml
rename to runtime/test/pom.xml
index ffdfe9325..96887fe75 100644
--- a/runtime/plangenerator/pom.xml
+++ b/runtime/test/pom.xml
@@ -25,8 +25,8 @@ limitations under the License.
         <relativePath>../../</relativePath>
     </parent>
 
-    <artifactId>nemo-runtime-plangenerator</artifactId>
-    <name>Nemo Runtime Test Plans</name>
+    <artifactId>nemo-runtime-test</artifactId>
+    <name>Nemo Runtime Test</name>
 
     <repositories>
         <repository>
diff --git 
a/runtime/plangenerator/src/main/java/edu/snu/nemo/runtime/plangenerator/TestPlanGenerator.java
 
b/runtime/test/src/main/java/edu/snu/nemo/runtime/common/plan/TestPlanGenerator.java
similarity index 96%
rename from 
runtime/plangenerator/src/main/java/edu/snu/nemo/runtime/plangenerator/TestPlanGenerator.java
rename to 
runtime/test/src/main/java/edu/snu/nemo/runtime/common/plan/TestPlanGenerator.java
index 25b26d3bd..04c2b0654 100644
--- 
a/runtime/plangenerator/src/main/java/edu/snu/nemo/runtime/plangenerator/TestPlanGenerator.java
+++ 
b/runtime/test/src/main/java/edu/snu/nemo/runtime/common/plan/TestPlanGenerator.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.snu.nemo.runtime.plangenerator;
+package edu.snu.nemo.runtime.common.plan;
 
 import edu.snu.nemo.common.dag.DAG;
 import edu.snu.nemo.common.dag.DAGBuilder;
@@ -30,10 +30,6 @@
 import edu.snu.nemo.compiler.optimizer.policy.BasicPushPolicy;
 import edu.snu.nemo.compiler.optimizer.policy.Policy;
 import edu.snu.nemo.conf.JobConf;
-import edu.snu.nemo.runtime.common.plan.PhysicalPlan;
-import edu.snu.nemo.runtime.common.plan.PhysicalPlanGenerator;
-import edu.snu.nemo.runtime.common.plan.Stage;
-import edu.snu.nemo.runtime.common.plan.StageEdge;
 import org.apache.reef.tang.Injector;
 import org.apache.reef.tang.Tang;
 import org.apache.reef.tang.exceptions.InjectionException;


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to