diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-07-19 20:14:17 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-07-19 20:14:17 +0100 |
| commit | 2d0ea7d1e81f708aaf9066fc92784d7b44ff3e74 (patch) | |
| tree | c7297d8b24ffc0ccb3e204727340ae14fdce6b7b /src/test/java | |
| parent | d7efb0a84f80452ab87978e845593a504e06f5d4 (diff) | |
Tidy up functions for running processes
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/backends/ExampleTests.java | 8 | ||||
| -rw-r--r-- | src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmBinaryFormatModuleTests.java | 4 | ||||
| -rw-r--r-- | src/test/java/org/shedlang/compiler/backends/wasm/structure/WasmObjdump.java | 4 | ||||
| -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(); |
