From a550388b4dc2bd21f19a688e757ea9dd258e766f Mon Sep 17 00:00:00 2001 From: Janos Guljas Date: Mon, 14 Jan 2019 12:33:32 +0100 Subject: [PATCH] swarm/storage/localstore: fix a race in TestDB_updateGCSem defers --- swarm/storage/localstore/localstore_test.go | 27 ++++++++++----------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/swarm/storage/localstore/localstore_test.go b/swarm/storage/localstore/localstore_test.go index 549f049c84..83d4e0d065 100644 --- a/swarm/storage/localstore/localstore_test.go +++ b/swarm/storage/localstore/localstore_test.go @@ -68,19 +68,6 @@ func TestDB(t *testing.T) { func TestDB_updateGCSem(t *testing.T) { t.Parallel() - defer func(m int) { maxParallelUpdateGC = m }(maxParallelUpdateGC) - maxParallelUpdateGC = 3 - - db, cleanupFunc := newTestDB(t, nil) - defer cleanupFunc() - - chunk := generateRandomChunk() - - err := db.NewPutter(ModePutUpload).Put(chunk) - if err != nil { - t.Fatal(err) - } - updateGCSleep := time.Second var count int var max int @@ -103,6 +90,19 @@ func TestDB_updateGCSem(t *testing.T) { mu.Unlock() })() + defer func(m int) { maxParallelUpdateGC = m }(maxParallelUpdateGC) + maxParallelUpdateGC = 3 + + db, cleanupFunc := newTestDB(t, nil) + defer cleanupFunc() + + chunk := generateRandomChunk() + + err := db.NewPutter(ModePutUpload).Put(chunk) + if err != nil { + t.Fatal(err) + } + getter := db.NewGetter(ModeGetRequest) // get more chunks then maxParallelUpdateGC @@ -117,7 +117,6 @@ func TestDB_updateGCSem(t *testing.T) { if max != maxParallelUpdateGC { t.Errorf("got max %v, want %v", max, maxParallelUpdateGC) } - } // BenchmarkNew measures the time that New function