1 package org.apache.maven.surefire.its.jiras;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.surefire.its.fixture.SurefireJUnit4IntegrationTestCase;
23 import org.junit.BeforeClass;
24 import org.junit.Test;
25
26 public class Surefire946KillMainProcessInReusableForkIT
27 extends SurefireJUnit4IntegrationTestCase
28 {
29
30
31 private static final int TEST_SLEEP_TIME = 2000;
32
33 @BeforeClass
34 public static void installSelfdestructPlugin()
35 throws Exception
36 {
37 unpack( Surefire946KillMainProcessInReusableForkIT.class, "surefire-946-self-destruct-plugin", "plugin" ).executeInstall();
38 }
39
40 @Test( timeout = 30000 )
41 public void testHalt()
42 throws Exception
43 {
44 doTest( "halt" );
45 }
46
47 @Test( timeout = 30000 )
48 public void testExit()
49 throws Exception
50 {
51 doTest( "exit" );
52 }
53
54 @Test( timeout = 30000 )
55 public void testInterrupt()
56 throws Exception
57 {
58 doTest( "interrupt" );
59 }
60
61 private void doTest( String method )
62 {
63 unpack( "surefire-946-killMainProcessInReusableFork" )
64 .sysProp( "selfdestruct.timeoutInMillis", "5000" )
65 .sysProp( "selfdestruct.method", method )
66 .sysProp( "testSleepTime", String.valueOf( TEST_SLEEP_TIME ) )
67 .addGoal( "org.apache.maven.plugins.surefire:maven-selfdestruct-plugin:selfdestruct" )
68 .setForkJvm()
69 .forkOncePerThread().threadCount( 1 ).maven().withFailure().executeTest();
70 }
71 }