Repository: maven-surefire Updated Branches: refs/heads/master 4df651657 -> 3fd14a9bf
[SUREFIRE-963] Unable to set empty environment variables Fix SUREFIRE-963 Unit test about env variable values completed with the use case of an env varaible not defined Apply the maven code style to the previous modifications Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/3fd14a9b Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/3fd14a9b Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/3fd14a9b Branch: refs/heads/master Commit: 3fd14a9bf2cb5be28f7b8b0d51f89620f958908f Parents: 4df6516 Author: cdeneux <[email protected]> Authored: Wed Oct 8 14:13:27 2014 +0200 Committer: tibordigana <[email protected]> Committed: Thu Oct 16 17:48:06 2014 +0200 ---------------------------------------------------------------------- .../booterclient/ForkConfiguration.java | 2 +- .../maven/surefire/EnvironmentVariablesIT.java | 47 ++++++++++++++++++++ .../jiras/Surefire763EnvironmentForkModeIT.java | 45 ------------------- .../resources/environment-variables/pom.xml | 2 + .../src/test/java/environment/BasicTest.java | 5 +++ 5 files changed, 55 insertions(+), 46 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3fd14a9b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java ---------------------------------------------------------------------- diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java index ca9bff1..d468c37 100644 --- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java +++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java @@ -161,7 +161,7 @@ public class ForkConfiguration { String value = environmentVariables.get( key ); - cli.addEnvironment( key, value ); + cli.addEnvironment( key, value == null ? "" : value ); } } http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3fd14a9b/surefire-integration-tests/src/test/java/org/apache/maven/surefire/EnvironmentVariablesIT.java ---------------------------------------------------------------------- diff --git a/surefire-integration-tests/src/test/java/org/apache/maven/surefire/EnvironmentVariablesIT.java b/surefire-integration-tests/src/test/java/org/apache/maven/surefire/EnvironmentVariablesIT.java new file mode 100644 index 0000000..a8a346b --- /dev/null +++ b/surefire-integration-tests/src/test/java/org/apache/maven/surefire/EnvironmentVariablesIT.java @@ -0,0 +1,47 @@ +package org.apache.maven.surefire; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase; +import org.junit.Test; + +/** + * SUREFIRE-763 Asserts that environment variables are correctly populated using "useSystemClassLoader=false" + * SUREFIRE-963 Asserts that empty environment variables are read as "". + * + * @author Kristian Rosenvold + * @author Christophe Deneux + */ +public class EnvironmentVariablesIT + extends SurefireJUnit4IntegrationTestCase +{ + @Test + public void testWhenUseSystemClassLoader() + { + unpack( "/environment-variables" ).addGoal( "-DuseSystemClassLoader=true" ).executeTest(); + } + + @Test + public void testWhenDontUseSystemClassLoader() + { + unpack( "/environment-variables" ).addGoal( "-DuseSystemClassLoader=false" ).executeTest(); + } + +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3fd14a9b/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire763EnvironmentForkModeIT.java ---------------------------------------------------------------------- diff --git a/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire763EnvironmentForkModeIT.java b/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire763EnvironmentForkModeIT.java deleted file mode 100644 index 37a569c..0000000 --- a/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/jiras/Surefire763EnvironmentForkModeIT.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.apache.maven.surefire.its.jiras; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase; -import org.junit.Test; - -/** - * SUREFIRE-674 Asserts that the build fails when tests have errors - * - * @author Kristian Rosenvold - */ -public class Surefire763EnvironmentForkModeIT - extends SurefireJUnit4IntegrationTestCase -{ - @Test - public void testWhenUseSystemClassLoader() - { - unpack( "/environment-variables" ).addGoal( "-DuseSystemClassLoader=true" ).executeTest(); - } - - @Test - public void testWhenDontUseSystemClassLoader() - { - unpack( "/environment-variables" ).addGoal( "-DuseSystemClassLoader=false" ).executeTest(); - } - -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3fd14a9b/surefire-integration-tests/src/test/resources/environment-variables/pom.xml ---------------------------------------------------------------------- diff --git a/surefire-integration-tests/src/test/resources/environment-variables/pom.xml b/surefire-integration-tests/src/test/resources/environment-variables/pom.xml index 57c05c3..c18b3b9 100644 --- a/surefire-integration-tests/src/test/resources/environment-variables/pom.xml +++ b/surefire-integration-tests/src/test/resources/environment-variables/pom.xml @@ -51,6 +51,8 @@ <useSystemClassLoader>${useSystemClassLoader}</useSystemClassLoader> <environmentVariables> <DUMMY_ENV_VAR>foo</DUMMY_ENV_VAR> + <EMPTY_VAR></EMPTY_VAR> + <UNSET_VAR /> </environmentVariables> </configuration> </plugin> http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3fd14a9b/surefire-integration-tests/src/test/resources/environment-variables/src/test/java/environment/BasicTest.java ---------------------------------------------------------------------- diff --git a/surefire-integration-tests/src/test/resources/environment-variables/src/test/java/environment/BasicTest.java b/surefire-integration-tests/src/test/resources/environment-variables/src/test/java/environment/BasicTest.java index 82d5449..e1a0f79 100644 --- a/surefire-integration-tests/src/test/resources/environment-variables/src/test/java/environment/BasicTest.java +++ b/surefire-integration-tests/src/test/resources/environment-variables/src/test/java/environment/BasicTest.java @@ -19,11 +19,13 @@ package environment; * under the License. */ +import org.hamcrest.core.IsNull; import org.junit.Assert; import org.junit.Test; import static org.hamcrest.core.Is.is; import static org.hamcrest.core.IsNull.notNullValue; +import static org.hamcrest.core.IsNull.nullValue; public class BasicTest @@ -35,6 +37,9 @@ public class BasicTest { Assert.assertThat( System.getenv( "PATH" ), notNullValue() ); Assert.assertThat( System.getenv( "DUMMY_ENV_VAR" ), is( "foo" ) ); + Assert.assertThat( System.getenv( "EMPTY_VAR" ), is( "" ) ); + Assert.assertThat( System.getenv( "UNSET_VAR" ), is( "" ) ); + Assert.assertThat( System.getenv( "UNDEFINED_VAR" ), nullValue() ); }
