aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/gofmt
diff options
context:
space:
mode:
authorAlberto Donizetti <alb.donizetti@gmail.com>2018-08-21 14:02:56 +0200
committerRobert Griesemer <gri@golang.org>2018-08-21 16:01:43 +0000
commit3649fe299d452b11a8a458096deda38ed9df5947 (patch)
treea30d3ea919d4c5ea5d8d32ad6e3c76bf23d0dafb /src/cmd/gofmt
parent0829e1b757969cc5e22df6c5b5a45cff8f073a38 (diff)
downloadgo-3649fe299d452b11a8a458096deda38ed9df5947.tar.gz
go-3649fe299d452b11a8a458096deda38ed9df5947.zip
cmd/gofmt: skip gofmt idempotency check on known issue
gofmt's TestAll runs gofmt on all the go files in the tree and checks, among other things, that gofmt is idempotent (i.e. that a second invocation does not change the input again). There's a known bug of gofmt not being idempotent (Issue #24472), and unfortunately the fixedbugs/issue22662.go file triggers it. We can't just gofmt the file, because it tests the effect of various line directives inside weirdly-placed comments, and gofmt moves those comments, making the test useless. Instead, just skip the idempotency check when gofmt-ing the problematic file. This fixes go test on the cmd/gofmt package, and a failure seen on the longtest builder. Updates #24472 Change-Id: Ib06300977cd8fce6c609e688b222e9b2186f5aa7 Reviewed-on: https://go-review.googlesource.com/130377 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/cmd/gofmt')
-rw-r--r--src/cmd/gofmt/long_test.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cmd/gofmt/long_test.go b/src/cmd/gofmt/long_test.go
index 237b86021b..e2a6208f87 100644
--- a/src/cmd/gofmt/long_test.go
+++ b/src/cmd/gofmt/long_test.go
@@ -85,6 +85,12 @@ func testFile(t *testing.T, b1, b2 *bytes.Buffer, filename string) {
// the first and 2nd result should be identical
if !bytes.Equal(b1.Bytes(), b2.Bytes()) {
+ // A known instance of gofmt not being idempotent
+ // (see Issue #24472)
+ if strings.HasSuffix(filename, "issue22662.go") {
+ t.Log("known gofmt idempotency bug (Issue #24472)")
+ return
+ }
t.Errorf("gofmt %s not idempotent", filename)
}
}