From c06b000e8d05c19f9de846fc01b8aad8389b677b Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Mon, 26 Nov 2018 09:12:14 +0300 Subject: [PATCH] JPS: Test for "Cyclically dependent modules should have same compiler" KT-27285 --- .../jps/build/IncrementalJpsTestGenerated.java | 18 ++++++++++++++++++ .../custom/notSameCompiler/_dependencies.txt | 5 +++++ .../custom/notSameCompiler/init-build.log | 5 +++++ .../custom/notSameCompiler/pJs_f.kt | 1 + .../custom/notSameCompiler/pJvm_g.kt | 1 + 5 files changed, 30 insertions(+) create mode 100644 jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/_dependencies.txt create mode 100644 jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/init-build.log create mode 100644 jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/pJs_f.kt create mode 100644 jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/pJvm_g.kt diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java index cdce49babee..fc11b6c5a8b 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java @@ -594,6 +594,11 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { runTest("jps-plugin/testData/incremental/multiModule/multiplatform/custom/commonSourcesCompilerArg/"); } + @TestMetadata("notSameCompiler") + public void testNotSameCompiler() throws Exception { + runTest("jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/"); + } + @TestMetadata("jps-plugin/testData/incremental/multiModule/multiplatform/custom/buildError") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) @@ -632,6 +637,19 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/incremental/multiModule/multiplatform/custom/commonSourcesCompilerArg"), Pattern.compile("^([^\\.]+)$"), TargetBackend.ANY, true); } } + + @TestMetadata("jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class NotSameCompiler extends AbstractIncrementalJpsTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath); + } + + public void testAllFilesPresentInNotSameCompiler() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler"), Pattern.compile("^([^\\.]+)$"), TargetBackend.ANY, true); + } + } } @TestMetadata("jps-plugin/testData/incremental/pureKotlin") diff --git a/jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/_dependencies.txt b/jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/_dependencies.txt new file mode 100644 index 00000000000..c359f356aad --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/_dependencies.txt @@ -0,0 +1,5 @@ +pJvm [jvm] +pJs [js] + +pJs -> pJvm [compile] +pJvm -> pJs [compile] \ No newline at end of file diff --git a/jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/init-build.log b/jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/init-build.log new file mode 100644 index 00000000000..5091f14c399 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/init-build.log @@ -0,0 +1,5 @@ +Building pJs, pJvm +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Cyclically dependent modules pJvm (jvm), pJs (js) should have same compiler. \ No newline at end of file diff --git a/jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/pJs_f.kt b/jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/pJs_f.kt new file mode 100644 index 00000000000..38aa24d047b --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/pJs_f.kt @@ -0,0 +1 @@ +fun f() = 1 \ No newline at end of file diff --git a/jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/pJvm_g.kt b/jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/pJvm_g.kt new file mode 100644 index 00000000000..acbed98f796 --- /dev/null +++ b/jps-plugin/testData/incremental/multiModule/multiplatform/custom/notSameCompiler/pJvm_g.kt @@ -0,0 +1 @@ +fun g() = 2 \ No newline at end of file