aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-05 22:37:03 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-05 22:37:03 +0100
commit8017cda831df5cf802a79fce86e7d6f235d7aca9 (patch)
tree52706174f40366208de6e3d2b526ec117650fb46 /src/test/java
parent0984a4a58102a2f767c02100a69639009db8fd3a (diff)
Check output of examples
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/backends/ExampleTests.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/test/java/org/shedlang/compiler/backends/ExampleTests.java b/src/test/java/org/shedlang/compiler/backends/ExampleTests.java
index 1727fff2..271b2c5c 100644
--- a/src/test/java/org/shedlang/compiler/backends/ExampleTests.java
+++ b/src/test/java/org/shedlang/compiler/backends/ExampleTests.java
@@ -14,6 +14,9 @@ import java.util.Arrays;
import java.util.Optional;
import java.util.stream.Stream;
+import static org.zwobble.precisely.AssertThat.assertThat;
+import static org.zwobble.precisely.Matchers.equalTo;
+
public abstract class ExampleTests {
@TestFactory
public Stream<DynamicTest> tests() {
@@ -30,7 +33,9 @@ public abstract class ExampleTests {
var config = ProjectConfig.read(exampleDirectory.toPath());
for (var example : config.examples()) {
- run(config.targetDir().resolve(backend.name()).resolve(example.bin()).toString()).throwOnError();
+ var binPath = config.targetDir().resolve(backend.name()).resolve(example.bin()).toString();
+ var result = run(binPath).throwOnError();
+ assertThat(result.stdout(), equalTo(example.expectedOutput()));
}
}
));