173: jps, mpp: fix AbstractIncrementalJpsTest.kt.173

Original commit: c71357dd76
This commit is contained in:
Sergey Rostov
2018-06-08 13:50:05 +03:00
parent fe9eb0310f
commit 2725c7b9ae
@@ -60,9 +60,9 @@ import java.util.concurrent.Future
import kotlin.reflect.jvm.javaField import kotlin.reflect.jvm.javaField
abstract class AbstractIncrementalJpsTest( abstract class AbstractIncrementalJpsTest(
private val allowNoFilesWithSuffixInTestData: Boolean = false, private val allowNoFilesWithSuffixInTestData: Boolean = false,
private val checkDumpsCaseInsensitively: Boolean = false, private val checkDumpsCaseInsensitively: Boolean = false,
private val allowNoBuildLogFileInTestData: Boolean = false private val allowNoBuildLogFileInTestData: Boolean = false
) : BaseKotlinJpsBuildTestCase() { ) : BaseKotlinJpsBuildTestCase() {
companion object { companion object {
private val COMPILATION_FAILED = "COMPILATION FAILED" private val COMPILATION_FAILED = "COMPILATION FAILED"
@@ -160,11 +160,11 @@ abstract class AbstractIncrementalJpsTest(
if (!buildResult.isSuccessful) { if (!buildResult.isSuccessful) {
val errorMessages = val errorMessages =
buildResult buildResult
.getMessages(BuildMessage.Kind.ERROR) .getMessages(BuildMessage.Kind.ERROR)
.map { it.messageText } .map { it.messageText }
.map { it.replace("^.+:\\d+:\\s+".toRegex(), "").trim() } .map { it.replace("^.+:\\d+:\\s+".toRegex(), "").trim() }
.joinToString("\n") .joinToString("\n")
return MakeResult(logger.log + "$COMPILATION_FAILED\n" + errorMessages + "\n", true, null) return MakeResult(logger.log + "$COMPILATION_FAILED\n" + errorMessages + "\n", true, null)
} }
else { else {
@@ -253,13 +253,13 @@ abstract class AbstractIncrementalJpsTest(
} }
protected open fun createBuildLog(incrementalMakeResults: List<AbstractIncrementalJpsTest.MakeResult>): String = protected open fun createBuildLog(incrementalMakeResults: List<AbstractIncrementalJpsTest.MakeResult>): String =
buildString { buildString {
incrementalMakeResults.forEachIndexed { i, makeResult -> incrementalMakeResults.forEachIndexed { i, makeResult ->
if (i > 0) append("\n") if (i > 0) append("\n")
append("================ Step #${i + 1} =================\n\n") append("================ Step #${i + 1} =================\n\n")
append(makeResult.log) append(makeResult.log)
}
} }
}
protected open fun doTest(testDataPath: String) { protected open fun doTest(testDataPath: String) {
testDataDir = File(testDataPath) testDataDir = File(testDataPath)
@@ -289,9 +289,9 @@ abstract class AbstractIncrementalJpsTest(
project: ProjectDescriptor, project: ProjectDescriptor,
dummyCompileContext: CompileContext dummyCompileContext: CompileContext
) = createKotlinIncrementalCacheDump(project, dummyCompileContext) + "\n\n\n" + ) = createKotlinIncrementalCacheDump(project, dummyCompileContext) + "\n\n\n" +
createLookupCacheDump(project) + "\n\n\n" + createLookupCacheDump(project) + "\n\n\n" +
createCommonMappingsDump(project) + "\n\n\n" + createCommonMappingsDump(project) + "\n\n\n" +
createJavaMappingsDump(project) createJavaMappingsDump(project)
private fun createKotlinIncrementalCacheDump( private fun createKotlinIncrementalCacheDump(
project: ProjectDescriptor, project: ProjectDescriptor,
@@ -299,9 +299,12 @@ abstract class AbstractIncrementalJpsTest(
): String { ): String {
return buildString { return buildString {
for (target in project.allModuleTargets.sortedBy { it.presentableName }) { for (target in project.allModuleTargets.sortedBy { it.presentableName }) {
append("<target $target>\n") val kotlinCache = project.dataManager.getKotlinCache(dummyCompileContext.kotlinBuildTargets[target])
append(project.dataManager.getKotlinCache(dummyCompileContext.kotlinBuildTargets[target]!!).dump()) if (kotlinCache != null) {
append("</target $target>\n\n\n") append("<target $target>\n")
append(kotlinCache.dump())
append("</target $target>\n\n\n")
}
} }
} }
} }
@@ -407,7 +410,7 @@ abstract class AbstractIncrementalJpsTest(
} }
else { else {
val nameToModule = moduleDependencies.keys val nameToModule = moduleDependencies.keys
.keysToMap { addModule(it, arrayOf(getAbsolutePath("$it/src")), null, null, jdk)!! } .keysToMap { addModule(it, arrayOf(getAbsolutePath("$it/src")), null, null, jdk)!! }
for ((moduleName, dependencies) in moduleDependencies) { for ((moduleName, dependencies) in moduleDependencies) {
val module = nameToModule[moduleName]!! val module = nameToModule[moduleName]!!
@@ -527,6 +530,6 @@ internal val ProjectDescriptor.allModuleTargets: Collection<ModuleBuildTarget>
private class DependencyDescriptor(val name: String, val exported: Boolean) private class DependencyDescriptor(val name: String, val exported: Boolean)
private fun parseDependency(dependency: String): DependencyDescriptor = private fun parseDependency(dependency: String): DependencyDescriptor =
DependencyDescriptor(dependency.removeSuffix(EXPORTED_SUFFIX), dependency.endsWith(EXPORTED_SUFFIX)) DependencyDescriptor(dependency.removeSuffix(EXPORTED_SUFFIX), dependency.endsWith(EXPORTED_SUFFIX))
private val EXPORTED_SUFFIX = "[exported]" private val EXPORTED_SUFFIX = "[exported]"