From 432408e1a8aea97754e51107bfe90b3952df70dc Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Thu, 5 Feb 2015 18:17:37 +0300 Subject: [PATCH] Checking source to output mapping after rebuild. --- .../jps/build/AbstractIncrementalJpsTest.kt | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt b/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt index 1bb35a2852e..02eb45b76b8 100644 --- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt +++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt @@ -38,6 +38,7 @@ import java.util.regex.Pattern import kotlin.test.assertEquals import org.jetbrains.jps.model.JpsModuleRootModificationUtil import com.intellij.openapi.util.io.FileUtilRt +import org.jetbrains.kotlin.utils.Printer import org.jetbrains.jps.cmdline.ProjectDescriptor import junit.framework.TestCase import org.jetbrains.kotlin.jps.incremental.getKotlinCache @@ -221,7 +222,8 @@ public abstract class AbstractIncrementalJpsTest : JpsBuildTestCase() { } private fun createMappingsDump(project: ProjectDescriptor) = - createKotlinIncrementalCacheDump(project) + createKotlinIncrementalCacheDump(project) + "\n\n\n" + + createCommonMappingsDump(project) private fun createKotlinIncrementalCacheDump(project: ProjectDescriptor): String { return StringBuilder { @@ -233,6 +235,34 @@ public abstract class AbstractIncrementalJpsTest : JpsBuildTestCase() { }.toString() } + private fun createCommonMappingsDump(project: ProjectDescriptor): String { + val resultBuf = StringBuilder() + val result = Printer(resultBuf) + + result.println("Begin of SourceToOutputMap") + result.pushIndent() + + for (target in project.getBuildTargetIndex().getAllTargets()) { + result.println(target) + result.pushIndent() + + val mapping = project.dataManager.getSourceToOutputMap(target) + mapping.getSources().forEach { + val outputs = mapping.getOutputs(it).sort() + if (outputs.isNotEmpty()) { + result.println("source $it -> " + outputs) + } + } + + result.popIndent() + } + + result.popIndent() + result.println("End of SourceToOutputMap") + + return resultBuf.toString() + } + private data class MakeResult(val log: String, val makeFailed: Boolean, val mappingsDump: String?) private fun performModificationsAndMake(moduleNames: Set?): MakeResult {