From 370b2c37e09a90fc99cc7d4252671b1231e172b0 Mon Sep 17 00:00:00 2001 From: valscale Date: Thu, 25 May 2023 13:34:13 -0700 Subject: [PATCH] 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 --- tka/tailchonk_test.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tka/tailchonk_test.go b/tka/tailchonk_test.go index 80e18a637..86d5642a3 100644 --- a/tka/tailchonk_test.go +++ b/tka/tailchonk_test.go @@ -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)