bldr/util/gocompiler/runtime-startup-trace_test.go
Rama master · réplica de lectura del repositorio original.
package gocompiler
import (
"slices"
"testing"
)
// TestRuntimeStartupTraceBuildTags verifies environment-gated startup trace tags.
func TestRuntimeStartupTraceBuildTags(t *testing.T) {
t.Setenv(RuntimeStartupTraceEnv, "")
if tags := RuntimeStartupTraceBuildTags(); len(tags) != 0 {
t.Fatalf("startup trace tags = %v, want none", tags)
}
t.Setenv(RuntimeStartupTraceEnv, "1")
if tags := RuntimeStartupTraceBuildTags(); !slices.Equal(tags, []string{RuntimeStartupTraceBuildTag}) {
t.Fatalf("startup trace tags = %v, want %s tag", tags, RuntimeStartupTraceBuildTag)
}
}
// TestRuntimeStartupTraceBuildTagsForWebWasm verifies unsupported compiler modes receive no hook.
func TestRuntimeStartupTraceBuildTagsForWebWasm(t *testing.T) {
t.Setenv(RuntimeStartupTraceEnv, "1")
if tags := RuntimeStartupTraceBuildTagsForWebWasm(false, false); len(tags) != 0 {
t.Fatalf("native startup trace tags = %v, want none", tags)
}
if tags := RuntimeStartupTraceBuildTagsForWebWasm(true, true); len(tags) != 0 {
t.Fatalf("TinyGo startup trace tags = %v, want none", tags)
}
if tags := RuntimeStartupTraceBuildTagsForWebWasm(true, false); !slices.Equal(tags, []string{RuntimeStartupTraceBuildTag}) {
t.Fatalf("Go WASM startup trace tags = %v, want %s tag", tags, RuntimeStartupTraceBuildTag)
}
}