Przeglądaj źródła

fix(acp-snapshot): keep the malformed-record capture branch-free for per-file coverage

Store the captured validation error as unknown in a wrapper object and
rethrow it directly: the instanceof-Error normalization added an
un-inducible false branch that failed harness.ts's 100% branch gate.
Tianyi Cui 1 miesiąc temu
rodzic
commit
3cabde323f
1 zmienionych plików z 3 dodań i 3 usunięć
  1. 3 3
      packages/support/acp-snapshot/src/harness.ts

+ 3 - 3
packages/support/acp-snapshot/src/harness.ts

@@ -457,7 +457,7 @@ async function waitForPersistedTurnStart(
   timeoutMs = DEFAULT_WAIT_TIMEOUT_MS,
   minimumTurn?: number,
 ): Promise<void> {
-  let invalidRecord: Error | undefined
+  let invalidRecord: { error: unknown } | undefined
   await vi.waitFor(async () => {
     const log = (await harvestSessionLogs(root)).find(candidate => candidate.id === sessionId)
     let openTurn: number | undefined
@@ -467,7 +467,7 @@ async function waitForPersistedTurnStart(
       // A malformed persisted record is a scenario bug, not a not-yet state:
       // vi.waitFor retries every callback throw, so capture the validation
       // failure, resolve the wait, and rethrow immediately below.
-      invalidRecord = error instanceof Error ? error : new Error(String(error))
+      invalidRecord = { error }
       return
     }
     if (openTurn === undefined || (minimumTurn !== undefined && openTurn < minimumTurn)) {
@@ -475,7 +475,7 @@ async function waitForPersistedTurnStart(
       throw new Error(`snapshot-harness: session "${sessionId}" did not persist ${detail} within ${timeoutMs}ms`)
     }
   }, { interval: WAIT_POLL_INTERVAL_MS, timeout: timeoutMs })
-  if (invalidRecord !== undefined) throw invalidRecord
+  if (invalidRecord !== undefined) throw invalidRecord.error
 }
 
 /**