mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-07 03:00:29 +00:00
Two coverage gaps closed: 1. `parse_head_show_output` — extracted from `resolve_head_sha_and_time` as a pure function so it can be tested without a sandbox. Six tests cover: well-formed sha+iso line, non-UTC timezone normalization, sha-only output (missing %cI), malformed date (parser tolerates and returns sha with None date), empty-input rejection, and surrounding-whitespace tolerance. New code from the simplify pass, previously unverified. 2. `fetch_blob_table` two-phase error isolation — `ScriptedBlobSandbox` (hand-written minimal Sandbox impl) returns different exec responses for `cat-file --batch-check` vs `cat-file --batch`. The phase-2 failure test proves that a malformed --batch parse outcome doesn't corrupt phase-1-classified oversized entries — the doc-comment's promise that the two phases are isolated now has a regression test behind it. The phase-1-skip test enforces the METADATA_PHASE_SHA_THRESHOLD contract by making phase 1's batch-check response an error: if the threshold logic regressed and phase 1 ran, the test would fail with a 503. Also adds `Debug` to `ApiError` (required by `Result::expect` in the new tests) and adds `async-trait`/`tokio-util` as dev-dependencies plus the `test-support` feature on fabro-sandbox. Total workspace test count: 4173 -> 4180. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| crates | ||
| packages/fabro-api-client | ||