tstest, util/testenv: drop tstest's dependency on the testing package

Change tstest's exported functions (AssertNotParallel, Replace,
Parallel, RequireRoot, SkipOnKernelVersions, MinAllocsPerRun, FixLogs,
UnfixLogs, CheckIsZero, ResourceCheck) to take testenv.TB instead of
testing.TB or *testing.T, so importing tstest from non-test code no
longer links the testing package and its flag registration side
effects into the binary. Add testenv.Verbose to replace the one use of
testing.Verbose, and a deptest check to keep testing out of tstest's
dependency graph.

Callers are unaffected: *testing.T and testing.TB both satisfy
testenv.TB.

Updates tailscale/corp#45223

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
Change-Id: Ib373ff66ceff638d071582baf8367245987e9155
This commit is contained in:
Brad Fitzpatrick
2026-07-21 13:03:23 -07:00
committed by Brad Fitzpatrick
parent d11757863d
commit 3ccc7725a3
7 changed files with 47 additions and 17 deletions
+3 -2
View File
@@ -6,8 +6,9 @@ package tstest
import (
"fmt"
"runtime"
"testing"
"time"
"tailscale.com/util/testenv"
)
// MinAllocsPerRun asserts that f can run with no more than target allocations.
@@ -16,7 +17,7 @@ import (
//
// MinAllocsPerRun sets GOMAXPROCS to 1 during its measurement and restores
// it before returning.
func MinAllocsPerRun(t *testing.T, target uint64, f func()) error {
func MinAllocsPerRun(t testenv.TB, target uint64, f func()) error {
defer runtime.GOMAXPROCS(runtime.GOMAXPROCS(1))
var memstats runtime.MemStats