From 3fc8a90267312fdfc42b7e6a16ee69f2507ef56b Mon Sep 17 00:00:00 2001 From: yangjie01 Date: Thu, 1 Dec 2022 14:44:53 +0300 Subject: [PATCH] [SPARK-41348][SQL][TESTS] Refactor `UnsafeArrayWriterSuite` to check error class ### What changes were proposed in this pull request? This pr aims to refactor `UnsafeArrayWriterSuite` to check `TOO_MANY_ARRAY_ELEMENTS`. ### Why are the changes needed? Test should check error class ### Does this PR introduce _any_ user-facing change? No, just for test ### How was this patch tested? Pass GitHub Action Closes #38860 from LuciferYang/SPARK-41348. Authored-by: yangjie01 Signed-off-by: Max Gekk --- .../codegen/UnsafeArrayWriterSuite.scala | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/codegen/UnsafeArrayWriterSuite.scala b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/codegen/UnsafeArrayWriterSuite.scala index 447454603001e..f10fb0754f574 100644 --- a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/codegen/UnsafeArrayWriterSuite.scala +++ b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/codegen/UnsafeArrayWriterSuite.scala @@ -21,11 +21,20 @@ import org.apache.spark.{SparkFunSuite, SparkIllegalArgumentException} class UnsafeArrayWriterSuite extends SparkFunSuite { test("SPARK-40403: don't print negative number when array is too big") { + val numElements = 268271216 + val elementSize = 8 val rowWriter = new UnsafeRowWriter(1) rowWriter.resetRowWriter() - val arrayWriter = new UnsafeArrayWriter(rowWriter, 8) - assert(intercept[SparkIllegalArgumentException] { - arrayWriter.initialize(268271216) - }.getMessage.contains("Cannot initialize array with 268271216 elements of size 8")) + val arrayWriter = new UnsafeArrayWriter(rowWriter, elementSize) + checkError( + exception = intercept[SparkIllegalArgumentException] { + arrayWriter.initialize(numElements) + }, + errorClass = "TOO_MANY_ARRAY_ELEMENTS", + parameters = Map( + "numElements" -> numElements.toString, + "size" -> elementSize.toString + ) + ) } }