summaryrefslogtreecommitdiffstats
path: root/modules/log/groutinelabel_test.go
blob: 34e99653d6aa0795216ac4a6a1d9e00e045e060b (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
// Copyright 2022 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT

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"])
			}
		})
	})
}