mirror of
				https://github.com/tailscale/tailscale.git
				synced 2025-11-04 10:11:18 +01:00 
			
		
		
		
	Updates #9635 Signed-off-by: Andrew Dunham <andrew@du.nham.ca> Change-Id: I9089200f9327605036c88fc12834acece0c11694
		
			
				
	
	
		
			38 lines
		
	
	
		
			914 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			914 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright (c) Tailscale Inc & AUTHORS
 | 
						|
// 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.Split(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)
 | 
						|
	}
 | 
						|
}
 |