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

Head commit for run:
234270b32857e70f61e0dcc4701c1053bf13095e / Xinyuan Lin <[email protected]>
test(workflow-core): extend util and tuple unit test coverage (#6987)

### What changes were proposed in this PR?

Adds 53 tests across four `common/workflow-core` classes (88 -> 141 in
these suites). No source changes.

- **`StackTraceUtils`** (was **0% covered**, new spec): pins the exact
rendered output (header + `Throwable.toString` + frames), the `Caused
by` recursion including a 20-deep chain, per-cause frames, and the
null-message case.
- **`AttributeTypeUtils`**: the unsupported-type `case _` branches of
`parseInteger`/`parseLong`/`parseDouble`/`parseBoolean` (asserting both
the message and the wrapped `IllegalArgumentException` cause), the
previously-unexercised Long/Integer/Timestamp/Boolean input arms,
forced-vs-strict divergence (forced `"2147483648"` wraps to
`Int.MinValue`; `"1.9"` truncates where strict throws), the `trim.toInt
== 1` fallback, schema-inference edges (empty, one-way widening,
all-null), and `tupleCasting` null handling.
- **`S3StorageClient`**: `uploadPartWithRequest`'s two payload branches
(known `contentLength` -> `fromInputStream`, unknown -> `readAllBytes`)
with a two-part ordered round trip, the empty-prefix `require` guard,
and the abort-on-mid-stream-failure path — asserting the exception
propagates, no pending upload id remains (proving `abortMultipartUpload`
ran), and no object was published. Follows the suite's existing
MinIO-testcontainer approach (no client double exists); no live AWS.
- **`LargeBinaryManager`**: `baseUriForExecution` formatting,
S3-verified re-seeding across executions, clear-on-empty/null making
`create()` fail loudly, and thread-local isolation.

Two branches were deliberately left uncovered rather than forced, and
are called out in the code review notes: the `DEFAULT_BUCKET.isEmpty`
arm (a val captured at object init — unreachable without mutating
production config) and a real per-key `DeleteObjects` failure (needs S3
object-lock setup; `throwOnDeleteErrors` is already tested directly).

### Any related issues, documentation, discussions?

Closes #6985.

### How was this PR tested?

`sbt -java-home <jbr-17> "WorkflowCore/testOnly *S3StorageClientSpec
*AttributeTypeUtilsSpec *StackTraceUtilsSpec *LargeBinaryManagerSpec"`
-> 141 succeeded, 0 failed (4 suites). `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/30426220432

With regards,
GitHub Actions via GitBox

Reply via email to