mirror of
https://github.com/tailscale/tailscale.git
synced 2026-03-29 03:31:22 -04:00
I omitted a lot of the min/max modernizers because they didn't result in more clear code. Some of it's older "for x := range 123". Also: errors.AsType, any, fmt.Appendf, etc. Updates #18682 Change-Id: I83a451577f33877f962766a5b65ce86f7696471c Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
38 lines
919 B
Go
38 lines
919 B
Go
// Copyright (c) Tailscale Inc & contributors
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
package httpm
|
|
|
|
import (
|
|
"os"
|
|
"os/exec"
|
|
"path/filepath"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestUsedConsistently(t *testing.T) {
|
|
dir, err := os.Getwd()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
rootDir := filepath.Join(dir, "../..")
|
|
|
|
// If we don't have a .git directory, we're not in a git checkout (e.g.
|
|
// a downstream package); skip this test.
|
|
if _, err := os.Stat(filepath.Join(rootDir, ".git")); err != nil {
|
|
t.Skipf("skipping test since .git doesn't exist: %v", err)
|
|
}
|
|
|
|
cmd := exec.Command("git", "grep", "-l", "-F", "http.Method")
|
|
cmd.Dir = rootDir
|
|
matches, _ := cmd.Output()
|
|
for fn := range strings.SplitSeq(strings.TrimSpace(string(matches)), "\n") {
|
|
switch fn {
|
|
case "util/httpm/httpm.go", "util/httpm/httpm_test.go":
|
|
continue
|
|
}
|
|
t.Errorf("http.MethodFoo constant used in %s; use httpm.FOO instead", fn)
|
|
}
|
|
}
|