123456789101112131415161718192021222324252627282930313233343536 |
- package prof
- import (
- "strings"
- "sync"
- "testing"
- "time"
- "github.com/stretchr/testify/assert"
- )
- func TestDisplayStats(t *testing.T) {
- writer := &threadSafeBuffer{
- buf: strings.Builder{},
- }
- displayStatsWithWriter(writer, time.Millisecond*10)
- time.Sleep(time.Millisecond * 50)
- assert.Contains(t, writer.String(), "Goroutines: ")
- }
- type threadSafeBuffer struct {
- buf strings.Builder
- lock sync.Mutex
- }
- func (b *threadSafeBuffer) String() string {
- b.lock.Lock()
- defer b.lock.Unlock()
- return b.buf.String()
- }
- func (b *threadSafeBuffer) Write(p []byte) (n int, err error) {
- b.lock.Lock()
- defer b.lock.Unlock()
- return b.buf.Write(p)
- }
|