github.com/ahmet2mir/goreleaser@v0.180.3-0.20210927151101-8e5ee5a9b8c5/internal/gio/safe_test.go (about) 1 package gio 2 3 import ( 4 "bytes" 5 "sync" 6 "testing" 7 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestSafe(t *testing.T) { 12 chars := 30 13 14 var b bytes.Buffer 15 w := Safe(&b) 16 17 var wg sync.WaitGroup 18 wg.Add(chars) 19 for i := 0; i < chars; i++ { 20 go func() { 21 s, err := w.Write([]byte("a")) 22 require.Equal(t, 1, s) 23 require.NoError(t, err) 24 wg.Done() 25 }() 26 } 27 wg.Wait() 28 29 require.Len(t, b.String(), chars) 30 }