[ 
https://issues.apache.org/jira/browse/SPARK-55443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Milicevic updated SPARK-55443:
------------------------------------
    Summary: Types Framework - Phase 2 - Testing Framework  (was: Phase 2 - 
Testing Framework)

> Types Framework - 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
>            Priority: Major
>
> *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.
> *Design doc:*
> Linked in the parent work item.



--
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