Made it possible to easily enable debug logging in incremental compilation tests.
This commit is contained in:
@@ -16,40 +16,45 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.jps.build
|
package org.jetbrains.kotlin.jps.build
|
||||||
|
|
||||||
import org.jetbrains.jps.builders.JpsBuildTestCase
|
import com.intellij.openapi.diagnostic
|
||||||
import kotlin.properties.Delegates
|
|
||||||
import com.intellij.openapi.util.io.FileUtil
|
import com.intellij.openapi.util.io.FileUtil
|
||||||
import java.io.File
|
import com.intellij.openapi.util.io.FileUtilRt
|
||||||
import org.jetbrains.kotlin.test.JetTestUtils
|
import com.intellij.testFramework.TestLoggerFactory
|
||||||
|
import com.intellij.testFramework.UsefulTestCase
|
||||||
|
import junit.framework.TestCase
|
||||||
|
import org.apache.log4j.ConsoleAppender
|
||||||
|
import org.apache.log4j.Level
|
||||||
|
import org.apache.log4j.Logger
|
||||||
|
import org.apache.log4j.PatternLayout
|
||||||
|
import org.jetbrains.jps.api.CanceledStatus
|
||||||
|
import org.jetbrains.jps.builders.BuildResult
|
||||||
import org.jetbrains.jps.builders.CompileScopeTestBuilder
|
import org.jetbrains.jps.builders.CompileScopeTestBuilder
|
||||||
|
import org.jetbrains.jps.builders.JpsBuildTestCase
|
||||||
|
import org.jetbrains.jps.builders.impl.BuildDataPathsImpl
|
||||||
import org.jetbrains.jps.builders.impl.logging.ProjectBuilderLoggerBase
|
import org.jetbrains.jps.builders.impl.logging.ProjectBuilderLoggerBase
|
||||||
|
import org.jetbrains.jps.builders.java.dependencyView.Callbacks
|
||||||
import org.jetbrains.jps.builders.logging.BuildLoggingManager
|
import org.jetbrains.jps.builders.logging.BuildLoggingManager
|
||||||
|
import org.jetbrains.jps.cmdline.ProjectDescriptor
|
||||||
|
import org.jetbrains.jps.incremental.BuilderRegistry
|
||||||
|
import org.jetbrains.jps.incremental.IncProjectBuilder
|
||||||
|
import org.jetbrains.jps.incremental.messages.BuildMessage
|
||||||
|
import org.jetbrains.jps.model.JpsModuleRootModificationUtil
|
||||||
import org.jetbrains.jps.model.java.JpsJavaExtensionService
|
import org.jetbrains.jps.model.java.JpsJavaExtensionService
|
||||||
import org.jetbrains.jps.util.JpsPathUtil
|
import org.jetbrains.jps.util.JpsPathUtil
|
||||||
import com.intellij.testFramework.UsefulTestCase
|
|
||||||
import org.jetbrains.kotlin.config.IncrementalCompilation
|
|
||||||
import java.util.ArrayList
|
|
||||||
import org.jetbrains.jps.builders.impl.BuildDataPathsImpl
|
|
||||||
import kotlin.test.fail
|
|
||||||
import java.util.HashMap
|
|
||||||
import org.jetbrains.kotlin.utils.keysToMap
|
|
||||||
import org.jetbrains.jps.incremental.messages.BuildMessage
|
|
||||||
import kotlin.test.assertFalse
|
|
||||||
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
|
|
||||||
import java.io.ByteArrayOutputStream
|
|
||||||
import java.io.PrintStream
|
|
||||||
import org.jetbrains.jps.incremental.IncProjectBuilder
|
|
||||||
import org.jetbrains.jps.builders.BuildResult
|
|
||||||
import org.jetbrains.jps.incremental.BuilderRegistry
|
|
||||||
import org.jetbrains.jps.api.CanceledStatus
|
|
||||||
import org.jetbrains.jps.builders.java.dependencyView.Callbacks
|
|
||||||
import org.jetbrains.kotlin.jps.build.classFilesComparison.assertEqualDirectories
|
import org.jetbrains.kotlin.jps.build.classFilesComparison.assertEqualDirectories
|
||||||
|
import org.jetbrains.kotlin.jps.incremental.getKotlinCache
|
||||||
|
import org.jetbrains.kotlin.test.JetTestUtils
|
||||||
|
import org.jetbrains.kotlin.utils.Printer
|
||||||
|
import org.jetbrains.kotlin.utils.keysToMap
|
||||||
|
import java.io.ByteArrayOutputStream
|
||||||
|
import java.io.File
|
||||||
|
import java.io.PrintStream
|
||||||
|
import java.util.ArrayList
|
||||||
|
import java.util.HashMap
|
||||||
|
import kotlin.properties.Delegates
|
||||||
|
import kotlin.test.assertEquals
|
||||||
|
import kotlin.test.assertFalse
|
||||||
|
import kotlin.test.fail
|
||||||
|
|
||||||
public abstract class AbstractIncrementalJpsTest : JpsBuildTestCase() {
|
public abstract class AbstractIncrementalJpsTest : JpsBuildTestCase() {
|
||||||
companion object {
|
companion object {
|
||||||
@@ -57,15 +62,33 @@ public abstract class AbstractIncrementalJpsTest : JpsBuildTestCase() {
|
|||||||
|
|
||||||
// change to "/tmp" or anything when default is too long (for easier debugging)
|
// change to "/tmp" or anything when default is too long (for easier debugging)
|
||||||
val TEMP_DIRECTORY_TO_USE = File(FileUtilRt.getTempDirectory())
|
val TEMP_DIRECTORY_TO_USE = File(FileUtilRt.getTempDirectory())
|
||||||
|
|
||||||
|
val DEBUG_LOGGING_ENABLED = System.getProperty("debug.logging.enabled") == "true"
|
||||||
}
|
}
|
||||||
|
|
||||||
private var testDataDir: File by Delegates.notNull()
|
private var testDataDir: File by Delegates.notNull()
|
||||||
|
|
||||||
var workDir: File by Delegates.notNull()
|
var workDir: File by Delegates.notNull()
|
||||||
|
|
||||||
|
private fun enableDebugLogging() {
|
||||||
|
diagnostic.Logger.setFactory(javaClass<TestLoggerFactory>())
|
||||||
|
TestLoggerFactory.dumpLogToStdout("")
|
||||||
|
TestLoggerFactory.enableDebugLogging(myTestRootDisposable, "#org")
|
||||||
|
|
||||||
|
val console = ConsoleAppender()
|
||||||
|
console.setLayout(PatternLayout("%d [%p|%c|%C{1}] %m%n"));
|
||||||
|
console.setThreshold(Level.ALL)
|
||||||
|
console.activateOptions()
|
||||||
|
Logger.getRootLogger().addAppender(console)
|
||||||
|
}
|
||||||
|
|
||||||
override fun setUp() {
|
override fun setUp() {
|
||||||
super.setUp()
|
super.setUp()
|
||||||
System.setProperty("kotlin.jps.tests", "true")
|
System.setProperty("kotlin.jps.tests", "true")
|
||||||
|
|
||||||
|
if (DEBUG_LOGGING_ENABLED) {
|
||||||
|
enableDebugLogging()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun tearDown() {
|
override fun tearDown() {
|
||||||
|
|||||||
Reference in New Issue
Block a user