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"};