You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by ji...@apache.org on 2016/01/06 08:57:34 UTC
tajo git commit: TAJO-2034: Files required for executing python
functions are not copied in testEval().
Repository: tajo
Updated Branches:
refs/heads/master f44f92fb0 -> 84ff9272e
TAJO-2034: Files required for executing python functions are not copied in testEval().
Closes #925
Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/84ff9272
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/84ff9272
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/84ff9272
Branch: refs/heads/master
Commit: 84ff9272e977ab45c8be6f9a5ac1a6b846084caf
Parents: f44f92f
Author: Jihoon Son <ji...@apache.org>
Authored: Wed Jan 6 16:57:15 2016 +0900
Committer: Jihoon Son <ji...@apache.org>
Committed: Wed Jan 6 16:57:15 2016 +0900
----------------------------------------------------------------------
CHANGES | 3 +++
.../org/apache/tajo/engine/eval/ExprTestBase.java | 17 +++++++++++++++--
2 files changed, 18 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/84ff9272/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 2184cde..62f889f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -71,6 +71,9 @@ Release 0.12.0 - unreleased
BUG FIXES
+ TAJO-2034: Files required for executing python functions are not copied in
+ testEval(). (jihoon)
+
TAJO-2037: tajo-storage-hdfs tests occasionally hangs. (jinho)
TAJO-2025: HBASE_LIB/metrics-core-*.jar should be included in CLASSPATH.
http://git-wip-us.apache.org/repos/asf/tajo/blob/84ff9272/tajo-core-tests/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
----------------------------------------------------------------------
diff --git a/tajo-core-tests/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java b/tajo-core-tests/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
index 602d566..e52d3a0 100644
--- a/tajo-core-tests/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
+++ b/tajo-core-tests/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
@@ -34,15 +34,19 @@ import org.apache.tajo.engine.codegen.EvalCodeGenerator;
import org.apache.tajo.engine.codegen.TajoClassLoader;
import org.apache.tajo.engine.function.FunctionLoader;
import org.apache.tajo.engine.json.CoreGsonHelper;
-import org.apache.tajo.parser.sql.SQLAnalyzer;
import org.apache.tajo.engine.query.QueryContext;
import org.apache.tajo.exception.TajoException;
import org.apache.tajo.exception.TajoInternalError;
import org.apache.tajo.function.FunctionSignature;
import org.apache.tajo.master.exec.QueryExecutor;
-import org.apache.tajo.plan.*;
+import org.apache.tajo.parser.sql.SQLAnalyzer;
+import org.apache.tajo.plan.LogicalOptimizer;
+import org.apache.tajo.plan.LogicalPlan;
+import org.apache.tajo.plan.LogicalPlanner;
+import org.apache.tajo.plan.Target;
import org.apache.tajo.plan.expr.EvalContext;
import org.apache.tajo.plan.expr.EvalNode;
+import org.apache.tajo.plan.function.python.PythonScriptEngine;
import org.apache.tajo.plan.serder.EvalNodeDeserializer;
import org.apache.tajo.plan.serder.EvalNodeSerializer;
import org.apache.tajo.plan.serder.PlanProto;
@@ -60,6 +64,7 @@ import org.apache.tajo.util.datetime.DateTimeUtil;
import org.junit.AfterClass;
import org.junit.BeforeClass;
+import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@@ -278,6 +283,9 @@ public class ExprTestBase {
EvalContext evalContext = new EvalContext();
try {
+ if (needPythonFileCopy()) {
+ PythonScriptEngine.initPythonScriptEngineFiles();
+ }
targets = getRawTargets(queryContext, query, condition);
EvalCodeGenerator codegen = null;
@@ -335,6 +343,11 @@ public class ExprTestBase {
}
}
+ private static boolean needPythonFileCopy() {
+ File contoller = new File(PythonScriptEngine.getControllerPath());
+ return !contoller.exists();
+ }
+
public static void assertEvalTreeProtoSerDer(OverridableConf context, EvalNode evalNode) {
PlanProto.EvalNodeTree converted = EvalNodeSerializer.serialize(evalNode);
assertEquals(evalNode, EvalNodeDeserializer.deserialize(context, null, converted));