Drive the archive reopen debounce test from a clock (closes #190)
check / check (push) Successful in 3m27s
check / check (push) Successful in 3m27s
The archive writer's reopen debounce test made two writes that had to land inside the real 2-second window, then slept 2.1 seconds to cross it, so a slow host could turn correct code red. The archive writer now reads the time for its reopen debounce from a clock field, time.Now in production, and the test moves that clock instead of sleeping: two writes at one instant open the file once, and a write one debounce later closes and reopens it once. Removing the debounce check fails the test. This was the last test whose result depended on real elapsed time. Model: opus-5-5
This commit was merged in pull request #438.
This commit is contained in:
@@ -512,6 +512,12 @@ func (e *ExportArchiveWriter) Reopen(
|
||||
return e.w.reopen(expiry)
|
||||
}
|
||||
|
||||
// SetNow replaces the clock the writer measures its reopen
|
||||
// debounce on.
|
||||
func (e *ExportArchiveWriter) SetNow(now func() time.Time) {
|
||||
e.w.now = now
|
||||
}
|
||||
|
||||
// Reopens reports how many times the file has been opened.
|
||||
func (e *ExportArchiveWriter) Reopens() int {
|
||||
return e.w.reopens
|
||||
|
||||
Reference in New Issue
Block a user