Add test for KT-25540

This commit is contained in:
Alexey Tsvetkov
2018-07-20 01:31:09 +03:00
parent 11977cc1c1
commit ff35d509e6
10 changed files with 109 additions and 0 deletions
@@ -91,6 +91,11 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
runTest("jps-plugin/testData/incremental/multiModule/common/exportedDependency/");
}
@TestMetadata("functionFromDifferentPackageChanged")
public void testFunctionFromDifferentPackageChanged() throws Exception {
runTest("jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/");
}
@TestMetadata("inlineFunctionInlined")
public void testInlineFunctionInlined() throws Exception {
runTest("jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined/");
@@ -302,6 +307,19 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest {
}
}
@TestMetadata("jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class FunctionFromDifferentPackageChanged extends AbstractIncrementalJpsTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath);
}
public void testAllFilesPresentInFunctionFromDifferentPackageChanged() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged"), Pattern.compile("^([^\\.]+)$"), TargetBackend.ANY, true);
}
}
@TestMetadata("jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -89,6 +89,11 @@ public class IncrementalJsJpsTestGenerated extends AbstractIncrementalJsJpsTest
runTest("jps-plugin/testData/incremental/multiModule/common/exportedDependency/");
}
@TestMetadata("functionFromDifferentPackageChanged")
public void testFunctionFromDifferentPackageChanged() throws Exception {
runTest("jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged/");
}
@TestMetadata("inlineFunctionInlined")
public void testInlineFunctionInlined() throws Exception {
runTest("jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined/");
@@ -300,6 +305,19 @@ public class IncrementalJsJpsTestGenerated extends AbstractIncrementalJsJpsTest
}
}
@TestMetadata("jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class FunctionFromDifferentPackageChanged extends AbstractIncrementalJsJpsTest {
private void runTest(String testDataFilePath) throws Exception {
KotlinTestUtils.runTest(this::doTest, TargetBackend.ANY, testDataFilePath);
}
public void testAllFilesPresentInFunctionFromDifferentPackageChanged() throws Exception {
KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("jps-plugin/testData/incremental/multiModule/common/functionFromDifferentPackageChanged"), Pattern.compile("^([^\\.]+)$"), TargetBackend.ANY, true);
}
}
@TestMetadata("jps-plugin/testData/incremental/multiModule/common/inlineFunctionInlined")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
@@ -0,0 +1,26 @@
================ Step #1 =================
Building module1
Cleaning output files:
out/production/module1/META-INF/module1.kotlin_module
out/production/module1/module1/FooKt.class
End of files
Compiling files:
module1/src/foo.kt
End of files
Marked as dirty by Kotlin:
module2/src/useFoo.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Exit code: NOTHING_DONE
------------------------------------------
Building module2
Cleaning output files:
out/production/module2/META-INF/module2.kotlin_module
out/production/module2/module2/UseFooKt.class
End of files
Compiling files:
module2/src/useFoo.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,2 @@
module1->
module2->module1
@@ -0,0 +1,28 @@
================ Step #1 =================
Building module1
Cleaning output files:
out/production/module1/module1.js
out/production/module1/module1.meta.js
out/production/module1/module1/module1/module1.kjsm
End of files
Compiling files:
module1/src/foo.kt
End of files
Marked as dirty by Kotlin:
module2/src/useFoo.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Exit code: NOTHING_DONE
------------------------------------------
Building module2
Cleaning output files:
out/production/module2/module2.js
out/production/module2/module2.meta.js
out/production/module2/module2/module2/module2.kjsm
End of files
Compiling files:
module2/src/useFoo.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,3 @@
package module1
fun dummy() {}
@@ -0,0 +1,3 @@
package module1
fun foo(): Int = 0
@@ -0,0 +1,3 @@
package module1
fun foo(): String = "0"
@@ -0,0 +1,3 @@
package module2
fun dummy() {}
@@ -0,0 +1,5 @@
package module2
import module1.foo
fun useFoo() = foo()