mirror of
https://github.com/tailscale/tailscale.git
synced 2026-05-05 20:26:47 +02:00
Add a new vet analyzer that checks t.Run subtest names don't contain characters requiring quoting when re-running via "go test -run". This enforces the style guide rule: don't use spaces or punctuation in subtest names. The analyzer flags: - Direct t.Run calls with string literal names containing spaces, regex metacharacters, quotes, or other problematic characters - Table-driven t.Run(tt.name, ...) calls where tt ranges over a slice/map literal with bad name field values Also fix all 978 existing violations across 81 test files, replacing spaces with hyphens and shortening long sentence-like names to concise hyphenated forms. Updates #19242 Change-Id: Ib0ad96a111bd8e764582d1d4902fe2599454ab65 Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
26 lines
623 B
Go
26 lines
623 B
Go
// Copyright (c) Tailscale Inc & contributors
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
// Package vet is a tool to statically check Go source code.
|
|
package main
|
|
|
|
import (
|
|
_ "embed"
|
|
|
|
"golang.org/x/tools/go/analysis/unitchecker"
|
|
"tailscale.com/cmd/vet/jsontags"
|
|
"tailscale.com/cmd/vet/subtestnames"
|
|
)
|
|
|
|
//go:embed jsontags_allowlist
|
|
var jsontagsAllowlistSource string
|
|
|
|
func init() {
|
|
jsontags.RegisterAllowlist(jsontags.ParseAllowlist(jsontagsAllowlistSource))
|
|
jsontags.RegisterPureIsZeroMethods(jsontags.PureIsZeroMethodsInTailscaleModule)
|
|
}
|
|
|
|
func main() {
|
|
unitchecker.Main(jsontags.Analyzer, subtestnames.Analyzer)
|
|
}
|