You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@edgent.apache.org by dl...@apache.org on 2016/12/29 18:07:02 UTC
[3/4] incubator-edgent git commit: close output stream to process
before destroying it
close output stream to process before destroying it
without the close, testSink() fails on Window seemingly because the
"catStdInOut" command isn't given a chance to write its results and
validation fails
Project: http://git-wip-us.apache.org/repos/asf/incubator-edgent/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-edgent/commit/98167a6c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-edgent/tree/98167a6c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-edgent/diff/98167a6c
Branch: refs/heads/master
Commit: 98167a6cbeb3492a403e76e95ecd80631538eb06
Parents: 89502e8
Author: Dale LaBossiere <dl...@us.ibm.com>
Authored: Thu Dec 29 12:35:47 2016 -0500
Committer: Dale LaBossiere <dl...@us.ibm.com>
Committed: Thu Dec 29 12:35:47 2016 -0500
----------------------------------------------------------------------
.../edgent/connectors/command/runtime/CommandConnector.java | 8 ++++++++
.../edgent/test/connectors/command/CommandStreamsTest.java | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/98167a6c/connectors/command/src/main/java/org/apache/edgent/connectors/command/runtime/CommandConnector.java
----------------------------------------------------------------------
diff --git a/connectors/command/src/main/java/org/apache/edgent/connectors/command/runtime/CommandConnector.java b/connectors/command/src/main/java/org/apache/edgent/connectors/command/runtime/CommandConnector.java
index fca3d4c..97bcb01 100644
--- a/connectors/command/src/main/java/org/apache/edgent/connectors/command/runtime/CommandConnector.java
+++ b/connectors/command/src/main/java/org/apache/edgent/connectors/command/runtime/CommandConnector.java
@@ -86,6 +86,14 @@ abstract class CommandConnector implements AutoCloseable {
protected void closeProcess() {
if (currentProcess != null) {
+ if (currentProcess.getOutputStream() != null) {
+ try {
+ currentProcess.getOutputStream().close();
+ }
+ catch (IOException e) {
+ logger.error("Unable to close OutputStream to cmd {}", toCmdForMsg(), e);
+ }
+ }
currentProcess.destroy();
currentProcess = null;
}
http://git-wip-us.apache.org/repos/asf/incubator-edgent/blob/98167a6c/connectors/command/src/test/java/org/apache/edgent/test/connectors/command/CommandStreamsTest.java
----------------------------------------------------------------------
diff --git a/connectors/command/src/test/java/org/apache/edgent/test/connectors/command/CommandStreamsTest.java b/connectors/command/src/test/java/org/apache/edgent/test/connectors/command/CommandStreamsTest.java
index 6d68904..bf4bb65 100644
--- a/connectors/command/src/test/java/org/apache/edgent/test/connectors/command/CommandStreamsTest.java
+++ b/connectors/command/src/test/java/org/apache/edgent/test/connectors/command/CommandStreamsTest.java
@@ -67,7 +67,7 @@ public class CommandStreamsTest extends TopologyAbstractTest implements DirectTe
private String[] mkCatStdInOutCmd() {
if (isWindows()) {
- return new String[] {"cmd", "/c", "findstr", "^"};
+ return new String[] {"cmd", "/c", "findstr", ".*"};
}
else {
return new String[] {"cat"};