TAJO-766: Test failures in TestExecExternalShellCommand. (jihoon)

Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/71f394df
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/71f394df
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/71f394df

Branch: refs/heads/window_function
Commit: 71f394df9a45f1fe22a120918614b284c09d6347
Parents: fd896a6
Author: Jihoon Son <[email protected]>
Authored: Mon Apr 28 10:48:55 2014 +0900
Committer: Jihoon Son <[email protected]>
Committed: Mon Apr 28 10:48:55 2014 +0900

----------------------------------------------------------------------
 CHANGES                                                 |  4 ++++
 .../org/apache/tajo/cli/ExecExternalShellCommand.java   | 12 ++++++------
 .../src/main/java/org/apache/tajo/cli/TajoCli.java      |  2 ++
 .../apache/tajo/cli/TestExecExternalShellCommand.java   |  4 +---
 .../test/java/org/apache/tajo/rpc/TestBlockingRpc.java  |  1 -
 5 files changed, 13 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tajo/blob/71f394df/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 8b56c1c..13f908a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -15,6 +15,10 @@ Release 0.9.0 - unreleased
     TAJO-758: Supports parameter values in the SQL file.
     (Hyoungjun Kim via hyunsik)
 
+  BUG FIXES
+
+    TAJO-766: Test failures in TestExecExternalShellCommand. (jihoon)
+
   SUB TASKS
 
     TAJO-783: Remove yarn-related code from tajo-core. (hyunsik)

http://git-wip-us.apache.org/repos/asf/tajo/blob/71f394df/tajo-client/src/main/java/org/apache/tajo/cli/ExecExternalShellCommand.java
----------------------------------------------------------------------
diff --git 
a/tajo-client/src/main/java/org/apache/tajo/cli/ExecExternalShellCommand.java 
b/tajo-client/src/main/java/org/apache/tajo/cli/ExecExternalShellCommand.java
index ea2db28..2a9805f 100644
--- 
a/tajo-client/src/main/java/org/apache/tajo/cli/ExecExternalShellCommand.java
+++ 
b/tajo-client/src/main/java/org/apache/tajo/cli/ExecExternalShellCommand.java
@@ -33,11 +33,6 @@ public class ExecExternalShellCommand extends 
TajoShellCommand {
 
   @Override
   public void invoke(String[] command) throws Exception {
-    if (command.length < 2) {
-      context.getOutput().println("ERROR: No shell command.");
-      return;
-    }
-
     StringBuilder shellCommand = new StringBuilder();
     String prefix = "";
     for(int i = 1; i < command.length; i++) {
@@ -45,10 +40,15 @@ public class ExecExternalShellCommand extends 
TajoShellCommand {
       prefix = " ";
     }
 
+    String builtCommand = shellCommand.toString();
+    if (command.length < 2) {
+      throw new IOException("ERROR: '" + builtCommand + "' is an invalid 
command.");
+    }
+
     String[] execCommand = new String[3];
     execCommand[0] = "/bin/bash";
     execCommand[1] = "-c";
-    execCommand[2] = shellCommand.toString();
+    execCommand[2] = builtCommand;
 
     PrintWriter sout = context.getOutput();
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/71f394df/tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java
----------------------------------------------------------------------
diff --git a/tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java 
b/tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java
index cad755e..9772bf8 100644
--- a/tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java
+++ b/tajo-client/src/main/java/org/apache/tajo/cli/TajoCli.java
@@ -340,8 +340,10 @@ public class TajoCli {
         invoked.invoke(arguments);
       } catch (IllegalArgumentException ige) {
         outputFormatter.printErrorMessage(sout, ige);
+        return -1;
       } catch (Exception e) {
         outputFormatter.printErrorMessage(sout, e);
+        return -1;
       }
     }
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/71f394df/tajo-core/src/test/java/org/apache/tajo/cli/TestExecExternalShellCommand.java
----------------------------------------------------------------------
diff --git 
a/tajo-core/src/test/java/org/apache/tajo/cli/TestExecExternalShellCommand.java 
b/tajo-core/src/test/java/org/apache/tajo/cli/TestExecExternalShellCommand.java
index 9c6e760..8017dc6 100644
--- 
a/tajo-core/src/test/java/org/apache/tajo/cli/TestExecExternalShellCommand.java
+++ 
b/tajo-core/src/test/java/org/apache/tajo/cli/TestExecExternalShellCommand.java
@@ -39,8 +39,6 @@ public class TestExecExternalShellCommand {
     String consoleResult = new String(out.toByteArray());
     assertEquals("this is test\n", consoleResult);
 
-    cli.executeMetaCommand("\\! error_command");
-    consoleResult = new String(out.toByteArray());
-    assertEquals("this is test\nERROR: /bin/bash: error_command: command not 
found\n", consoleResult);
+    assertEquals(-1, cli.executeMetaCommand("\\! error_command"));
   }
 }

http://git-wip-us.apache.org/repos/asf/tajo/blob/71f394df/tajo-rpc/src/test/java/org/apache/tajo/rpc/TestBlockingRpc.java
----------------------------------------------------------------------
diff --git a/tajo-rpc/src/test/java/org/apache/tajo/rpc/TestBlockingRpc.java 
b/tajo-rpc/src/test/java/org/apache/tajo/rpc/TestBlockingRpc.java
index 7acede6..3fc51c6 100644
--- a/tajo-rpc/src/test/java/org/apache/tajo/rpc/TestBlockingRpc.java
+++ b/tajo-rpc/src/test/java/org/apache/tajo/rpc/TestBlockingRpc.java
@@ -147,7 +147,6 @@ public class TestBlockingRpc {
       assertTrue(t instanceof IOException);
       assertNotNull(t.getCause());
       assertTrue(t.getCause() instanceof ConnectException);
-      assertTrue(t.getCause().getMessage().indexOf("Connection refused") >= 0);
     }
   }
 

Reply via email to