[IC] Add in-module tests for incremental compilation

Two tests to check recompilation when parameter with default value was
added or removed without changing use-site.

Original commit: 96ba3b873e
This commit is contained in:
Roman Artemev
2020-11-27 12:12:04 +03:00
parent 4652312c5e
commit bf3414c491
12 changed files with 119 additions and 0 deletions
@@ -1110,6 +1110,16 @@ public class IncrementalJvmJpsTestGenerated extends AbstractIncrementalJvmJpsTes
runTest("jps-plugin/testData/incremental/pureKotlin/packageRemoved/");
}
@TestMetadata("parameterWithDefaultValueAdded")
public void testParameterWithDefaultValueAdded() throws Exception {
runTest("jps-plugin/testData/incremental/pureKotlin/parameterWithDefaultValueAdded/");
}
@TestMetadata("parameterWithDefaultValueRemoved")
public void testParameterWithDefaultValueRemoved() throws Exception {
runTest("jps-plugin/testData/incremental/pureKotlin/parameterWithDefaultValueRemoved/");
}
@TestMetadata("privateConstantsChanged")
public void testPrivateConstantsChanged() throws Exception {
runTest("jps-plugin/testData/incremental/pureKotlin/privateConstantsChanged/");
@@ -0,0 +1,45 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/FunKt.class
End of files
Compiling files:
src/fun.kt
End of files
Marked as dirty by Kotlin:
src/useDefault.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/UseDefaultKt.class
End of files
Compiling files:
src/useDefault.kt
End of files
Exit code: OK
------------------------------------------
================ Step #2 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/FunKt.class
End of files
Compiling files:
src/fun.kt
End of files
Marked as dirty by Kotlin:
src/useDefault.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/UseDefaultKt.class
End of files
Compiling files:
src/useDefault.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,5 @@
package test
fun f(x: Any) {
println("f(x: Any)")
}
@@ -0,0 +1,5 @@
package test
fun f(x: Any, y: String = "D") {
println("f(x: Any, $y)")
}
@@ -0,0 +1,5 @@
package test
fun f(x: Any = "", y: String = "D") {
println("f(x: Any, $y)")
}
@@ -0,0 +1,3 @@
package other
fun other() {}
@@ -0,0 +1,5 @@
package test
fun useDefault1() {
f(10)
}
@@ -0,0 +1,22 @@
================ Step #1 =================
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/FunKt.class
End of files
Compiling files:
src/fun.kt
End of files
Marked as dirty by Kotlin:
src/useDefault.kt
Exit code: ADDITIONAL_PASS_REQUIRED
------------------------------------------
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/test/UseDefaultKt.class
End of files
Compiling files:
src/useDefault.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,6 @@
package test
fun f(x: Any, y: String = "D") {
println("f(x: Any, $y)")
}
@@ -0,0 +1,5 @@
package test
fun f(x: Any) {
println("f(x: Any)")
}
@@ -0,0 +1,3 @@
package other
fun other() {}
@@ -0,0 +1,5 @@
package test
fun useDefault1() {
f(10)
}