aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/org/shedlang/compiler/backends/ExampleTests.java8
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java4
-rw-r--r--src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmObjdump.java4
-rw-r--r--src/test/java/org/shedlang/compiler/testing/TestProcessRunner.java (renamed from src/test/java/org/shedlang/compiler/testing/ProcessRunner.java)9
4 files changed, 14 insertions, 11 deletions
diff --git a/src/test/java/org/shedlang/compiler/backends/ExampleTests.java b/src/test/java/org/shedlang/compiler/backends/ExampleTests.java
index 271b2c5c..551e553b 100644
--- a/src/test/java/org/shedlang/compiler/backends/ExampleTests.java
+++ b/src/test/java/org/shedlang/compiler/backends/ExampleTests.java
@@ -6,7 +6,7 @@ import org.shedlang.compiler.ShedCompiler;
import org.shedlang.compiler.backends.llvm.ExecutionResult;
import org.shedlang.compiler.config.ProjectConfig;
import org.shedlang.compiler.filesystem.ShedCompilerFiles;
-import org.shedlang.compiler.testing.ProcessRunner;
+import org.shedlang.compiler.testing.TestProcessRunner;
import org.shedlang.compiler.util.P;
import java.io.IOException;
@@ -34,20 +34,20 @@ public abstract class ExampleTests {
var config = ProjectConfig.read(exampleDirectory.toPath());
for (var example : config.examples()) {
var binPath = config.targetDir().resolve(backend.name()).resolve(example.bin()).toString();
- var result = run(binPath).throwOnError();
+ var result = runExampleBinary(binPath).throwOnError();
assertThat(result.stdout(), equalTo(example.expectedOutput()));
}
}
));
}
- private ExecutionResult run(String binary) throws IOException, InterruptedException {
+ private ExecutionResult runExampleBinary(String binary) throws IOException, InterruptedException {
var fullCommand = binaryRunner()
.map(binaryRunner -> P.vector(binaryRunner))
.orElse(P.vector())
.plus(executableName(binary));
- return ProcessRunner.run(fullCommand);
+ return TestProcessRunner.runCaptureOutput(fullCommand);
}
protected abstract Backend backend();
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java
index 99b92179..203e5db9 100644
--- a/src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java
+++ b/src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java
@@ -8,7 +8,7 @@ import org.shedlang.compiler.backends.wasm.structure.ast.instructions.WasmI64Con
import org.shedlang.compiler.backends.wasm.structure.ast.linking.WasmInitFunc;
import org.shedlang.compiler.backends.wasm.structure.ast.modules.*;
import org.shedlang.compiler.backends.wasm.structure.ast.types.*;
-import org.shedlang.compiler.testing.ProcessRunner;
+import org.shedlang.compiler.testing.TestProcessRunner;
import org.shedlang.compiler.testing.snapshots.SnapshotResolver;
import org.shedlang.compiler.testing.snapshots.Snapshotter;
@@ -361,7 +361,7 @@ public class WasmBinaryFormatModuleTests {
}
private void validate(Path path) throws IOException, InterruptedException {
- ProcessRunner.run(List.of("wasm-validate", "--enable-exceptions", path.toString()))
+ TestProcessRunner.runCaptureOutput(List.of("wasm-validate", "--enable-exceptions", path.toString()))
.throwOnError();
}
}
diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmObjdump.java b/src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmObjdump.java
index 8caadd1a..60133124 100644
--- a/src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmObjdump.java
+++ b/src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmObjdump.java
@@ -1,7 +1,7 @@
package org.shedlang.compiler.backends.wasm.structure;
import org.shedlang.compiler.backends.wasm.structure.ast.modules.WasmModule;
-import org.shedlang.compiler.testing.ProcessRunner;
+import org.shedlang.compiler.testing.TestProcessRunner;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -23,6 +23,6 @@ public class WasmObjdump {
}
public static String objdump(Path path) throws IOException, InterruptedException {
- return ProcessRunner.run(List.of("wasm-objdump", "-dx", path.toString())).throwOnError().stdout();
+ return TestProcessRunner.runCaptureOutput(List.of("wasm-objdump", "-dx", path.toString())).throwOnError().stdout();
}
}
diff --git a/src/test/java/org/shedlang/compiler/testing/ProcessRunner.java b/src/test/java/org/shedlang/compiler/testing/TestProcessRunner.java
index 8a824424..1c84e16f 100644
--- a/src/test/java/org/shedlang/compiler/testing/ProcessRunner.java
+++ b/src/test/java/org/shedlang/compiler/testing/TestProcessRunner.java
@@ -7,11 +7,14 @@ import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.stream.Collectors;
-public class ProcessRunner {
- private ProcessRunner() {
+public class TestProcessRunner {
+ private TestProcessRunner() {
}
- public static ExecutionResult run(List<String> command) throws IOException, InterruptedException {
+ /**
+ * Run a process until it exits, capturing its stdout and stderr.
+ */
+ public static ExecutionResult runCaptureOutput(List<String> command) throws IOException, InterruptedException {
var process = new ProcessBuilder()
.command(command)
.start();