From 20fc2b92d7e04a35fdce0eb7de909710e132c39a Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Mon, 30 Mar 2026 22:37:51 +0100 Subject: Generate main function for patio-to-cranelift tests --- .../backends/cranelift/PatioToCraneliftTests.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/test/java/org') 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 58e7a2c4..78efb888 100644 --- a/src/test/java/org/shedlang/compiler/backends/cranelift/PatioToCraneliftTests.java +++ b/src/test/java/org/shedlang/compiler/backends/cranelift/PatioToCraneliftTests.java @@ -5,19 +5,47 @@ import org.shedlang.compiler.backends.llvm.LlvmTarget; import org.shedlang.compiler.backends.paths.PartialTargetPath; import org.shedlang.compiler.patio.PatioCompilationUnit; import org.shedlang.compiler.patio.PatioExampleTests; +import org.shedlang.compiler.patio.PatioFunctionDefinition; +import org.shedlang.compiler.patio.PatioVisibility; +import org.shedlang.compiler.patio.instructions.Patio; +import org.shedlang.compiler.patio.types.PatioTypes; import org.shedlang.compiler.runtime.ShedRuntime; +import org.shedlang.compiler.sources.Sources; import org.shedlang.compiler.testing.ExecutionResult; import org.shedlang.compiler.testing.TestProcessRunner; +import org.shedlang.compiler.util.Lists; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.List; +import java.util.Optional; @Disabled public class PatioToCraneliftTests extends PatioExampleTests { @Override protected ExecutionResult executeCompilationUnit(PatioCompilationUnit patio) throws IOException, InterruptedException { + var main = new PatioFunctionDefinition( + "main", + PatioVisibility.PUBLIC, + List.of(), + PatioTypes.INT32, + List.of( + Patio.call( + Optional.empty(), + FUNCTION_NAME, + List.of() + ), + Patio.return_(Patio.int32Const(0)) + ), + Sources.NULL + ); + + patio = new PatioCompilationUnit( + Lists.concat(patio.elements(), List.of(main)), + patio.source() + ); + Files.createDirectories(Path.of("tests-tmp")); var workingDirectory = Files.createTempDirectory(Path.of("tests-tmp"), "PatioToCraneliftTests"); -- cgit v1.2.3