fix failed test

This commit is contained in:
Jeff Zhang 2019-12-29 23:31:19 +08:00
parent 68d5a30c8e
commit eda5736499
4 changed files with 25 additions and 24 deletions

View file

@ -298,13 +298,13 @@ public class IPythonInterpreterTest extends BasePythonInterpreterTest {
"df.hvplot()", context);
assertEquals(InterpreterResult.Code.SUCCESS, result.code());
interpreterResultMessages = context.out.toInterpreterResultMessage();
assertEquals(5, interpreterResultMessages.size());
assertEquals(4, interpreterResultMessages.size());
assertEquals(InterpreterResult.Type.HTML, interpreterResultMessages.get(0).getType());
assertEquals(InterpreterResult.Type.HTML, interpreterResultMessages.get(1).getType());
assertEquals(InterpreterResult.Type.HTML, interpreterResultMessages.get(2).getType());
assertEquals(InterpreterResult.Type.HTML, interpreterResultMessages.get(3).getType());
assertEquals(InterpreterResult.Type.HTML, interpreterResultMessages.get(4).getType());
// docs_json is the source data of plotting which bokeh would use to render the plotting.
assertTrue(interpreterResultMessages.get(4).getData().contains("docs_json"));
assertTrue(interpreterResultMessages.get(3).getData().contains("docs_json"));
}

View file

@ -174,7 +174,7 @@ public class SparkSqlInterpreterTest {
public void testMultipleStatements() throws InterpreterException {
sparkInterpreter.interpret("case class P(age:Int)", context);
sparkInterpreter.interpret(
"val gr = sc.parallelize(Seq(P(1),P(2),P(3),P(4),P(5),P(6),P(7),P(8)))",
"val gr = sc.parallelize(Seq(P(1),P(2),P(3),P(4)))",
context);
sparkInterpreter.interpret("gr.toDF.registerTempTable(\"gr\")", context);
@ -182,33 +182,27 @@ public class SparkSqlInterpreterTest {
InterpreterResult ret = sqlInterpreter.interpret(
"select * --comment_1\nfrom gr;select count(1) from gr", context);
assertEquals(InterpreterResult.Code.SUCCESS, ret.code());
assertEquals(ret.message().toString(), 5, ret.message().size());
assertEquals(ret.message().toString(), Type.TEXT, ret.message().get(0).getType());
assertEquals(ret.message().toString(), "\n", ret.message().get(0).getData());
assertEquals(ret.message().toString(), 2, ret.message().size());
assertEquals(ret.message().toString(), Type.TABLE, ret.message().get(0).getType());
assertEquals(ret.message().toString(), Type.TABLE, ret.message().get(1).getType());
assertEquals(ret.message().toString(), Type.TEXT, ret.message().get(2).getType());
assertEquals(ret.message().toString(), "\n", ret.message().get(2).getData());
assertEquals(ret.message().toString(), Type.TABLE, ret.message().get(3).getType());
assertEquals(ret.message().toString(), Type.TEXT, ret.message().get(4).getType());
assertEquals(ret.message().toString(), "", ret.message().get(4).getData());
// One correct sql + One invalid sql
ret = sqlInterpreter.interpret("select * from gr;invalid_sql", context);
assertEquals(InterpreterResult.Code.ERROR, ret.code());
assertEquals(ret.message().toString(), 4, ret.message().size());
assertEquals(ret.message().toString(), Type.TABLE, ret.message().get(1).getType());
assertEquals(ret.message().toString(), Type.TEXT, ret.message().get(2).getType());
assertEquals(ret.message().toString(), Type.TEXT, ret.message().get(3).getType());
assertTrue(ret.message().toString(), ret.message().get(3).getData().contains("ParseException"));
assertEquals(ret.message().toString(), 2, ret.message().size());
assertEquals(ret.message().toString(), Type.TABLE, ret.message().get(0).getType());
if (sparkInterpreter.getSparkVersion().isSpark2()) {
assertTrue(ret.message().toString(), ret.message().get(1).getData().contains("ParseException"));
}
// One correct sql + One invalid sql + One valid sql (skipped)
ret = sqlInterpreter.interpret("select * from gr;invalid_sql; select count(1) from gr", context);
assertEquals(InterpreterResult.Code.ERROR, ret.code());
assertEquals(ret.message().toString(), 4, ret.message().size());
assertEquals(ret.message().toString(), Type.TABLE, ret.message().get(1).getType());
assertEquals(ret.message().toString(), Type.TEXT, ret.message().get(2).getType());
assertEquals(ret.message().toString(), Type.TEXT, ret.message().get(3).getType());
assertTrue(ret.message().toString(), ret.message().get(3).getData().contains("ParseException"));
assertEquals(ret.message().toString(), 2, ret.message().size());
assertEquals(ret.message().toString(), Type.TABLE, ret.message().get(0).getType());
if (sparkInterpreter.getSparkVersion().isSpark2()) {
assertTrue(ret.message().toString(), ret.message().get(1).getData().contains("ParseException"));
}
// Two 2 comments
ret = sqlInterpreter.interpret(

View file

@ -17,6 +17,7 @@
package org.apache.zeppelin.interpreter;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -328,6 +329,12 @@ public class InterpreterOutput extends OutputStream {
List<InterpreterResultMessage> list = new LinkedList<>();
synchronized (resultMessageOutputs) {
for (InterpreterResultMessageOutput out : resultMessageOutputs) {
if (out.toInterpreterResultMessage().getType() == InterpreterResult.Type.TEXT &&
StringUtils.isBlank(out.toInterpreterResultMessage().getData())) {
// skip blank text, because when print table data we usually need to print '%text \n'
// first to separate it from previous other kind of data. e.g. z.show(df)
continue;
}
list.add(out.toInterpreterResultMessage());
}
}

View file

@ -33,7 +33,7 @@ public class InterpreterResultTest {
result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "%this is a TEXT type");
assertEquals("No magic", InterpreterResult.Type.TEXT, result.message().get(0).getType());
result = new InterpreterResult(InterpreterResult.Code.SUCCESS, "%\n");
assertEquals("No magic", InterpreterResult.Type.TEXT, result.message().get(0).getType());
assertEquals(0, result.message().size());
}
@Test