This is an automated email from the ASF dual-hosted git repository. rmannibucau pushed a commit to branch SUREFIRE-1892 in repository https://gitbox.apache.org/repos/asf/maven-surefire.git
commit e3a1a7bb642c1e69b6bd34c2a95820221da368c8 Author: Romain Manni-Bucau <rmannibu...@gmail.com> AuthorDate: Sun Mar 7 17:10:33 2021 +0100 [SUREFIRE-1892] ensure systemPropertyVariables values are stringified --- .../maven/plugin/surefire/AbstractSurefireMojo.java | 15 +++++++++++++-- .../maven/plugin/surefire/AbstractSurefireMojoTest.java | 10 ++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java index 4d1af3d..ec6ff73 100644 --- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java +++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java @@ -3623,9 +3623,20 @@ public abstract class AbstractSurefireMojo } @SuppressWarnings( "UnusedDeclaration" ) - public void setSystemPropertyVariables( Map<String, String> systemPropertyVariables ) + public void setSystemPropertyVariables( Map<String, ?> systemPropertyVariables ) { - this.systemPropertyVariables = systemPropertyVariables; + if (systemPropertyVariables != null) + { + this.systemPropertyVariables = new HashMap<>(); + for ( final Map.Entry<String, ?> entry : systemPropertyVariables.entrySet() ) + { + this.systemPropertyVariables.put( entry.getKey(), String.valueOf( entry.getValue() ) ); + } + } + else + { + this.systemPropertyVariables = null; + } } /** diff --git a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java index 53e7fba..12a7b1b 100644 --- a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java +++ b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java @@ -94,6 +94,7 @@ import static java.util.Collections.emptyMap; import static java.util.Collections.emptySet; import static java.util.Collections.singleton; import static java.util.Collections.singletonList; +import static java.util.Collections.singletonMap; import static org.apache.maven.artifact.versioning.VersionRange.createFromVersion; import static org.apache.maven.artifact.versioning.VersionRange.createFromVersionSpec; import static org.apache.maven.surefire.shared.lang3.JavaVersion.JAVA_9; @@ -102,6 +103,7 @@ import static org.apache.maven.surefire.shared.lang3.SystemUtils.IS_OS_WINDOWS; import static org.codehaus.plexus.languages.java.jpms.ModuleNameSource.MODULEDESCRIPTOR; import static org.fest.assertions.Assertions.assertThat; import static org.fest.assertions.MapAssert.entry; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; @@ -1999,6 +2001,14 @@ public class AbstractSurefireMojoTest mojo.verifyParameters(); } + @Test + public void shouldSupportBooleanSystemPropertiesValue() + { + AbstractSurefireMojo mojo = new Mojo(); + mojo.setSystemPropertyVariables(singletonMap("offline", true)); + assertEquals(singletonMap("offline", "true"), mojo.getSystemPropertyVariables()); + } + private void setProjectDepedenciesToMojo( Artifact... deps ) { for ( Artifact dep : deps )