[Native][tests] Use single instance of AbstractExternalNativeBlackBoxTest for consistent caching of source transformers
This also makes sense for all inner classes under AbstractExternalNativeBlackBoxTest.
This commit is contained in:
+3
-1
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.konan.blackboxtest.support.group.UseExtTestCaseGroup
|
||||
import org.jetbrains.kotlin.konan.blackboxtest.support.group.UseStandardTestCaseGroupProvider
|
||||
import org.jetbrains.kotlin.test.TargetBackend
|
||||
import org.junit.jupiter.api.Tag
|
||||
import org.junit.jupiter.api.TestInstance
|
||||
|
||||
fun main() {
|
||||
System.setProperty("java.awt.headless", "true")
|
||||
@@ -22,7 +23,7 @@ fun main() {
|
||||
testGroup("native/native.tests/tests-gen", "compiler/testData") {
|
||||
testClass<AbstractExternalNativeBlackBoxTest>(
|
||||
suiteTestClassName = "ExternalTestGenerated",
|
||||
annotations = listOf(external(), provider<UseExtTestCaseGroupProvider>())
|
||||
annotations = listOf(external(), provider<UseExtTestCaseGroupProvider>(), testInstancePerClass())
|
||||
) {
|
||||
model("codegen/box", targetBackend = TargetBackend.NATIVE)
|
||||
model("codegen/boxInline", targetBackend = TargetBackend.NATIVE)
|
||||
@@ -46,3 +47,4 @@ private inline fun <reified T : Annotation> provider() = annotation(T::class.jav
|
||||
|
||||
private fun external() = annotation(Tag::class.java, "external")
|
||||
private fun infrastructure() = annotation(Tag::class.java, "infrastructure")
|
||||
private fun testInstancePerClass() = annotation(TestInstance::class.java, TestInstance.Lifecycle.PER_CLASS)
|
||||
|
||||
+2
@@ -11,8 +11,10 @@ import org.jetbrains.kotlin.konan.blackboxtest.support.util.ExternalSourceTransf
|
||||
import org.jetbrains.kotlin.konan.blackboxtest.support.util.ExternalSourceTransformersProvider
|
||||
import org.jetbrains.kotlin.konan.blackboxtest.support.util.ThreadSafeCache
|
||||
import org.jetbrains.kotlin.konan.blackboxtest.support.util.getAbsoluteFile
|
||||
import org.junit.jupiter.api.TestInstance
|
||||
import java.io.File
|
||||
|
||||
@TestInstance(TestInstance.Lifecycle.PER_CLASS) // Create only one instance of every test class for consistent caching of source transformers.
|
||||
abstract class AbstractExternalNativeBlackBoxTest : ExternalSourceTransformersProvider, AbstractNativeBlackBoxTest() {
|
||||
private val registeredSourceTransformers: ThreadSafeCache<File, MutableList<ExternalSourceTransformer>> = ThreadSafeCache()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user