[Swift Export] Fix test infrastructure according to the review

This commit is contained in:
Sergey Bogolepov
2023-11-23 16:14:32 +01:00
committed by Space Team
parent c3725ec8c8
commit ec82d54ef7
8 changed files with 42 additions and 47 deletions
@@ -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
@@ -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
+10 -1
View File
@@ -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())
}
}
+8 -4
View File
@@ -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 {