diff --git a/platform/testFramework/testSrc/com/intellij/testFramework/FixtureRule.kt b/platform/testFramework/testSrc/com/intellij/testFramework/FixtureRule.kt index ea4b8f4016f5..492a4954872d 100644 --- a/platform/testFramework/testSrc/com/intellij/testFramework/FixtureRule.kt +++ b/platform/testFramework/testSrc/com/intellij/testFramework/FixtureRule.kt @@ -33,8 +33,6 @@ import com.intellij.openapi.vfs.impl.VirtualFilePointerManagerImpl import com.intellij.openapi.vfs.newvfs.persistent.PersistentFS import com.intellij.openapi.vfs.newvfs.persistent.PersistentFSImpl import com.intellij.openapi.vfs.pointers.VirtualFilePointerManager -import com.intellij.testFramework.fixtures.IdeaProjectTestFixture -import com.intellij.testFramework.fixtures.IdeaTestFixtureFactory import com.intellij.util.SmartList import com.intellij.util.lang.CompoundRuntimeException import org.junit.rules.ExternalResource @@ -148,35 +146,6 @@ public fun runInEdtAndWait(runnable: () -> Unit) { EdtTestUtil.runInEdtAndWait(runnable) } -public open class FixtureRule() : ExternalResource() { - companion object { - init { - Logger.setFactory(javaClass()) - } - } - - protected var _projectFixture: IdeaProjectTestFixture? = null - - public val projectFixture: IdeaProjectTestFixture - get() = _projectFixture!! - - open fun createBuilder() = IdeaTestFixtureFactory.getFixtureFactory().createLightFixtureBuilder() - - override final fun before() { - val builder = createBuilder() - if (_projectFixture == null) { - _projectFixture = builder.getFixture() - } - - TestRunnerUtil.replaceIdeEventQueueSafely() - runInEdtAndWait { projectFixture.setUp() } - } - - override final fun after() { - runInEdtAndWait { projectFixture.tearDown() } - } -} - public class RuleChain(vararg val rules: TestRule) : TestRule { override fun apply(base: Statement, description: Description): Statement { var statement = base diff --git a/plugins/settings-repository/src/IcsManager.kt b/plugins/settings-repository/src/IcsManager.kt index 69280ba098ce..1d0eea232d42 100644 --- a/plugins/settings-repository/src/IcsManager.kt +++ b/plugins/settings-repository/src/IcsManager.kt @@ -151,7 +151,7 @@ class IcsManager(dir: File) { } } - fun sync(syncType: SyncType, project: Project?, localRepositoryInitializer: (() -> Unit)? = null) = syncManager.sync(syncType, project, localRepositoryInitializer) + fun sync(syncType: SyncType, project: Project? = null, localRepositoryInitializer: (() -> Unit)? = null) = syncManager.sync(syncType, project, localRepositoryInitializer) private fun cancelAndDisableAutoCommit() { if (autoCommitEnabled) { diff --git a/plugins/settings-repository/src/sync.kt b/plugins/settings-repository/src/sync.kt index b85604a5915c..f73b6f6e91fe 100644 --- a/plugins/settings-repository/src/sync.kt +++ b/plugins/settings-repository/src/sync.kt @@ -37,7 +37,7 @@ class SyncManager(private val icsManager: IcsManager, private val autoSyncManage volatile var writeAndDeleteProhibited = false private set - public fun sync(syncType: SyncType, project: Project?, localRepositoryInitializer: (() -> Unit)? = null): UpdateResult? { + public fun sync(syncType: SyncType, project: Project? = null, localRepositoryInitializer: (() -> Unit)? = null): UpdateResult? { var exception: Throwable? = null var restartApplication = false var updateResult: UpdateResult? = null diff --git a/plugins/settings-repository/testSrc/GitTest.kt b/plugins/settings-repository/testSrc/GitTest.kt index 588fa1fd5d08..0046a0af2528 100644 --- a/plugins/settings-repository/testSrc/GitTest.kt +++ b/plugins/settings-repository/testSrc/GitTest.kt @@ -21,6 +21,7 @@ import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.vcs.merge.MergeSession import com.intellij.openapi.vfs.CharsetToolkit import com.intellij.openapi.vfs.VirtualFile +import com.intellij.testFramework.ProjectRule import com.intellij.testFramework.path import com.intellij.util.PathUtilRt import org.assertj.core.api.Assertions.assertThat @@ -37,6 +38,7 @@ import org.jetbrains.settingsRepository.git.GitRepositoryManager import org.jetbrains.settingsRepository.git.commit import org.jetbrains.settingsRepository.git.computeIndexDiff import org.jetbrains.settingsRepository.git.resetHard +import org.junit.ClassRule import org.junit.Test import java.io.File import java.util.Arrays @@ -48,7 +50,11 @@ object AM { val MARKER_ACCEPT_THEIRS: ByteArray = "__accept theirs__".toByteArray() } -class GitTest : TestCase() { +class GitTest : IcsTestCase() { + companion object { + @ClassRule val projectRule = ProjectRule() + } + private val repositoryManager: GitRepositoryManager get() = icsManager.repositoryManager as GitRepositoryManager @@ -403,6 +409,6 @@ class GitTest : TestCase() { } private fun sync(syncType: SyncType) { - icsManager.sync(syncType, fixtureManager.projectFixture.getProject()) + icsManager.sync(syncType) } } \ No newline at end of file diff --git a/plugins/settings-repository/testSrc/TestCase.kt b/plugins/settings-repository/testSrc/IcsTestCase.kt similarity index 88% rename from plugins/settings-repository/testSrc/TestCase.kt rename to plugins/settings-repository/testSrc/IcsTestCase.kt index 47ca047e0544..6c2d67dcc9c9 100644 --- a/plugins/settings-repository/testSrc/TestCase.kt +++ b/plugins/settings-repository/testSrc/IcsTestCase.kt @@ -18,7 +18,6 @@ package org.jetbrains.settingsRepository.test import com.intellij.openapi.components.RoamingType import com.intellij.openapi.components.impl.stores.StreamProvider import com.intellij.openapi.util.io.FileUtil -import com.intellij.testFramework.FixtureRule import com.intellij.testFramework.PlatformTestUtil import com.intellij.testFramework.TemporaryDirectory import org.eclipse.jgit.lib.Repository @@ -27,7 +26,6 @@ import org.jetbrains.jgit.dirCache.edit import org.jetbrains.settingsRepository.IcsManager import org.jetbrains.settingsRepository.git import org.junit.Rule -import org.junit.rules.TestRule import java.io.File import kotlin.properties.Delegates @@ -48,13 +46,9 @@ fun Repository.add(data: ByteArray, path: String): Repository { return this } -abstract class TestCase { - val fixtureManager = FixtureRule() - +abstract class IcsTestCase { val tempDirManager = TemporaryDirectory() - public Rule fun getTemporaryFolder(): TemporaryDirectory = tempDirManager - - public Rule fun getFixtureRule(): TestRule = fixtureManager + @Rule fun getTemporaryFolder() = tempDirManager val icsManager by Delegates.lazy { val icsManager = IcsManager(tempDirManager.newDirectory()) diff --git a/plugins/settings-repository/testSrc/LoadTest.kt b/plugins/settings-repository/testSrc/LoadTest.kt index 5fc5fc29092a..7851a3f56235 100644 --- a/plugins/settings-repository/testSrc/LoadTest.kt +++ b/plugins/settings-repository/testSrc/LoadTest.kt @@ -19,6 +19,7 @@ import com.intellij.configurationStore.SchemeManagerImpl import com.intellij.configurationStore.TestScheme import com.intellij.configurationStore.TestSchemesProcessor import com.intellij.openapi.components.RoamingType +import com.intellij.testFramework.ProjectRule import com.intellij.util.xmlb.serialize import com.intellij.util.xmlb.toByteArray import org.assertj.core.api.Assertions.assertThat @@ -26,15 +27,20 @@ import org.eclipse.jgit.lib.Repository import org.jetbrains.settingsRepository.ReadonlySource import org.jetbrains.settingsRepository.git.cloneBare import org.jetbrains.settingsRepository.git.commit +import org.junit.ClassRule import org.junit.Test import java.io.File -class LoadTest : TestCase() { +class LoadTest : IcsTestCase() { + companion object { + @ClassRule val projectRule = ProjectRule() + } + private val dirPath = "\$ROOT_CONFIG$/keymaps" private fun createSchemeManager(dirPath: String) = SchemeManagerImpl(dirPath, TestSchemesProcessor(), RoamingType.PER_USER, provider, tempDirManager.newDirectory("schemes")) - public Test fun `load scheme`() { + @Test fun `load scheme`() { val localScheme = TestScheme("local") val data = localScheme.serialize().toByteArray() provider.write("$dirPath/local.xml", data) @@ -44,7 +50,7 @@ class LoadTest : TestCase() { assertThat(schemesManager.getAllSchemes()).containsOnly(localScheme) } - public Test fun `load scheme with the same names`() { + @Test fun `load scheme with the same names`() { val localScheme = TestScheme("local") val data = localScheme.serialize().toByteArray() provider.write("$dirPath/local.xml", data) @@ -55,7 +61,7 @@ class LoadTest : TestCase() { assertThat(schemesManager.getAllSchemes()).containsOnly(localScheme) } - public Test fun `load scheme from repo and read-only repo`() { + @Test fun `load scheme from repo and read-only repo`() { val localScheme = TestScheme("local") provider.write("$dirPath/local.xml", localScheme.serialize().toByteArray()) @@ -75,7 +81,7 @@ class LoadTest : TestCase() { } } - public Test fun `scheme overrides read-only`() { + @Test fun `scheme overrides read-only`() { val schemeName = "Emacs" val localScheme = TestScheme(schemeName, "local")