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
The following commit(s) were added to refs/heads/FIXBUILD_ISSUE by this push: new 371bdae Improved test to be sure to get the correct failure for timeout. 371bdae is described below commit 371bdae10e9bb38e3a9443c45d3a31f52282220f Author: Karl Heinz Marbaise <khmarba...@apache.org> AuthorDate: Fri May 11 13:37:27 2018 +0200 Improved test to be sure to get the correct failure for timeout. --- .../maven/shared/invoker/DefaultInvokerTest.java | 19 +++++++---- .../resources/test-build-should-timeout/pom.xml | 13 +++++++- .../org/apache/maven/shared/invoker/AppTest.java | 38 ++++++---------------- 3 files changed, 34 insertions(+), 36 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 7aacf4e..83333bd 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(); @@ -102,8 +102,7 @@ public class DefaultInvokerTest // Using 1 second to make sure we will always get an timeout // Maybe in the future on a faster system this will not work anymore, // but for now it works. - request.setTimeoutInSeconds( 1 ); - request.setOutputHandler( new SystemOutHandler() ); + request.setTimeoutInSeconds( 4 ); if ( !System.getProperty( "java.version" ).startsWith( "1." ) ) { @@ -115,7 +114,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 @@ -287,7 +291,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 b1ab6d2..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,44 +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) { - // Make sure the whole build will take at least 5 seconds. - Thread.sleep(5000L); + while ( true ) + { + Thread.sleep( 1000L ); } - assertTrue(true); +// assertTrue( true ); } } -- To stop receiving notification emails like this one, please contact khmarba...@apache.org.