[Swift Export] Fix test infrastructure according to the review
This commit is contained in:
committed by
Space Team
parent
c3725ec8c8
commit
ec82d54ef7
@@ -5,30 +5,14 @@ plugins {
|
||||
|
||||
sourceSets {
|
||||
"main" { java.srcDirs("main") }
|
||||
"test" { projectDefault() }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
testApi(projectTests(":native:swift:sir-analysis-api"))
|
||||
testApi(projectTests(":native:swift:sir-compiler-bridge"))
|
||||
testImplementation(projectTests(":generators:test-generator"))
|
||||
|
||||
testRuntimeOnly(projectTests(":analysis:analysis-test-framework"))
|
||||
testImplementation(libs.junit.jupiter.api)
|
||||
implementation(projectTests(":native:swift:sir-analysis-api"))
|
||||
implementation(projectTests(":native:swift:sir-compiler-bridge"))
|
||||
implementation(projectTests(":generators:test-generator"))
|
||||
runtimeOnly(projectTests(":analysis:analysis-test-framework"))
|
||||
runtimeOnly(libs.junit.jupiter.api)
|
||||
}
|
||||
|
||||
val generateTests by generator("org.jetbrains.kotlin.generators.tests.native.swift.sir.GenerateSirTestsKt")
|
||||
|
||||
testsJar()
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
freeCompilerArgs.add("-Xcontext-receivers")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
projectTest(jUnitMode = JUnitMode.JUnit5) {
|
||||
workingDir = rootDir
|
||||
useJUnitPlatform { }
|
||||
}
|
||||
val generateTests by generator("org.jetbrains.kotlin.generators.tests.native.swift.sir.GenerateSirTestsKt")
|
||||
@@ -31,13 +31,6 @@ sourceSets {
|
||||
}
|
||||
}
|
||||
|
||||
kotlin {
|
||||
compilerOptions {
|
||||
freeCompilerArgs.add("-Xcontext-receivers")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
projectTest(jUnitMode = JUnitMode.JUnit5) {
|
||||
dependsOn(":dist")
|
||||
workingDir = rootDir
|
||||
|
||||
+2
-2
@@ -49,12 +49,12 @@ abstract class AbstractKotlinSirContextTestBase : AbstractAnalysisApiBasedTest()
|
||||
val ktFiles = moduleStructure.modules
|
||||
.flatMap { testServices.ktModuleProvider.getModuleFiles(it).filterIsInstance<KtFile>() }
|
||||
|
||||
val module = buildModule() {
|
||||
val module = buildModule {
|
||||
val sirFactory = SirGenerator()
|
||||
ktFiles.forEach { file ->
|
||||
declarations += sirFactory.build(file)
|
||||
}
|
||||
}.build()
|
||||
}
|
||||
|
||||
val actual = buildString {
|
||||
module.declarations
|
||||
|
||||
@@ -9,11 +9,20 @@ dependencies {
|
||||
|
||||
api(project(":native:swift:sir"))
|
||||
|
||||
testImplementation(libs.junit4)
|
||||
testImplementation(kotlin("test-junit5"))
|
||||
testImplementation(platform(libs.junit.bom))
|
||||
testImplementation(libs.junit.jupiter.api)
|
||||
testRuntimeOnly(libs.junit.jupiter.engine)
|
||||
|
||||
testImplementation(projectTests(":compiler:tests-common"))
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
"main" { projectDefault() }
|
||||
"test" { projectDefault() }
|
||||
}
|
||||
|
||||
projectTest(jUnitMode = JUnitMode.JUnit5) {
|
||||
workingDir = rootDir
|
||||
useJUnitPlatform { }
|
||||
}
|
||||
@@ -6,25 +6,31 @@
|
||||
package org.jetbrains.kotlin.sir.passes
|
||||
|
||||
import org.jetbrains.kotlin.sir.SirElement
|
||||
import org.jetbrains.kotlin.sir.SirForeignFunction
|
||||
import org.jetbrains.kotlin.sir.SirOrigin
|
||||
import org.jetbrains.kotlin.sir.SirVisibility
|
||||
import org.jetbrains.kotlin.sir.builder.buildForeignFunction
|
||||
import org.jetbrains.sir.passes.SirPass
|
||||
import org.junit.Test
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
class SirPassTests {
|
||||
@Test
|
||||
fun smoke() {
|
||||
val elementDescription = "mySirElement"
|
||||
val mySirElement = object : SirElement {
|
||||
override fun toString(): String {
|
||||
return elementDescription
|
||||
}
|
||||
val mySirElement = buildForeignFunction {
|
||||
origin = SirOrigin(listOf(elementDescription))
|
||||
visibility = SirVisibility.PUBLIC
|
||||
}
|
||||
val myPass = object : SirPass<String, Unit> {
|
||||
override fun run(element: SirElement, data: Unit): String {
|
||||
return element.toString()
|
||||
val myPass = object : SirPass<List<String>?, Unit> {
|
||||
override fun run(element: SirElement, data: Unit): List<String>? {
|
||||
if (element is SirForeignFunction) {
|
||||
return element.origin.path
|
||||
}
|
||||
return null
|
||||
}
|
||||
}
|
||||
val result = myPass.run(mySirElement, Unit)
|
||||
assertEquals(elementDescription, result)
|
||||
assertEquals(elementDescription, result?.first())
|
||||
}
|
||||
}
|
||||
@@ -7,11 +7,10 @@ description = "Swift Intermediate Representation"
|
||||
dependencies {
|
||||
compileOnly(kotlinStdlib())
|
||||
|
||||
testApi(platform(libs.junit.bom))
|
||||
testImplementation(kotlin("test-junit5"))
|
||||
testImplementation(platform(libs.junit.bom))
|
||||
testImplementation(libs.junit.jupiter.api)
|
||||
testRuntimeOnly(libs.junit.jupiter.engine)
|
||||
|
||||
testImplementation(projectTests(":compiler:tests-common"))
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
@@ -20,4 +19,9 @@ sourceSets {
|
||||
generatedDir()
|
||||
}
|
||||
"test" { projectDefault() }
|
||||
}
|
||||
}
|
||||
|
||||
projectTest(jUnitMode = JUnitMode.JUnit5) {
|
||||
workingDir = rootDir
|
||||
useJUnitPlatform { }
|
||||
}
|
||||
|
||||
@@ -5,9 +5,8 @@
|
||||
|
||||
package org.jetbrains.kotlin.sir
|
||||
|
||||
import org.jetbrains.kotlin.sir.builder.SirEnumBuilder
|
||||
import org.jetbrains.kotlin.sir.builder.buildEnum
|
||||
import org.junit.Test
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
class SirTest {
|
||||
|
||||
Reference in New Issue
Block a user