Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/dataobj/internal/util/sliceclear/sliceclear_test.go

28 lines
613 B

package sliceclear_test
import (
"testing"
"github.com/stretchr/testify/require"
"github.com/grafana/loki/v3/pkg/dataobj/internal/util/sliceclear"
)
func Test(t *testing.T) {
s := make([]*int, 0, 10)
for i := 0; i < 10; i++ {
s = append(s, new(int))
}
s = sliceclear.Clear(s)
require.Equal(t, 10, cap(s))
require.Equal(t, 0, len(s))
// Reexpand s to its full capacity and ensure that all elements have been
// zeroed out.
full := s[:cap(s)]
require.Equal(t, 10, len(full))
for i := 0; i < 10; i++ {
require.Nil(t, full[i], "element %d was not zeroed; this can cause memory leaks", i)
}
}