aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-11-11 16:42:47 +0000
committerMichael Williamson <mike@zwobble.org>2023-11-11 16:42:47 +0000
commitaeb5658434d8090ec8e5cfc054ba6b13758c4da2 (patch)
treebb7547d98a174af322c8e93d1f39ec2413458464 /src/test/java
parent55fa667e7d303e7f2dcd9a5088fa24b3231e3b33 (diff)
Extract LlvmBackend.link()
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGenTests.java18
1 files changed, 4 insertions, 14 deletions
diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGenTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGenTests.java
index b98152e7..a4c823df 100644
--- a/src/test/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGenTests.java
+++ b/src/test/java/org/shedlang/compiler/backends/llvm/LlvmPatioCodeGenTests.java
@@ -8,7 +8,6 @@ import org.shedlang.compiler.backends.llvm.ir.ast.instructions.LlvmTrunc;
import org.shedlang.compiler.backends.llvm.ir.ast.operands.LlvmVariableGlobal;
import org.shedlang.compiler.backends.llvm.ir.ast.operands.LlvmVariableLocal;
import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes;
-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;
@@ -17,12 +16,9 @@ import org.shedlang.compiler.testing.TestProcessRunner;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
-import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
-import static org.shedlang.compiler.util.processes.ProcessRunner.runInheritIo;
-
public class LlvmPatioCodeGenTests extends PatioExampleTests {
@Override
protected ExecutionResult run(PatioCompilationUnit patio) throws IOException, InterruptedException {
@@ -59,18 +55,12 @@ public class LlvmPatioCodeGenTests extends PatioExampleTests {
var objectFilePath = new LlvmCompiler(workingDirectory).compileLlvmModule(llvmModule, "main");
- var gccArgs = new ArrayList<String>();
- gccArgs.add("gcc");
-
- gccArgs.add("-o");
var executablePath = workingDirectory.resolve("main");
- gccArgs.add(executablePath.toString());
-
- gccArgs.add(objectFilePath.toString());
-
- gccArgs.add(ShedCompilerFiles.getRoot().resolve("runtime/target/amd64/libshed.a").toString());
- runInheritIo(gccArgs);
+ LlvmBackend.link(
+ List.of(objectFilePath),
+ executablePath
+ );
return TestProcessRunner.runCaptureOutput(List.of(executablePath.toString()));
}