diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-04-12 10:17:13 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-04-12 10:17:13 +0100 |
| commit | 8831821e326a14e57d08ed9b1c8da1e5e3f7cf9a (patch) | |
| tree | 0f6304114d3513863227ef88901c46c8d7682da0 /src/test/java | |
| parent | 1c6e2b6df2531c3c56644f1d7957a1e7a8e7fe00 (diff) | |
Make targets independent of specific backends
Diffstat (limited to 'src/test/java')
13 files changed, 32 insertions, 19 deletions
diff --git a/src/test/java/org/shedlang/compiler/backends/cranelift/PatioToCraneliftAmd64Tests.java b/src/test/java/org/shedlang/compiler/backends/cranelift/PatioToCraneliftAmd64Tests.java index c58e475c..e4095cad 100644 --- a/src/test/java/org/shedlang/compiler/backends/cranelift/PatioToCraneliftAmd64Tests.java +++ b/src/test/java/org/shedlang/compiler/backends/cranelift/PatioToCraneliftAmd64Tests.java @@ -1,12 +1,12 @@ package org.shedlang.compiler.backends.cranelift; import org.junit.jupiter.api.Disabled; -import org.shedlang.compiler.backends.llvm.LlvmTarget; +import org.shedlang.compiler.backends.targets.NativeTarget; @Disabled public class PatioToCraneliftAmd64Tests extends PatioToCraneliftTests { @Override - protected LlvmTarget llvmTarget() { - return LlvmTarget.AMD64; + protected NativeTarget target() { + return NativeTarget.AMD64; } } diff --git a/src/test/java/org/shedlang/compiler/backends/cranelift/PatioToCraneliftTests.java b/src/test/java/org/shedlang/compiler/backends/cranelift/PatioToCraneliftTests.java index 10f33a5e..dc7aea65 100644 --- a/src/test/java/org/shedlang/compiler/backends/cranelift/PatioToCraneliftTests.java +++ b/src/test/java/org/shedlang/compiler/backends/cranelift/PatioToCraneliftTests.java @@ -1,6 +1,6 @@ package org.shedlang.compiler.backends.cranelift; -import org.shedlang.compiler.backends.llvm.LlvmTarget; +import org.shedlang.compiler.backends.targets.NativeTarget; import org.shedlang.compiler.backends.paths.PartialTargetPath; import org.shedlang.compiler.patio.PatioCompilationUnit; import org.shedlang.compiler.patio.PatioExampleTests; @@ -47,7 +47,7 @@ public abstract class PatioToCraneliftTests extends PatioExampleTests { Files.createDirectories(Path.of("tests-tmp")); var workingDirectory = Files.createTempDirectory(Path.of("tests-tmp"), "PatioToCraneliftTests"); - var backend = CraneliftBackend.forTarget(this.llvmTarget()); + var backend = CraneliftBackend.forTarget(this.target()); var objectFilePath = backend.compileCompilationUnit( patio, new PartialTargetPath(workingDirectory.resolve("main")) @@ -55,7 +55,7 @@ public abstract class PatioToCraneliftTests extends PatioExampleTests { var executablePath = workingDirectory.resolve("main"); - var runtime = ShedRuntime.defaultRuntime(LlvmTarget.AMD64.targetName()); + var runtime = ShedRuntime.defaultRuntime(NativeTarget.AMD64.targetName()); backend.link( List.of( objectFilePath, @@ -68,5 +68,5 @@ public abstract class PatioToCraneliftTests extends PatioExampleTests { return TestProcessRunner.runCaptureOutput(List.of(executablePath.toString())); } - protected abstract LlvmTarget llvmTarget(); + protected abstract NativeTarget target(); } diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/PatioToAmd64Tests.java b/src/test/java/org/shedlang/compiler/backends/llvm/PatioToAmd64Tests.java index 472100e9..2170ab02 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/PatioToAmd64Tests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/PatioToAmd64Tests.java @@ -1,8 +1,10 @@ package org.shedlang.compiler.backends.llvm; +import org.shedlang.compiler.backends.targets.NativeTarget; + public class PatioToAmd64Tests extends PatioToLlvmTests { @Override - protected LlvmTarget llvmTarget() { - return LlvmTarget.AMD64; + protected NativeTarget target() { + return NativeTarget.AMD64; } } diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/PatioToI686Tests.java b/src/test/java/org/shedlang/compiler/backends/llvm/PatioToI686Tests.java index cff521d3..7d80a768 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/PatioToI686Tests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/PatioToI686Tests.java @@ -1,8 +1,10 @@ package org.shedlang.compiler.backends.llvm; +import org.shedlang.compiler.backends.targets.NativeTarget; + public class PatioToI686Tests extends PatioToLlvmTests { @Override - protected LlvmTarget llvmTarget() { - return LlvmTarget.I686; + protected NativeTarget target() { + return NativeTarget.I686; } } diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/PatioToLlvmTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/PatioToLlvmTests.java index 9a11c648..0237becb 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/PatioToLlvmTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/PatioToLlvmTests.java @@ -10,6 +10,7 @@ import org.shedlang.compiler.backends.llvm.ir.ast.operands.LlvmOperandInt; import org.shedlang.compiler.backends.llvm.ir.ast.operands.LlvmVariableGlobal; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; import org.shedlang.compiler.backends.paths.PartialTargetPath; +import org.shedlang.compiler.backends.targets.NativeTarget; import org.shedlang.compiler.patio.PatioCompilationUnit; import org.shedlang.compiler.patio.PatioExampleTests; import org.shedlang.compiler.runtime.ShedRuntime; @@ -27,7 +28,7 @@ public abstract class PatioToLlvmTests extends PatioExampleTests { protected ExecutionResult executeCompilationUnit(PatioCompilationUnit patio) throws IOException, InterruptedException { var llvmModuleResult = PatioToLlvm.generateCompilationUnit( patio, - PatioToLlvmGlobalContext.empty(this.llvmTarget()) + PatioToLlvmGlobalContext.empty(this.target()) ); var llvmModule = llvmModuleResult.value(); @@ -61,8 +62,8 @@ public abstract class PatioToLlvmTests extends PatioExampleTests { var executablePath = workingDirectory.resolve("main"); - var runtime = ShedRuntime.defaultRuntime(llvmTarget().targetName()); - LlvmBackend.forTarget(this.llvmTarget()).link( + var runtime = ShedRuntime.defaultRuntime(target().targetName()); + LlvmBackend.forTarget(this.target()).link( List.of( objectFilePath, runtime.dir().resolve("libpatio_test.a") @@ -74,5 +75,5 @@ public abstract class PatioToLlvmTests extends PatioExampleTests { return TestProcessRunner.runCaptureOutput(List.of(executablePath.toString())); } - protected abstract LlvmTarget llvmTarget(); + protected abstract NativeTarget target(); } diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmFunctionContextTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmFunctionContextTests.java index 7792519c..f6d31c46 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmFunctionContextTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/codegen/PatioToLlvmFunctionContextTests.java @@ -1,7 +1,7 @@ package org.shedlang.compiler.backends.llvm.codegen; import org.junit.jupiter.api.Test; -import org.shedlang.compiler.backends.llvm.LlvmTarget; +import org.shedlang.compiler.backends.targets.NativeTarget; import org.shedlang.compiler.backends.llvm.ir.ast.LlvmIr; import org.shedlang.compiler.backends.llvm.ir.ast.types.LlvmTypes; @@ -15,7 +15,7 @@ import static org.zwobble.precisely.Matchers.isSequence; public class PatioToLlvmFunctionContextTests { @Test public void whenThereAreNoInstructionsOutsideOfBasicBlockThenToBasicBlocksReturnsBasicBlocks() { - var context = PatioToLlvmFunctionContext.of(PatioToLlvmModuleContext.empty(LlvmTarget.AMD64)); + var context = PatioToLlvmFunctionContext.of(PatioToLlvmModuleContext.empty(NativeTarget.AMD64)); var addInstruction = LlvmIr.add( LlvmIr.variableLocal("a"), LlvmTypes.INT_64, @@ -35,7 +35,7 @@ public class PatioToLlvmFunctionContextTests { @Test public void whenThereAreInstructionsOutsideOfBasicBlockThenToBasicBlocksThrowsException() { - var context = PatioToLlvmFunctionContext.of(PatioToLlvmModuleContext.empty(LlvmTarget.AMD64)); + var context = PatioToLlvmFunctionContext.of(PatioToLlvmModuleContext.empty(NativeTarget.AMD64)); var addInstruction = LlvmIr.add( LlvmIr.variableLocal("a"), LlvmTypes.INT_64, diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/PatioToWasm32Tests.java b/src/test/java/org/shedlang/compiler/backends/wasm/PatioToWasm32Tests.java index 44626dca..1e630963 100644 --- a/src/test/java/org/shedlang/compiler/backends/wasm/PatioToWasm32Tests.java +++ b/src/test/java/org/shedlang/compiler/backends/wasm/PatioToWasm32Tests.java @@ -1,5 +1,7 @@ package org.shedlang.compiler.backends.wasm; +import org.shedlang.compiler.backends.targets.WasmTarget; + public class PatioToWasm32Tests extends PatioToWasmTests { @Override protected WasmTarget wasmTarget() { diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/PatioToWasm64Tests.java b/src/test/java/org/shedlang/compiler/backends/wasm/PatioToWasm64Tests.java index d73bf2c8..c11a0e3e 100644 --- a/src/test/java/org/shedlang/compiler/backends/wasm/PatioToWasm64Tests.java +++ b/src/test/java/org/shedlang/compiler/backends/wasm/PatioToWasm64Tests.java @@ -1,5 +1,7 @@ package org.shedlang.compiler.backends.wasm; +import org.shedlang.compiler.backends.targets.WasmTarget; + public class PatioToWasm64Tests extends PatioToWasmTests { @Override protected WasmTarget wasmTarget() { diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/PatioToWasmTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/PatioToWasmTests.java index 946c49fb..833defa4 100644 --- a/src/test/java/org/shedlang/compiler/backends/wasm/PatioToWasmTests.java +++ b/src/test/java/org/shedlang/compiler/backends/wasm/PatioToWasmTests.java @@ -1,5 +1,6 @@ package org.shedlang.compiler.backends.wasm; +import org.shedlang.compiler.backends.targets.WasmTarget; 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; diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/Wasm32ExampleTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/Wasm32ExampleTests.java index 06c1b040..4c257e1b 100644 --- a/src/test/java/org/shedlang/compiler/backends/wasm/Wasm32ExampleTests.java +++ b/src/test/java/org/shedlang/compiler/backends/wasm/Wasm32ExampleTests.java @@ -2,6 +2,7 @@ package org.shedlang.compiler.backends.wasm; import org.shedlang.compiler.backends.Backend; import org.shedlang.compiler.backends.ExampleTests; +import org.shedlang.compiler.backends.targets.WasmTarget; import java.util.List; import java.util.Set; diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/Wasm64ExampleTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/Wasm64ExampleTests.java index fdc1cf28..04e1d08c 100644 --- a/src/test/java/org/shedlang/compiler/backends/wasm/Wasm64ExampleTests.java +++ b/src/test/java/org/shedlang/compiler/backends/wasm/Wasm64ExampleTests.java @@ -2,6 +2,7 @@ package org.shedlang.compiler.backends.wasm; import org.shedlang.compiler.backends.Backend; import org.shedlang.compiler.backends.ExampleTests; +import org.shedlang.compiler.backends.targets.WasmTarget; import java.util.List; import java.util.Set; diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmTesting.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmTesting.java index f4f86440..d437b56a 100644 --- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmTesting.java +++ b/src/test/java/org/shedlang/compiler/backends/wasm/WasmTesting.java @@ -1,6 +1,7 @@ package org.shedlang.compiler.backends.wasm; import org.pcollections.PVector; +import org.shedlang.compiler.backends.targets.WasmTarget; import org.shedlang.compiler.filesystem.ShedCompilerFiles; import org.shedlang.compiler.util.P; diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatTesting.java b/src/test/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatTesting.java index 61e7eba1..60213f81 100644 --- a/src/test/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatTesting.java +++ b/src/test/java/org/shedlang/compiler/backends/wasm/structure/binary/WasmBinaryFormatTesting.java @@ -1,6 +1,6 @@ package org.shedlang.compiler.backends.wasm.structure.binary; -import org.shedlang.compiler.backends.wasm.WasmTarget; +import org.shedlang.compiler.backends.targets.WasmTarget; import org.shedlang.compiler.backends.wasm.structure.ast.modules.WasmModule; import org.shedlang.compiler.testing.TestProcessRunner; import org.shedlang.compiler.util.P; |
