aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-09-16 15:27:56 +0100
committerMichael Williamson <mike@zwobble.org>2023-09-16 15:27:56 +0100
commit4ce47e845323f67bb3a6e3ef1c6314eb459d7622 (patch)
treecc6b35cfebd9a78892db95a99c40a06ad4ddcf29 /src/test/java/org
parent195bfba74a1f63e15a9caba458be66c2d06cfe8f (diff)
Remove direct WASM backend
Diffstat (limited to 'src/test/java/org')
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenCallTests.java35
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenDefineFunctionTests.java88
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenDiscardTests.java24
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenFieldLoadTests.java38
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIfTests.java37
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntAddTests.java24
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntEqualsTests.java24
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntNotEqualTests.java24
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntSubTests.java24
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenLocalLoadTests.java27
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenLocalStoreTests.java24
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaceFieldStoreTests.java41
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaceImportTests.java27
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushBoolTests.java34
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushIntTests.java26
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushStringTests.java34
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushUnitTests.java24
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenReturnTests.java24
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenStringAddTests.java24
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenTesting.java16
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmExampleTests.java28
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/WasmPatioExampleTests.java2
22 files changed, 1 insertions, 648 deletions
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenCallTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenCallTests.java
deleted file mode 100644
index 0048b22f..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenCallTests.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-import java.util.List;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenCallTests {
- @Test
- public void canCallFunctionWithNoArgs(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.call(0, List.of());
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-
- @Test
- public void canCallFunctionWithArgs(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.call(2, List.of("b", "a"));
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenDefineFunctionTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenDefineFunctionTests.java
deleted file mode 100644
index 2a3fcab2..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenDefineFunctionTests.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.ast.typed.FreeVariables;
-import org.shedlang.compiler.sources.Sources;
-import org.shedlang.compiler.stackir.instructions.DefineFunctionInstruction;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-import java.util.List;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenDefineFunctionTests {
- @Test
- public void canDefineMinimalFunction(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = new DefineFunctionInstruction(
- "f",
- List.of(),
- List.of(),
- FreeVariables.empty(),
- List.of(
- Instructions.pushUnit(),
- Instructions.return_()
- ),
- Sources.NULL
- );
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-
- @Test
- public void freeVariablesAreStoredInAndLoadedFromEnvironment(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = new DefineFunctionInstruction(
- "f",
- List.of(),
- List.of(),
- FreeVariables.builder().plus("a", Sources.NULL).plus("b", Sources.NULL).build(),
- List.of(
- Instructions.localLoad("a"),
- Instructions.return_()
- ),
- Sources.NULL
- );
- var context = WasmCodeGenContext.EMPTY
- .addShedArg("b")
- .addShedArg("c")
- .addShedArg("a");
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-
- @Test
- public void positionalAndNamedParamsAreDefined(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = new DefineFunctionInstruction(
- "f",
- List.of(Instructions.param("param1"), Instructions.param("param2")),
- List.of(Instructions.param("paramA"), Instructions.param("paramB")),
- FreeVariables.builder().plus("a", Sources.NULL).plus("b", Sources.NULL).build(),
- List.of(
- Instructions.localLoad("a"),
- Instructions.localLoad("param1"),
- Instructions.intAdd(),
- Instructions.localLoad("paramA"),
- Instructions.intAdd(),
- Instructions.return_()
- ),
- Sources.NULL
- );
- var context = WasmCodeGenContext.EMPTY
- .addShedArg("b")
- .addShedArg("c")
- .addShedArg("a");
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenDiscardTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenDiscardTests.java
deleted file mode 100644
index 7e42276e..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenDiscardTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenDiscardTests {
- @Test
- public void discardCompilesToDrop(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.discard();
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenFieldLoadTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenFieldLoadTests.java
deleted file mode 100644
index 03f1c457..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenFieldLoadTests.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-import org.shedlang.compiler.typechecker.TypeCheckerContext;
-import org.shedlang.compiler.types.NamespaceName;
-import org.shedlang.compiler.types.Types;
-import org.shedlang.compiler.util.P;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenFieldLoadTests {
- @Test
- public void fieldLoadPopsReceiverAndPushesFieldValue(Snapshotter snapshotter) throws IOException, InterruptedException {
- var namespaceName = new NamespaceName(List.of("Example", "Project"));
- var instruction = Instructions.fieldLoad(namespaceName, "y");
- var typeInfo = TypeCheckerContext.EMPTY
- .addNamespaceFields(namespaceName, P.orderedMap(
- Map.entry("x", Types.INT),
- Map.entry("y", Types.INT),
- Map.entry("z", Types.INT)
- ))
- .toTypeInfo();
- var context = WasmCodeGenContext.fromTypeInfo(typeInfo);
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIfTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIfTests.java
deleted file mode 100644
index 76eb4a1a..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIfTests.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-import java.util.List;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenIfTests {
- @Test
- public void ifIsCompiledToWasmIf(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.if_(
- 1,
- List.of(
- Instructions.pushInt(1),
- Instructions.pushInt(2),
- Instructions.intAdd()
- ),
- List.of(
- Instructions.pushInt(101),
- Instructions.pushInt(102),
- Instructions.intAdd()
- )
- );
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntAddTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntAddTests.java
deleted file mode 100644
index 4e960683..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntAddTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenIntAddTests {
- @Test
- public void intAddIsCompiledToI32Add(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.intAdd();
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntEqualsTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntEqualsTests.java
deleted file mode 100644
index 4e6eb0ff..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntEqualsTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenIntEqualsTests {
- @Test
- public void intEqualsIsCompiledToI32Eq(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.intEquals();
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntNotEqualTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntNotEqualTests.java
deleted file mode 100644
index dc924eb9..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntNotEqualTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenIntNotEqualTests {
- @Test
- public void intNotEqualIsCompiledToI32Ne(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.intNotEqual();
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntSubTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntSubTests.java
deleted file mode 100644
index f394d823..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenIntSubTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenIntSubTests {
- @Test
- public void intSubIsCompiledToI32Sub(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.intSub();
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenLocalLoadTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenLocalLoadTests.java
deleted file mode 100644
index 737f97cb..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenLocalLoadTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenLocalLoadTests {
- @Test
- public void localLoadCompilesToLocalGet(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.localLoad("x");
- var context = WasmCodeGenContext.EMPTY
- .addShedArg("y")
- .addShedArg("x")
- .addShedArg("z");
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenLocalStoreTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenLocalStoreTests.java
deleted file mode 100644
index 35a7931e..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenLocalStoreTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenLocalStoreTests {
- @Test
- public void localStoreCompilesToLocalSet(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.localStore("x");
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaceFieldStoreTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaceFieldStoreTests.java
deleted file mode 100644
index c35f3e1a..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaceFieldStoreTests.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.backends.wasm.structure.ast.modules.WasmAlignment;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-import org.shedlang.compiler.typechecker.TypeCheckerContext;
-import org.shedlang.compiler.types.NamespaceName;
-import org.shedlang.compiler.types.Types;
-import org.shedlang.compiler.util.P;
-
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenNamespaceFieldStoreTests {
- @Test
- public void namespaceFieldStorePopsFromStackAndUpdatesFieldOnNamespace(Snapshotter snapshotter) throws IOException, InterruptedException {
- var namespaceName = new NamespaceName(List.of("Example", "Project"));
- var instruction = Instructions.namespaceFieldStore(namespaceName, "y");
- var typeInfo = TypeCheckerContext.EMPTY
- .addNamespaceFields(namespaceName, P.orderedMap(
- Map.entry("x", Types.INT),
- Map.entry("y", Types.INT),
- Map.entry("z", Types.INT)
- ))
- .toTypeInfo();
- var context = WasmCodeGenContext.fromTypeInfo(typeInfo)
- .addData("shed__namespace__Example_Project", new byte[12], WasmAlignment.ALIGN_32_BIT)
- .context();
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaceImportTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaceImportTests.java
deleted file mode 100644
index 7c2e61d6..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenNamespaceImportTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-import org.shedlang.compiler.types.NamespaceName;
-
-import java.io.IOException;
-import java.util.List;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenNamespaceImportTests {
- @Test
- public void namespaceImportCallsNamespaceImportFunction(Snapshotter snapshotter) throws IOException, InterruptedException {
- var namespaceName = new NamespaceName(List.of("Example", "Project"));
- var instruction = Instructions.namespaceImport(namespaceName);
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushBoolTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushBoolTests.java
deleted file mode 100644
index 1b61badf..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushBoolTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenPushBoolTests {
- @Test
- public void pushFalseIsCompiledToOperandInStack(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.pushBool(false);
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-
- @Test
- public void pushTrueIsCompiledToOperandInStack(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.pushBool(true);
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushIntTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushIntTests.java
deleted file mode 100644
index 8b356372..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushIntTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenPushIntTests {
- // TODO: handle larger ints
-
- @Test
- public void pushIntIsCompiledToOperandInStack(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.pushInt(42);
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushStringTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushStringTests.java
deleted file mode 100644
index 34d69178..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushStringTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenPushStringTests {
- @Test
- public void pushStringIsCompiledToDataAndIndexToData(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.pushString("hello");
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-
- @Test
- public void canHaveMultipleStrings(Snapshotter snapshotter) throws IOException, InterruptedException {
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(Instructions.pushString("hello"), context);
- result = WasmCodeGen.generateInstruction(Instructions.pushString("world"), result);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushUnitTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushUnitTests.java
deleted file mode 100644
index 8c534c40..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenPushUnitTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenPushUnitTests {
- @Test
- public void pushUnitIsCompiledToOperandInStack(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.pushUnit();
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenReturnTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenReturnTests.java
deleted file mode 100644
index b5bf5898..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenReturnTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenReturnTests {
- @Test
- public void returnCompilesToReturnInstruction(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.return_();
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenStringAddTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenStringAddTests.java
deleted file mode 100644
index 2e4d9ed6..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenStringAddTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.shedlang.compiler.stackir.instructions.Instructions;
-import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
-import org.shedlang.compiler.testing.snapshots.Snapshotter;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.WasmCodeGenTesting.objdumpContext;
-
-@ExtendWith({SnapshotResolver.class})
-public class WasmCodeGenStringAddTests {
- @Test
- public void stringAddIsCompiledToCallToRuntimeStringAdd(Snapshotter snapshotter) throws IOException, InterruptedException {
- var instruction = Instructions.stringAdd();
- var context = WasmCodeGenContext.EMPTY;
-
- var result = WasmCodeGen.generateInstruction(instruction, context);
-
- snapshotter.assertSnapshot(objdumpContext(result));
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenTesting.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenTesting.java
deleted file mode 100644
index 6138baec..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmCodeGenTesting.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import java.io.IOException;
-
-import static org.shedlang.compiler.backends.wasm.structure.WasmObjdump.objdump;
-
-public class WasmCodeGenTesting {
- private WasmCodeGenTesting() {
- }
-
- public static String objdumpContext(WasmCodeGenContext context) throws IOException, InterruptedException {
- var function = context.toFunction("f");
- var module = context.addFunction(function).toModule();
- return objdump(module);
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmExampleTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmExampleTests.java
deleted file mode 100644
index 7d284300..00000000
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmExampleTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.shedlang.compiler.backends.wasm;
-
-import org.shedlang.compiler.backends.Backend;
-import org.shedlang.compiler.backends.ExampleTests;
-
-import java.util.Optional;
-
-public class WasmExampleTests extends ExampleTests {
- @Override
- protected Backend backend() {
- return WasmBackend.DIRECT;
- }
-
- @Override
- protected Optional<String> binaryRunner() {
- return Optional.of("wasmtime");
- }
-
- @Override
- protected String executableName(String binary) {
- return binary + ".wasm";
- }
-
- @Override
- protected boolean isDisabled(String testName) {
- return testName.equals("var") || testName.equals("while");
- }
-}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/WasmPatioExampleTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/WasmPatioExampleTests.java
index 611546e0..37ffa780 100644
--- a/src/test/java/org/shedlang/compiler/backends/wasm/WasmPatioExampleTests.java
+++ b/src/test/java/org/shedlang/compiler/backends/wasm/WasmPatioExampleTests.java
@@ -8,7 +8,7 @@ import java.util.Optional;
public class WasmPatioExampleTests extends ExampleTests {
@Override
protected Backend backend() {
- return WasmBackend.PATIO;
+ return WasmBackend.INSTANCE;
}
@Override