github.com/ava-labs/avalanchego@v1.11.11/database/memdb/db_test.go (about) 1 // Copyright (C) 2019-2024, Ava Labs, Inc. All rights reserved. 2 // See the file LICENSE for licensing terms. 3 4 package memdb 5 6 import ( 7 "fmt" 8 "testing" 9 10 "github.com/ava-labs/avalanchego/database/dbtest" 11 ) 12 13 func TestInterface(t *testing.T) { 14 for name, test := range dbtest.Tests { 15 t.Run(name, func(t *testing.T) { 16 test(t, New()) 17 }) 18 } 19 } 20 21 func FuzzKeyValue(f *testing.F) { 22 dbtest.FuzzKeyValue(f, New()) 23 } 24 25 func FuzzNewIteratorWithPrefix(f *testing.F) { 26 dbtest.FuzzNewIteratorWithPrefix(f, New()) 27 } 28 29 func FuzzNewIteratorWithStartAndPrefix(f *testing.F) { 30 dbtest.FuzzNewIteratorWithStartAndPrefix(f, New()) 31 } 32 33 func BenchmarkInterface(b *testing.B) { 34 for _, size := range dbtest.BenchmarkSizes { 35 keys, values := dbtest.SetupBenchmark(b, size[0], size[1], size[2]) 36 for name, bench := range dbtest.Benchmarks { 37 b.Run(fmt.Sprintf("memdb_%d_pairs_%d_keys_%d_values_%s", size[0], size[1], size[2], name), func(b *testing.B) { 38 db := New() 39 bench(b, db, keys, values) 40 }) 41 } 42 } 43 }