From 2aeccc70118b839bd4ee462f99396fcb100e77c7 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Tue, 17 Mar 2015 19:34:09 +0300 Subject: [PATCH] Expanded incremental compilation tests with cache version change. --- .../IncrementalCacheVersionChangedTest.kt | 18 ++++++++++++++---- .../cacheVersionChangedAndFileModified/a.kt | 1 + .../cacheVersionChangedAndFileModified/b.kt | 1 + .../b.kt.new | 1 + .../build.log | 3 +++ .../other.kt | 4 ++++ .../cacheVersionChangedMultiModule/build.log | 15 +++++++++++++++ .../dependencies.txt | 2 ++ .../module1_a.kt | 6 ++++++ .../module2_b.kt | 5 +++++ .../module2_b.kt.new | 5 +++++ 11 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/other.kt create mode 100644 jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/build.log create mode 100644 jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/dependencies.txt create mode 100644 jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/module1_a.kt create mode 100644 jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/module2_b.kt create mode 100644 jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/module2_b.kt.new diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalCacheVersionChangedTest.kt b/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalCacheVersionChangedTest.kt index 85e09bcdfb3..2df81660a18 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalCacheVersionChangedTest.kt +++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalCacheVersionChangedTest.kt @@ -32,15 +32,25 @@ public class IncrementalCacheVersionChangedTest : AbstractIncrementalJpsTest() { doTest("jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/") } + fun testCacheVersionChangedMultiModule() { + doTest("jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/") + } + override val allowNoFilesWithSuffixInTestData: Boolean get() = true override fun performAdditionalModifications() { val storageForTargetType = BuildDataPathsImpl(myDataStorageRoot).getTargetTypeDataRoot(JavaModuleBuildTargetType.PRODUCTION) - val relativePath = "module/${CacheFormatVersion.FORMAT_VERSION_FILE_PATH}" - val cacheVersionFile = File(storageForTargetType, relativePath) - assertTrue(cacheVersionFile.exists()) - cacheVersionFile.writeText("777") + + val moduleNames = if (getTestName(false) == "CacheVersionChangedMultiModule") listOf("module1", "module2") else listOf("module") + + for (moduleName in moduleNames) { + val relativePath = "$moduleName/${CacheFormatVersion.FORMAT_VERSION_FILE_PATH}" + val cacheVersionFile = File(storageForTargetType, relativePath) + + assertTrue(cacheVersionFile.exists()) + cacheVersionFile.writeText("777") + } } } diff --git a/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/a.kt b/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/a.kt index 91fe7016ac5..9a91e164a2d 100644 --- a/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/a.kt +++ b/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/a.kt @@ -1,4 +1,5 @@ package test fun f() { + other.other() } \ No newline at end of file diff --git a/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/b.kt b/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/b.kt index c8d3d771251..f4131c37ad1 100644 --- a/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/b.kt +++ b/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/b.kt @@ -1,4 +1,5 @@ package test fun g() { + other.other() } \ No newline at end of file diff --git a/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/b.kt.new b/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/b.kt.new index c8d3d771251..f4131c37ad1 100644 --- a/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/b.kt.new +++ b/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/b.kt.new @@ -1,4 +1,5 @@ package test fun g() { + other.other() } \ No newline at end of file diff --git a/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/build.log b/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/build.log index 073f1409ae5..dcc343c872e 100644 --- a/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/build.log +++ b/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/build.log @@ -3,9 +3,12 @@ out/production/module/test/TestPackage$b$*.class out/production/module/test/TestPackage.class End of files Cleaning output files: +out/production/module/other/OtherPackage$other$*.class +out/production/module/other/OtherPackage.class out/production/module/test/TestPackage$a$*.class End of files Compiling files: src/a.kt src/b.kt +src/other.kt End of files \ No newline at end of file diff --git a/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/other.kt b/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/other.kt new file mode 100644 index 00000000000..3b98ad64c05 --- /dev/null +++ b/jps-plugin/testData/incremental/custom/cacheVersionChangedAndFileModified/other.kt @@ -0,0 +1,4 @@ +package other + +fun other() { +} \ No newline at end of file diff --git a/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/build.log b/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/build.log new file mode 100644 index 00000000000..ec0b0e5da7c --- /dev/null +++ b/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/build.log @@ -0,0 +1,15 @@ +Cleaning output files: +out/production/module1/a/A.class +out/production/module1/a/APackage$module1_a$*.class +out/production/module1/a/APackage.class +End of files +Compiling files: +module1/src/module1_a.kt +End of files +Cleaning output files: +out/production/module2/b/BPackage$module2_b$*.class +out/production/module2/b/BPackage.class +End of files +Compiling files: +module2/src/module2_b.kt +End of files \ No newline at end of file diff --git a/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/dependencies.txt b/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/dependencies.txt new file mode 100644 index 00000000000..827bf04cc58 --- /dev/null +++ b/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/dependencies.txt @@ -0,0 +1,2 @@ +module1-> +module2->module1 diff --git a/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/module1_a.kt b/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/module1_a.kt new file mode 100644 index 00000000000..a3470c00a84 --- /dev/null +++ b/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/module1_a.kt @@ -0,0 +1,6 @@ +package a + +class A + +fun a() { +} diff --git a/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/module2_b.kt b/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/module2_b.kt new file mode 100644 index 00000000000..5c19b61add7 --- /dev/null +++ b/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/module2_b.kt @@ -0,0 +1,5 @@ +package b + +fun b(param: a.A) { + a.a() +} diff --git a/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/module2_b.kt.new b/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/module2_b.kt.new new file mode 100644 index 00000000000..5c19b61add7 --- /dev/null +++ b/jps-plugin/testData/incremental/custom/cacheVersionChangedMultiModule/module2_b.kt.new @@ -0,0 +1,5 @@ +package b + +fun b(param: a.A) { + a.a() +}