Fix Maven plugins tests on Windows

This commit fixes problems with file path separators and command
line argument quoting in Maven plug integration tests when run on
Windows.

Fixes gh-20244
This commit is contained in:
Scott Frederick 2020-02-26 16:50:15 -06:00
parent 06d98c6b58
commit e60a7ea8d6
2 changed files with 4 additions and 8 deletions

View File

@ -85,14 +85,14 @@ class RunIntegrationTests {
@TestTemplate
void whenCommandLineSpecifiesJvmArgumentsTheyAreAvailableToTheApplication(MavenBuild mavenBuild) {
mavenBuild.project("run-jvmargs-commandline").goals("spring-boot:run")
.systemProperty("spring-boot.run.jvmArguments", "\"-Dfoo=value1\" \"-Dbar=value2\"")
.systemProperty("spring-boot.run.jvmArguments", "-Dfoo=value-from-cmd")
.execute((project) -> assertThat(buildLog(project)).contains("I haz been run"));
}
@TestTemplate
void whenPomAndCommandLineSpecifyJvmArgumentsThenPomOverrides(MavenBuild mavenBuild) {
mavenBuild.project("run-jvmargs").goals("spring-boot:run")
.systemProperty("spring-boot.run.jvmArguments", "\"-Dfoo=value-from-cmd\"")
.systemProperty("spring-boot.run.jvmArguments", "-Dfoo=value-from-cmd")
.execute((project) -> assertThat(buildLog(project)).contains("I haz been run"));
}
@ -117,7 +117,7 @@ class RunIntegrationTests {
@TestTemplate
void whenAWorkingDirectoryIsConfiguredTheApplicationIsRunFromThatDirectory(MavenBuild mavenBuild) {
mavenBuild.project("run-working-directory").goals("spring-boot:run").execute(
(project) -> assertThat(buildLog(project)).containsPattern("I haz been run from.*/src/main/java"));
(project) -> assertThat(buildLog(project)).containsPattern("I haz been run from.*src.main.java"));
}
@TestTemplate

View File

@ -20,13 +20,9 @@ public class SampleApplication {
public static void main(String[] args) {
String foo = System.getProperty("foo");
if (!"value1".equals(foo)) {
if (!"value-from-cmd".equals(foo)) {
throw new IllegalStateException("foo system property mismatch (got [" + foo + "]");
}
String bar = System.getProperty("bar");
if (!"value2".equals(bar)) {
throw new IllegalStateException("bar system property mismatch (got [" + bar + "]");
}
System.out.println("I haz been run");
}