From e654254c9fb8afdad68eb5633977060fb3fb8a07 Mon Sep 17 00:00:00 2001 From: Michael Nedzelsky Date: Mon, 28 Sep 2015 14:59:29 +0300 Subject: [PATCH] add tests for incremental compilation: package members Original commit: 0de9e8295a35a233857a231a27f5e1ece650f48a --- .../jps/build/IncrementalJpsTestGenerated.java | 18 ++++++++++++++++++ .../build.log | 17 +++++++++++++++++ .../pkg1.kt | 12 ++++++++++++ .../pkg1.kt.new | 12 ++++++++++++ .../pkg2.kt | 14 ++++++++++++++ .../pkg2.kt.new | 14 ++++++++++++++ .../usage.kt | 8 ++++++++ .../build.log | 11 +++++++++++ .../pkg1.kt | 12 ++++++++++++ .../pkg1.kt.new | 12 ++++++++++++ .../pkg2.kt | 12 ++++++++++++ .../pkg2.kt.new | 12 ++++++++++++ .../usage.kt | 8 ++++++++ .../packagePrivateOnlyChanged/build.log | 8 ++++++++ .../packagePrivateOnlyChanged/pkg.kt | 10 ++++++++++ .../packagePrivateOnlyChanged/pkg.kt.new | 10 ++++++++++ .../packagePrivateOnlyChanged/usage.kt | 7 +++++++ 17 files changed, 197 insertions(+) create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/build.log create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg1.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg1.kt.new create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg2.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg2.kt.new create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/usage.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/build.log create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg1.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg1.kt.new create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg2.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg2.kt.new create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/usage.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/build.log create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/pkg.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/pkg.kt.new create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/usage.kt diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java index c7cd780f232..00730fed6a4 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java @@ -467,6 +467,24 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { doTest(fileName); } + @TestMetadata("packageMultifileClassOneFileWithPublicChanges") + public void testPackageMultifileClassOneFileWithPublicChanges() throws Exception { + String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/"); + doTest(fileName); + } + + @TestMetadata("packageMultifileClassPrivateOnlyChanged") + public void testPackageMultifileClassPrivateOnlyChanged() throws Exception { + String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/"); + doTest(fileName); + } + + @TestMetadata("packagePrivateOnlyChanged") + public void testPackagePrivateOnlyChanged() throws Exception { + String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/"); + doTest(fileName); + } + @TestMetadata("packageRecreated") public void testPackageRecreated() throws Exception { String fileName = JetTestUtils.navigationMetadata("jps-plugin/testData/incremental/pureKotlin/packageRecreated/"); diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/build.log new file mode 100644 index 00000000000..a9c8fe4ddc2 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/build.log @@ -0,0 +1,17 @@ +Cleaning output files: +out/production/module/META-INF/module.kotlin_module +out/production/module/test/TestPackage.class +out/production/module/test/Utils.class +out/production/module/test/Utils__Pkg1Kt.class +out/production/module/test/Utils__Pkg2Kt.class +End of files +Compiling files: +src/pkg1.kt +src/pkg2.kt +End of files +Cleaning output files: +out/production/module/test/Usage.class +End of files +Compiling files: +src/usage.kt +End of files \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg1.kt b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg1.kt new file mode 100644 index 00000000000..0dc1be70318 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg1.kt @@ -0,0 +1,12 @@ +@file:JvmName("Utils") +@file:JvmMultifileClass +package test + +fun commonFun1() {} + +// TODO uncomment when generated value will also be private in bytecode +//private val deletedVal1: Int = 20 + +private fun deletedFun1(): Int = 10 + +private fun changedFun1(arg: Int) {} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg1.kt.new b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg1.kt.new new file mode 100644 index 00000000000..1aafd0fd8f0 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg1.kt.new @@ -0,0 +1,12 @@ +@file:JvmName("Utils") +@file:JvmMultifileClass +package test + +fun commonFun1() {} + +// TODO uncomment when generated value will also be private in bytecode +//private val addedVal1: Int = 20 + +private fun addedFun1(): Int = 50 + +private fun changedFun1(arg: String) {} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg2.kt b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg2.kt new file mode 100644 index 00000000000..fb983eec742 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg2.kt @@ -0,0 +1,14 @@ +@file:JvmName("Utils") +@file:JvmMultifileClass +package test + +fun commonFun2() {} + +fun publicDeletedFun2() {} + +// TODO uncomment when generated value will also be private in bytecode +//private val deletedVal2: Int = 20 + +private fun deletedFun2(): Int = 10 + +private fun changedFun2(arg: Int) {} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg2.kt.new b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg2.kt.new new file mode 100644 index 00000000000..a7dcc9a42f8 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/pkg2.kt.new @@ -0,0 +1,14 @@ +@file:JvmName("Utils") +@file:JvmMultifileClass +package test + +fun commonFun2() {} + +fun publicAddedFun2() {} + +// TODO uncomment when generated value will also be private in bytecode +//private val addedVal2: Int = 20 + +private fun addedFun2(): Int = 50 + +private fun changedFun2(arg: String) {} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/usage.kt b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/usage.kt new file mode 100644 index 00000000000..95078b37afe --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassOneFileWithPublicChanges/usage.kt @@ -0,0 +1,8 @@ +package test + +class Usage { + fun f() { + commonFun1() + commonFun2() + } +} diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/build.log new file mode 100644 index 00000000000..4c132408b65 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/build.log @@ -0,0 +1,11 @@ +Cleaning output files: +out/production/module/META-INF/module.kotlin_module +out/production/module/test/TestPackage.class +out/production/module/test/Utils.class +out/production/module/test/Utils__Pkg1Kt.class +out/production/module/test/Utils__Pkg2Kt.class +End of files +Compiling files: +src/pkg1.kt +src/pkg2.kt +End of files \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg1.kt b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg1.kt new file mode 100644 index 00000000000..0dc1be70318 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg1.kt @@ -0,0 +1,12 @@ +@file:JvmName("Utils") +@file:JvmMultifileClass +package test + +fun commonFun1() {} + +// TODO uncomment when generated value will also be private in bytecode +//private val deletedVal1: Int = 20 + +private fun deletedFun1(): Int = 10 + +private fun changedFun1(arg: Int) {} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg1.kt.new b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg1.kt.new new file mode 100644 index 00000000000..1aafd0fd8f0 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg1.kt.new @@ -0,0 +1,12 @@ +@file:JvmName("Utils") +@file:JvmMultifileClass +package test + +fun commonFun1() {} + +// TODO uncomment when generated value will also be private in bytecode +//private val addedVal1: Int = 20 + +private fun addedFun1(): Int = 50 + +private fun changedFun1(arg: String) {} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg2.kt b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg2.kt new file mode 100644 index 00000000000..421a66fe21b --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg2.kt @@ -0,0 +1,12 @@ +@file:JvmName("Utils") +@file:JvmMultifileClass +package test + +fun commonFun2() {} + +// TODO uncomment when generated value will also be private in bytecode +//private val deletedVal2: Int = 20 + +private fun deletedFun2(): Int = 10 + +private fun changedFun2(arg: Int) {} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg2.kt.new b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg2.kt.new new file mode 100644 index 00000000000..2921e042103 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/pkg2.kt.new @@ -0,0 +1,12 @@ +@file:JvmName("Utils") +@file:JvmMultifileClass +package test + +fun commonFun2() {} + +// TODO uncomment when generated value will also be private in bytecode +//private val addedVal2: Int = 20 + +private fun addedFun2(): Int = 50 + +private fun changedFun2(arg: String) {} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/usage.kt b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/usage.kt new file mode 100644 index 00000000000..95078b37afe --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packageMultifileClassPrivateOnlyChanged/usage.kt @@ -0,0 +1,8 @@ +package test + +class Usage { + fun f() { + commonFun1() + commonFun2() + } +} diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/build.log new file mode 100644 index 00000000000..ed1502ec2a6 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/build.log @@ -0,0 +1,8 @@ +Cleaning output files: +out/production/module/META-INF/module.kotlin_module +out/production/module/test/PkgKt.class +out/production/module/test/TestPackage.class +End of files +Compiling files: +src/pkg.kt +End of files \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/pkg.kt b/jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/pkg.kt new file mode 100644 index 00000000000..7dd67f6b538 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/pkg.kt @@ -0,0 +1,10 @@ +package test + +fun commonFun() {} + +// TODO uncomment when generated value will also be private in bytecode +//private val deletedVal: Int = 20 + +private fun deletedFun(): Int = 10 + +private fun changedFun(arg: Int) {} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/pkg.kt.new b/jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/pkg.kt.new new file mode 100644 index 00000000000..b8d74bb235b --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/pkg.kt.new @@ -0,0 +1,10 @@ +package test + +fun commonFun() {} + +// TODO uncomment when generated value will also be private in bytecode +//private val addedVal: Int = 20 + +private fun addedFun(): Int = 50 + +private fun changedFun(arg: String) {} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/usage.kt b/jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/usage.kt new file mode 100644 index 00000000000..137dc6be553 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/packagePrivateOnlyChanged/usage.kt @@ -0,0 +1,7 @@ +package test + +class Usage { + fun f() { + commonFun() + } +}