]> Cypherpunks repositories - gostls13.git/commitdiff
compress/flate: fix test
authorRuss Cox <rsc@golang.org>
Sat, 5 Mar 2011 19:35:03 +0000 (14:35 -0500)
committerRuss Cox <rsc@golang.org>
Sat, 5 Mar 2011 19:35:03 +0000 (14:35 -0500)
The test was checking for a buffer to be empty but
actually racing with the background goroutine that
was emptying it.  Left a comment so that the check
is not reintroduced later.

Fixes #1557.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/4248063

src/pkg/compress/flate/deflate_test.go

index ff54164b2cce81244ca6887626e067ca795ae25f..ed5884a4b78de8a1437bedd82a69b59c97da4b20 100644 (file)
@@ -191,9 +191,16 @@ func testSync(t *testing.T, level int, input []byte, name string) {
                        t.Errorf("testSync/%d: read wrong bytes: %x vs %x", i, input[lo:hi], out[:hi-lo])
                        return
                }
-               if i == 0 && buf.buf.Len() != 0 {
-                       t.Errorf("testSync/%d (%d, %d, %s): extra data after %d", i, level, len(input), name, hi-lo)
-               }
+               // This test originally checked that after reading
+               // the first half of the input, there was nothing left
+               // in the read buffer (buf.buf.Len() != 0) but that is
+               // not necessarily the case: the write Flush may emit
+               // some extra framing bits that are not necessary
+               // to process to obtain the first half of the uncompressed
+               // data.  The test ran correctly most of the time, because
+               // the background goroutine had usually read even
+               // those extra bits by now, but it's not a useful thing to
+               // check.
                buf.WriteMode()
        }
        buf.ReadMode()