diff options
author | Alberto Donizetti <alb.donizetti@gmail.com> | 2018-08-21 14:02:56 +0200 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2018-08-21 16:01:43 +0000 |
commit | 3649fe299d452b11a8a458096deda38ed9df5947 (patch) | |
tree | a30d3ea919d4c5ea5d8d32ad6e3c76bf23d0dafb /src/cmd/gofmt | |
parent | 0829e1b757969cc5e22df6c5b5a45cff8f073a38 (diff) | |
download | go-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.go | 6 |
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) } } |