You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@texera.apache.org by GitBox <gi...@apache.org> on 2026/07/29 13:52:42 UTC
[GH] (texera/gh-readonly-queue/main/pr-7018-48c8dda2ee1a78666859f728f3cf6be1f18871fa): Workflow run "Required Checks" is working again!
The GitHub Actions job "Required Checks" on texera.git/gh-readonly-queue/main/pr-7018-48c8dda2ee1a78666859f728f3cf6be1f18871fa has succeeded.
Run started by GitHub user aglinxinyuan (triggered by aglinxinyuan).
Head commit for run:
1eb7214f85765d839fd5ad0d8140bebfa59b80b3 / Xinyuan Lin <xi...@uci.edu>
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/30450188709
With regards,
GitHub Actions via GitBox