[FIR] Tests. Save failed tests into testdata
This commit is contained in:
+24
-3
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.platform.TargetPlatform
|
|||||||
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
|
||||||
import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices
|
import org.jetbrains.kotlin.resolve.PlatformDependentAnalyzerServices
|
||||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices
|
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatformAnalyzerServices
|
||||||
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
@@ -88,9 +89,19 @@ abstract class AbstractFirDiagnosticsSmokeTest : BaseDiagnosticsTest() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
doFirResolveTestBench(firFiles, FirTotalResolveTransformer().transformers, gc = false)
|
val failure: AssertionError? = try {
|
||||||
|
doFirResolveTestBench(firFiles, FirTotalResolveTransformer().transformers, gc = false)
|
||||||
checkResultingFirFiles(firFiles, testDataFile)
|
null
|
||||||
|
} catch (e: AssertionError) {
|
||||||
|
e
|
||||||
|
}
|
||||||
|
val failureFile = File(testDataFile.path.replace(".kt", ".fir.fail"))
|
||||||
|
if (failure == null) {
|
||||||
|
checkResultingFirFiles(firFiles, testDataFile)
|
||||||
|
assertFalse("Test is good but there is expected exception", failureFile.exists())
|
||||||
|
} else {
|
||||||
|
checkFailureFile(failure, failureFile)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun checkResultingFirFiles(
|
protected open fun checkResultingFirFiles(
|
||||||
@@ -100,6 +111,16 @@ abstract class AbstractFirDiagnosticsSmokeTest : BaseDiagnosticsTest() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun checkFailureFile(failure: AssertionError, failureFile: File) {
|
||||||
|
val failureMessage = buildString {
|
||||||
|
appendln(failure.message)
|
||||||
|
failure.cause?.let {
|
||||||
|
append("Cause: ")
|
||||||
|
appendln(it)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
KotlinTestUtils.assertEqualsToFile(failureFile, failureMessage)
|
||||||
|
}
|
||||||
|
|
||||||
private fun createModules(
|
private fun createModules(
|
||||||
groupedByModule: Map<TestModule?, List<TestFile>>
|
groupedByModule: Map<TestModule?, List<TestFile>>
|
||||||
|
|||||||
Vendored
+2
@@ -0,0 +1,2 @@
|
|||||||
|
Failures detected in FirImplicitTypeBodyResolveTransformerAdapter, file: /localReturnInsidePropertyAccessor.kt
|
||||||
|
Cause: kotlin.KotlinNullPointerException
|
||||||
Reference in New Issue
Block a user