github.com/lingyao2333/mo-zero@v1.4.1/core/proc/profile_test.go (about)

     1  package proc
     2  
     3  import (
     4  	"strings"
     5  	"testing"
     6  
     7  	"github.com/lingyao2333/mo-zero/core/logx"
     8  	"github.com/stretchr/testify/assert"
     9  )
    10  
    11  func TestProfile(t *testing.T) {
    12  	var buf strings.Builder
    13  	w := logx.NewWriter(&buf)
    14  	o := logx.Reset()
    15  	logx.SetWriter(w)
    16  
    17  	defer func() {
    18  		logx.Reset()
    19  		logx.SetWriter(o)
    20  	}()
    21  
    22  	profiler := StartProfile()
    23  	// start again should not work
    24  	assert.NotNil(t, StartProfile())
    25  	profiler.Stop()
    26  	// stop twice
    27  	profiler.Stop()
    28  	assert.True(t, strings.Contains(buf.String(), ".pprof"))
    29  }