make buffer thread safe for testing
This commit is contained in:
parent
09e5efa103
commit
ace6394053
@ -6,6 +6,7 @@ import (
|
||||
"crypto/sha256"
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"sync"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@ -51,7 +52,7 @@ type (
|
||||
baseApp *baseapp.BaseApp
|
||||
cdc *codec.ProtoCodec
|
||||
txConfig client.TxConfig
|
||||
logBuffer *bytes.Buffer
|
||||
logBuffer *safeBuffer
|
||||
}
|
||||
|
||||
SnapshotsConfig struct {
|
||||
@ -63,6 +64,31 @@ type (
|
||||
}
|
||||
)
|
||||
|
||||
type safeBuffer struct {
|
||||
b *bytes.Buffer
|
||||
mu sync.Mutex
|
||||
}
|
||||
|
||||
func newSafeBuffer() *safeBuffer {
|
||||
return &safeBuffer{
|
||||
b: new(bytes.Buffer),
|
||||
mu: sync.Mutex{},
|
||||
}
|
||||
}
|
||||
|
||||
func (b *safeBuffer) Write(p []byte) (n int, err error) {
|
||||
b.mu.Lock()
|
||||
defer b.mu.Unlock()
|
||||
return b.b.Write(p)
|
||||
}
|
||||
|
||||
// Add any other methods you need to access
|
||||
func (b *safeBuffer) String() string {
|
||||
b.mu.Lock()
|
||||
defer b.mu.Unlock()
|
||||
return b.b.String()
|
||||
}
|
||||
|
||||
func NewBaseAppSuite(t *testing.T, opts ...func(*baseapp.BaseApp)) *BaseAppSuite {
|
||||
t.Helper()
|
||||
|
||||
@ -71,7 +97,7 @@ func NewBaseAppSuite(t *testing.T, opts ...func(*baseapp.BaseApp)) *BaseAppSuite
|
||||
|
||||
txConfig := authtx.NewTxConfig(cdc, authtx.DefaultSignModes)
|
||||
db := dbm.NewMemDB()
|
||||
logBuffer := new(bytes.Buffer)
|
||||
logBuffer := newSafeBuffer()
|
||||
logger := log.NewLogger(logBuffer, log.ColorOption(false))
|
||||
|
||||
app := baseapp.NewBaseApp(t.Name(), logger, db, txConfig.TxDecoder(), opts...)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user