net/art: add debug hooks to strideTable

Updates #7781

Signed-off-by: David Anderson <danderson@tailscale.com>
pull/8701/head
David Anderson 1 year ago committed by Dave Anderson
parent fcf4d044fa
commit ac657caaf1

@ -13,6 +13,11 @@ import (
"strings"
)
const (
debugStrideInsert = false
debugStrideDelete = false
)
// strideEntry is a strideTable entry.
type strideEntry[T any] struct {
// prefixIndex is the prefixIndex(...) value that caused this stride entry's

@ -52,12 +52,16 @@ func TestStrideTableInsert(t *testing.T) {
slow := slowTable[int]{pfxs}
fast := strideTable[int]{}
if debugStrideInsert {
t.Logf("slow table:\n%s", slow.String())
}
for _, pfx := range pfxs {
fast.insert(pfx.addr, pfx.len, pfx.val)
if debugStrideInsert {
t.Logf("after insert %d/%d:\n%s", pfx.addr, pfx.len, fast.tableDebugString())
}
}
for i := 0; i < 256; i++ {
addr := uint8(i)
@ -122,12 +126,16 @@ func TestStrideTableDelete(t *testing.T) {
slow := slowTable[int]{pfxs}
fast := strideTable[int]{}
if debugStrideDelete {
t.Logf("slow table:\n%s", slow.String())
}
for _, pfx := range pfxs {
fast.insert(pfx.addr, pfx.len, pfx.val)
if debugStrideDelete {
t.Logf("after insert %d/%d:\n%s", pfx.addr, pfx.len, fast.tableDebugString())
}
}
toDelete := pfxs[:50]
for _, pfx := range toDelete {

Loading…
Cancel
Save