The GitHub Actions job "Required Checks" on 
texera.git/gh-readonly-queue/main/pr-7018-a61702fd10ccde130f0a24a1298adff24c4a38a5
 has failed.
Run started by GitHub user aglinxinyuan (triggered by aglinxinyuan).

Head commit for run:
923780cadbba1c9555cbc0b0b5d62f7811224638 / Xinyuan Lin <[email protected]>
test(workflow-operator): extend operator descriptor and predicate coverage 
(#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])

Report URL: https://github.com/apache/texera/actions/runs/30432964973

With regards,
GitHub Actions via GitBox

Reply via email to