forked from cerc-io/plugeth
swarm: CI race detector test adjustments (#19017)
This commit is contained in:
parent
cde02e017e
commit
27e3f96819
@ -44,7 +44,7 @@ var (
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
NumberOfNets = 4
|
NumberOfNets = 4
|
||||||
MaxTimeout = 6
|
MaxTimeout = 15 * time.Second
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@ -146,7 +146,7 @@ func setupNetwork(numnodes int) (net *simulations.Network, err error) {
|
|||||||
return nil, fmt.Errorf("create node %d rpc client fail: %v", i, err)
|
return nil, fmt.Errorf("create node %d rpc client fail: %v", i, err)
|
||||||
}
|
}
|
||||||
//now setup and start event watching in order to know when we can upload
|
//now setup and start event watching in order to know when we can upload
|
||||||
ctx, watchCancel := context.WithTimeout(context.Background(), MaxTimeout*time.Second)
|
ctx, watchCancel := context.WithTimeout(context.Background(), MaxTimeout)
|
||||||
defer watchCancel()
|
defer watchCancel()
|
||||||
watchSubscriptionEvents(ctx, nodes[i].ID(), client, errc, quitC)
|
watchSubscriptionEvents(ctx, nodes[i].ID(), client, errc, quitC)
|
||||||
//on every iteration we connect to all previous ones
|
//on every iteration we connect to all previous ones
|
||||||
|
@ -32,7 +32,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
nodeCount = 16
|
nodeCount = 10
|
||||||
)
|
)
|
||||||
|
|
||||||
//This test is used to test the overlay simulation.
|
//This test is used to test the overlay simulation.
|
||||||
|
@ -151,7 +151,7 @@ func runFileRetrievalTest(nodeCount int) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx, cancelSimRun := context.WithTimeout(context.Background(), 1*time.Minute)
|
ctx, cancelSimRun := context.WithTimeout(context.Background(), 3*time.Minute)
|
||||||
defer cancelSimRun()
|
defer cancelSimRun()
|
||||||
|
|
||||||
result := sim.Run(ctx, func(ctx context.Context, sim *simulation.Simulation) error {
|
result := sim.Run(ctx, func(ctx context.Context, sim *simulation.Simulation) error {
|
||||||
|
@ -83,7 +83,7 @@ func newLDBStore(t *testing.T) (*LDBStore, func()) {
|
|||||||
return db, cleanup
|
return db, cleanup
|
||||||
}
|
}
|
||||||
|
|
||||||
func mputRandomChunks(store ChunkStore, n int, chunksize int64) ([]Chunk, error) {
|
func mputRandomChunks(store ChunkStore, n int) ([]Chunk, error) {
|
||||||
return mput(store, n, GenerateRandomChunk)
|
return mput(store, n, GenerateRandomChunk)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ func mput(store ChunkStore, n int, f func(i int64) Chunk) (hs []Chunk, err error
|
|||||||
// put to localstore and wait for stored channel
|
// put to localstore and wait for stored channel
|
||||||
// does not check delivery error state
|
// does not check delivery error state
|
||||||
errc := make(chan error)
|
errc := make(chan error)
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
|
ctx, cancel := context.WithTimeout(context.Background(), 1*time.Minute)
|
||||||
defer cancel()
|
defer cancel()
|
||||||
for i := int64(0); i < int64(n); i++ {
|
for i := int64(0); i < int64(n); i++ {
|
||||||
chunk := f(ch.DefaultSize)
|
chunk := f(ch.DefaultSize)
|
||||||
@ -159,8 +159,8 @@ func (r *brokenLimitedReader) Read(buf []byte) (int, error) {
|
|||||||
return r.lr.Read(buf)
|
return r.lr.Read(buf)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testStoreRandom(m ChunkStore, n int, chunksize int64, t *testing.T) {
|
func testStoreRandom(m ChunkStore, n int, t *testing.T) {
|
||||||
chunks, err := mputRandomChunks(m, n, chunksize)
|
chunks, err := mputRandomChunks(m, n)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("expected no error, got %v", err)
|
t.Fatalf("expected no error, got %v", err)
|
||||||
}
|
}
|
||||||
@ -170,8 +170,8 @@ func testStoreRandom(m ChunkStore, n int, chunksize int64, t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func testStoreCorrect(m ChunkStore, n int, chunksize int64, t *testing.T) {
|
func testStoreCorrect(m ChunkStore, n int, t *testing.T) {
|
||||||
chunks, err := mputRandomChunks(m, n, chunksize)
|
chunks, err := mputRandomChunks(m, n)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("expected no error, got %v", err)
|
t.Fatalf("expected no error, got %v", err)
|
||||||
}
|
}
|
||||||
@ -195,7 +195,7 @@ func testStoreCorrect(m ChunkStore, n int, chunksize int64, t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func benchmarkStorePut(store ChunkStore, n int, chunksize int64, b *testing.B) {
|
func benchmarkStorePut(store ChunkStore, n int, b *testing.B) {
|
||||||
chunks := make([]Chunk, n)
|
chunks := make([]Chunk, n)
|
||||||
i := 0
|
i := 0
|
||||||
f := func(dataSize int64) Chunk {
|
f := func(dataSize int64) Chunk {
|
||||||
@ -222,8 +222,8 @@ func benchmarkStorePut(store ChunkStore, n int, chunksize int64, b *testing.B) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func benchmarkStoreGet(store ChunkStore, n int, chunksize int64, b *testing.B) {
|
func benchmarkStoreGet(store ChunkStore, n int, b *testing.B) {
|
||||||
chunks, err := mputRandomChunks(store, n, chunksize)
|
chunks, err := mputRandomChunks(store, n)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatalf("expected no error, got %v", err)
|
b.Fatalf("expected no error, got %v", err)
|
||||||
}
|
}
|
||||||
|
@ -78,22 +78,22 @@ func testPoFunc(k Address) (ret uint8) {
|
|||||||
return uint8(Proximity(basekey, k[:]))
|
return uint8(Proximity(basekey, k[:]))
|
||||||
}
|
}
|
||||||
|
|
||||||
func testDbStoreRandom(n int, chunksize int64, mock bool, t *testing.T) {
|
func testDbStoreRandom(n int, mock bool, t *testing.T) {
|
||||||
db, cleanup, err := newTestDbStore(mock, true)
|
db, cleanup, err := newTestDbStore(mock, true)
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("init dbStore failed: %v", err)
|
t.Fatalf("init dbStore failed: %v", err)
|
||||||
}
|
}
|
||||||
testStoreRandom(db, n, chunksize, t)
|
testStoreRandom(db, n, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testDbStoreCorrect(n int, chunksize int64, mock bool, t *testing.T) {
|
func testDbStoreCorrect(n int, mock bool, t *testing.T) {
|
||||||
db, cleanup, err := newTestDbStore(mock, false)
|
db, cleanup, err := newTestDbStore(mock, false)
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("init dbStore failed: %v", err)
|
t.Fatalf("init dbStore failed: %v", err)
|
||||||
}
|
}
|
||||||
testStoreCorrect(db, n, chunksize, t)
|
testStoreCorrect(db, n, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMarkAccessed(t *testing.T) {
|
func TestMarkAccessed(t *testing.T) {
|
||||||
@ -137,35 +137,35 @@ func TestMarkAccessed(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestDbStoreRandom_1(t *testing.T) {
|
func TestDbStoreRandom_1(t *testing.T) {
|
||||||
testDbStoreRandom(1, 0, false, t)
|
testDbStoreRandom(1, false, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDbStoreCorrect_1(t *testing.T) {
|
func TestDbStoreCorrect_1(t *testing.T) {
|
||||||
testDbStoreCorrect(1, 4096, false, t)
|
testDbStoreCorrect(1, false, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDbStoreRandom_1k(t *testing.T) {
|
func TestDbStoreRandom_1k(t *testing.T) {
|
||||||
testDbStoreRandom(1000, 0, false, t)
|
testDbStoreRandom(1000, false, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDbStoreCorrect_1k(t *testing.T) {
|
func TestDbStoreCorrect_1k(t *testing.T) {
|
||||||
testDbStoreCorrect(1000, 4096, false, t)
|
testDbStoreCorrect(1000, false, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMockDbStoreRandom_1(t *testing.T) {
|
func TestMockDbStoreRandom_1(t *testing.T) {
|
||||||
testDbStoreRandom(1, 0, true, t)
|
testDbStoreRandom(1, true, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMockDbStoreCorrect_1(t *testing.T) {
|
func TestMockDbStoreCorrect_1(t *testing.T) {
|
||||||
testDbStoreCorrect(1, 4096, true, t)
|
testDbStoreCorrect(1, true, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMockDbStoreRandom_1k(t *testing.T) {
|
func TestMockDbStoreRandom_1k(t *testing.T) {
|
||||||
testDbStoreRandom(1000, 0, true, t)
|
testDbStoreRandom(1000, true, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMockDbStoreCorrect_1k(t *testing.T) {
|
func TestMockDbStoreCorrect_1k(t *testing.T) {
|
||||||
testDbStoreCorrect(1000, 4096, true, t)
|
testDbStoreCorrect(1000, true, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testDbStoreNotFound(t *testing.T, mock bool) {
|
func testDbStoreNotFound(t *testing.T, mock bool) {
|
||||||
@ -242,54 +242,38 @@ func TestMockIterator(t *testing.T) {
|
|||||||
testIterator(t, true)
|
testIterator(t, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
func benchmarkDbStorePut(n int, processors int, chunksize int64, mock bool, b *testing.B) {
|
func benchmarkDbStorePut(n int, mock bool, b *testing.B) {
|
||||||
db, cleanup, err := newTestDbStore(mock, true)
|
db, cleanup, err := newTestDbStore(mock, true)
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatalf("init dbStore failed: %v", err)
|
b.Fatalf("init dbStore failed: %v", err)
|
||||||
}
|
}
|
||||||
benchmarkStorePut(db, n, chunksize, b)
|
benchmarkStorePut(db, n, b)
|
||||||
}
|
}
|
||||||
|
|
||||||
func benchmarkDbStoreGet(n int, processors int, chunksize int64, mock bool, b *testing.B) {
|
func benchmarkDbStoreGet(n int, mock bool, b *testing.B) {
|
||||||
db, cleanup, err := newTestDbStore(mock, true)
|
db, cleanup, err := newTestDbStore(mock, true)
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatalf("init dbStore failed: %v", err)
|
b.Fatalf("init dbStore failed: %v", err)
|
||||||
}
|
}
|
||||||
benchmarkStoreGet(db, n, chunksize, b)
|
benchmarkStoreGet(db, n, b)
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkDbStorePut_1_500(b *testing.B) {
|
func BenchmarkDbStorePut_500(b *testing.B) {
|
||||||
benchmarkDbStorePut(500, 1, 4096, false, b)
|
benchmarkDbStorePut(500, false, b)
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkDbStorePut_8_500(b *testing.B) {
|
func BenchmarkDbStoreGet_500(b *testing.B) {
|
||||||
benchmarkDbStorePut(500, 8, 4096, false, b)
|
benchmarkDbStoreGet(500, false, b)
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkDbStoreGet_1_500(b *testing.B) {
|
func BenchmarkMockDbStorePut_500(b *testing.B) {
|
||||||
benchmarkDbStoreGet(500, 1, 4096, false, b)
|
benchmarkDbStorePut(500, true, b)
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkDbStoreGet_8_500(b *testing.B) {
|
func BenchmarkMockDbStoreGet_500(b *testing.B) {
|
||||||
benchmarkDbStoreGet(500, 8, 4096, false, b)
|
benchmarkDbStoreGet(500, true, b)
|
||||||
}
|
|
||||||
|
|
||||||
func BenchmarkMockDbStorePut_1_500(b *testing.B) {
|
|
||||||
benchmarkDbStorePut(500, 1, 4096, true, b)
|
|
||||||
}
|
|
||||||
|
|
||||||
func BenchmarkMockDbStorePut_8_500(b *testing.B) {
|
|
||||||
benchmarkDbStorePut(500, 8, 4096, true, b)
|
|
||||||
}
|
|
||||||
|
|
||||||
func BenchmarkMockDbStoreGet_1_500(b *testing.B) {
|
|
||||||
benchmarkDbStoreGet(500, 1, 4096, true, b)
|
|
||||||
}
|
|
||||||
|
|
||||||
func BenchmarkMockDbStoreGet_8_500(b *testing.B) {
|
|
||||||
benchmarkDbStoreGet(500, 8, 4096, true, b)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestLDBStoreWithoutCollectGarbage tests that we can put a number of random chunks in the LevelDB store, and
|
// TestLDBStoreWithoutCollectGarbage tests that we can put a number of random chunks in the LevelDB store, and
|
||||||
@ -302,7 +286,7 @@ func TestLDBStoreWithoutCollectGarbage(t *testing.T) {
|
|||||||
ldb.setCapacity(uint64(capacity))
|
ldb.setCapacity(uint64(capacity))
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
chunks, err := mputRandomChunks(ldb, n, int64(ch.DefaultSize))
|
chunks, err := mputRandomChunks(ldb, n)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err.Error())
|
t.Fatal(err.Error())
|
||||||
}
|
}
|
||||||
@ -382,7 +366,7 @@ func testLDBStoreCollectGarbage(t *testing.T) {
|
|||||||
putCount = roundTarget
|
putCount = roundTarget
|
||||||
}
|
}
|
||||||
remaining -= putCount
|
remaining -= putCount
|
||||||
chunks, err := mputRandomChunks(ldb, putCount, int64(ch.DefaultSize))
|
chunks, err := mputRandomChunks(ldb, putCount)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err.Error())
|
t.Fatal(err.Error())
|
||||||
}
|
}
|
||||||
@ -429,7 +413,7 @@ func TestLDBStoreAddRemove(t *testing.T) {
|
|||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
n := 100
|
n := 100
|
||||||
chunks, err := mputRandomChunks(ldb, n, int64(ch.DefaultSize))
|
chunks, err := mputRandomChunks(ldb, n)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf(err.Error())
|
t.Fatalf(err.Error())
|
||||||
}
|
}
|
||||||
@ -576,7 +560,7 @@ func TestLDBStoreCollectGarbageAccessUnlikeIndex(t *testing.T) {
|
|||||||
ldb.setCapacity(uint64(capacity))
|
ldb.setCapacity(uint64(capacity))
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
chunks, err := mputRandomChunks(ldb, n, int64(ch.DefaultSize))
|
chunks, err := mputRandomChunks(ldb, n)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err.Error())
|
t.Fatal(err.Error())
|
||||||
}
|
}
|
||||||
@ -589,7 +573,7 @@ func TestLDBStoreCollectGarbageAccessUnlikeIndex(t *testing.T) {
|
|||||||
t.Fatalf("fail add chunk #%d - %s: %v", i, chunks[i].Address(), err)
|
t.Fatalf("fail add chunk #%d - %s: %v", i, chunks[i].Address(), err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_, err = mputRandomChunks(ldb, 2, int64(ch.DefaultSize))
|
_, err = mputRandomChunks(ldb, 2)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err.Error())
|
t.Fatal(err.Error())
|
||||||
}
|
}
|
||||||
@ -621,7 +605,7 @@ func TestCleanIndex(t *testing.T) {
|
|||||||
ldb.setCapacity(uint64(capacity))
|
ldb.setCapacity(uint64(capacity))
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
||||||
chunks, err := mputRandomChunks(ldb, n, 4096)
|
chunks, err := mputRandomChunks(ldb, n)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -752,7 +736,7 @@ func TestCleanIndex(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check that the iterator quits properly
|
// check that the iterator quits properly
|
||||||
chunks, err = mputRandomChunks(ldb, 4100, 4096)
|
chunks, err = mputRandomChunks(ldb, 4100)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -28,32 +28,32 @@ func newTestMemStore() *MemStore {
|
|||||||
return NewMemStore(storeparams, nil)
|
return NewMemStore(storeparams, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testMemStoreRandom(n int, chunksize int64, t *testing.T) {
|
func testMemStoreRandom(n int, t *testing.T) {
|
||||||
m := newTestMemStore()
|
m := newTestMemStore()
|
||||||
defer m.Close()
|
defer m.Close()
|
||||||
testStoreRandom(m, n, chunksize, t)
|
testStoreRandom(m, n, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func testMemStoreCorrect(n int, chunksize int64, t *testing.T) {
|
func testMemStoreCorrect(n int, t *testing.T) {
|
||||||
m := newTestMemStore()
|
m := newTestMemStore()
|
||||||
defer m.Close()
|
defer m.Close()
|
||||||
testStoreCorrect(m, n, chunksize, t)
|
testStoreCorrect(m, n, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMemStoreRandom_1(t *testing.T) {
|
func TestMemStoreRandom_1(t *testing.T) {
|
||||||
testMemStoreRandom(1, 0, t)
|
testMemStoreRandom(1, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMemStoreCorrect_1(t *testing.T) {
|
func TestMemStoreCorrect_1(t *testing.T) {
|
||||||
testMemStoreCorrect(1, 4104, t)
|
testMemStoreCorrect(1, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMemStoreRandom_1k(t *testing.T) {
|
func TestMemStoreRandom_1k(t *testing.T) {
|
||||||
testMemStoreRandom(1000, 0, t)
|
testMemStoreRandom(1000, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMemStoreCorrect_1k(t *testing.T) {
|
func TestMemStoreCorrect_1k(t *testing.T) {
|
||||||
testMemStoreCorrect(100, 4096, t)
|
testMemStoreCorrect(100, t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMemStoreNotFound(t *testing.T) {
|
func TestMemStoreNotFound(t *testing.T) {
|
||||||
@ -66,32 +66,24 @@ func TestMemStoreNotFound(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func benchmarkMemStorePut(n int, processors int, chunksize int64, b *testing.B) {
|
func benchmarkMemStorePut(n int, b *testing.B) {
|
||||||
m := newTestMemStore()
|
m := newTestMemStore()
|
||||||
defer m.Close()
|
defer m.Close()
|
||||||
benchmarkStorePut(m, n, chunksize, b)
|
benchmarkStorePut(m, n, b)
|
||||||
}
|
}
|
||||||
|
|
||||||
func benchmarkMemStoreGet(n int, processors int, chunksize int64, b *testing.B) {
|
func benchmarkMemStoreGet(n int, b *testing.B) {
|
||||||
m := newTestMemStore()
|
m := newTestMemStore()
|
||||||
defer m.Close()
|
defer m.Close()
|
||||||
benchmarkStoreGet(m, n, chunksize, b)
|
benchmarkStoreGet(m, n, b)
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkMemStorePut_1_500(b *testing.B) {
|
func BenchmarkMemStorePut_500(b *testing.B) {
|
||||||
benchmarkMemStorePut(500, 1, 4096, b)
|
benchmarkMemStorePut(500, b)
|
||||||
}
|
}
|
||||||
|
|
||||||
func BenchmarkMemStorePut_8_500(b *testing.B) {
|
func BenchmarkMemStoreGet_500(b *testing.B) {
|
||||||
benchmarkMemStorePut(500, 8, 4096, b)
|
benchmarkMemStoreGet(500, b)
|
||||||
}
|
|
||||||
|
|
||||||
func BenchmarkMemStoreGet_1_500(b *testing.B) {
|
|
||||||
benchmarkMemStoreGet(500, 1, 4096, b)
|
|
||||||
}
|
|
||||||
|
|
||||||
func BenchmarkMemStoreGet_8_500(b *testing.B) {
|
|
||||||
benchmarkMemStoreGet(500, 8, 4096, b)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMemStoreAndLDBStore(t *testing.T) {
|
func TestMemStoreAndLDBStore(t *testing.T) {
|
||||||
|
Loading…
Reference in New Issue
Block a user