[JS IR IC] Remove JS files of the deleted modules from the out directory
This commit is contained in:
committed by
Space Team
parent
fde71918ed
commit
a4192c38f2
@@ -227,7 +227,6 @@ abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() {
|
||||
}
|
||||
|
||||
private fun prepareExternalJsFiles(): MutableList<String> {
|
||||
jsDir.invalidateDir()
|
||||
return testDir.filesInDir.mapNotNullTo(mutableListOf(MODULE_EMULATION_FILE)) { file ->
|
||||
file.takeIf { it.name.isAllowedJsFile() }?.readText()?.let { jsCode ->
|
||||
val externalModule = jsDir.resolve(file.name)
|
||||
@@ -239,16 +238,16 @@ abstract class AbstractInvalidationTest : KotlinTestWithEnvironment() {
|
||||
|
||||
|
||||
private fun verifyJsCode(stepId: Int, mainModuleName: String, jsOutput: CompilationOutputs) {
|
||||
val files = prepareExternalJsFiles()
|
||||
val compiledJsFiles = jsOutput.writeAll(jsDir, mainModuleName, true, mainModuleName, JS_MODULE_KIND)
|
||||
val compiledJsFiles = jsOutput.writeAll(jsDir, mainModuleName, true, mainModuleName, JS_MODULE_KIND).filter {
|
||||
it.extension == "js"
|
||||
}
|
||||
for (jsCodeFile in compiledJsFiles) {
|
||||
val jsFile = File(jsCodeFile)
|
||||
jsFile.writeAsJsModule(jsFile.readText(), "./${jsFile.name}")
|
||||
jsCodeFile.writeAsJsModule(jsCodeFile.readText(), "./${jsCodeFile.name}")
|
||||
}
|
||||
|
||||
try {
|
||||
V8IrJsTestChecker.checkWithTestFunctionArgs(
|
||||
files = files + compiledJsFiles,
|
||||
files = compiledJsFiles.mapTo(prepareExternalJsFiles()) { it.absolutePath },
|
||||
testModuleName = "./$mainModuleName.js",
|
||||
testPackageName = null,
|
||||
testFunctionName = BOX_FUNCTION_NAME,
|
||||
|
||||
@@ -272,14 +272,16 @@ class JsIrBackendFacade(
|
||||
}
|
||||
|
||||
private fun CompilationOutputs.writeTo(outputFile: File, moduleId: String, moduleKind: ModuleKind) {
|
||||
val allJsFiles = writeAll(outputFile.parentFile, outputFile.nameWithoutExtension, false, moduleId, moduleKind)
|
||||
val allJsFiles = writeAll(outputFile.parentFile, outputFile.nameWithoutExtension, false, moduleId, moduleKind).filter {
|
||||
it.extension == "js"
|
||||
}
|
||||
|
||||
val mainModuleFile = File(allJsFiles.last())
|
||||
val mainModuleFile = allJsFiles.last()
|
||||
mainModuleFile.fixJsFile(outputFile, moduleId, moduleKind)
|
||||
|
||||
dependencies.map { it.first }.zip(allJsFiles.dropLast(1)).forEach { (depModuleId, builtJsFilePath) ->
|
||||
val newFile = outputFile.augmentWithModuleName(depModuleId)
|
||||
File(builtJsFilePath).fixJsFile(newFile, depModuleId, moduleKind)
|
||||
builtJsFilePath.fixJsFile(newFile, depModuleId, moduleKind)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -169,8 +169,8 @@ abstract class AbstractJsKLibABITestCase : KtUsefulTestCase() {
|
||||
buildBinaryNoIC(configuration, mainModuleKlibFile, allDependencies)
|
||||
|
||||
val binariesDir = File(buildDir, BIN_DIR_NAME).also { it.mkdirs() }
|
||||
val binaries = compilationOutputs.writeAll(binariesDir, MAIN_MODULE_NAME, false, MAIN_MODULE_NAME, ModuleKind.PLAIN).map {
|
||||
File(it)
|
||||
val binaries = compilationOutputs.writeAll(binariesDir, MAIN_MODULE_NAME, false, MAIN_MODULE_NAME, ModuleKind.PLAIN).filter {
|
||||
it.extension == "js"
|
||||
}
|
||||
|
||||
executeAndCheckBinaries(MAIN_MODULE_NAME, binaries)
|
||||
|
||||
Reference in New Issue
Block a user