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 private static final int TEST_SLEEP_TIME = 2000;
31
32 @BeforeClass
33 public static void installSelfdestructPlugin()
34 {
35 unpack( Surefire946KillMainProcessInReusableForkIT.class, "surefire-946-self-destruct-plugin", "plugin" ).executeInstall();
36 }
37
38 @Test( timeout = 30000 )
39 public void testHalt()
40 {
41 doTest( "halt" );
42 }
43
44 @Test( timeout = 30000 )
45 public void testExit()
46 {
47 doTest( "exit" );
48 }
49
50 @Test( timeout = 30000 )
51 public void testInterrupt()
52 {
53 doTest( "interrupt" );
54 }
55
56 private void doTest( String method )
57 {
58 unpack( "surefire-946-killMainProcessInReusableFork" )
59 .sysProp( "selfdestruct.timeoutInMillis", "5000" )
60 .sysProp( "selfdestruct.method", method )
61 .sysProp( "testSleepTime", String.valueOf( TEST_SLEEP_TIME ) )
62 .addGoal( "org.apache.maven.plugins.surefire:maven-selfdestruct-plugin:selfdestruct" )
63 .setForkJvm()
64 .forkPerThread().threadCount( 1 ).reuseForks( true ).maven().withFailure().executeTest();
65 }
66 }