aglinxinyuan opened a new pull request, #7018:
URL: https://github.com/apache/texera/pull/7018

   ### What changes were proposed in this PR?
   
   Adds 47 tests across five `common/workflow-operator` classes (33 -> 80 in 
these suites). No source changes; all four extended specs are **pure 
insertions** (0 deletions), so no existing test was modified.
   
   - **`AggregationOperation`**: the SUM/COUNT/MIN/MAX `merge` lambdas — 
invoked when several workers report into the global stage and never exercised 
by `AggregateOpSpec` — each cross-checked against the equivalent single-pass 
aggregation; CONCAT's empty-partial branch; the unknown-function error message; 
and `getFinal`'s detached-copy contract.
   - **`FilterPredicate`**: the two attribute-type cases nothing reached — 
`ANY` (routes through the string path, with numeric coercion and a 
lexicographic fallback) and `BINARY` (throws `unsupported attribute type`) — 
plus the `IS_NULL`/`IS_NOT_NULL` short-circuit ahead of the type switch, value 
trimming, and `NumberFormatException` propagation.
   - **`ECDFPlotOpDesc`** and **`TimeSeriesOpDesc`**: `operatorInfo` and output 
schema, the optional settings that gate generated Plotly arguments, the 
generated-code empty-table guards, and — per the repo convention for LogicalOp 
subtypes — a **JSON round-trip** through `LogicalOp` asserting every config 
field survives, plus a minimal payload deserializing to the documented 
defaults. Neither spec had a round-trip before.
   - **`OPVersion`** (new spec): the `"N/A"` fallback for a path with no commit 
history, and the name-keyed memoization contract.
   
   Some branches were deliberately **not** contrived, and are listed with 
reasons in the review notes — notably `FilterPredicate`'s unreachable 
`default:` throw and dead null-guard ternaries (`evaluate` returns before 
them), and `OPVersion`'s success path (needs an openable repository; inside a 
git worktree the `.git` entry is a file and jgit leaves the handle null, so the 
spec asserts only what holds in both environments).
   
   ### Any related issues, documentation, discussions?
   
   Closes #7016.
   
   ### How was this PR tested?
   
   `sbt -java-home <jbr-17> "WorkflowOperator/testOnly 
*AggregationOperationSpec *FilterPredicateSpec *ECDFPlotOpDescSpec 
*TimeSeriesOpDescSpec *OPVersionSpec"` -> 80 succeeded, 0 failed. 
`Test/scalafmtCheck` + `Test/scalafix --check` clean.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Opus 4.8 [1M context])


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

Reply via email to