Skip to content

[AURON #2173] [Correctness Testing] Add function-related tests#2245

Merged
slfan1989 merged 3 commits into
apache:masterfrom
lyne7-sc:test/spark_functions_suite
May 14, 2026
Merged

[AURON #2173] [Correctness Testing] Add function-related tests#2245
slfan1989 merged 3 commits into
apache:masterfrom
lyne7-sc:test/spark_functions_suite

Conversation

@lyne7-sc

@lyne7-sc lyne7-sc commented May 8, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Closes #2173

Rationale for this change

This pr extends some functions correctness tests to other supported Spark versions.

It helps identify version-specific behavior differences and existing unsupported cases across Spark versions.

What changes are included in this PR?

  • enable functions correctness tests for:
    • Spark 3.1
    • Spark 3.2
    • Spark 3.4
    • Spark 3.5
    • Spark 4.0
    • Spark 4.1
  • annotate existing failing cases with preliminary failure analysis generated with LLM assistance

Are there any user-facing changes?

no.

How was this patch tested?

n/a

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Extends Auron’s Spark correctness test coverage for built-in functions across additional supported Spark versions (3.1, 3.2, 3.4, 3.5, 4.0, 4.1), and updates shared test infrastructure to handle Spark 4 API differences.

Changes:

  • Add per-version wrapper suites to run Spark’s existing function suites under SparkQueryTestsBase.
  • Enable these suites in each Spark-version test module via AuronSparkTestSettings, with documented exclusions for known native-engine mismatches.
  • Update common test utilities for Spark 4 compatibility (e.g., expression-to-Column creation and DataFrame internals), plus minor formatting-only adjustments in the extension code.

Reviewed changes

Copilot reviewed 38 out of 42 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
spark-extension/src/main/scala/org/apache/spark/sql/auron/util/TaskContextHelper.scala Formatting-only adjustment in thread name construction.
spark-extension/src/main/scala/org/apache/spark/sql/auron/NativeHelper.scala Formatting-only adjustment in memory logging statement.
spark-extension/src/main/scala/org/apache/spark/sql/auron/AuronSparkSessionExtension.scala Formatting-only adjustment in plan logging.
spark-extension/src/main/scala/org/apache/spark/sql/auron/AuronConverters.scala Formatting-only adjustment in error string interpolation/indentation.
auron-spark-tests/common/src/test/scala/org/apache/spark/sql/SparkQueryTestsBase.scala Use queryExecution APIs for plan/sparkSession access (Spark 4-compatible).
auron-spark-tests/common/src/test/scala/org/apache/spark/sql/SparkExpressionTestsBase.scala Add Spark-version-specific helpers for Column creation and internal DF creation (Spark 4 compatibility).
auron-spark-tests/spark31/src/test/scala/org/apache/spark/sql/AuronDataFrameFunctionsSuite.scala Spark 3.1: enable DataFrame function suite under Auron test base.
auron-spark-tests/spark31/src/test/scala/org/apache/spark/sql/AuronDateFunctionsSuite.scala Spark 3.1: enable date function suite under Auron test base.
auron-spark-tests/spark31/src/test/scala/org/apache/spark/sql/AuronMathFunctionsSuite.scala Spark 3.1: enable math function suite under Auron test base.
auron-spark-tests/spark31/src/test/scala/org/apache/spark/sql/AuronMiscFunctionsSuite.scala Spark 3.1: enable misc function suite under Auron test base.
auron-spark-tests/spark31/src/test/scala/org/apache/spark/sql/AuronStringFunctionsSuite.scala Spark 3.1: enable string function suite under Auron test base.
auron-spark-tests/spark31/src/test/scala/org/apache/auron/utils/AuronSparkTestSettings.scala Spark 3.1: register/enable function suites with known-failure exclusions.
auron-spark-tests/spark32/src/test/scala/org/apache/spark/sql/AuronDataFrameFunctionsSuite.scala Spark 3.2: enable DataFrame function suite under Auron test base.
auron-spark-tests/spark32/src/test/scala/org/apache/spark/sql/AuronDateFunctionsSuite.scala Spark 3.2: enable date function suite under Auron test base.
auron-spark-tests/spark32/src/test/scala/org/apache/spark/sql/AuronMathFunctionsSuite.scala Spark 3.2: enable math function suite under Auron test base.
auron-spark-tests/spark32/src/test/scala/org/apache/spark/sql/AuronMiscFunctionsSuite.scala Spark 3.2: enable misc function suite under Auron test base.
auron-spark-tests/spark32/src/test/scala/org/apache/spark/sql/AuronStringFunctionsSuite.scala Spark 3.2: enable string function suite under Auron test base.
auron-spark-tests/spark32/src/test/scala/org/apache/auron/utils/AuronSparkTestSettings.scala Spark 3.2: register/enable function suites with known-failure exclusions.
auron-spark-tests/spark34/src/test/scala/org/apache/spark/sql/AuronDataFrameFunctionsSuite.scala Spark 3.4: enable DataFrame function suite under Auron test base.
auron-spark-tests/spark34/src/test/scala/org/apache/spark/sql/AuronDateFunctionsSuite.scala Spark 3.4: enable date function suite under Auron test base.
auron-spark-tests/spark34/src/test/scala/org/apache/spark/sql/AuronMathFunctionsSuite.scala Spark 3.4: enable math function suite under Auron test base.
auron-spark-tests/spark34/src/test/scala/org/apache/spark/sql/AuronMiscFunctionsSuite.scala Spark 3.4: enable misc function suite under Auron test base.
auron-spark-tests/spark34/src/test/scala/org/apache/spark/sql/AuronStringFunctionsSuite.scala Spark 3.4: enable string function suite under Auron test base.
auron-spark-tests/spark34/src/test/scala/org/apache/auron/utils/AuronSparkTestSettings.scala Spark 3.4: register/enable function suites with known-failure exclusions.
auron-spark-tests/spark35/src/test/scala/org/apache/spark/sql/AuronDataFrameFunctionsSuite.scala Spark 3.5: enable DataFrame function suite under Auron test base.
auron-spark-tests/spark35/src/test/scala/org/apache/spark/sql/AuronDateFunctionsSuite.scala Spark 3.5: enable date function suite under Auron test base.
auron-spark-tests/spark35/src/test/scala/org/apache/spark/sql/AuronMathFunctionsSuite.scala Spark 3.5: enable math function suite under Auron test base.
auron-spark-tests/spark35/src/test/scala/org/apache/spark/sql/AuronMiscFunctionsSuite.scala Spark 3.5: enable misc function suite under Auron test base.
auron-spark-tests/spark35/src/test/scala/org/apache/spark/sql/AuronStringFunctionsSuite.scala Spark 3.5: enable string function suite under Auron test base.
auron-spark-tests/spark35/src/test/scala/org/apache/auron/utils/AuronSparkTestSettings.scala Spark 3.5: register/enable function suites with known-failure exclusions.
auron-spark-tests/spark40/src/test/scala/org/apache/spark/sql/AuronDataFrameFunctionsSuite.scala Spark 4.0: enable DataFrame function suite under Auron test base.
auron-spark-tests/spark40/src/test/scala/org/apache/spark/sql/AuronDateFunctionsSuite.scala Spark 4.0: enable date function suite under Auron test base.
auron-spark-tests/spark40/src/test/scala/org/apache/spark/sql/AuronMathFunctionsSuite.scala Spark 4.0: enable math function suite under Auron test base.
auron-spark-tests/spark40/src/test/scala/org/apache/spark/sql/AuronMiscFunctionsSuite.scala Spark 4.0: enable misc function suite under Auron test base.
auron-spark-tests/spark40/src/test/scala/org/apache/spark/sql/AuronStringFunctionsSuite.scala Spark 4.0: enable string function suite under Auron test base.
auron-spark-tests/spark40/src/test/scala/org/apache/auron/utils/AuronSparkTestSettings.scala Spark 4.0: register/enable function suites with known-failure exclusions.
auron-spark-tests/spark41/src/test/scala/org/apache/spark/sql/AuronDataFrameFunctionsSuite.scala Spark 4.1: enable DataFrame function suite under Auron test base.
auron-spark-tests/spark41/src/test/scala/org/apache/spark/sql/AuronDateFunctionsSuite.scala Spark 4.1: enable date function suite under Auron test base.
auron-spark-tests/spark41/src/test/scala/org/apache/spark/sql/AuronMathFunctionsSuite.scala Spark 4.1: enable math function suite under Auron test base.
auron-spark-tests/spark41/src/test/scala/org/apache/spark/sql/AuronMiscFunctionsSuite.scala Spark 4.1: enable misc function suite under Auron test base.
auron-spark-tests/spark41/src/test/scala/org/apache/spark/sql/AuronStringFunctionsSuite.scala Spark 4.1: enable string function suite under Auron test base.
auron-spark-tests/spark41/src/test/scala/org/apache/auron/utils/AuronSparkTestSettings.scala Spark 4.1: register/enable function suites with known-failure exclusions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 24 to 28
import org.apache.commons.io.FileUtils
import org.apache.commons.math3.util.Precision
import org.apache.auron.sparkver
import org.apache.spark.SparkFunSuite
import org.apache.spark.sql.catalyst.{CatalystTypeConverters, InternalRow}
@github-actions github-actions Bot removed the spark label May 9, 2026
@slfan1989
slfan1989 merged commit bb619b9 into apache:master May 14, 2026
123 checks passed
@slfan1989

Copy link
Copy Markdown
Contributor

@lyne7-sc Thanks for the contribution! @ShreyeshArangath @richox @yew1eb Thanks for the review!

@lyne7-sc

Copy link
Copy Markdown
Contributor Author

Thanks everyone for the reviews!

@lyne7-sc
lyne7-sc deleted the test/spark_functions_suite branch May 14, 2026 02:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Correctness Testing] All Spark Versions - Add Functions related tests

5 participants