Set the time zone in main and run Entry in its own test process (closes #192)
check / check (push) Waiting to run
check / check (push) Waiting to run
cli.Entry() set time.Local to UTC and ended with memguard.Purge(), and TestEntryWipesBuffersAndReturnsExitCode ran it in the same process as the other tests. A timer left by an earlier test could read time.Local as it changed, which the race detector reported on some runs, and the purge could destroy a buffer still in use, the likeliest cause of a crash seen on another run. main() in cmd/secret now sets time.Local before it calls cli.Entry(); the test that runs the built binary with TZ=America/New_York still covers it. The Entry test runs cli.Entry() in a copy of the test binary started with SECRET_TEST_RUN_ENTRY set, which init picks up so that TestMain does not run there. Model: opus-5-5
This commit is contained in:
@@ -18,6 +18,15 @@ https://git.eeqj.de/sneak/secret/milestone/12
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-15: `make test` no longer fails on some runs in `internal/cli`
|
||||
(https://git.eeqj.de/sneak/secret/issues/192). `cli.Entry()` set `time.Local`
|
||||
to UTC and ended by wiping every memguard buffer, and a test ran it in the
|
||||
same process as the other tests. A timer left by an earlier test could read
|
||||
`time.Local` as it changed, which the race detector reported, and the wipe
|
||||
could destroy a buffer still in use, the likeliest cause of a crash of the
|
||||
test process on another run. `main()` in `cmd/secret` now sets `time.Local`
|
||||
before it calls `cli.Entry()`, and that test runs `cli.Entry()` in a process
|
||||
of its own.
|
||||
- 2026-10-14: A wrong passphrase, from `SB_UNLOCK_PASSPHRASE` or typed at the
|
||||
prompt, gives the error `wrong passphrase for unlocker <id>`
|
||||
(https://git.eeqj.de/sneak/secret/issues/157). It used to be age's "no
|
||||
|
||||
Reference in New Issue
Block a user