The GitHub Actions job "Required Checks" on texera.git/gh-readonly-queue/main/pr-5400-d9676a732a03e97962fca0d7537bbf79cfd51dc4 has succeeded. Run started by GitHub user aglinxinyuan (triggered by aglinxinyuan).
Head commit for run: 57640a74a333d0ba01b723704becac5d7e73238d / Xinyuan Lin <[email protected]> test(workflow-core): add unit test coverage for core executor traits + factory (#5400) ### What changes were proposed in this PR? `CoreExecutorReflectionSpec` (same package) already covered the basic defaults of `OperatorExecutor` / `SourceOperatorExecutor` and the `ExecFactory.newExecFromJavaClassName` happy paths + `JavaRuntimeCompilation` failure path. This PR extends the existing spec with five additional regression pins, without duplicating any existing assertion. | Surface | Pinned (new in this PR) | | --- | --- | | `OperatorExecutor.open` / `close` | A subclass override is reachable from every call site that invokes `open` / `close` on the trait (counter-based pin; a direct no-op-stub regression that bypassed dispatch wouldn't fail the existing default-stays-no-op tests). | | `OperatorExecutor.processTupleMultiPort` | The default wrapper hands the input `port` verbatim to the subclass override (a regression that hard-coded `port = 0` would be invisible to the basic delegation test). Zero-emission and many-emission fan-out from the underlying `processTuple` both pass through with `Option.empty` port. | | `SourceOperatorExecutor.processTupleMultiPort` | The input-side path never invokes `produceTuple` (counter-based pin; an accidental drain that discarded results wouldn't fail an empty-iterator check). | | `ExecFactory.newExecFromJavaClassName` | `NoSuchMethodException` propagates when neither factory branch matches a fixture with only a `(Long)` constructor (the existing tests pin the success paths and `ClassNotFoundException`, not the "no constructor matches" branch). | The PR body's earlier claim that "this package has no unit tests today" was inaccurate; the existing spec was missed during my initial coverage check because its `Reflection` suffix doesn't match any source-class name pattern. Consolidated per Copilot review. No production code changed; this is test-only. ### Any related issues, documentation, discussions? Closes #5396 ### How was this PR tested? ``` sbt "WorkflowCore/Test/testOnly org.apache.texera.amber.core.executor.CoreExecutorReflectionSpec" # → 23 tests (18 pre-existing + 5 new), all pass sbt "WorkflowCore/Test/scalafmtCheck" # → clean ``` ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Claude Code (Claude Opus 4.7) Report URL: https://github.com/apache/texera/actions/runs/27075886006 With regards, GitHub Actions via GitBox
