Development record
The reading assembler test's tree walk lstats every path it enumerates without tolerating ENOENT, so a transient file under .git - git's background maintenance.lock - that exists at enumeration and is gone by the stat fails the test; it flaked TestAssembleDryRunWritesNothing on the macOS CI leg and is a time-of-check race any concurrent git activity can trigger
issueresolvedminoriss-2609010818066790
The reading assembler test's tree walk lstats every path it enumerates without tolerating ENOENT, so a transient file under .git - git's background maintenance.lock - that exists at enumeration and is gone by the stat fails the test; it flaked TestAssembleDryRunWritesNothing on the macOS CI leg and is a time-of-check race any concurrent git activity can trigger
Grounds
- pursued: a snapshot of the worktree has no business walking .git at all, and tolerating the error would have kept the race while hiding it. What would show this wrong is a dry run that writes into .git, which nothing in the assembler can do.
Frontmatter
| id | iss-2609010818066790 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2609010818066790-the-reading-assembler-test-s-tree-walk.md
open on GitHub ↗ · commit history ↗