cmd/vet: add subtestnames analyzer; fix all existing violations
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>
This commit is contained in:
committed by
Brad Fitzpatrick
parent
0f02c20c5e
commit
5ef3713c9f
@@ -68,14 +68,17 @@ func authForPeers(self *ipnstate.PeerStatus, peers []*ipnstate.PeerStatus) *auth
|
||||
|
||||
func TestAuthRefreshErrorsNotRunning(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
in *ipnstate.Status
|
||||
expected string
|
||||
}{
|
||||
{
|
||||
name: "no-status",
|
||||
in: nil,
|
||||
expected: "no status",
|
||||
},
|
||||
{
|
||||
name: "ts-server-not-running",
|
||||
in: &ipnstate.Status{
|
||||
BackendState: "NeedsMachineAuth",
|
||||
},
|
||||
@@ -84,7 +87,7 @@ func TestAuthRefreshErrorsNotRunning(t *testing.T) {
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.expected, func(t *testing.T) {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
ctx := t.Context()
|
||||
a := authForStatus(tt.in)
|
||||
err := a.Refresh(ctx)
|
||||
@@ -127,22 +130,22 @@ func TestAuthAllowsHost(t *testing.T) {
|
||||
expected bool
|
||||
}{
|
||||
{
|
||||
name: "tagged with different tag",
|
||||
name: "tagged-different-tag",
|
||||
peerStatus: peers[0],
|
||||
expected: false,
|
||||
},
|
||||
{
|
||||
name: "not tagged",
|
||||
name: "not-tagged",
|
||||
peerStatus: peers[1],
|
||||
expected: false,
|
||||
},
|
||||
{
|
||||
name: "tags includes testTag",
|
||||
name: "tags-include-testTag",
|
||||
peerStatus: peers[2],
|
||||
expected: true,
|
||||
},
|
||||
{
|
||||
name: "only tag is testTag",
|
||||
name: "only-testTag",
|
||||
peerStatus: peers[3],
|
||||
expected: true,
|
||||
},
|
||||
@@ -201,12 +204,12 @@ func TestAuthSelfAllowed(t *testing.T) {
|
||||
expected bool
|
||||
}{
|
||||
{
|
||||
name: "self has different tag",
|
||||
name: "self-different-tag",
|
||||
in: []string{"woo"},
|
||||
expected: false,
|
||||
},
|
||||
{
|
||||
name: "selfs tags include testTag",
|
||||
name: "self-tags-include-testTag",
|
||||
in: []string{"woo", testTag},
|
||||
expected: true,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user