andygrove opened a new pull request, #3325: URL: https://github.com/apache/datafusion-comet/pull/3325
## Summary - Adds a sqllogictest-inspired framework for writing Comet SQL tests as plain `.sql` files - Converts 11 tests from `CometExpressionSuite` into 8 `.sql` files under `spark/src/test/resources/sql-tests/expressions/` - Adds `CometSqlFileTestSuite` (test runner) and `SqlFileTestParser` (parser) - Adds the new suite to Linux and macOS CI workflows ### Supported directives | Directive | Purpose | |-----------|---------| | `-- Config: key=value` | Static Spark/Comet SQL config | | `-- ConfigMatrix: key=val1,val2` | Run file once per value (cross-product) | | `statement` | Execute DDL/DML | | `query` | Run `checkSparkAnswerAndOperator` | | `query spark_answer_only` | Run `checkSparkAnswer` (no operator check) | | `query tolerance=0.001` | Floating-point tolerance comparison | ### Why - **No recompilation needed** to add or modify SQL tests — just edit a `.sql` file and run - **Aligns with upstream DataFusion**, which uses sqllogictest `.slt` files extensively for SQL testing - **Lower barrier** for contributors to add test coverage — no Scala knowledge required - **Declarative configs** via `Config`/`ConfigMatrix` headers replace nested `Seq.foreach`/`withSQLConf` boilerplate ## Test plan - [x] All 16 SQL file tests pass (including ConfigMatrix expansion) - [x] Remaining `CometExpressionSuite` tests still pass (118 tests) - [x] Total: 134 tests succeeded, 0 failed 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
