Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
e937545
[SPARK-55910][SQL][TESTS] Merge `SQLTestUtils` into `QueryTest`
zhengruifeng Apr 9, 2026
b1b65b7
Move non-AnyFunSuite methods from QueryTest to QueryTestBase
zhengruifeng Apr 9, 2026
1722002
Use sql.SparkSession instead of classic.SparkSession in QueryTestBase
zhengruifeng Apr 9, 2026
fd6bd17
Make QueryTestBase extend SQLTestData; simplify SQLTestUtils to pure …
zhengruifeng Apr 9, 2026
9caa47a
Remove testImplicits object from QueryTestBase
zhengruifeng Apr 9, 2026
4f65ce5
Remove redundant self-type from SQLTestUtilsBase
zhengruifeng Apr 9, 2026
69af842
Add testImplicits to SharedSparkSessionBase and TestHiveSingleton
zhengruifeng Apr 9, 2026
59afd19
Add testImplicits back to QueryTestBase, revert SharedSparkSession/Te…
zhengruifeng Apr 9, 2026
cc06a26
Revert changes to SharedSparkSession and TestHiveSingleton
zhengruifeng Apr 9, 2026
edefd66
Keep SQLTestUtils as trait extending SparkFunSuite with QueryTestBase
zhengruifeng Apr 9, 2026
0af308c
Fix scalastyle: import ordering and blank line
zhengruifeng Apr 9, 2026
3f880f9
Fix missing import for quietly in SQLTestUtils
zhengruifeng Apr 9, 2026
4a9a76d
Move loadTestDataBeforeTests/setupTestData/beforeAll to QueryTestBase
zhengruifeng Apr 9, 2026
39cdb9c
Keep SparkFunSuite-dependent methods in SQLTestUtils
zhengruifeng Apr 9, 2026
33167c4
Move all SparkFunSuite-dependent methods from SQLTestUtils to QueryTest
zhengruifeng Apr 9, 2026
afcdad2
Fix compilation: sql returns classic.DataFrame, add ClassicConversion…
zhengruifeng Apr 10, 2026
38e3b96
Use spark.sessionState.artifactManager instead of spark.artifactManager
zhengruifeng Apr 10, 2026
8b3d950
Make QueryTestBase extend ClassicConversions
zhengruifeng Apr 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
507 changes: 500 additions & 7 deletions sql/core/src/test/scala/org/apache/spark/sql/QueryTest.scala

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import scala.jdk.CollectionConverters._

import org.apache.spark.SparkException
import org.apache.spark.sql.{AnalysisException, Row}
import org.apache.spark.sql.QueryTest.checkAnswer
import org.apache.spark.sql.catalyst.analysis.UnresolvedAttribute
import org.apache.spark.sql.catalyst.parser.ParseException
import org.apache.spark.sql.catalyst.util.quoteIdentifier
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package org.apache.spark.sql.execution

import org.apache.spark.SparkUnsupportedOperationException
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.{execution, DataFrame, Row}
import org.apache.spark.sql.{execution, DataFrame, QueryTest, Row}
import org.apache.spark.sql.AnalysisException
import org.apache.spark.sql.catalyst.InternalRow
import org.apache.spark.sql.catalyst.expressions._
Expand All @@ -37,7 +37,7 @@ import org.apache.spark.sql.internal.SQLConf
import org.apache.spark.sql.test.SharedSparkSession
import org.apache.spark.sql.types._

