cmd/fix: eliminate data races in TestRewrite and gofmt
Fixes #35632
Change-Id: I55c3d53c2a6240868ec001866047a15ec8f91809
Reviewed-on: https://go-review.googlesource.com/c/go/+/207603
Run-TryBot: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/src/cmd/fix/main.go b/src/cmd/fix/main.go
index 80b3c76..e72c663 100644
--- a/src/cmd/fix/main.go
+++ b/src/cmd/fix/main.go
@@ -203,10 +203,8 @@
return ioutil.WriteFile(f.Name(), newSrc, 0)
}
-var gofmtBuf bytes.Buffer
-
func gofmt(n interface{}) string {
- gofmtBuf.Reset()
+ var gofmtBuf bytes.Buffer
if err := format.Node(&gofmtBuf, fset, n); err != nil {
return "<" + err.Error() + ">"
}
diff --git a/src/cmd/fix/main_test.go b/src/cmd/fix/main_test.go
index ee74f24..af16bca 100644
--- a/src/cmd/fix/main_test.go
+++ b/src/cmd/fix/main_test.go
@@ -76,6 +76,7 @@
func TestRewrite(t *testing.T) {
for _, tt := range testCases {
+ tt := tt
t.Run(tt.Name, func(t *testing.T) {
t.Parallel()
// Apply fix: should get tt.Out.