From 58bc5b80a1f09ec266ee67d74d00fcded9720d66 Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Thu, 20 Aug 2020 23:07:13 +0900 Subject: [PATCH] [CHERRY PICKED FROM IJ] Use RunAll in all Kotlin tearDown() implementations GitOrigin-RevId: f9409eb1f5640905f46a0241b5fec9338483f331 Original commit: https://github.com/JetBrains/intellij-community/commit/58982727a601c749187a5946015c8b51b7e7789b --- .../jps/build/AbstractIncrementalJpsTest.kt | 22 ++++++++++++------- .../AbstractIncrementalLazyCachesTest.kt | 8 +++++-- .../jps/build/AbstractLookupTrackerTest.kt | 8 +++++-- .../jps/build/BaseKotlinJpsBuildTestCase.kt | 17 ++++++++------ .../jps/build/KotlinJpsBuildTestBase.kt | 8 +++++-- .../build/KotlinJpsBuildTestIncremental.kt | 8 +++++-- .../jps/build/RelocatableJpsCachesTest.kt | 11 ++++++---- 7 files changed, 55 insertions(+), 27 deletions(-) diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt index 62ab22a1cc1..3e9f1863fe5 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt @@ -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 diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt index 9cb1353cc30..a59f33190b3 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt @@ -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) { diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt index e147fc4b4f0..983886009ab 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt @@ -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) diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt index fae3c0db1e5..cfa2b8b85b9 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt @@ -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() diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestBase.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestBase.kt index eae51a0d386..1395d61c36a 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestBase.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestBase.kt @@ -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 diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestIncremental.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestIncremental.kt index 7ce1a6b3bd8..153e77ac95d 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestIncremental.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestIncremental.kt @@ -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() { diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/RelocatableJpsCachesTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/RelocatableJpsCachesTest.kt index 7eda8ebed38..dcbb4332ec6 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/RelocatableJpsCachesTest.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/RelocatableJpsCachesTest.kt @@ -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() {