From 392ab75bee2be21d7c3f0591e73981ef05482e48 Mon Sep 17 00:00:00 2001 From: Igor Yakovlev Date: Thu, 3 Feb 2022 18:39:04 +0100 Subject: [PATCH] [WASM] BasicWasmBoxTest refactoring --- .../kotlin/js/testOld/BasicWasmBoxTest.kt | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/testOld/BasicWasmBoxTest.kt b/js/js.tests/test/org/jetbrains/kotlin/js/testOld/BasicWasmBoxTest.kt index 78a187847b6..24a699c403d 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/testOld/BasicWasmBoxTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/testOld/BasicWasmBoxTest.kt @@ -75,7 +75,7 @@ abstract class BasicWasmBoxTest( val outputWasmNoDceFile = File("$outputFileNoDceBase.wasm") val outputJsNoDceFile = File("$outputFileNoDceBase.js") val outputBrowserNoDceDir = File("$outputFileNoDceBase.browser") - val languageVersionSettings = inputFiles.mapNotNull { it.languageVersionSettings }.firstOrNull() + val languageVersionSettings = inputFiles.firstNotNullOfOrNull { it.languageVersionSettings } val kotlinFiles = mutableListOf() val jsFilesBefore = mutableListOf() @@ -142,9 +142,7 @@ abstract class BasicWasmBoxTest( compileAndRun( phaseConfig = phaseConfig, sourceModule = sourceModule, - config = config, testPackage = testPackage, - testFunction = TEST_FUNCTION, dceEnabled = false, outputWatFile = outputWatNoDceFile, outputWasmFile = outputWasmNoDceFile, @@ -158,9 +156,7 @@ abstract class BasicWasmBoxTest( compileAndRun( phaseConfig = phaseConfig, sourceModule = sourceModule, - config = config, testPackage = testPackage, - testFunction = TEST_FUNCTION, dceEnabled = true, outputBrowserDir = outputBrowserDir, debugMode = debugMode, @@ -185,9 +181,7 @@ abstract class BasicWasmBoxTest( private fun compileAndRun( phaseConfig: PhaseConfig, sourceModule: ModulesStructure, - config: JsConfig, testPackage: String?, - testFunction: String, dceEnabled: Boolean, outputWatFile: File, outputWasmFile: File, @@ -201,7 +195,7 @@ abstract class BasicWasmBoxTest( depsDescriptors = sourceModule, phaseConfig = phaseConfig, irFactory = IrFactoryImpl, - exportedDeclarations = setOf(FqName.fromSegments(listOfNotNull(testPackage, testFunction))), + exportedDeclarations = setOf(FqName.fromSegments(listOfNotNull(testPackage, TEST_FUNCTION))), propertyLazyInitialization = true, ) @@ -219,8 +213,8 @@ abstract class BasicWasmBoxTest( const wasmBinary = read(String.raw`${outputWasmFile.absoluteFile}`, 'binary'); const wasmModule = new WebAssembly.Module(wasmBinary); wasmInstance = new WebAssembly.Instance(wasmModule, { js_code }); - const ${sanitizeName(config.moduleId)} = wasmInstance.exports; - ${createJsRun(wasmInstance = "wasmInstance", testFunction = testFunction, dceEnabled = dceEnabled)} + const ${sanitizeName(TEST_MODULE)} = wasmInstance.exports; + ${createJsRun(wasmInstance = "wasmInstance", dceEnabled = dceEnabled)} """.trimIndent() outputJsFile.write(compilerResult.js + "\n" + testRunner) @@ -239,12 +233,12 @@ abstract class BasicWasmBoxTest( ) } - private fun createJsRun(wasmInstance: String, testFunction: String, dceEnabled: Boolean) = """ + private fun createJsRun(wasmInstance: String, dceEnabled: Boolean) = """ let actualResult try { $wasmInstance.exports.__init(); $wasmInstance.exports.startUnitTests?.(); - actualResult = $wasmInstance.exports.$testFunction(); + actualResult = $wasmInstance.exports.$TEST_FUNCTION(); } catch(e) { console.log('Failed with exception!') console.log('Message: ' + e.message) @@ -262,7 +256,7 @@ abstract class BasicWasmBoxTest( const response = await fetch("index.wasm"); const wasmBinary = await response.arrayBuffer(); wasmInstance = (await WebAssembly.instantiate(wasmBinary, { js_code })).instance; - ${createJsRun(wasmInstance = "wasmInstance", testFunction = "box", dceEnabled = dceEnabled)} + ${createJsRun(wasmInstance = "wasmInstance", dceEnabled = dceEnabled)} console.log("Test passed!"); """.trimIndent()