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 -4
View File
@@ -9,7 +9,6 @@ import (
"log"
"os"
"sync"
"testing"
"go4.org/mem"
"tailscale.com/types/logger"
@@ -17,7 +16,7 @@ import (
)
type testLogWriter struct {
t *testing.T
t testenv.TB
}
func (w *testLogWriter) Write(b []byte) (int, error) {
@@ -26,12 +25,12 @@ func (w *testLogWriter) Write(b []byte) (int, error) {
return len(b), nil
}
func FixLogs(t *testing.T) {
func FixLogs(t testenv.TB) {
log.SetFlags(log.Ltime | log.Lshortfile)
log.SetOutput(&testLogWriter{t})
}
func UnfixLogs(t *testing.T) {
func UnfixLogs(t testenv.TB) {
defer log.SetOutput(os.Stderr)
}