Add annotation to prevent test invocation twice
Cause: it helps to fix double inversion of muted non-flaky tests result (KTI-216).
This commit is contained in:
+2
@@ -10,7 +10,9 @@ import com.intellij.codeInsight.completion.CompletionTestCase;
|
||||
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
|
||||
import com.intellij.util.ArrayUtil;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
import org.jetbrains.kotlin.test.WithMutedInDatabaseRunTest;
|
||||
|
||||
@WithMutedInDatabaseRunTest
|
||||
abstract public class KotlinCompletionTestCase extends CompletionTestCase {
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
|
||||
@@ -51,14 +51,15 @@ import org.jetbrains.jps.model.java.JavaSourceRootProperties;
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootType;
|
||||
import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
|
||||
import org.jetbrains.kotlin.idea.test.KotlinSdkCreationChecker;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
import org.jetbrains.kotlin.test.WithMutedInDatabaseRunTest;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import static org.jetbrains.kotlin.test.MuteWithDatabaseKt.isIgnoredInDatabaseWithLog;
|
||||
|
||||
@WithMutedInDatabaseRunTest
|
||||
public abstract class MavenImportingTestCase extends MavenTestCase {
|
||||
protected MavenProjectsTree myProjectsTree;
|
||||
protected MavenProjectsManager myProjectsManager;
|
||||
@@ -103,8 +104,8 @@ public abstract class MavenImportingTestCase extends MavenTestCase {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean shouldRunTest() {
|
||||
return super.shouldRunTest() && !isIgnoredInDatabaseWithLog(this);
|
||||
protected void runTest() throws Throwable {
|
||||
KotlinTestUtils.runTestWithThrowable(this, () -> super.runTest());
|
||||
}
|
||||
|
||||
protected void assertModules(String... expectedNames) {
|
||||
|
||||
+6
-2
@@ -18,13 +18,17 @@ package org.jetbrains.kotlin.idea.test;
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightTestCase;
|
||||
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
|
||||
import kotlin.Unit;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
import org.jetbrains.kotlin.test.MuteWithDatabaseKt;
|
||||
import org.jetbrains.kotlin.test.WithMutedInDatabaseRunTest;
|
||||
|
||||
import static org.jetbrains.kotlin.test.MuteWithDatabaseKt.isIgnoredInDatabaseWithLog;
|
||||
|
||||
/**
|
||||
* Please use KotlinLightCodeInsightFixtureTestCase as the base class for all new tests.
|
||||
*/
|
||||
@WithMutedInDatabaseRunTest
|
||||
@Deprecated
|
||||
public abstract class KotlinCodeInsightTestCase extends CodeInsightTestCase {
|
||||
@Override
|
||||
@@ -40,7 +44,7 @@ public abstract class KotlinCodeInsightTestCase extends CodeInsightTestCase {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean shouldRunTest() {
|
||||
return super.shouldRunTest() && !isIgnoredInDatabaseWithLog(this);
|
||||
protected void runTest() throws Throwable {
|
||||
KotlinTestUtils.runTestWithThrowable(this, () -> super.runTest());
|
||||
}
|
||||
}
|
||||
|
||||
+2
-7
@@ -29,6 +29,7 @@ import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
import org.jetbrains.kotlin.test.WithMutedInDatabaseRunTest;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
@@ -37,8 +38,7 @@ import java.io.OutputStreamWriter;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Collection;
|
||||
|
||||
import static org.jetbrains.kotlin.test.MuteWithDatabaseKt.isIgnoredInDatabaseWithLog;
|
||||
|
||||
@WithMutedInDatabaseRunTest
|
||||
public abstract class KotlinLightCodeInsightFixtureTestCaseBase extends LightCodeInsightFixtureTestCase {
|
||||
@NotNull
|
||||
@Override
|
||||
@@ -60,11 +60,6 @@ public abstract class KotlinLightCodeInsightFixtureTestCaseBase extends LightCod
|
||||
protected final Collection<File> myFilesToDelete = new THashSet<>();
|
||||
private final TempFiles myTempFiles = new TempFiles(myFilesToDelete);
|
||||
|
||||
@Override
|
||||
protected boolean shouldRunTest() {
|
||||
return super.shouldRunTest() && !isIgnoredInDatabaseWithLog(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
myTempFiles.deleteAll();
|
||||
|
||||
+2
-7
@@ -30,6 +30,7 @@ import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils;
|
||||
import org.jetbrains.kotlin.test.WithMutedInDatabaseRunTest;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
@@ -38,8 +39,7 @@ import java.io.OutputStreamWriter;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Collection;
|
||||
|
||||
import static org.jetbrains.kotlin.test.MuteWithDatabaseKt.isIgnoredInDatabaseWithLog;
|
||||
|
||||
@WithMutedInDatabaseRunTest
|
||||
public abstract class KotlinLightCodeInsightFixtureTestCaseBase extends LightCodeInsightFixtureTestCase {
|
||||
@NotNull
|
||||
@Override
|
||||
@@ -65,11 +65,6 @@ public abstract class KotlinLightCodeInsightFixtureTestCaseBase extends LightCod
|
||||
protected final Collection<File> myFilesToDelete = new THashSet<>();
|
||||
private final TempFiles myTempFiles = new TempFiles(myFilesToDelete);
|
||||
|
||||
@Override
|
||||
protected boolean shouldRunTest() {
|
||||
return super.shouldRunTest() && !isIgnoredInDatabaseWithLog(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tearDown() throws Exception {
|
||||
myTempFiles.deleteAll();
|
||||
|
||||
+4
-6
@@ -33,11 +33,8 @@ import org.jetbrains.kotlin.idea.debugger.test.util.KotlinOutputChecker
|
||||
import org.jetbrains.kotlin.idea.debugger.test.util.LogPropagator
|
||||
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||
import org.jetbrains.kotlin.test.Directives
|
||||
import org.jetbrains.kotlin.test.*
|
||||
import org.jetbrains.kotlin.test.KotlinBaseTest.TestFile
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import org.jetbrains.kotlin.test.TestMetadata
|
||||
import org.jetbrains.kotlin.test.isIgnoredInDatabaseWithLog
|
||||
import org.jetbrains.kotlin.test.testFramework.runWriteAction
|
||||
import org.junit.ComparisonFailure
|
||||
import java.io.File
|
||||
@@ -48,6 +45,7 @@ internal const val TEST_LIBRARY_NAME = "TestLibrary"
|
||||
|
||||
class TestFiles(val originalFile: File, val wholeFile: TestFile, files: List<TestFile>) : List<TestFile> by files
|
||||
|
||||
@WithMutedInDatabaseRunTest
|
||||
abstract class KotlinDescriptorTestCase : DescriptorTestCase() {
|
||||
private lateinit var testAppDirectory: File
|
||||
private lateinit var sourcesOutputDirectory: File
|
||||
@@ -233,8 +231,8 @@ abstract class KotlinDescriptorTestCase : DescriptorTestCase() {
|
||||
return super.getData(dataId)
|
||||
}
|
||||
|
||||
override fun shouldRunTest(): Boolean {
|
||||
return super.shouldRunTest() && !isIgnoredInDatabaseWithLog(this)
|
||||
override fun runTest() {
|
||||
runTest { super.runTest() }
|
||||
}
|
||||
|
||||
protected fun getTestDirectoryPath(): String = javaClass.getAnnotation(TestMetadata::class.java).value
|
||||
|
||||
@@ -42,10 +42,12 @@ import org.jetbrains.kotlin.samWithReceiver.SamWithReceiverCommandLineProcessor.
|
||||
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
|
||||
import org.jetbrains.kotlin.test.MockLibraryUtil
|
||||
import org.jetbrains.kotlin.test.TestJdkKind.FULL_JDK
|
||||
import org.jetbrains.kotlin.test.WithMutedInDatabaseRunTest
|
||||
import org.jetbrains.kotlin.test.runTest
|
||||
import org.junit.Assert.assertNotEquals
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@WithMutedInDatabaseRunTest
|
||||
@RunWith(JUnit3WithIdeaConfigurationRunner::class)
|
||||
open class MultiModuleHighlightingTest : AbstractMultiModuleHighlightingTest() {
|
||||
override fun getTestDataPath() = PluginTestCaseBase.getTestDataPathBase() + "/multiModuleHighlighting/"
|
||||
|
||||
@@ -24,11 +24,14 @@ import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase.*
|
||||
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import org.jetbrains.kotlin.test.WithMutedInDatabaseRunTest
|
||||
import org.jetbrains.kotlin.test.isIgnoredInDatabaseWithLog
|
||||
import org.jetbrains.kotlin.test.runTest
|
||||
import org.jetbrains.kotlin.utils.PathUtil
|
||||
import java.io.File
|
||||
import java.nio.file.Path
|
||||
|
||||
@WithMutedInDatabaseRunTest
|
||||
abstract class AbstractConfigureKotlinTest : PlatformTestCase() {
|
||||
override fun setUp() {
|
||||
super.setUp()
|
||||
@@ -132,8 +135,8 @@ abstract class AbstractConfigureKotlinTest : PlatformTestCase() {
|
||||
UsefulTestCase.assertDoesntExist(File(JS_CONFIGURATOR.getDefaultPathToJarFile(project)))
|
||||
}
|
||||
|
||||
override fun shouldRunTest(): Boolean {
|
||||
return super.shouldRunTest() && !isIgnoredInDatabaseWithLog(this)
|
||||
override fun runTest() {
|
||||
return runTest { super.runTest() }
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
+2
@@ -10,9 +10,11 @@ import junit.framework.TestCase
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||
import org.jetbrains.kotlin.idea.test.SdkAndMockLibraryProjectDescriptor
|
||||
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
|
||||
import org.jetbrains.kotlin.test.WithMutedInDatabaseRunTest
|
||||
import org.jetbrains.kotlin.test.runTest
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@WithMutedInDatabaseRunTest
|
||||
@RunWith(JUnit3WithIdeaConfigurationRunner::class)
|
||||
class NavigateFromJSLibrarySourcesTest : AbstractNavigateFromLibrarySourcesTest() {
|
||||
fun testIcon() {
|
||||
|
||||
+2
@@ -15,10 +15,12 @@ import org.jetbrains.kotlin.idea.test.SdkAndMockLibraryProjectDescriptor
|
||||
import org.jetbrains.kotlin.psi.KtClass
|
||||
import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
|
||||
import org.jetbrains.kotlin.test.WithMutedInDatabaseRunTest
|
||||
import org.jetbrains.kotlin.test.runTest
|
||||
import org.junit.runner.RunWith
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
@WithMutedInDatabaseRunTest
|
||||
@RunWith(JUnit3WithIdeaConfigurationRunner::class)
|
||||
class NavigateFromLibrarySourcesTest : AbstractNavigateFromLibrarySourcesTest() {
|
||||
fun testJdkClass() {
|
||||
|
||||
+2
-5
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.idea.test.KotlinLightCodeInsightFixtureTestCase
|
||||
import org.jetbrains.kotlin.idea.test.KotlinWithJdkAndRuntimeLightProjectDescriptor
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||
import org.jetbrains.kotlin.test.JUnit3WithIdeaConfigurationRunner
|
||||
import org.jetbrains.kotlin.test.runTest
|
||||
import org.junit.runner.RunWith
|
||||
|
||||
@RunWith(JUnit3WithIdeaConfigurationRunner::class)
|
||||
@@ -47,9 +46,7 @@ class CoroutineNonBlockingContextDetectionTest : KotlinLightCodeInsightFixtureTe
|
||||
}
|
||||
|
||||
private fun doTest(fileName: String) {
|
||||
runTest {
|
||||
myFixture.configureByFile(fileName)
|
||||
myFixture.testHighlighting(true, false, false, fileName)
|
||||
}
|
||||
myFixture.configureByFile(fileName)
|
||||
myFixture.testHighlighting(true, false, false, fileName)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user