aboutsummaryrefslogtreecommitdiff
path: root/src/test/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-07-19 20:14:17 +0100
committerMichael Williamson <mike@zwobble.org>2023-07-19 20:14:17 +0100
commit2d0ea7d1e81f708aaf9066fc92784d7b44ff3e74 (patch)
treec7297d8b24ffc0ccb3e204727340ae14fdce6b7b /src/test/java
parentd7efb0a84f80452ab87978e845593a504e06f5d4 (diff)
Tidy up functions for running processes
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();