Skip to content

Commit 4d75463

Browse files
author
Yang Guo
committed
adjust unit test for multiple env output
1 parent bc2d07d commit 4d75463

File tree

4 files changed

+47
-18
lines changed

4 files changed

+47
-18
lines changed

platform-cmd-runner/src/main/java/com/flow/platform/cmd/CmdExecutor.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,6 @@ public void setLogListener(LogListener logListener) {
218218

219219
public CmdResult run() {
220220
outputResult = new CmdResult();
221-
222-
long startTime = System.currentTimeMillis();
223221
outputResult.setStartTime(DateUtil.now());
224222

225223
try {
@@ -254,7 +252,7 @@ public CmdResult run() {
254252
logThreadCountDown.await(DEFAULT_LOGGING_WAITING_SECONDS, TimeUnit.SECONDS);
255253
executor.shutdown();
256254

257-
// try to shutdown all threads with max 30 seconds waitting time
255+
// try to shutdown all threads with max 30 seconds waiting time
258256
if (!executor.awaitTermination(DEFAULT_SHUTDOWN_WAITING_SECONDS, TimeUnit.SECONDS)) {
259257
executor.shutdownNow();
260258
}

platform-cmd-runner/src/test/java/com/flow/platform/cmd/test/CmdExecutorTest.java

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,32 +14,35 @@
1414
*/
1515
public class CmdExecutorTest {
1616

17+
private LogListener logListener = new LogListener() {
18+
@Override
19+
public void onLog(Log log) {
20+
System.out.println(log);
21+
}
22+
23+
@Override
24+
public void onFinish() {
25+
26+
}
27+
};
28+
1729
@Test
1830
public void should_execute_command_with_correct_event() throws Throwable {
1931
ClassLoader loader = this.getClass().getClassLoader();
2032
String path = loader.getResource("test.sh").getFile();
2133
Runtime.getRuntime().exec("chmod +x " + path);
2234

23-
LogListener logListener = new LogListener() {
24-
@Override
25-
public void onLog(Log log) {
26-
System.out.println(log);
27-
}
28-
29-
@Override
30-
public void onFinish() {
31-
32-
}
33-
};
34-
35+
// run test.sh and export var start with CMD_RUNNER_TEST_ and OUTPUT_2
3536
CmdExecutor executor = new CmdExecutor(null,
3637
logListener,
3738
null,
3839
null,
39-
Lists.newArrayList("CMD_RUNNER_TEST"),
40+
Lists.newArrayList("CMD_RUNNER_TEST_", "OUTPUT_2"),
4041
null,
4142
Lists.newArrayList(String.format("source %s", path)));
43+
4244
CmdResult result = executor.run();
45+
Assert.assertEquals(0, result.getExitValue().intValue());
4346

4447
Assert.assertNotNull(result.getStartTime());
4548
Assert.assertNotNull(result.getProcess());
@@ -48,9 +51,31 @@ public void onFinish() {
4851
Assert.assertNotNull(result.getExitValue());
4952
Assert.assertNotNull(result.getDuration());
5053
Assert.assertNotNull(result.getExecutedTime());
51-
Assert.assertEquals(1, result.getOutput().size());
5254

5355
Assert.assertNotNull(result.getTotalDuration());
5456
Assert.assertNotNull(result.getFinishTime());
57+
58+
Assert.assertEquals(2, result.getOutput().size());
59+
Assert.assertEquals("test1", result.getOutput().get("CMD_RUNNER_TEST_1"));
60+
Assert.assertEquals("test2", result.getOutput().get("OUTPUT_2"));
61+
}
62+
63+
@Test
64+
public void should_not_export_output_when_cmd_got_error() throws Throwable {
65+
ClassLoader loader = this.getClass().getClassLoader();
66+
String path = loader.getResource("test_with_cmd_err.sh").getFile();
67+
Runtime.getRuntime().exec("chmod +x " + path);
68+
69+
CmdExecutor executor = new CmdExecutor(null,
70+
logListener,
71+
null,
72+
null,
73+
Lists.newArrayList("CMD_RUNNER_TEST"),
74+
null,
75+
Lists.newArrayList(String.format("source %s", path)));
76+
77+
CmdResult result = executor.run();
78+
Assert.assertEquals(0, result.getOutput().size());
79+
Assert.assertNotEquals(0, result.getExitValue().intValue());
5580
}
5681
}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
#!/usr/bin/env bash
22

33
echo "test shell"
4-
export CMD_RUNNER_TEST=test
4+
export CMD_RUNNER_TEST_1=test1
5+
export OUTPUT_2=test2
56
sleep 2
67
echo "done"
78

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/usr/bin/env bash
2+
3+
echo "test shell"
4+
export CMD_RUNNER_TEST=test
5+
cmd xxxx

0 commit comments

Comments
 (0)