aglinxinyuan opened a new pull request, #6987:
URL: https://github.com/apache/texera/pull/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])


-- 
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]

Reply via email to