1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.commons.exec.issues;
21
22 import java.io.IOException;
23 import java.util.concurrent.TimeUnit;
24
25 import org.apache.commons.exec.AbstractExecTest;
26 import org.apache.commons.exec.CommandLine;
27 import org.apache.commons.exec.DefaultExecutor;
28 import org.apache.commons.exec.PumpStreamHandler;
29 import org.junit.jupiter.api.Disabled;
30 import org.junit.jupiter.api.Test;
31 import org.junit.jupiter.api.Timeout;
32 import org.junit.jupiter.api.condition.DisabledOnOs;
33
34
35
36
37 class Exec57Test extends AbstractExecTest {
38
39
40
41
42
43
44
45
46
47 @Disabled("Broken for Unix-based systems")
48 @Test
49 @Timeout(value = TEST_TIMEOUT, unit = TimeUnit.MILLISECONDS)
50 void testExecutionOfBackgroundProcess() throws IOException {
51
52 final CommandLine cmdLine = new CommandLine("sh").addArgument("-c").addArgument("./src/test/scripts/issues/exec-57-nohup.sh", false);
53 final DefaultExecutor executor = DefaultExecutor.builder().get();
54 final PumpStreamHandler pumpStreamHandler = new PumpStreamHandler(System.out, System.err);
55
56 executor.setStreamHandler(pumpStreamHandler);
57
58 executor.execute(cmdLine);
59 }
60
61
62
63
64
65
66 @Test
67 @DisabledOnOs(org.junit.jupiter.api.condition.OS.WINDOWS)
68 @Timeout(value = TEST_TIMEOUT, unit = TimeUnit.MILLISECONDS)
69 void testExecutionOfDetachedProcess() throws IOException {
70 final CommandLine cmdLine = new CommandLine("sh").addArgument("-c").addArgument("./src/test/scripts/issues/exec-57-detached.sh", false);
71 final DefaultExecutor executor = DefaultExecutor.builder().get();
72 final PumpStreamHandler pumpStreamHandler = new PumpStreamHandler(System.out, System.err);
73
74 executor.setStreamHandler(pumpStreamHandler);
75
76 executor.execute(cmdLine);
77 }
78 }