JS IR test runner: collect all .kt files from the "irRuntime" dir automatically instead of declaring each one in the list
This commit is contained in:
@@ -13,6 +13,13 @@ import org.jetbrains.kotlin.name.FqName
|
|||||||
import org.jetbrains.kotlin.test.TargetBackend
|
import org.jetbrains.kotlin.test.TargetBackend
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
|
private val runtimeSources = listOfKtFilesFrom(
|
||||||
|
"libraries/stdlib/js/src/kotlin/core.kt",
|
||||||
|
"core/builtins/native/kotlin/Number.kt",
|
||||||
|
"core/builtins/native/kotlin/Comparable.kt",
|
||||||
|
"libraries/stdlib/js/irRuntime"
|
||||||
|
)
|
||||||
|
|
||||||
abstract class BasicIrBoxTest(
|
abstract class BasicIrBoxTest(
|
||||||
pathToTestDir: String,
|
pathToTestDir: String,
|
||||||
testGroupOutputDirPrefix: String,
|
testGroupOutputDirPrefix: String,
|
||||||
@@ -43,22 +50,7 @@ abstract class BasicIrBoxTest(
|
|||||||
testPackage: String?,
|
testPackage: String?,
|
||||||
testFunction: String
|
testFunction: String
|
||||||
) {
|
) {
|
||||||
val runtime = listOf(
|
val runtime = runtimeSources.map { createPsiFile(it) }
|
||||||
"libraries/stdlib/js/src/kotlin/core.kt",
|
|
||||||
"libraries/stdlib/js/irRuntime/core.kt",
|
|
||||||
"libraries/stdlib/js/irRuntime/long.kt",
|
|
||||||
"libraries/stdlib/js/irRuntime/longjs.kt",
|
|
||||||
"libraries/stdlib/js/irRuntime/numberConversion.kt",
|
|
||||||
"libraries/stdlib/js/irRuntime/compareTo.kt",
|
|
||||||
"libraries/stdlib/js/irRuntime/annotations.kt",
|
|
||||||
"libraries/stdlib/js/irRuntime/char.kt",
|
|
||||||
"libraries/stdlib/js/irRuntime/DefaultConstructorMarker.kt",
|
|
||||||
"libraries/stdlib/js/irRuntime/exceptions.kt",
|
|
||||||
"libraries/stdlib/js/irRuntime/internalAnnotations.kt",
|
|
||||||
"libraries/stdlib/js/irRuntime/typeCheckUtils.kt",
|
|
||||||
"core/builtins/native/kotlin/Number.kt",
|
|
||||||
"core/builtins/native/kotlin/Comparable.kt"
|
|
||||||
).map { createPsiFile(it) }
|
|
||||||
|
|
||||||
val filesToIgnore = listOf(
|
val filesToIgnore = listOf(
|
||||||
// TODO: temporary ignore some files from _commonFiles directory since they can't be compiled correctly by JS IR BE yet.
|
// TODO: temporary ignore some files from _commonFiles directory since they can't be compiled correctly by JS IR BE yet.
|
||||||
@@ -93,3 +85,14 @@ abstract class BasicIrBoxTest(
|
|||||||
super.runGeneratedCode(jsFiles, null, null, testFunction, expectedResult, false)
|
super.runGeneratedCode(jsFiles, null, null, testFunction, expectedResult, false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun listOfKtFilesFrom(vararg paths: String): List<String> {
|
||||||
|
val currentDir = File(".")
|
||||||
|
return paths.flatMap { path ->
|
||||||
|
File(path)
|
||||||
|
.walkTopDown()
|
||||||
|
.filter { it.extension == "kt" }
|
||||||
|
.map { it.relativeToOrSelf(currentDir).path }
|
||||||
|
.asIterable()
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user