]> Cypherpunks repositories - gostls13.git/commitdiff
encoding/gob: add test case for issue 4214.
authorDmitriy Vyukov <dvyukov@google.com>
Tue, 9 Oct 2012 05:55:57 +0000 (09:55 +0400)
committerDmitriy Vyukov <dvyukov@google.com>
Tue, 9 Oct 2012 05:55:57 +0000 (09:55 +0400)
See http://code.google.com/p/go/issues/detail?id=4214

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6619068

src/pkg/encoding/gob/type_test.go

index e55fba98d5a53616ead139273963480143cc59ea..e230d22d4315584702e5f89ace19f6ee8088b547 100644 (file)
@@ -5,6 +5,7 @@
 package gob
 
 import (
+       "bytes"
        "reflect"
        "testing"
 )
@@ -192,3 +193,30 @@ func TestRegistrationNaming(t *testing.T) {
                }
        }
 }
+
+func TestStressParallel(t *testing.T) {
+       type T2 struct{ A int }
+       c := make(chan bool)
+       const N = 10
+       for i := 0; i < N; i++ {
+               go func() {
+                       p := new(T2)
+                       Register(p)
+                       b := new(bytes.Buffer)
+                       enc := NewEncoder(b)
+                       err := enc.Encode(p)
+                       if err != nil {
+                               t.Error("encoder fail:", err)
+                       }
+                       dec := NewDecoder(b)
+                       err = dec.Decode(p)
+                       if err != nil {
+                               t.Error("decoder fail:", err)
+                       }
+                       c <- true
+               }()
+       }
+       for i := 0; i < N; i++ {
+               <-c
+       }
+}