Pin CLI error messages by driving their real call sites (closes #87)
check / check (push) Successful in 1m6s
check / check (push) Successful in 1m6s
errmsg_test.go now calls the function that emits each user-visible CLI error message and asserts on the full text it returns, instead of rendering format strings copied from production, so rewording any pinned message fails the suite. The unknown-command message is driven through the root command's action. The signer-mismatch case signs a manifest with a throwaway gpg key and is skipped where gpg is absent, like the repo's other signing tests. The freshen mtime-presence test gives the scanned file an epoch mtime, so it fails if recordEntry reads an absent manifest mtime as the epoch. Model: opus-4-8 (first implementation); opus-5-5 (completion, this message)
This commit is contained in:
@@ -24,6 +24,9 @@ only thing left of the `chore/align-repo-policies` branch is the list below.
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-03: pinned the CLI error messages by driving the functions that emit
|
||||
them in `internal/cli/errmsg_test.go`, and made the freshen mtime-presence
|
||||
test distinguish an absent mtime from the epoch (#87)
|
||||
- 2026-10-03: `fetch` refuses any manifest path that runs through a symlink
|
||||
already in the destination directory, checked before each of its writes
|
||||
(directories, temp file, rename), so such a symlink cannot send a write
|
||||
|
||||
Reference in New Issue
Block a user