Skip to content

Raise object-store test coverage above 90% with new edge-case tests#22

Merged
predatorray merged 1 commit into
mainfrom
claude/object-store-test-coverage-n58iko
Jun 14, 2026
Merged

Raise object-store test coverage above 90% with new edge-case tests#22
predatorray merged 1 commit into
mainfrom
claude/object-store-test-coverage-n58iko

Conversation

@predatorray

Copy link
Copy Markdown
Owner

Adds unit and dispatch-level tests around the core object store, lifting
aggregate line coverage from 90.0% to 91.3% (instruction 90.3%->91.8%,
branch 80.3%->83.3%). No production behavior changed — every edge case
exercised behaved correctly, so no fixes were required.

New / extended coverage:

  • BoxEngine (94.1%->99.3%): null user-metadata puts, multipart argument
    validation (create/upload/copy/complete/abort), part supersession,
    object-ACL read/replace + not-found, range-GET boundary resolution
    (suffix clamping, neither-bound, empty object), prefix/reverse scan
    corners, recovery that re-opens flushed SSTables, empty dropSyrups.
  • SyrupReader (89.8%->100%): chunk-too-short and per-part length/CRC
    mismatch detection, invalid range bounds, under-producing range reads,
    and downstream-write IOException wrapping.
  • SSTableReader (88.6%->94.7%): empty-ledger rejection, scans past the
    key range, exhausted-iterator NoSuchElement.
  • ManifestEdit / MultipartUploadState (->100%): null-collection
    normalization, fencing-token and PartUpsert validation, builder setters.
  • CandyLocator / CandyKey (->100%): tombstone accessors, null-field and
    DELETE-with-parts validation, ofUtf8 empty rejection, hashCode/toString.
  • NodeRequestHandler (90.5%->95.4%): ListMultipartUploads prefix/marker/
    paging, ListParts marker/paging/not-found, object-ACL get/set round trip
    and malformed-grant errors, same-partition UploadPartCopy.

https://claude.ai/code/session_016STTyQPGPpXbUkwPMfV7gS

Adds unit and dispatch-level tests around the core object store, lifting
aggregate line coverage from 90.0% to 91.3% (instruction 90.3%->91.8%,
branch 80.3%->83.3%). No production behavior changed — every edge case
exercised behaved correctly, so no fixes were required.

New / extended coverage:
- BoxEngine (94.1%->99.3%): null user-metadata puts, multipart argument
  validation (create/upload/copy/complete/abort), part supersession,
  object-ACL read/replace + not-found, range-GET boundary resolution
  (suffix clamping, neither-bound, empty object), prefix/reverse scan
  corners, recovery that re-opens flushed SSTables, empty dropSyrups.
- SyrupReader (89.8%->100%): chunk-too-short and per-part length/CRC
  mismatch detection, invalid range bounds, under-producing range reads,
  and downstream-write IOException wrapping.
- SSTableReader (88.6%->94.7%): empty-ledger rejection, scans past the
  key range, exhausted-iterator NoSuchElement.
- ManifestEdit / MultipartUploadState (->100%): null-collection
  normalization, fencing-token and PartUpsert validation, builder setters.
- CandyLocator / CandyKey (->100%): tombstone accessors, null-field and
  DELETE-with-parts validation, ofUtf8 empty rejection, hashCode/toString.
- NodeRequestHandler (90.5%->95.4%): ListMultipartUploads prefix/marker/
  paging, ListParts marker/paging/not-found, object-ACL get/set round trip
  and malformed-grant errors, same-partition UploadPartCopy.

https://claude.ai/code/session_016STTyQPGPpXbUkwPMfV7gS
@github-actions

Copy link
Copy Markdown

✅ S3 compatibility gate passed

  • mode: gate
  • result: 164 passed in 72.43s (0:01:12)

@codecov

codecov Bot commented Jun 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.66%. Comparing base (2e99cc5) to head (a636e58).

Additional details and impacted files
@@             Coverage Diff              @@
##               main      #22      +/-   ##
============================================
+ Coverage     82.20%   83.66%   +1.45%     
  Complexity      677      677              
============================================
  Files           161      161              
  Lines          8874     8874              
  Branches       1330     1330              
============================================
+ Hits           7295     7424     +129     
+ Misses         1048      970      -78     
+ Partials        531      480      -51     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@predatorray
predatorray merged commit 626e55c into main Jun 14, 2026
9 checks passed
@predatorray
predatorray deleted the claude/object-store-test-coverage-n58iko branch June 14, 2026 21:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants