[CHERRY PICKED FROM IJ] Use RunAll in all Kotlin tearDown() implementations

GitOrigin-RevId: f9409eb1f5640905f46a0241b5fec9338483f331
Original commit: https://github.com/JetBrains/intellij-community/commit/58982727a601c749187a5946015c8b51b7e7789b
This commit is contained in:
Yan Zhulanow
2020-08-20 23:07:13 +09:00
committed by Nikita Bobko
parent 7bbec26b2d
commit 58bc5b80a1
7 changed files with 55 additions and 27 deletions
@@ -21,6 +21,7 @@ import com.intellij.openapi.util.io.FileUtil
import com.intellij.openapi.util.io.FileUtilRt
import com.intellij.testFramework.TestLoggerFactory
import com.intellij.testFramework.UsefulTestCase
import com.intellij.util.ThrowableRunnable
import junit.framework.TestCase
import org.apache.log4j.ConsoleAppender
import org.apache.log4j.Level
@@ -46,6 +47,7 @@ import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.K2MetadataCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.parseCommandLineArguments
import org.jetbrains.kotlin.idea.test.runAll
import org.jetbrains.kotlin.incremental.LookupSymbol
import org.jetbrains.kotlin.incremental.testingUtils.*
import org.jetbrains.kotlin.jps.build.dependeciestxt.ModulesTxt
@@ -151,15 +153,19 @@ abstract class AbstractIncrementalJpsTest(
}
override fun tearDown() {
restoreSystemProperties()
try {
restoreSystemProperties()
(AbstractIncrementalJpsTest::myProject).javaField!![this] = null
(AbstractIncrementalJpsTest::projectDescriptor).javaField!![this] = null
(AbstractIncrementalJpsTest::systemPropertiesBackup).javaField!![this] = null
lookupsDuringTest.clear()
enableICFixture.tearDown()
super.tearDown()
(AbstractIncrementalJpsTest::myProject).javaField!![this] = null
(AbstractIncrementalJpsTest::projectDescriptor).javaField!![this] = null
(AbstractIncrementalJpsTest::systemPropertiesBackup).javaField!![this] = null
} finally {
runAll(
ThrowableRunnable { lookupsDuringTest.clear() },
ThrowableRunnable { enableICFixture.tearDown() },
ThrowableRunnable { super.tearDown() }
)
}
}
// JPS forces rebuild of all files when JVM constant has been changed and Callbacks.ConstantAffectionResolver
@@ -17,9 +17,11 @@
package org.jetbrains.kotlin.jps.build
import com.intellij.testFramework.UsefulTestCase
import com.intellij.util.ThrowableRunnable
import org.jetbrains.jps.builders.BuildTarget
import org.jetbrains.jps.builders.storage.BuildDataPaths
import org.jetbrains.kotlin.config.IncrementalCompilation
import org.jetbrains.kotlin.idea.test.runAll
import org.jetbrains.kotlin.incremental.KOTLIN_CACHE_DIRECTORY_NAME
import org.jetbrains.kotlin.incremental.storage.BasicMapsOwner
import org.jetbrains.kotlin.incremental.testingUtils.Modification
@@ -42,8 +44,10 @@ abstract class AbstractIncrementalLazyCachesTest : AbstractIncrementalJpsTest()
}
override fun tearDown() {
enableICFixture.tearDown()
super.tearDown()
runAll(
ThrowableRunnable { enableICFixture.tearDown() },
ThrowableRunnable { super.tearDown() }
)
}
override fun doTest(testDataPath: String) {
@@ -17,6 +17,7 @@
package org.jetbrains.kotlin.jps.build
import com.intellij.testFramework.UsefulTestCase
import com.intellij.util.ThrowableRunnable
import com.intellij.util.containers.StringInterner
import org.jetbrains.kotlin.TestWithWorkingDir
import org.jetbrains.kotlin.build.JvmSourceRoot
@@ -28,6 +29,7 @@ import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
import org.jetbrains.kotlin.compilerRunner.*
import org.jetbrains.kotlin.config.Services
import org.jetbrains.kotlin.idea.artifacts.TestKotlinArtifacts
import org.jetbrains.kotlin.idea.test.runAll
import org.jetbrains.kotlin.incremental.components.LookupInfo
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.incremental.components.Position
@@ -202,8 +204,10 @@ abstract class AbstractLookupTrackerTest : TestWithWorkingDir() {
}
override fun tearDown() {
enableICFixture.tearDown()
super.tearDown()
runAll(
ThrowableRunnable { enableICFixture.tearDown() },
ThrowableRunnable { super.tearDown() }
)
}
protected abstract fun markDirty(removedAndModifiedSources: Iterable<File>)
@@ -22,22 +22,25 @@ import org.jetbrains.jps.model.library.JpsLibrary
import org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner
import org.jetbrains.kotlin.test.WithMutedInDatabaseRunTest
import org.jetbrains.kotlin.test.runTest
import org.jetbrains.kotlin.idea.test.runAll
@WithMutedInDatabaseRunTest
abstract class BaseKotlinJpsBuildTestCase : JpsBuildTestCase() {
@Throws(Exception::class)
override fun setUp() {
super.setUp()
System.setProperty("kotlin.jps.tests", "true")
}
@Throws(Exception::class)
override fun tearDown() {
System.clearProperty("kotlin.jps.tests")
myModel = null
myBuildParams.clear()
JpsKotlinCompilerRunner.releaseCompileServiceSession()
super.tearDown()
runAll(
ThrowableRunnable {
System.clearProperty("kotlin.jps.tests")
myModel = null
myBuildParams.clear()
},
ThrowableRunnable { JpsKotlinCompilerRunner.releaseCompileServiceSession() },
ThrowableRunnable { super.tearDown() }
)
}
private val libraries = mutableMapOf<String, JpsLibrary>()
@@ -6,9 +6,11 @@
package org.jetbrains.kotlin.jps.build
import com.intellij.openapi.util.io.FileUtil
import com.intellij.util.ThrowableRunnable
import org.jetbrains.jps.model.java.JpsJavaExtensionService
import org.jetbrains.jps.model.module.JpsModule
import org.jetbrains.jps.util.JpsPathUtil
import org.jetbrains.kotlin.idea.test.runAll
import java.io.File
import java.nio.file.Paths
@@ -39,8 +41,10 @@ abstract class KotlinJpsBuildTestBase : AbstractKotlinJpsBuildTestCase() {
}
override fun tearDown() {
workDir.deleteRecursively()
super.tearDown()
runAll(
ThrowableRunnable { workDir.deleteRecursively() },
ThrowableRunnable { super.tearDown() }
)
}
override fun doGetProjectDir(): File = workDir
@@ -16,11 +16,13 @@
package org.jetbrains.kotlin.jps.build
import com.intellij.util.ThrowableRunnable
import org.jetbrains.jps.builders.JpsBuildTestCase
import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner
import org.jetbrains.kotlin.config.LanguageVersion
import org.jetbrains.kotlin.daemon.common.isDaemonEnabled
import org.jetbrains.kotlin.idea.test.runAll
import org.jetbrains.kotlin.jps.build.fixtures.EnableICFixture
import org.jetbrains.kotlin.jps.model.kotlinCommonCompilerArguments
import org.jetbrains.kotlin.jps.model.kotlinCompilerArguments
@@ -36,8 +38,10 @@ class KotlinJpsBuildTestIncremental : KotlinJpsBuildTest() {
}
override fun tearDown() {
enableICFixture.tearDown()
super.tearDown()
runAll(
ThrowableRunnable { enableICFixture.tearDown() },
ThrowableRunnable { super.tearDown() }
)
}
fun testKotlinJavaScriptChangePackage() {
@@ -5,11 +5,12 @@
package org.jetbrains.kotlin.jps.build
import com.intellij.util.ThrowableRunnable
import org.jetbrains.jps.builders.*
import org.jetbrains.jps.builders.java.JavaSourceRootDescriptor
import org.jetbrains.jps.cmdline.ProjectDescriptor
import org.jetbrains.jps.incremental.ModuleBuildTarget
import org.jetbrains.kotlin.cli.jvm.config.JavaSourceRoot
import org.jetbrains.kotlin.idea.test.runAll
import org.jetbrains.kotlin.incremental.KOTLIN_CACHE_DIRECTORY_NAME
import org.jetbrains.kotlin.incremental.testingUtils.assertEqualDirectories
import org.jetbrains.kotlin.jps.build.fixtures.EnableICFixture
@@ -31,9 +32,11 @@ class RelocatableJpsCachesTest : BaseKotlinJpsBuildTestCase() {
}
override fun tearDown() {
workingDir.deleteRecursively()
enableICFixture.tearDown()
super.tearDown()
runAll(
ThrowableRunnable { workingDir.deleteRecursively() },
ThrowableRunnable { enableICFixture.tearDown() },
ThrowableRunnable { super.tearDown() }
)
}
fun testRelocatableCaches() {