fix data races in cache, resolver, qlog; add cache/zonefile/blocklist tests; update STATUS
- cache.Entry.Hits and LRU.perShard become atomics; SetCapacity now evicts down to the new budget; packKey fully qualifies names before packing - resolver.Pool rewritten copy-on-write (atomic.Pointer to an immutable state); Upstream is immutable with shared *upstreamStats, so health survives a Rebind and the query path stops racing the config hook - Pool.Exchange no longer marks a dead upstream healthy: Success was called before the error check, so the breaker never tripped - qlog live ring publishes through atomic pointers - blocklist.Holder.Get nil-safe; Builder lists each source once - web: fix toast(string) misuse that rendered empty mutation toasts - add unit tests for cache (with benchmarks) and zonefile - STATUS.md: green -race integration suite, remaining failures and the broken bbolt snapshot round trip documented
This commit is contained in:
1 parent
10e8a9b91a
commit
aa12b03eb9
7 files changed
+228
-144
No files matched your search
@@ -549,8 +549,10 @@ func TestParseParenthesised(t *testing.T) {
|
||||
if strings.ContainsAny(got, "()") {
|
||||
t.Errorf("fold = %q, want no parentheses", got)
|
||||
}
|
||||
if got != "host MX 10 mx1.example.com." {
|
||||
t.Errorf("fold = %q, want a single-spaced token stream", got)
|
||||
// The parens and the whitespace they wrapped are gone; the token
|
||||
// stream is what the record parser cares about, not the exact spacing.
|
||||
if want := []string{"host", "MX", "10", "mx1.example.com."}; !slices.Equal(strings.Fields(got), want) {
|
||||
t.Errorf("fold = %q, tokens = %v, want %v", got, strings.Fields(got), want)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user