Some checks failed
Build and Release / Create Release (push) Successful in 0s
Trigger Vault Plugin Rebuild / Trigger Vault Rebuild (push) Successful in 0s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 2m48s
Build and Release / Lint (push) Failing after 5m2s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, darwin, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, darwin, linux-latest) (push) Has been skipped
Build and Release / Build Binaries (arm64, linux, linux-latest) (push) Has been skipped
Build and Release / Unit Tests (push) Successful in 5m37s
Go's semantic import versioning requires v2+ modules to include the major version in the module path. This enables using proper version tags (v3.x.x) instead of pseudo-versions. Updated module path: code.gitcaddy.com/server/v3
33 lines
800 B
Go
33 lines
800 B
Go
// Copyright 2024 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package util
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestCallerFuncName(t *testing.T) {
|
|
s := CallerFuncName()
|
|
assert.Equal(t, "code.gitcaddy.com/server/v3/modules/util.TestCallerFuncName", s)
|
|
}
|
|
|
|
func BenchmarkCallerFuncName(b *testing.B) {
|
|
// BenchmarkCaller/sprintf-12 12744829 95.49 ns/op
|
|
b.Run("sprintf", func(b *testing.B) {
|
|
for b.Loop() {
|
|
_ = fmt.Sprintf("aaaaaaaaaaaaaaaa %s %s %s", "bbbbbbbbbbbbbbbbbbb", b.Name(), "ccccccccccccccccccccc")
|
|
}
|
|
})
|
|
// BenchmarkCaller/caller-12 10625133 113.6 ns/op
|
|
// It is almost as fast as fmt.Sprintf
|
|
b.Run("caller", func(b *testing.B) {
|
|
for b.Loop() {
|
|
CallerFuncName()
|
|
}
|
|
})
|
|
}
|