diff options
author | Mikio Hara <mikioh.mikioh@gmail.com> | 2012-03-08 23:56:26 +0900 |
---|---|---|
committer | Mikio Hara <mikioh.mikioh@gmail.com> | 2012-03-08 23:56:26 +0900 |
commit | 26e83a9e2ba38e7ff7906b5ff12efbb8b998b4dc (patch) | |
tree | 87a24127fb3c4d6c1c4a076ec3eae7559ff6212d /src/cmd/gofmt/long_test.go | |
parent | 9b4af1e90e66dd81cf1f2f88340b7bc2c6661cfa (diff) | |
download | go-26e83a9e2ba38e7ff7906b5ff12efbb8b998b4dc.tar.gz |
cmd/gofmt: fix race in long test
Fixes issue 3249.
R=rsc
CC=golang-dev
http://codereview.appspot.com/5792043
Diffstat (limited to 'src/cmd/gofmt/long_test.go')
-rw-r--r-- | src/cmd/gofmt/long_test.go | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/cmd/gofmt/long_test.go b/src/cmd/gofmt/long_test.go index 9a589b1ba..edbce606a 100644 --- a/src/cmd/gofmt/long_test.go +++ b/src/cmd/gofmt/long_test.go @@ -14,6 +14,7 @@ import ( "fmt" "go/ast" "go/printer" + "go/token" "io" "os" "path/filepath" @@ -30,8 +31,8 @@ var ( nfiles int // number of files processed ) -func gofmt(filename string, src *bytes.Buffer) error { - f, _, err := parse(filename, src.Bytes(), false) +func gofmt(fset *token.FileSet, filename string, src *bytes.Buffer) error { + f, _, err := parse(fset, filename, src.Bytes(), false) if err != nil { return err } @@ -58,7 +59,8 @@ func testFile(t *testing.T, b1, b2 *bytes.Buffer, filename string) { } // exclude files w/ syntax errors (typically test cases) - if _, _, err = parse(filename, b1.Bytes(), false); err != nil { + fset := token.NewFileSet() + if _, _, err = parse(fset, filename, b1.Bytes(), false); err != nil { if *verbose { fmt.Fprintf(os.Stderr, "ignoring %s\n", err) } @@ -66,7 +68,7 @@ func testFile(t *testing.T, b1, b2 *bytes.Buffer, filename string) { } // gofmt file - if err = gofmt(filename, b1); err != nil { + if err = gofmt(fset, filename, b1); err != nil { t.Errorf("1st gofmt failed: %v", err) return } @@ -76,7 +78,7 @@ func testFile(t *testing.T, b1, b2 *bytes.Buffer, filename string) { b2.Write(b1.Bytes()) // gofmt result again - if err = gofmt(filename, b2); err != nil { + if err = gofmt(fset, filename, b2); err != nil { t.Errorf("2nd gofmt failed: %v", err) return } |