From 55fa667e7d303e7f2dcd9a5088fa24b3231e3b33 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 11 Nov 2023 16:38:23 +0000 Subject: Extract WasmBackend.link() --- .../backends/wasm/WasmPatioCodeGenTests.java | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) (limited to 'src/test/java') diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGenTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGenTests.java index c356dc09..20221870 100644 --- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGenTests.java +++ b/src/test/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGenTests.java @@ -1,6 +1,5 @@ package org.shedlang.compiler.backends.wasm; -import org.shedlang.compiler.testing.ExecutionResult; import org.shedlang.compiler.backends.wasm.structure.WasmBinaryFormat; import org.shedlang.compiler.backends.wasm.structure.ast.instructions.WasmCall; import org.shedlang.compiler.backends.wasm.structure.ast.instructions.WasmExpression; @@ -10,20 +9,17 @@ import org.shedlang.compiler.backends.wasm.structure.ast.modules.WasmImport; import org.shedlang.compiler.backends.wasm.structure.ast.modules.WasmImportDescriptor; import org.shedlang.compiler.backends.wasm.structure.ast.types.WasmFuncType; import org.shedlang.compiler.backends.wasm.structure.ast.types.WasmValueType; -import org.shedlang.compiler.filesystem.ShedCompilerFiles; import org.shedlang.compiler.patio.PatioExampleTests; import org.shedlang.compiler.patio.ast.PatioCompilationUnit; +import org.shedlang.compiler.testing.ExecutionResult; import org.shedlang.compiler.testing.TestProcessRunner; import java.io.FileOutputStream; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.util.ArrayList; import java.util.List; -import static org.shedlang.compiler.util.processes.ProcessRunner.runInheritIo; - public class WasmPatioCodeGenTests extends PatioExampleTests { @Override protected ExecutionResult run(PatioCompilationUnit patio) throws IOException, InterruptedException { @@ -57,18 +53,11 @@ public class WasmPatioCodeGenTests extends PatioExampleTests { WasmBinaryFormat.serializeModule(wasmModule, outputStream); } - var ldArgs = new ArrayList(); - ldArgs.add("wasm-ld"); - - ldArgs.add("-o"); var executablePath = workingDirectory.resolve("main.wasm"); - ldArgs.add(executablePath.toString()); - - ldArgs.add(objectPath.toString()); - - ldArgs.add(ShedCompilerFiles.getRoot().resolve("runtime/target/wasm/libshed.a").toString()); - - runInheritIo(ldArgs); + WasmBackend.link( + List.of(objectPath), + executablePath + ); return TestProcessRunner.runCaptureOutput(List.of("wasmtime", executablePath.toString())); } -- cgit v1.2.3