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 <[email protected]> Authored: Wed Jan 6 16:57:15 2016 +0900 Committer: Jihoon Son <[email protected]> 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));
