aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-11-11 16:38:23 +0000
committerMichael Williamson <mike@zwobble.org>2023-11-11 16:38:23 +0000
commit55fa667e7d303e7f2dcd9a5088fa24b3231e3b33 (patch)
treea15b8a80e8a21e40c50d0d1a5eeaab48a6e421b0 /src/test/java
parent06ce6f5fc4883c18495f3662553a0bfe3eb7c1ee (diff)
Extract WasmBackend.link()
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmPatioCodeGenTests.java21
1 files changed, 5 insertions, 16 deletions
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<String>();
- 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()));
}