Skip to content

Commit e3c5bc1

Browse files
committed
Wasm test considers skiko.mjs
1 parent e58e0c6 commit e3c5bc1

File tree

3 files changed

+944
-4
lines changed

3 files changed

+944
-4
lines changed

src/test/kotlin/com/compiler/server/base/BaseExecutorTest.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,20 @@ class BaseExecutorTest {
3939
contains: String,
4040
args: String = ""
4141
) = testRunner.runJs(code, contains, args) { project ->
42-
convertToJsIr(project)
42+
convertToJsIr(
43+
project,
44+
compilerPlugins = false
45+
)
4346
}
4447

4548
fun runJsIr(
4649
code: List<String>,
4750
contains: String
4851
) = testRunner.multiRunJs(code, contains) { project ->
49-
convertToJsIr(project)
52+
convertToJsIr(
53+
project,
54+
compilerPlugins = false
55+
)
5056
}
5157

5258
fun runWasm(

src/test/kotlin/com/compiler/server/generator/TestProjectRunner.kt

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,10 @@ class TestProjectRunner {
5858

5959
fun translateToJsIr(code: String): TranslationResultWithJsCode {
6060
val project = generateSingleProject(text = code, projectType = ProjectType.JS_IR)
61-
return kotlinProjectExecutor.convertToJsIr(project)
61+
return kotlinProjectExecutor.convertToJsIr(
62+
project,
63+
compilerPlugins = false
64+
)
6265
}
6366

6467
fun runWithException(code: String, contains: String, message: String? = null): ExecutionResult {
@@ -162,7 +165,11 @@ class TestProjectRunner {
162165
project: Project,
163166
contains: String,
164167
): ExecutionResult {
165-
val result = kotlinProjectExecutor.convertToWasm(project)
168+
val result = kotlinProjectExecutor.convertToWasm(
169+
project,
170+
debugInfo = true,
171+
compilerPlugins = false
172+
)
166173

167174
if (result !is TranslationWasmResult) {
168175
Assertions.assertFalse(result.hasErrors) {
@@ -182,6 +189,10 @@ class TestProjectRunner {
182189
val wasmMain = tmpDir.resolve("moduleId.wasm")
183190
wasmMain.writeBytes(result.wasm)
184191

192+
// It is necessary because wasm DCE leaves skiko references
193+
Path(this::class.java.classLoader.getResource("wasm-resources/skiko.mjs")!!.path)
194+
.copyTo(tmpDir.resolve("skiko.mjs"))
195+
185196
val wat = result.wat
186197
val maxWatLengthInMessage = 97
187198
val formattedWat = wat?.let { if (it.length > maxWatLengthInMessage) "${it.take(maxWatLengthInMessage)}..." else it }

0 commit comments

Comments
 (0)