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]

Reply via email to