This is an automated email from the ASF dual-hosted git repository. maxgekk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push: new b61be00278c [SPARK-38735][SQL][TESTS] Add tests for the error class: INTERNAL_ERROR b61be00278c is described below commit b61be00278c79037e258bd93f88ada336e8a6324 Author: eugene gusev <the8...@yandex.ru> AuthorDate: Thu Mar 9 22:34:49 2023 +0300 [SPARK-38735][SQL][TESTS] Add tests for the error class: INTERNAL_ERROR ### What changes were proposed in this pull request? This PR aims to add tests for the error class INTERNAL_ERROR to QueryExecutionErrorsSuite ### Why are the changes needed? The changes improve test coverage, and document expected error messages in tests ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? By running the tests Closes #40236 from the8thC/internal-error-tests. Authored-by: eugene gusev <the8...@yandex.ru> Signed-off-by: Max Gekk <max.g...@gmail.com> --- .../sql/errors/QueryExecutionErrorsSuite.scala | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/sql/core/src/test/scala/org/apache/spark/sql/errors/QueryExecutionErrorsSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/errors/QueryExecutionErrorsSuite.scala index 90180d5e600..d6a310df39e 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/errors/QueryExecutionErrorsSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/errors/QueryExecutionErrorsSuite.scala @@ -28,6 +28,11 @@ import org.mockito.Mockito.{mock, spy, when} import org.apache.spark._ import org.apache.spark.sql.{AnalysisException, DataFrame, Dataset, QueryTest, Row, SaveMode} +import org.apache.spark.sql.catalyst.FunctionIdentifier +import org.apache.spark.sql.catalyst.analysis.UnresolvedGenerator +import org.apache.spark.sql.catalyst.expressions.{Grouping, Literal, Parameter} +import org.apache.spark.sql.catalyst.expressions.codegen.CodegenContext +import org.apache.spark.sql.catalyst.expressions.objects.InitializeJavaBean import org.apache.spark.sql.catalyst.util.BadRecordException import org.apache.spark.sql.execution.datasources.jdbc.{DriverRegistry, JDBCOptions} import org.apache.spark.sql.execution.datasources.jdbc.connection.ConnectionProvider @@ -765,6 +770,58 @@ class QueryExecutionErrorsSuite ) } } + + test("INTERNAL_ERROR: Calling eval on Unevaluable expression") { + val e = intercept[SparkException] { + Parameter("foo").eval() + } + checkError( + exception = e, + errorClass = "INTERNAL_ERROR", + parameters = Map("message" -> "Cannot evaluate expression: parameter(foo)"), + sqlState = "XX000") + } + + test("INTERNAL_ERROR: Calling doGenCode on unresolved") { + val e = intercept[SparkException] { + val ctx = new CodegenContext + Grouping(Parameter("foo")).genCode(ctx) + } + checkError( + exception = e, + errorClass = "INTERNAL_ERROR", + parameters = Map( + "message" -> ("Cannot generate code for expression: " + + "grouping(parameter(foo))")), + sqlState = "XX000") + } + + test("INTERNAL_ERROR: Calling terminate on UnresolvedGenerator") { + val e = intercept[SparkException] { + UnresolvedGenerator(FunctionIdentifier("foo"), Seq.empty).terminate() + } + checkError( + exception = e, + errorClass = "INTERNAL_ERROR", + parameters = Map("message" -> "Cannot terminate expression: 'foo()"), + sqlState = "XX000") + } + + test("INTERNAL_ERROR: Initializing JavaBean with non existing method") { + val e = intercept[SparkException] { + val initializeWithNonexistingMethod = InitializeJavaBean( + Literal.fromObject(new java.util.LinkedList[Int]), + Map("nonexistent" -> Literal(1))) + initializeWithNonexistingMethod.eval() + } + checkError( + exception = e, + errorClass = "INTERNAL_ERROR", + parameters = Map( + "message" -> ("""A method named "nonexistent" is not declared in """ + + "any enclosing class nor any supertype")), + sqlState = "XX000") + } } class FakeFileSystemSetPermission extends LocalFileSystem { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org