Be more specific about java binary and home location in integration tests

Otherwise things work in weird way on Linux
This commit is contained in:
Nikolay Martynov 2019-06-12 11:14:06 -04:00
parent 2c173549b7
commit 07dda4dd9d
2 changed files with 8 additions and 1 deletions

View File

@ -9,7 +9,7 @@ class SpringBootSmokeTest extends AbstractServerSmokeTest {
String springBootShadowJar = System.getProperty("datadog.smoketest.springboot.shadowJar.path")
List<String> command = new ArrayList<>()
command.add("java")
command.add(javaPath())
command.addAll(defaultJavaProperties)
command.addAll((String[]) ["-jar", springBootShadowJar, "--server.port=${httpPort}"])
ProcessBuilder processBuilder = new ProcessBuilder(command)

View File

@ -33,6 +33,8 @@ abstract class AbstractSmokeTest extends Specification {
ProcessBuilder processBuilder = createProcessBuilder()
processBuilder.environment().put("JAVA_HOME", System.getProperty("java.home"))
processBuilder.redirectErrorStream(true)
File log = new File("${buildDirectory}/reports/serverProcess.log")
processBuilder.redirectOutput(ProcessBuilder.Redirect.to(log))
@ -40,6 +42,11 @@ abstract class AbstractSmokeTest extends Specification {
serverProcess = processBuilder.start()
}
String javaPath() {
final String separator = System.getProperty("file.separator");
return System.getProperty("java.home") + separator + "bin" + separator + "java";
}
def cleanupSpec() {
serverProcess?.waitForOrKill(1)
}