Commit 7ee7e287 authored by inphi's avatar inphi

fix Hints CB test

parent e7562f4a
...@@ -87,11 +87,19 @@ func TestHints(t *testing.T) { ...@@ -87,11 +87,19 @@ func TestHints(t *testing.T) {
require.ErrorIs(t, err, io.ErrUnexpectedEOF) require.ErrorIs(t, err, io.ErrUnexpectedEOF)
}) })
t.Run("cb error", func(t *testing.T) { t.Run("cb error", func(t *testing.T) {
var buf bytes.Buffer a, b := bidirectionalPipe()
hw := NewHintWriter(&buf) var wg sync.WaitGroup
wg.Add(2)
go func() {
hw := NewHintWriter(a)
hw.Hint(rawHint("one")) hw.Hint(rawHint("one"))
hw.Hint(rawHint("two")) hw.Hint(rawHint("two"))
hr := NewHintReader(&buf) wg.Done()
}()
go func() {
defer wg.Done()
hr := NewHintReader(b)
cbErr := errors.New("fail") cbErr := errors.New("fail")
err := hr.NextHint(func(hint string) error { return cbErr }) err := hr.NextHint(func(hint string) error { return cbErr })
require.ErrorIs(t, err, cbErr) require.ErrorIs(t, err, cbErr)
...@@ -102,5 +110,7 @@ func TestHints(t *testing.T) { ...@@ -102,5 +110,7 @@ func TestHints(t *testing.T) {
}) })
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, readHint, "two") require.Equal(t, readHint, "two")
}()
wg.Wait()
}) })
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment