1
0
mirror of https://github.com/golang/go synced 2024-11-19 07:04:43 -07:00

mime/multipart: add Writer data race test

Camlistore uses this pattern to do streaming writes, as do
others I imagine, and it was broken by the lazy boundary
change.

LGTM=dvyukov, ruiu
R=ruiu, dvyukov
CC=golang-codereviews, mathieu.lonjaret
https://golang.org/cl/116690043
This commit is contained in:
Brad Fitzpatrick 2014-08-05 11:45:24 -07:00
parent dab671b660
commit d46e133f74

View File

@ -111,3 +111,15 @@ func TestWriterSetBoundary(t *testing.T) {
t.Errorf("expected my-separator in output. got: %q", got) t.Errorf("expected my-separator in output. got: %q", got)
} }
} }
func TestWriterBoundaryGoroutines(t *testing.T) {
// Verify there's no data race accessing any lazy boundary if it's used by
// different goroutines. This was previously broken by
// https://codereview.appspot.com/95760043/ and reverted in
// https://codereview.appspot.com/117600043/
w := NewWriter(ioutil.Discard)
go func() {
w.CreateFormField("foo")
}()
w.Boundary()
}