tka: fix go vet complaint on copy of lock value in tailchonk_test.go (#8208)
go vet complains when we copy a lock value. Create clone function that copies everything but the lock value. Fixes #8207 Signed-off-by: Val <valerie@tailscale.com>
This commit is contained in:
parent
cb94ddb7b8
commit
370b2c37e0
|
@ -8,6 +8,7 @@ import (
|
|||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sync"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
|
@ -620,6 +621,14 @@ func (c *compactingChonkFake) PurgeAUMs(hashes []AUMHash) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// Avoid go vet complaining about copying a lock value
|
||||
func cloneMem(src, dst *Mem) {
|
||||
dst.l = sync.RWMutex{}
|
||||
dst.aums = src.aums
|
||||
dst.parentIndex = src.parentIndex
|
||||
dst.lastActiveAncestor = src.lastActiveAncestor
|
||||
}
|
||||
|
||||
func TestCompact(t *testing.T) {
|
||||
fakeState := &State{
|
||||
Keys: []Key{{Kind: Key25519, Votes: 1}},
|
||||
|
@ -661,12 +670,13 @@ func TestCompact(t *testing.T) {
|
|||
`, optTemplate("checkpoint", AUM{MessageKind: AUMCheckpoint, State: fakeState}))
|
||||
|
||||
storage := &compactingChonkFake{
|
||||
Mem: (*c.Chonk().(*Mem)),
|
||||
aumAge: map[AUMHash]time.Time{(c.AUMHashes["F1"]): time.Now()},
|
||||
t: t,
|
||||
wantDelete: []AUMHash{c.AUMHashes["A"], c.AUMHashes["B"], c.AUMHashes["OLD"]},
|
||||
}
|
||||
|
||||
cloneMem(c.Chonk().(*Mem), &storage.Mem)
|
||||
|
||||
lastActiveAncestor, err := Compact(storage, c.AUMHashes["H"], CompactionOptions{MinChain: 2, MinAge: time.Hour})
|
||||
if err != nil {
|
||||
t.Errorf("Compact() failed: %v", err)
|
||||
|
|
Loading…
Reference in New Issue