Github user kiszk commented on a diff in the pull request:
https://github.com/apache/spark/pull/22375#discussion_r217454434
--- Diff:
sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvalHelperSuite.scala
---
@@ -35,6 +36,13 @@ class ExpressionEvalHelperSuite extends SparkFunSuite
with ExpressionEvalHelper
val e = intercept[RuntimeException] {
checkEvaluation(BadCodegenExpression(), 10) }
assert(e.getMessage.contains("some_variable"))
}
+
+ test("SPARK-25388: checkEvaluation should fail if nullable in DataType
is incorrect") {
+ val e = intercept[RuntimeException] {
+ checkEvaluation(MapIncorrectDataTypeExpression(), Map(3 -> 7, 6 ->
null))
--- End diff --
Here is an output. This is because the test correctly detects a failure
even in codegen-off mode, too.
```
"Incorrect evaluation (codegen off): mapincorrectdatatypeexpression(),
actual: keys: [3,6], values: [7,null], expected: keys: [3,6], values: [7,-1]"
did not contain "Incorrect evaluation in unsafe mode"
ScalaTestFailureLocation:
org.apache.spark.sql.catalyst.expressions.ExpressionEvalHelperSuite$$anonfun$4
at (ExpressionEvalHelperSuite.scala:44)
org.scalatest.exceptions.TestFailedException: "Incorrect evaluation
(codegen off): mapincorrectdatatypeexpression(), actual: keys: [3,6], values:
[7,null], expected: keys: [3,6], values: [7,-1]" did not contain "Incorrect
evaluation in unsafe mode"
at
org.scalatest.Assertions$class.newAssertionFailedException(Assertions.scala:528)
...
```
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]