Ctrl K
ComunidadGuías…

bldr/util/gocompiler/runtime-startup-trace_test.go

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
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)
	}
}