diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/test/muteWithDatabase.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/test/muteWithDatabase.kt index 13b57d037cb..dafc1b172f0 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/test/muteWithDatabase.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/test/muteWithDatabase.kt @@ -20,7 +20,7 @@ private val SKIP_MUTED_TESTS = java.lang.Boolean.getBoolean("org.jetbrains.kotli private fun isMutedInDatabase(testClass: Class<*>, methodKey: String): Boolean { val mutedTest = mutedSet.mutedTest(testClass, methodKey) - return mutedTest != null && (if (SKIP_MUTED_TESTS) !mutedTest.hasFailFile else mutedTest.isFlaky) + return SKIP_MUTED_TESTS && isPresentedInDatabaseWithoutFailMarker(mutedTest) } private fun isMutedInDatabaseWithLog(testClass: Class<*>, methodKey: String): Boolean { @@ -49,8 +49,12 @@ internal fun wrapWithMuteInDatabase(testCase: TestCase, f: () -> Unit): (() -> U System.err.println(mutedMessage(testClass, methodKey)) } } else if (isPresentedInDatabaseWithoutFailMarker(mutedTest)) { - return { - invertMutedTestResultWithLog(f, testKey) + if (mutedTest?.isFlaky == true) { + return f + } else { + return { + invertMutedTestResultWithLog(f, testKey) + } } } else { return wrapWithAutoMute(f, testKey) @@ -86,9 +90,14 @@ class RunnerFactoryWithMuteInDatabase : ParametersRunnerFactory { val methodKey = parametrizedMethodKey(method, name) val mutedTest = getMutedTest(methodClass, methodKey) ?: getMutedTest(methodClass, method.method.name) if (isPresentedInDatabaseWithoutFailMarker(mutedTest)) { - val testKey = testKey(methodClass, methodKey) - invertMutedTestResultWithLog({ super.evaluate() }, testKey) - return + if (mutedTest?.isFlaky == true) { + super.evaluate() + return + } else { + val testKey = testKey(methodClass, methodKey) + invertMutedTestResultWithLog({ super.evaluate() }, testKey) + return + } } super.evaluate() }