David Milicevic created SPARK-55443:
---------------------------------------
Summary: Phase 2 - Testing Framework
Key: SPARK-55443
URL: https://issues.apache.org/jira/browse/SPARK-55443
Project: Spark
Issue Type: Sub-task
Components: SQL
Affects Versions: 4.2.0
Reporter: David Milicevic
*Summary:*
Build testing infrastructure for Ops implementations
*Description:*
Create testing utilities that make it easy to verify Ops implementations and
enforce proper test coverage when new types are added through the framework.
*What this includes:*
* {{TypeOpsTestSuite}} base class for testing any Ops implementation -
provides standardized tests for each interface (physical type consistency,
external type roundtrip, format correctness, etc.)
* Compliance checking - verify that all required interface methods are
implemented and produce valid results
* Test templates for new types - copy-paste skeletons that a developer fills
in when adding a new type
* Guidelines for what must be tested per interface
*Example:*
{code:java}
abstract class TypeOpsTestSuite[T <: DataType] extends SparkFunSuite {
def createOps(dt: T): TypeOps
def sampleValues: Seq[(T, Any)]
test("PhyTypeOps: getPhysicalType is consistent") { ... }
test("ExternalTypeOps: roundtrip conversion") { ... }
test("FormatTypeOps: format produces valid string") { ... }
}{code}
*Note:*
The format and the exact design hasn't been fully thought out yet, so this is
not final. Things might change as we finalize previous phases.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]