Coverage gap
Apache Spark 3.3.0 ships an 11-test TypedImperativeAggregateSuite under spark/sql/core/src/test/scala/org/apache/spark/sql/TypedImperativeAggregateSuite.scala that exercises DataFrame aggregation through the TypedImperativeAggregate object-buffer pathway:
- Aggregate with object aggregate buffer, no group by
- Non-nullable / nullable aggregator behavior
- Input row containing null
- With group by
- Empty inputs (with / without group by)
- TypedImperativeAggregate in Window function context
None of these behaviors are currently exercised against the RAPIDS GPU path in tests/src/test/spark330/scala/org/apache/spark/sql/rapids/suites/. This complements existing RapidsDataFrameAggregateSuite with coverage for the imperative/object-buffer path specifically.
Intended test scope
Add RapidsTypedImperativeAggregateSuite extends TypedImperativeAggregateSuite with RapidsSQLTestsTrait, register in RapidsTestSettings.
Expected outcome
All 11 tests pass on the GPU path (confirmed locally; see PR). No exclusions required.
Coverage gap
Apache Spark 3.3.0 ships an 11-test
TypedImperativeAggregateSuiteunderspark/sql/core/src/test/scala/org/apache/spark/sql/TypedImperativeAggregateSuite.scalathat exercises DataFrame aggregation through theTypedImperativeAggregateobject-buffer pathway:None of these behaviors are currently exercised against the RAPIDS GPU path in
tests/src/test/spark330/scala/org/apache/spark/sql/rapids/suites/. This complements existingRapidsDataFrameAggregateSuitewith coverage for the imperative/object-buffer path specifically.Intended test scope
Add
RapidsTypedImperativeAggregateSuite extends TypedImperativeAggregateSuite with RapidsSQLTestsTrait, register inRapidsTestSettings.Expected outcome
All 11 tests pass on the GPU path (confirmed locally; see PR). No exclusions required.