watcher: a lookup cut short by shutdown is not logged as an error (closes #229)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
Stopping dnswatcher during a DNS check logged every lookup the stop cut short as an error, "context canceled". The watcher now logs a failed lookup only when its context was not cancelled; the port and TLS checks already return quietly. It asks the context, not the lookup's error, because the resolver reports a cancelled lookup with its own error, which does not wrap context.Canceled. A context whose deadline passed is not cancelled, so a lookup that ran out of time is still logged as an error. The tests run a check on a cancelled context and on one whose deadline passed; neither sends a query. Model: opus-5-5
This commit is contained in:
@@ -31,6 +31,12 @@ func NewForTest(
|
||||
}
|
||||
}
|
||||
|
||||
// SetLogger replaces the watcher's logger, so a test can read what it
|
||||
// logs.
|
||||
func (w *Watcher) SetLogger(log *slog.Logger) {
|
||||
w.log = log
|
||||
}
|
||||
|
||||
// NewlyDisagreeingPairs exports newlyDisagreeingPairs for testing.
|
||||
func NewlyDisagreeingPairs(
|
||||
prev, current *state.HostnameState,
|
||||
|
||||
Reference in New Issue
Block a user