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:
committed by
Brad Fitzpatrick
parent
d11757863d
commit
3ccc7725a3
@@ -22,6 +22,19 @@ func InTest() bool {
|
||||
})
|
||||
}
|
||||
|
||||
// Verbose reports whether the test binary is running with verbose
|
||||
// output (the -test.v flag), like testing.Verbose but without
|
||||
// importing the testing package.
|
||||
func Verbose() bool {
|
||||
f := flag.Lookup("test.v")
|
||||
if f == nil {
|
||||
return false
|
||||
}
|
||||
// The flag's String value is "false" when off, and "true" or
|
||||
// "test2json" when on.
|
||||
return f.Value.String() != "false"
|
||||
}
|
||||
|
||||
// TB is testing.TB, to avoid importing "testing" in non-test code.
|
||||
type TB interface {
|
||||
ArtifactDir() string
|
||||
|
||||
Reference in New Issue
Block a user