Merge pull request #17652 from callthingsoff/make_Regexp_global

all: make regexp.Regexp variables global when not using configuration…
This commit is contained in:
Benjamin Wang
2024-03-27 16:52:05 +00:00
committed by GitHub
2 changed files with 6 additions and 4 deletions

View File

@@ -34,6 +34,8 @@ running(leaking) after all tests.
...
}
*/
var normalizedRegexp = regexp.MustCompile(`\(0[0-9a-fx, ]*\)`)
func CheckLeakedGoroutine() bool {
gs := interestingGoroutines()
if len(gs) == 0 {
@@ -41,10 +43,9 @@ func CheckLeakedGoroutine() bool {
}
stackCount := make(map[string]int)
re := regexp.MustCompile(`\(0[0-9a-fx, ]*\)`)
for _, g := range gs {
// strip out pointer arguments in first function of stack dump
normalized := string(re.ReplaceAll([]byte(g), []byte("(...)")))
normalized := string(normalizedRegexp.ReplaceAll([]byte(g), []byte("(...)")))
stackCount[normalized]++
}

View File

@@ -56,9 +56,10 @@ func addHexPrefix(s string) string {
return string(ns)
}
var argsRegexp = regexp.MustCompile(`"(?:[^"\\]|\\.)*"|'[^']*'|[^'"\s]\S*[^'"\s]?`)
func Argify(s string) []string {
r := regexp.MustCompile(`"(?:[^"\\]|\\.)*"|'[^']*'|[^'"\s]\S*[^'"\s]?`)
args := r.FindAllString(s, -1)
args := argsRegexp.FindAllString(s, -1)
for i := range args {
if len(args[i]) == 0 {
continue