This is an automated email from the ASF dual-hosted git repository. khmarbaise pushed a commit to branch FIXBUILD_ISSUE in repository https://gitbox.apache.org/repos/asf/maven-invoker.git
commit efa323e14cea9294e26d71a30e30b25cb746aaa6 Author: Karl Heinz Marbaise <khmarba...@apache.org> AuthorDate: Fri May 11 12:29:57 2018 +0200 The tests relying on the exitcode in case of a timeout which is not correct, cause DefaultInvoker results in an Exception instead. --- .../maven/shared/invoker/DefaultInvokerTest.java | 16 +++++++--- .../resources/test-build-should-timeout/pom.xml | 13 +++++++- .../org/apache/maven/shared/invoker/AppTest.java | 37 ++++++---------------- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java b/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java index ba51a16..deab040 100644 --- a/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java +++ b/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java @@ -48,7 +48,7 @@ public class DefaultInvokerTest request.setBaseDirectory( basedir ); request.setDebug( true ); request.setGoals( Arrays.asList( "clean", "package" ) ); - + if ( !System.getProperty( "java.version" ).startsWith( "1." ) ) { Properties properties = new Properties(); @@ -74,7 +74,7 @@ public class DefaultInvokerTest request.setBaseDirectory( basedir ); request.setDebug( true ); request.setGoals( Arrays.asList( "clean", "package" ) ); - + if ( !System.getProperty( "java.version" ).startsWith( "1." ) ) { Properties properties = new Properties(); @@ -89,7 +89,7 @@ public class DefaultInvokerTest @Test public void testBuildShouldTimeout() - throws IOException, MavenInvocationException, URISyntaxException + throws IOException, MavenInvocationException, URISyntaxException { File basedir = getBasedirForBuild(); @@ -111,7 +111,12 @@ public class DefaultInvokerTest InvocationResult result = invoker.execute( request ); - assertEquals( 1, result.getExitCode() ); + // We check the exception to be sure the failure is based on timeout. + assertEquals( "Error while executing external command, process killed.", + result.getExecutionException().getMessage() ); + // exitCode can't be used cause in case of an timeout it's not correctly + // set in DefaultInvoker. Need to think about this. + // assertEquals( 1, result.getExitCode() ); } @Test @@ -283,7 +288,8 @@ public class DefaultInvokerTest if ( dirResource == null ) { - throw new IllegalStateException( "Project: " + dirName + " for test method: " + methodName + " is missing." ); + throw new IllegalStateException( "Project: " + dirName + " for test method: " + methodName + + " is missing." ); } return new File( new URI( dirResource.toString() ).getPath() ); diff --git a/src/test/resources/test-build-should-timeout/pom.xml b/src/test/resources/test-build-should-timeout/pom.xml index d43d9a5..1826d20 100644 --- a/src/test/resources/test-build-should-timeout/pom.xml +++ b/src/test/resources/test-build-should-timeout/pom.xml @@ -27,8 +27,19 @@ under the License. <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <version>3.8.2</version> + <version>4.12</version> <scope>test</scope> </dependency> </dependencies> + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.21.0</version> + </plugin> + </plugins> + </pluginManagement> + </build> </project> diff --git a/src/test/resources/test-build-should-timeout/src/test/java/org/apache/maven/shared/invoker/AppTest.java b/src/test/resources/test-build-should-timeout/src/test/java/org/apache/maven/shared/invoker/AppTest.java index 3a01f8a..c289090 100644 --- a/src/test/resources/test-build-should-timeout/src/test/java/org/apache/maven/shared/invoker/AppTest.java +++ b/src/test/resources/test-build-should-timeout/src/test/java/org/apache/maven/shared/invoker/AppTest.java @@ -1,5 +1,7 @@ package org.apache.maven.shared.invoker; +import org.junit.Test; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -19,43 +21,24 @@ package org.apache.maven.shared.invoker; * under the License. */ -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - /** * Unit test for simple App. */ -public class AppTest - extends TestCase +public class AppTest { - /** - * Create the test case - * - * @param testName name of the test case - */ - public AppTest( String testName ) - { - super( testName ); - } - - /** - * @return the suite of tests being tested - */ - public static Test suite() - { - return new TestSuite( AppTest.class ); - } /** * Not ending test + * @throws InterruptedException */ - public void testApp() + @Test + public void testApp() throws InterruptedException { - while (true) { - Thread.sleep(1); + while ( true ) + { + Thread.sleep( 1000L ); } - assertTrue(true); +// assertTrue( true ); } } -- To stop receiving notification emails like this one, please contact khmarba...@apache.org.