aglinxinyuan opened a new pull request, #7505:
URL: https://github.com/apache/texera/pull/7505
### What changes were proposed in this PR?
`context-utils.ts` builds the prompt the agent reasons over and
`workflow-execution-tools.ts` turns
an execution result into the table it reads back. Both looked reasonably
covered and were not:
`bun` credits a whole function body once entered, so blocks inside
`jsonToTableFormat` and
`executeOperatorAndFormat` counted as covered while nothing asserted them.
Adds 15 tests across the two existing specs (no new spec files — one spec
per source class, both
already existed).
| File | Before | After |
|---|---|---|
| `context-utils.ts` | 60.00% funcs / 77.83% lines | **100% / 100%** |
| `workflow-execution-tools.ts` | 58.97% funcs / 91.24% lines | 85.71% /
95.16% |
**Ten of the killed mutations target lines `bun` already called covered** —
the DAG topological
ordering and its target-rank tie-break, port-ordinal mapping, the
`NULL`/`null`/`undefined`/object
cell rendering, the row-gap ellipsis, the leading-tab header, and the
schema-violation messages.
The file percentage barely moves for those; the pinning is the point.
### Verification
45 mutations were applied to the production files and reverted, each revert
confirmed with
`git diff --quiet` before the next. All 45 turned the suite red.
An adversarial re-check then found **two assertions that were vacuous
anyway**, which is the part
worth reporting:
| Survivor | Why it passed | Fix |
|---|---|---|
| `Math.ceil` → `Math.round` on the execution timeout | the fixture was
`4500 ms`, and `ceil(4.5) == round(4.5) == 5`, so the assertion commented
"rounds up" proved nothing | fixture changed to `4200 ms`, which separates ceil
(5) from round and floor (4) |
| `getConfig()` hoisted out of the `execute` closure | the test invoked the
tool once, so `toHaveBeenCalledTimes(1)` holds whether the config is resolved
per invocation or captured once at construction | invoke twice with the
workflow id changing in between, and assert the second request URL reflects the
second config |
Both mutations are now red, and so is `Math.floor`. Production diff empty.
### Deliberately not included
Three regions of `workflow-execution-tools.ts` are left uncovered because
they are dead, confirmed
by inserting `throw new Error(...)` at the top of each and running the whole
273-test module — all
still passed, so nothing reaches them:
- `formatWorkflowValidationErrors` (169–178) — no call site.
- lines 221–226 and 229–233.
Testing them would cement code that should be deleted instead.
No production file is touched.
### Any related issues, documentation, discussions?
Closes #7504
### How was this PR tested?
```
bun test
```
```
273 pass
0 fail
```
15 new on top of the existing 258. `bun run typecheck` and `bun run
format:check` both pass.
### Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Opus 5)
--
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]