feat(bsr): invoke writeAndClose() in encode

pull/4095/head
Damian Debkowski 2 years ago committed by Elim Tsiagbey
parent 2157a29e6e
commit 208611ec3e

@ -236,12 +236,9 @@ func TestConvert_ToAsciicast_SessionProgram(t *testing.T) {
err = writeToChannels(ctx, outW, messageOutboundBsrChunks...)
require.NoError(t, err)
outWC := outW.(io.Closer)
outWC.Close()
ch.Close(ctx)
conn.Close(ctx)
sesh.Close(ctx)
require.NoError(t, ch.Close(ctx))
require.NoError(t, conn.Close(ctx))
require.NoError(t, sesh.Close(ctx))
opSesh, err := bsr.OpenSession(ctx, srm.Id, fs, keyFn)
require.NoError(t, err)

@ -129,15 +129,9 @@ func (e ChunkEncoder) Encode(ctx context.Context, c Chunk) (int, error) {
copy(encodedChunk[chunkBaseSize:], encode.compress.Bytes())
binary.BigEndian.PutUint32(encodedChunk[chunkBaseSize+length:], sum)
return e.w.Write(encodedChunk)
}
// Close closes the encoder.
func (e *ChunkEncoder) Close() error {
var i interface{} = e.w
v, ok := i.(io.WriteCloser)
if ok {
return v.Close()
if c.GetType() == ChunkEnd {
return e.w.WriteAndClose(encodedChunk)
}
return nil
return e.w.Write(encodedChunk)
}

@ -280,8 +280,6 @@ func TestChunkEncoder(t *testing.T) {
require.NoError(t, err)
wrote += w
}
err = enc.Close()
require.NoError(t, err)
got := buf.Bytes()
assert.Equal(t, len(tc.want), wrote)

Loading…
Cancel
Save