[JS IR] Write JS files before verification of dirty JS in IC tests
This commit is contained in:
committed by
Space Team
parent
1ec88ff560
commit
0785b45426
@@ -247,17 +247,10 @@ abstract class AbstractInvalidationTest(
|
||||
}
|
||||
|
||||
|
||||
private fun verifyJsCode(stepId: Int, mainModuleName: String, jsOutput: CompilationOutputs) {
|
||||
val compiledJsFiles = jsOutput.writeAll(jsDir, mainModuleName, true, mainModuleName, JS_MODULE_KIND).filter {
|
||||
it.extension == "js"
|
||||
}
|
||||
for (jsCodeFile in compiledJsFiles) {
|
||||
jsCodeFile.writeAsJsModule(jsCodeFile.readText(), "./${jsCodeFile.name}")
|
||||
}
|
||||
|
||||
private fun verifyJsCode(stepId: Int, mainModuleName: String, jsFiles: List<String>) {
|
||||
try {
|
||||
V8IrJsTestChecker.checkWithTestFunctionArgs(
|
||||
files = compiledJsFiles.mapTo(prepareExternalJsFiles()) { it.absolutePath },
|
||||
files = jsFiles,
|
||||
testModuleName = "./$mainModuleName.js",
|
||||
testPackageName = null,
|
||||
testFunctionName = BOX_FUNCTION_NAME,
|
||||
@@ -300,6 +293,17 @@ abstract class AbstractInvalidationTest(
|
||||
)
|
||||
}
|
||||
|
||||
private fun writeJsCode(mainModuleName: String, jsOutput: CompilationOutputs): List<String> {
|
||||
val compiledJsFiles = jsOutput.writeAll(jsDir, mainModuleName, true, mainModuleName, JS_MODULE_KIND).filter {
|
||||
it.extension == "js"
|
||||
}
|
||||
for (jsCodeFile in compiledJsFiles) {
|
||||
jsCodeFile.writeAsJsModule(jsCodeFile.readText(), "./${jsCodeFile.name}")
|
||||
}
|
||||
|
||||
return compiledJsFiles.mapTo(prepareExternalJsFiles()) { it.absolutePath }
|
||||
}
|
||||
|
||||
fun execute() {
|
||||
for (projStep in projectInfo.steps) {
|
||||
val testInfo = projStep.order.map { setupTestStep(projStep, it, true) }
|
||||
@@ -345,8 +349,10 @@ abstract class AbstractInvalidationTest(
|
||||
)
|
||||
|
||||
val (jsOutput, rebuiltModules) = jsExecutableProducer.buildExecutable(multiModule = true, outJsProgram = true)
|
||||
val writtenFiles = writeJsCode(mainModuleName, jsOutput)
|
||||
|
||||
verifyJsExecutableProducerBuildModules(projStep.id, rebuiltModules, projStep.dirtyJS)
|
||||
verifyJsCode(projStep.id, mainModuleName, jsOutput)
|
||||
verifyJsCode(projStep.id, mainModuleName, writtenFiles)
|
||||
verifyDTS(projStep.id, testInfo)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user