LABEL: unit driver against withCheckpointRestoreReservation / withTurnStartReservation (apps/server/src/workspace/workspaceLease.ts) on real temp dirs; head only git rev-parse HEAD: d0186cbb215dc5f1a02b0a3db1db4dc67218774d driver: /tmp/ev-23671/evidence/driver/WorkspaceReservation.driver.test.ts sha256=e958bb5aacaadc2b3b8c1df9c0f8cded6df70c9493df3fb94a7820f0aac10faa command: (cd /home/ubuntu/wt/pr-23671/apps/server && vp test run src/workspace/WorkspaceReservation.driver.test.ts --silent=false --reporter=verbose) date: 2026-10-22T15:50:23Z ---- note: You are running `vp test` as a Vite+ built-in command. If you meant to run the test npm script, use `vpr test` instead. RUN v5.0.5 /home/ubuntu/wt/pr-23671/apps/server stdout | src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 1 non-overlapping dirs never wait (incl. /b vs /bc) ROW 1 non-overlapping dirs never wait (incl. /b vs /bc) (root=/tmp/t3-ev-23671-helper-VtSoly) 1. restore /b (held) entered 2. turn start /bc while restore /b is held entered 3. turn start /c while restore /b is held entered 4. restore /bc while restore /b is held entered 5. restore /c while restore /b is held entered 6. restore /b released PASS stdout | src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 2 two turn starts on the same dir (and nested) never wait ROW 2 two turn starts on the same dir (and nested) never wait (root=/tmp/t3-ev-23671-helper-AI12t8) 1. turn start A /b (held) entered 2. turn start B /b while A held entered 3. turn start C /b/child while A held entered 4. turn start A released PASS stdout | src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 3 restore failure (Effect.fail) releases ROW 3 restore failure (Effect.fail) releases (root=/tmp/t3-ev-23671-helper-77BOhJ) 1. restore /b exited: Fail("restore failed") 2. later turn start /b/child entered 3. after 64x yieldNow: later turn start ENTERED immediately PASS stdout | src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 5 restore defect (Effect.die) releases ROW 5 restore defect (Effect.die) releases (root=/tmp/t3-ev-23671-helper-X8ePab) 1. restore /b exited: Die("restore defect") 2. later turn start /b/child entered 3. after 64x yieldNow: later turn start ENTERED immediately PASS stdout | src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 4 restore interrupted releases; a parked turn start then proceeds ROW 4 restore interrupted releases; a parked turn start then proceeds (root=/tmp/t3-ev-23671-helper-7XRTuk) 1. restore /b (parked forever) entered 2. after 64x yieldNow: turn start WAITING while restore held 3. turn start /b/child entered 4. restore fiber interrupted PASS stdout | src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 6 turn start interrupted while parked holds nothing; a later restore enters immediately ROW 6 turn start interrupted while parked holds nothing; a later restore enters immediately (root=/tmp/t3-ev-23671-helper-n7HA2l) 1. restore R1 /b (held) entered 2. after 64x yieldNow: turn start WAITING 3. parked turn start interrupted 4. restore R1 released 5. restore R2 /b entered 6. after 64x yieldNow: restore R2 ENTERED immediately; interrupted turn body ran: false PASS stdout | src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 7 two overlapping restores serialize ROW 7 two overlapping restores serialize (root=/tmp/t3-ev-23671-helper-PITGWH) 1. restore R1 /b (held) entered 2. after 64x yieldNow: R2 WAITING while R1 held 3. restore R2 /b/child entered 4. R1 released PASS stdout | src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 8 held turn start, then a restore waits until the turn start finishes ROW 8 held turn start, then a restore waits until the turn start finishes (root=/tmp/t3-ev-23671-helper-csJX3k) 1. turn start /b (held) entered 2. after 64x yieldNow: restore WAITING while turn start held 3. restore (parent) entered 4. turn start released PASS ✓ src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 1 non-overlapping dirs never wait (incl. /b vs /bc) 16ms ✓ src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 2 two turn starts on the same dir (and nested) never wait 5ms ✓ src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 3 restore failure (Effect.fail) releases 6ms ✓ src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 5 restore defect (Effect.die) releases 5ms ✓ src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 4 restore interrupted releases; a parked turn start then proceeds 5ms ✓ src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 6 turn start interrupted while parked holds nothing; a later restore enters immediately 4ms ✓ src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 7 two overlapping restores serialize 4ms ✓ src/workspace/WorkspaceReservation.driver.test.ts > HELPER ROW 8 held turn start, then a restore waits until the turn start finishes 3ms Test Files 1 passed (1) Tests 8 passed (8) Start at 15:50:24 Duration 533ms (import 44%, setup 22%, transform 20%, tests 12%, worker 1%) exit: 0 ---- git status --porcelain after cleanup: (end)