Skip to content
Snippets Groups Projects
Commit 013ec375 authored by Nico Eckes's avatar Nico Eckes
Browse files

Beautify test output

parent 158dee77
No related branches found
No related tags found
No related merge requests found
Pipeline #933 failed
......@@ -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
......@@ -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);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment