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