From b11a0d3fc602750904f3df470ce10850e95a9b3e Mon Sep 17 00:00:00 2001 From: Roman Artemev Date: Fri, 19 Jun 2020 14:47:21 +0300 Subject: [PATCH] [KLIB IC] Add test about incremental kotlin-js-stdlib-klib recompliation Original commit: cc818025dfb8455e29113740bd8040664e2040fe --- .../build/IncrementalJvmJpsTestGenerated.java | 18 ++++++++++++++++++ .../interfaceAnyMethods/B.kt | 2 ++ .../interfaceAnyMethods/B.kt.touch | 0 .../interfaceAnyMethods/D.kt | 4 ++++ .../interfaceAnyMethods/build.log | 13 +++++++++++++ .../interfaceAnyMethods/use.kt | 2 ++ .../interfaceAnyMethods/use.kt.touch | 0 7 files changed, 39 insertions(+) create mode 100644 jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/B.kt create mode 100644 jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/B.kt.touch create mode 100644 jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/D.kt create mode 100644 jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/build.log create mode 100644 jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/use.kt create mode 100644 jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/use.kt.touch diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJvmJpsTestGenerated.java b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJvmJpsTestGenerated.java index 8f6dc896138..1970a40fd73 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJvmJpsTestGenerated.java +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJvmJpsTestGenerated.java @@ -3015,6 +3015,11 @@ public class IncrementalJvmJpsTestGenerated extends AbstractIncrementalJvmJpsTes runTest("jps-plugin/testData/incremental/classHierarchyAffected/inferredTypeChanged/"); } + @TestMetadata("interfaceAnyMethods") + public void testInterfaceAnyMethods() throws Exception { + runTest("jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/"); + } + @TestMetadata("lambdaParameterAffected") public void testLambdaParameterAffected() throws Exception { runTest("jps-plugin/testData/incremental/classHierarchyAffected/lambdaParameterAffected/"); @@ -3386,6 +3391,19 @@ public class IncrementalJvmJpsTestGenerated extends AbstractIncrementalJvmJpsTes } } + @TestMetadata("jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class InterfaceAnyMethods extends AbstractIncrementalJvmJpsTest { + private void runTest(String testDataFilePath) throws Exception { + KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); + } + + public void testAllFilesPresentInInterfaceAnyMethods() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods"), Pattern.compile("^([^\\.]+)$"), null, true); + } + } + @TestMetadata("jps-plugin/testData/incremental/classHierarchyAffected/lambdaParameterAffected") @TestDataPath("$PROJECT_ROOT") @RunWith(JUnit3RunnerWithInners.class) diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/B.kt b/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/B.kt new file mode 100644 index 00000000000..f002bdf5252 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/B.kt @@ -0,0 +1,2 @@ + +interface B \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/B.kt.touch b/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/B.kt.touch new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/D.kt b/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/D.kt new file mode 100644 index 00000000000..e984e7e1d44 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/D.kt @@ -0,0 +1,4 @@ + +class D : B { + override fun toString(): String = "D" +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/build.log b/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/build.log new file mode 100644 index 00000000000..ba50888ce57 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/build.log @@ -0,0 +1,13 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/test/B.class + out/production/module/test/UseKt.class +End of files +Compiling files: + src/B.kt + src/use.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/use.kt b/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/use.kt new file mode 100644 index 00000000000..589df1ee064 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/use.kt @@ -0,0 +1,2 @@ + +fun use(): String = D().toString() \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/use.kt.touch b/jps/jps-plugin/testData/incremental/classHierarchyAffected/interfaceAnyMethods/use.kt.touch new file mode 100644 index 00000000000..e69de29bb2d