Save system properties in incremental jps tests
Original commit: d53cd3c70b
This commit is contained in:
@@ -53,6 +53,7 @@ import org.jetbrains.kotlin.jps.incremental.getKotlinCache
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import org.jetbrains.kotlin.utils.Printer
|
||||
import org.jetbrains.kotlin.utils.keysToMap
|
||||
import java.io.ByteArrayInputStream
|
||||
import java.io.ByteArrayOutputStream
|
||||
import java.io.File
|
||||
import java.io.PrintStream
|
||||
@@ -106,14 +107,25 @@ public abstract class AbstractIncrementalJpsTest(
|
||||
Logger.getRootLogger().addAppender(console)
|
||||
}
|
||||
|
||||
private val systemPropertiesBackup = run {
|
||||
val props = System.getProperties()
|
||||
val output = ByteArrayOutputStream()
|
||||
props.store(output, "System properties backup")
|
||||
output.toByteArray()
|
||||
}
|
||||
|
||||
private fun restoreSystemProperties() {
|
||||
val input = ByteArrayInputStream(systemPropertiesBackup)
|
||||
val props = Properties()
|
||||
props.load(input)
|
||||
System.setProperties(props)
|
||||
}
|
||||
|
||||
override fun setUp() {
|
||||
super.setUp()
|
||||
System.setProperty("kotlin.jps.tests", "true")
|
||||
lookupsDuringTest = hashSetOf()
|
||||
|
||||
if (enableExperimentalIncrementalCompilation) {
|
||||
IncrementalCompilation.enableExperimental()
|
||||
}
|
||||
IncrementalCompilation.setIsExperimental(enableExperimentalIncrementalCompilation)
|
||||
|
||||
if (DEBUG_LOGGING_ENABLED) {
|
||||
enableDebugLogging()
|
||||
@@ -121,12 +133,7 @@ public abstract class AbstractIncrementalJpsTest(
|
||||
}
|
||||
|
||||
override fun tearDown() {
|
||||
System.clearProperty("kotlin.jps.tests")
|
||||
|
||||
if (enableExperimentalIncrementalCompilation) {
|
||||
IncrementalCompilation.disableExperimental()
|
||||
}
|
||||
|
||||
restoreSystemProperties()
|
||||
super.tearDown()
|
||||
}
|
||||
|
||||
|
||||
+6
-21
@@ -33,16 +33,11 @@ public abstract class AbstractIncrementalLazyCachesTest : AbstractIncrementalJps
|
||||
get() = "expected-kotlin-caches.txt"
|
||||
|
||||
override fun doTest(testDataPath: String) {
|
||||
try {
|
||||
super.doTest(testDataPath)
|
||||
super.doTest(testDataPath)
|
||||
|
||||
val actual = dumpKotlinCachesFileNames()
|
||||
val expectedFile = File(testDataPath, expectedCachesFileName)
|
||||
UsefulTestCase.assertSameLinesWithFile(expectedFile.canonicalPath, actual)
|
||||
}
|
||||
finally {
|
||||
IncrementalCompilation.enableIncrementalCompilation()
|
||||
}
|
||||
val actual = dumpKotlinCachesFileNames()
|
||||
val expectedFile = File(testDataPath, expectedCachesFileName)
|
||||
UsefulTestCase.assertSameLinesWithFile(expectedFile.canonicalPath, actual)
|
||||
}
|
||||
|
||||
override fun performAdditionalModifications(modifications: List<AbstractIncrementalJpsTest.Modification>) {
|
||||
@@ -55,20 +50,10 @@ public abstract class AbstractIncrementalLazyCachesTest : AbstractIncrementalJps
|
||||
|
||||
when {
|
||||
name.endsWith("incremental-compilation") -> {
|
||||
if (modification.dataFile.readAsBool()) {
|
||||
IncrementalCompilation.enableIncrementalCompilation()
|
||||
}
|
||||
else {
|
||||
IncrementalCompilation.disableIncrementalCompilation()
|
||||
}
|
||||
IncrementalCompilation.setIsEnabled(modification.dataFile.readAsBool())
|
||||
}
|
||||
name.endsWith("experimental-compilation") -> {
|
||||
if (modification.dataFile.readAsBool()) {
|
||||
IncrementalCompilation.enableExperimental()
|
||||
}
|
||||
else {
|
||||
IncrementalCompilation.disableExperimental()
|
||||
}
|
||||
IncrementalCompilation.setIsExperimental(modification.dataFile.readAsBool())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-7
@@ -31,13 +31,7 @@ abstract class AbstractExperimentalIncrementalLazyCachesTest : AbstractIncrement
|
||||
get() = "experimental-expected-kotlin-caches.txt"
|
||||
}
|
||||
|
||||
abstract class AbstractExperimentalChangeIncrementalOptionTest : AbstractIncrementalLazyCachesTest() {
|
||||
override fun setUp() {
|
||||
super.setUp()
|
||||
IncrementalCompilation.enableIncrementalCompilation()
|
||||
IncrementalCompilation.disableExperimental()
|
||||
}
|
||||
}
|
||||
abstract class AbstractExperimentalChangeIncrementalOptionTest : AbstractIncrementalLazyCachesTest()
|
||||
|
||||
abstract class AbstractExperimentalIncrementalCacheVersionChangedTest : AbstractIncrementalCacheVersionChangedTest() {
|
||||
override val enableExperimentalIncrementalCompilation = true
|
||||
|
||||
Reference in New Issue
Block a user