From 013ec37545491ab984abca58a878f1476e14397c Mon Sep 17 00:00:00 2001 From: Nico Eckes <gitkraken@eckes.dev> Date: Mon, 21 Dec 2020 22:09:37 +0100 Subject: [PATCH] Beautify test output --- build.gradle.kts | 2 +- .../epro/osbkubernetes/OsbCheckerTest.java | 30 +++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 3d59a77..3dbc441 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,6 +3,7 @@ plugins { id("io.spring.dependency-management") version "1.0.10.RELEASE" id("java") id("com.google.osdetector") version "1.6.2" + id("com.adarshr.test-logger") version "2.1.1" } group = "de.thbingen.epro" @@ -51,6 +52,5 @@ dependencyManagement { tasks.withType<Test> { useJUnitPlatform() - testLogging.showStandardStreams = true systemProperty("spring.profiles.active", System.getProperty("profiles") ?: "test") } \ No newline at end of file diff --git a/src/test/java/de/thbingen/epro/osbkubernetes/OsbCheckerTest.java b/src/test/java/de/thbingen/epro/osbkubernetes/OsbCheckerTest.java index da88784..ebe9ee6 100644 --- a/src/test/java/de/thbingen/epro/osbkubernetes/OsbCheckerTest.java +++ b/src/test/java/de/thbingen/epro/osbkubernetes/OsbCheckerTest.java @@ -7,12 +7,8 @@ import org.springframework.boot.web.server.LocalServerPort; import java.io.*; import java.nio.file.Files; import java.nio.file.Path; -import java.util.ArrayList; -import java.util.List; import java.util.Properties; -import java.util.concurrent.atomic.AtomicBoolean; - -import static org.assertj.core.api.Assertions.assertThat; +import java.util.stream.Collectors; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class OsbCheckerTest { @@ -63,16 +59,20 @@ public class OsbCheckerTest { } Process p = new ProcessBuilder().directory(testDir.toFile()).command("java", "-jar", checker.getFileName().toString(), '-' + type).start(); + String output = new BufferedReader(new InputStreamReader(p.getInputStream())).lines().filter(s -> !s.startsWith("\tat")).collect(Collectors.joining("\n")); + int i = output.indexOf("JVM running for"); + if (i >= 0) output = output.substring(output.indexOf('\n', i)); + int ret = p.waitFor(); - AtomicBoolean initTrigger = new AtomicBoolean(false); - List<String> fullOut = new ArrayList<>(); - new BufferedReader(new InputStreamReader(p.getInputStream())).lines().filter(s -> !s.startsWith("\tat")).filter(s -> { - if (s.contains("JVM running for")) initTrigger.set(true); - fullOut.add(s); - return initTrigger.get(); - }).forEach(System.out::println); - if (!initTrigger.get()) fullOut.forEach(System.out::println); - - assertThat(p.waitFor()).isEqualTo(0); + if (ret != 0) { + throw new AssertionError("Exit code " + ret + '\n' + output) { + @Override + public String getLocalizedMessage() { + return null; + } + }; + } else { + System.out.println(output); + } } } -- GitLab