Development record
The macOS check spends time the tests do not need in two places. Every atomic write the tests make flushes to stable storage (fsutil's WriteFileAtomic family and the history-index bootstrap call File.Sync, which Go runs as F_FULLFSYNC on macOS, about 8.8 ms per synced write on this disk), though no test asserts anything a flush makes true; and the race step names ./internal/... in import-path order, so go test starts internal/surface/cli, the slowest package under -race, among the last on the three-core runner and the step waits on it as a tail.
issueresolvedminoriss-2609281715083637
The macOS check spends time the tests do not need in two places. Every atomic write the tests make flushes to stable storage (fsutil's WriteFileAtomic family and the history-index bootstrap call File.Sync, which Go runs as F_FULLFSYNC on macOS, about 8.8 ms per synced write on this disk), though no test asserts anything a flush makes true; and the race step names ./internal/... in import-path order, so go test starts internal/surface/cli, the slowest package under -race, among the last on the three-core runner and the step waits on it as a tail.
Grounds
- pursued: the macOS check job shortens by the flush time of every test write and by the race step's single-package tail; a macOS check on the merged tip no shorter than the last green run (23.7 min, race step 888s) would show it wrong
Frontmatter
| id | iss-2609281715083637 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2609281715083637-the-macos-check-spends-time-the-tests-do.md
open on GitHub ↗ · commit history ↗