class PlannerSuite extends SharedSparkSession with AdaptiveSparkPlanHelper {
class PlannerSuite extends QueryTest with SharedSparkSession with AdaptiveSparkPlanHelper {
import testImplicits._

setupTestData()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ package org.apache.spark.sql.execution

import scala.util.control.NonFatal

import org.apache.spark.SparkFunSuite
import org.apache.spark.sql.{classic, DataFrame, Row, SparkSessionProvider, SQLContext}
import org.apache.spark.sql.{classic, DataFrame, QueryTest, Row, SQLContext}
import org.apache.spark.sql.catalyst.analysis.UnresolvedAttribute
import org.apache.spark.sql.catalyst.plans.logical.LocalRelation
import org.apache.spark.sql.classic.ClassicConversions._
Expand All @@ -30,7 +29,7 @@ import org.apache.spark.sql.test.SQLTestUtils
* Base class for writing tests for individual physical operators. For an example of how this
* class's test helper methods can be used, see [[SortSuite]].
*/
private[sql] abstract class SparkPlanTest extends SparkFunSuite with SparkSessionProvider {
private[sql] abstract class SparkPlanTest extends QueryTest {
override protected def spark: classic.SparkSession

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2234,7 +2234,7 @@ abstract class DDLSuite extends QueryTest with DDLSuiteBase {
// TODO(SPARK-50244): ADD JAR is inside `sql()` thus isolated. This will break an existing Hive
// use case (one session adds JARs and another session uses them). After we sort out the Hive
// isolation issue we will decide if the next assert should be wrapped inside `withResources`.
spark.artifactManager.withResources {
spark.sessionState.artifactManager.withResources {
assert(new File(SparkFiles.get(s"${directoryToAdd.getName}/${testFile.getName}")).exists())
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import scala.reflect.runtime.universe.TypeTag
import org.apache.spark.sql.{Column, DataFrame, QueryTest}
import org.apache.spark.sql.catalyst.expressions.{Attribute, Predicate}
import org.apache.spark.sql.catalyst.planning.PhysicalOperation
import org.apache.spark.sql.classic.ClassicConversions._
import org.apache.spark.sql.execution.datasources.FileBasedDataSourceTest
import org.apache.spark.sql.execution.datasources.v2.ExtractV2Scan
import org.apache.spark.sql.execution.datasources.v2.orc.OrcScan
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ import org.apache.spark.SparkConf
import org.apache.spark.sql.{Column, DataFrame}
import org.apache.spark.sql.catalyst.expressions.{And, Attribute, Predicate}
import org.apache.spark.sql.catalyst.planning.PhysicalOperation
import org.apache.spark.sql.classic.ClassicConversions._
import org.apache.spark.sql.execution.datasources.{DataSourceStrategy, HadoopFsRelation, LogicalRelationWithTable}
import org.apache.spark.sql.execution.datasources.orc.OrcShimUtils.{Operator, SearchArgument}
import org.apache.spark.sql.internal.SQLConf
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@ import org.apache.spark.sql.catalyst.expressions._
import org.apache.spark.sql.catalyst.optimizer.InferFiltersFromConstraints
import org.apache.spark.sql.catalyst.planning.PhysicalOperation
import org.apache.spark.sql.catalyst.util.RebaseDateTime.RebaseSpec
import org.apache.spark.sql.classic.ClassicConversions._
import org.apache.spark.sql.connector.catalog.CatalogV2Implicits.parseColumnPath
import org.apache.spark.sql.execution.ExplainMode
import org.apache.spark.sql.execution.datasources.{DataSourceStrategy, HadoopFsRelation, LogicalRelationWithTable, PushableColumnAndNestedColumn}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,13 @@ import scala.language.implicitConversions
import org.scalatest.concurrent.Waiters._
import org.scalatest.time.SpanSugar._

import org.apache.spark.sql.QueryTest
import org.apache.spark.sql.execution.streaming.checkpointing.{FileContextBasedCheckpointFileManager, FileSystemBasedCheckpointFileManager, HDFSMetadataLog}
import org.apache.spark.sql.internal.SQLConf
import org.apache.spark.sql.test.SharedSparkSession
import org.apache.spark.util.UninterruptibleThread

class HDFSMetadataLogSuite extends SharedSparkSession {
class HDFSMetadataLogSuite extends QueryTest with SharedSparkSession {

private implicit def toOption[A](a: A): Option[A] = Option(a)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ import org.apache.spark.sql.catalyst.plans.logical.LogicalPlan
import org.apache.spark.sql.catalyst.plans.physical.AllTuples
import org.apache.spark.sql.catalyst.streaming.StreamingRelationV2
import org.apache.spark.sql.catalyst.util._
import org.apache.spark.sql.classic.ClassicConversions.castToImpl
import org.apache.spark.sql.connector.read.streaming.{Offset => OffsetV2, SparkDataStream}
import org.apache.spark.sql.execution.datasources.v2.StreamingDataSourceV2ScanRelation
import org.apache.spark.sql.execution.streaming.continuous.{ContinuousExecution, EpochCoordinatorRef, IncrementAndGetEpoch}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import org.apache.spark.unsafe.types.CalendarInterval
/**
* A collection of sample data used in SQL tests.
*/
private[sql] trait SQLTestData extends SparkSessionProvider { self =>
trait SQLTestData extends SparkSessionProvider { self =>
import SQLTestData._

// Note: all test data should be lazy because the SparkSession is not set up yet.
Expand Down
Loading