You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by ma...@apache.org on 2023/03/09 19:35:31 UTC
[spark] branch master updated: [SPARK-38735][SQL][TESTS] Add tests for the error class: INTERNAL_ERROR
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 <th...@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 <th...@yandex.ru>
Signed-off-by: Max Gekk <ma...@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-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org