1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-07 21:47:02 +09:00
any-sync/util/debug/stack_test.go
2024-05-19 14:11:07 +02:00

38 lines
716 B
Go

package debug
import (
"bytes"
"compress/gzip"
"encoding/base64"
"strings"
"testing"
"github.com/stretchr/testify/require"
)
func TestStack(t *testing.T) {
stack := Stack(true)
require.True(t, strings.Contains(string(stack), "main.main"))
}
func TestStackCompact(t *testing.T) {
stack := StackCompact(true)
decoded, err := base64.StdEncoding.DecodeString(string(stack))
require.NoError(t, err)
rd, err := gzip.NewReader(bytes.NewReader(decoded))
require.NoError(t, err)
var (
buf = make([]byte, 1024)
res []byte
)
for {
n, err := rd.Read(buf)
if n > 0 {
res = append(res, buf[:n]...)
}
if err != nil {
break
}
}
require.True(t, strings.Contains(string(res), "main.main"))
}