aboutsummaryrefslogtreecommitdiffstats
path: root/modules/log/groutinelabel_test.go
blob: 8e23721b867d2a73f548c3a3dd197bdc451be56e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// Copyright 2022 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.

package log

import (
	"context"
	"runtime/pprof"
	"testing"

	"github.com/stretchr/testify/assert"
)

func Test_getGoroutineLabels(t *testing.T) {
	pprof.Do(context.Background(), pprof.Labels(), func(ctx context.Context) {
		currentLabels := getGoroutineLabels()
		pprof.ForLabels(ctx, func(key, value string) bool {
			assert.EqualValues(t, value, currentLabels[key])
			return true
		})

		pprof.Do(ctx, pprof.Labels("Test_getGoroutineLabels", "Test_getGoroutineLabels_child1"), func(ctx context.Context) {
			currentLabels := getGoroutineLabels()
			pprof.ForLabels(ctx, func(key, value string) bool {
				assert.EqualValues(t, value, currentLabels[key])
				return true
			})
			if assert.NotNil(t, currentLabels) {
				assert.EqualValues(t, "Test_getGoroutineLabels_child1", currentLabels["Test_getGoroutineLabels"])
			}
		})
	})
}