44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
//go:build windows
 | 
						|
 | 
						|
package testshared
 | 
						|
 | 
						|
import (
 | 
						|
	"path/filepath"
 | 
						|
	"regexp"
 | 
						|
	"strings"
 | 
						|
	"testing"
 | 
						|
)
 | 
						|
 | 
						|
// SkipOnWindows skip test on Windows.
 | 
						|
func SkipOnWindows(tb testing.TB) {
 | 
						|
	tb.Skip("not supported on Windows")
 | 
						|
}
 | 
						|
 | 
						|
// NormalizeFilePathInJSON find Go file path and replace `/` with `\\\\`.
 | 
						|
func NormalizeFilePathInJSON(in string) string {
 | 
						|
	exp := regexp.MustCompile(`(?:^|\b)[\w-/.]+\.go`)
 | 
						|
 | 
						|
	return exp.ReplaceAllStringFunc(in, func(s string) string {
 | 
						|
		return strings.ReplaceAll(s, "/", "\\\\")
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
// NormalizeFileInString normalizes in quoted string, ie. replace `\\` with `\\\\`.
 | 
						|
func NormalizeFileInString(in string) string {
 | 
						|
	return strings.ReplaceAll(filepath.FromSlash(in), "\\", "\\\\")
 | 
						|
}
 | 
						|
 | 
						|
// defaultBinaryName returns the path to the default binary.
 | 
						|
func defaultBinaryName() string {
 | 
						|
	return filepath.Join("..", "golangci-lint.exe")
 | 
						|
}
 | 
						|
 | 
						|
// normalizeFilePath find Go file path and replace `/` with `\\`.
 | 
						|
func normalizeFilePath(in string) string {
 | 
						|
	exp := regexp.MustCompile(`(?:^|\b)[\w-/.]+\.go`)
 | 
						|
 | 
						|
	return exp.ReplaceAllStringFunc(in, func(s string) string {
 | 
						|
		return strings.ReplaceAll(s, "/", "\\")
 | 
						|
	})
 | 
						|
}
 |