aboutsummaryrefslogtreecommitdiff
path: root/format
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-06 16:46:51 +0800
committerGravatar Runxi Yu2026-03-06 16:46:51 +0800
commit9e44418ce9d88f4159067b1ce2c808cb93e29c38 (patch)
tree4ff99e20df4ec1c6ddb8508202fcb28aa42551eb /format
parentformat/sideband64k: Add side-band-64k (diff)
signatureNo signature
format/sideband64k: Lint
Diffstat (limited to 'format')
-rw-r--r--format/sideband64k/chunk_writer_write_and_read_from_test.go12
-rw-r--r--format/sideband64k/decoder.go3
-rw-r--r--format/sideband64k/decoder_data_control_and_keepalive_test.go7
-rw-r--r--format/sideband64k/decoder_partial_read_test.go2
-rw-r--r--format/sideband64k/decoder_peek_test.go2
-rw-r--r--format/sideband64k/decoder_resync_after_over_max_data_test.go14
-rw-r--r--format/sideband64k/decoder_resync_after_over_wire_max_test.go1
-rw-r--r--format/sideband64k/encoder.go1
-rw-r--r--format/sideband64k/encoder_buffered_flush_behavior_test.go21
-rw-r--r--format/sideband64k/encoder_partial_write_test.go11
-rw-r--r--format/sideband64k/encoder_writes_frames_test.go27
-rw-r--r--format/sideband64k/helpers_test.go2
12 files changed, 82 insertions, 21 deletions
diff --git a/format/sideband64k/chunk_writer_write_and_read_from_test.go b/format/sideband64k/chunk_writer_write_and_read_from_test.go
index 7d475015..8a736107 100644
--- a/format/sideband64k/chunk_writer_write_and_read_from_test.go
+++ b/format/sideband64k/chunk_writer_write_and_read_from_test.go
@@ -24,12 +24,16 @@ func TestChunkWriterWriteAndReadFrom(t *testing.T) {
if err != nil {
t.Fatalf("Write: %v", err)
}
+
if n != 7 {
t.Fatalf("Write n=%d, want 7", n)
}
- if err := enc.FlushIO(); err != nil {
+
+ err = enc.FlushIO()
+ if err != nil {
t.Fatalf("FlushIO: %v", err)
}
+
if got, want := out.String(), "0008\x02abc0008\x02def0006\x02g"; got != want {
t.Fatalf("got %q, want %q", got, want)
}
@@ -40,12 +44,16 @@ func TestChunkWriterWriteAndReadFrom(t *testing.T) {
if err != nil {
t.Fatalf("ReadFrom: %v", err)
}
+
if rn != 4 {
t.Fatalf("ReadFrom n=%d, want 4", rn)
}
- if err := enc.FlushIO(); err != nil {
+
+ err = enc.FlushIO()
+ if err != nil {
t.Fatalf("FlushIO: %v", err)
}
+
if got, want := out.String(), "0008\x02wxy0006\x02z"; got != want {
t.Fatalf("got %q, want %q", got, want)
}
diff --git a/format/sideband64k/decoder.go b/format/sideband64k/decoder.go
index 8c2b48d5..b54e7d39 100644
--- a/format/sideband64k/decoder.go
+++ b/format/sideband64k/decoder.go
@@ -35,6 +35,7 @@ func NewDecoder(r io.Reader, opts ReadOptions) *Decoder {
opts: opts,
}
d.dec.SetMaxData(pktline.LargePacketDataMax)
+
return d
}
@@ -44,6 +45,7 @@ func NewDecoder(r io.Reader, opts ReadOptions) *Decoder {
func (d *Decoder) SetMaxData(n int) {
if n <= 0 {
d.maxData = DataMax
+
return
}
@@ -54,6 +56,7 @@ func (d *Decoder) SetMaxData(n int) {
func (d *Decoder) ReadFrame() (Frame, error) {
if d.peeked {
d.peeked = false
+
return cloneFrame(d.peek), d.peekErr
}
diff --git a/format/sideband64k/decoder_data_control_and_keepalive_test.go b/format/sideband64k/decoder_data_control_and_keepalive_test.go
index cabd405b..b79a45f7 100644
--- a/format/sideband64k/decoder_data_control_and_keepalive_test.go
+++ b/format/sideband64k/decoder_data_control_and_keepalive_test.go
@@ -17,6 +17,7 @@ func TestDecoderDataControlAndKeepalive(t *testing.T) {
if err != nil {
t.Fatalf("ReadFrame #1: %v", err)
}
+
if f.Type != sideband64k.FrameData || string(f.Payload) != "a" {
t.Fatalf("frame #1 = %#v", f)
}
@@ -25,6 +26,7 @@ func TestDecoderDataControlAndKeepalive(t *testing.T) {
if err != nil {
t.Fatalf("ReadFrame #2: %v", err)
}
+
if f.Type != sideband64k.FrameData || len(f.Payload) != 0 {
t.Fatalf("frame #2 = %#v, want empty data", f)
}
@@ -33,6 +35,7 @@ func TestDecoderDataControlAndKeepalive(t *testing.T) {
if err != nil {
t.Fatalf("ReadFrame #3: %v", err)
}
+
if f.Type != sideband64k.FrameProgress || string(f.Payload) != "p\n" {
t.Fatalf("frame #3 = %#v", f)
}
@@ -41,6 +44,7 @@ func TestDecoderDataControlAndKeepalive(t *testing.T) {
if err != nil {
t.Fatalf("ReadFrame #4: %v", err)
}
+
if f.Type != sideband64k.FrameError || string(f.Payload) != "e\n" {
t.Fatalf("frame #4 = %#v", f)
}
@@ -49,6 +53,7 @@ func TestDecoderDataControlAndKeepalive(t *testing.T) {
if err != nil {
t.Fatalf("ReadFrame #5: %v", err)
}
+
if f.Type != sideband64k.FrameDelim {
t.Fatalf("frame #5 type = %v, want FrameDelim", f.Type)
}
@@ -57,6 +62,7 @@ func TestDecoderDataControlAndKeepalive(t *testing.T) {
if err != nil {
t.Fatalf("ReadFrame #6: %v", err)
}
+
if f.Type != sideband64k.FrameResponseEnd {
t.Fatalf("frame #6 type = %v, want FrameResponseEnd", f.Type)
}
@@ -65,6 +71,7 @@ func TestDecoderDataControlAndKeepalive(t *testing.T) {
if err != nil {
t.Fatalf("ReadFrame #7: %v", err)
}
+
if f.Type != sideband64k.FrameFlush {
t.Fatalf("frame #7 type = %v, want FrameFlush", f.Type)
}
diff --git a/format/sideband64k/decoder_partial_read_test.go b/format/sideband64k/decoder_partial_read_test.go
index 0efd4db5..d5b2f672 100644
--- a/format/sideband64k/decoder_partial_read_test.go
+++ b/format/sideband64k/decoder_partial_read_test.go
@@ -16,6 +16,7 @@ func TestDecoderHandlesPartialReads(t *testing.T) {
if err != nil {
t.Fatalf("ReadFrame #1: %v", err)
}
+
if f.Type != sideband64k.FrameProgress || string(f.Payload) != "ok" {
t.Fatalf("frame #1 = %#v", f)
}
@@ -24,6 +25,7 @@ func TestDecoderHandlesPartialReads(t *testing.T) {
if err != nil {
t.Fatalf("ReadFrame #2: %v", err)
}
+
if f.Type != sideband64k.FrameFlush {
t.Fatalf("frame #2 = %#v", f)
}
diff --git a/format/sideband64k/decoder_peek_test.go b/format/sideband64k/decoder_peek_test.go
index 900e714c..1628ca41 100644
--- a/format/sideband64k/decoder_peek_test.go
+++ b/format/sideband64k/decoder_peek_test.go
@@ -16,6 +16,7 @@ func TestDecoderPeek(t *testing.T) {
if err != nil {
t.Fatalf("PeekFrame: %v", err)
}
+
if f.Type != sideband64k.FrameData || string(f.Payload) != "x" {
t.Fatalf("peek frame = %#v", f)
}
@@ -26,6 +27,7 @@ func TestDecoderPeek(t *testing.T) {
if err != nil {
t.Fatalf("ReadFrame: %v", err)
}
+
if f.Type != sideband64k.FrameData || string(f.Payload) != "x" {
t.Fatalf("read frame = %#v", f)
}
diff --git a/format/sideband64k/decoder_resync_after_over_max_data_test.go b/format/sideband64k/decoder_resync_after_over_max_data_test.go
index 7280c0ac..923195c1 100644
--- a/format/sideband64k/decoder_resync_after_over_max_data_test.go
+++ b/format/sideband64k/decoder_resync_after_over_max_data_test.go
@@ -17,20 +17,25 @@ func TestDecoderResyncAfterOverMaxData(t *testing.T) {
bw := bufio.NewWriter(&b)
enc := sideband64k.NewEncoder(bw)
- if err := enc.WriteData([]byte("abcd")); err != nil {
+ err := enc.WriteData([]byte("abcd"))
+ if err != nil {
t.Fatalf("WriteData #1: %v", err)
}
- if err := enc.WriteData([]byte("z")); err != nil {
+
+ err = enc.WriteData([]byte("z"))
+ if err != nil {
t.Fatalf("WriteData #2: %v", err)
}
- if err := enc.FlushIO(); err != nil {
+
+ err = enc.FlushIO()
+ if err != nil {
t.Fatalf("FlushIO: %v", err)
}
dec := sideband64k.NewDecoder(bytes.NewReader(b.Bytes()), sideband64k.ReadOptions{})
dec.SetMaxData(1)
- _, err := dec.ReadFrame()
+ _, err = dec.ReadFrame()
if !errors.Is(err, sideband64k.ErrTooLarge) {
t.Fatalf("got err %v, want ErrTooLarge", err)
}
@@ -39,6 +44,7 @@ func TestDecoderResyncAfterOverMaxData(t *testing.T) {
if err != nil {
t.Fatalf("ReadFrame #2: %v", err)
}
+
if f.Type != sideband64k.FrameData || string(f.Payload) != "z" {
t.Fatalf("got frame %#v, want data z", f)
}
diff --git a/format/sideband64k/decoder_resync_after_over_wire_max_test.go b/format/sideband64k/decoder_resync_after_over_wire_max_test.go
index 26e67d7f..09a8c459 100644
--- a/format/sideband64k/decoder_resync_after_over_wire_max_test.go
+++ b/format/sideband64k/decoder_resync_after_over_wire_max_test.go
@@ -31,6 +31,7 @@ func TestDecoderResyncAfterOverWireMax(t *testing.T) {
if err != nil {
t.Fatalf("ReadFrame #2: %v", err)
}
+
if f.Type != sideband64k.FrameData || string(f.Payload) != "z" {
t.Fatalf("got frame %#v, want data z", f)
}
diff --git a/format/sideband64k/encoder.go b/format/sideband64k/encoder.go
index 56854abf..4205d461 100644
--- a/format/sideband64k/encoder.go
+++ b/format/sideband64k/encoder.go
@@ -28,6 +28,7 @@ func NewEncoder(w pktline.WriteFlusher) *Encoder {
func (e *Encoder) SetMaxData(n int) {
if n <= 0 {
e.maxData = DataMax
+
return
}
diff --git a/format/sideband64k/encoder_buffered_flush_behavior_test.go b/format/sideband64k/encoder_buffered_flush_behavior_test.go
index f804f231..5c8b358f 100644
--- a/format/sideband64k/encoder_buffered_flush_behavior_test.go
+++ b/format/sideband64k/encoder_buffered_flush_behavior_test.go
@@ -16,18 +16,25 @@ func TestEncoderBufferedFlushBehavior(t *testing.T) {
bw := bufio.NewWriter(&out)
enc := sideband64k.NewEncoder(bw)
- if err := enc.WriteData([]byte("hello")); err != nil {
+ err := enc.WriteData([]byte("hello"))
+ if err != nil {
t.Fatalf("WriteData: %v", err)
}
- if err := enc.WriteFlush(); err != nil {
+
+ err = enc.WriteFlush()
+ if err != nil {
t.Fatalf("WriteFlush: %v", err)
}
+
if out.Len() != 0 {
t.Fatalf("WriteFlush should not flush I/O, got %q", out.String())
}
- if err := enc.FlushIO(); err != nil {
+
+ err = enc.FlushIO()
+ if err != nil {
t.Fatalf("FlushIO: %v", err)
}
+
if got, want := out.String(), "000a\x01hello0000"; got != want {
t.Fatalf("got %q, want %q", got, want)
}
@@ -36,12 +43,16 @@ func TestEncoderBufferedFlushBehavior(t *testing.T) {
bw = bufio.NewWriter(&out)
enc = sideband64k.NewEncoder(bw)
- if err := enc.WriteData([]byte("yo")); err != nil {
+ err = enc.WriteData([]byte("yo"))
+ if err != nil {
t.Fatalf("WriteData: %v", err)
}
- if err := enc.WriteFlushAndFlushIO(); err != nil {
+
+ err = enc.WriteFlushAndFlushIO()
+ if err != nil {
t.Fatalf("WriteFlushAndFlushIO: %v", err)
}
+
if got, want := out.String(), "0007\x01yo0000"; got != want {
t.Fatalf("got %q, want %q", got, want)
}
diff --git a/format/sideband64k/encoder_partial_write_test.go b/format/sideband64k/encoder_partial_write_test.go
index c82b1902..3d4f8066 100644
--- a/format/sideband64k/encoder_partial_write_test.go
+++ b/format/sideband64k/encoder_partial_write_test.go
@@ -1,6 +1,7 @@
package sideband64k_test
import (
+ "errors"
"io"
"testing"
@@ -13,16 +14,20 @@ func TestEncoderHandlesPartialWrites(t *testing.T) {
dst := &limitWriter{maxPerWrite: 2}
enc := sideband64k.NewEncoder(dst)
- if err := enc.WriteProgress([]byte("abc")); err != nil {
+ err := enc.WriteProgress([]byte("abc"))
+ if err != nil {
t.Fatalf("WriteProgress: %v", err)
}
- if err := enc.WriteFlushAndFlushIO(); err != nil {
+
+ err = enc.WriteFlushAndFlushIO()
+ if err != nil {
t.Fatalf("WriteFlushAndFlushIO: %v", err)
}
if got, want := dst.buf.String(), "0008\x02abc0000"; got != want {
t.Fatalf("got %q, want %q", got, want)
}
+
if dst.flushes != 1 {
t.Fatalf("flushes=%d, want 1", dst.flushes)
}
@@ -35,7 +40,7 @@ func TestEncoderReturnsShortWrite(t *testing.T) {
enc := sideband64k.NewEncoder(dst)
err := enc.WriteData([]byte("x"))
- if err != io.ErrShortWrite {
+ if !errors.Is(err, io.ErrShortWrite) {
t.Fatalf("got err %v, want io.ErrShortWrite", err)
}
}
diff --git a/format/sideband64k/encoder_writes_frames_test.go b/format/sideband64k/encoder_writes_frames_test.go
index f08c4e43..8cfd4a89 100644
--- a/format/sideband64k/encoder_writes_frames_test.go
+++ b/format/sideband64k/encoder_writes_frames_test.go
@@ -16,25 +16,38 @@ func TestEncoderWritesFrames(t *testing.T) {
bw := bufio.NewWriter(&b)
enc := sideband64k.NewEncoder(bw)
- if err := enc.WriteData([]byte("hi")); err != nil {
+ err := enc.WriteData([]byte("hi"))
+ if err != nil {
t.Fatalf("WriteData: %v", err)
}
- if err := enc.WriteProgress([]byte("ok")); err != nil {
+
+ err = enc.WriteProgress([]byte("ok"))
+ if err != nil {
t.Fatalf("WriteProgress: %v", err)
}
- if err := enc.WriteError([]byte("no")); err != nil {
+
+ err = enc.WriteError([]byte("no"))
+ if err != nil {
t.Fatalf("WriteError: %v", err)
}
- if err := enc.WriteFlush(); err != nil {
+
+ err = enc.WriteFlush()
+ if err != nil {
t.Fatalf("WriteFlush: %v", err)
}
- if err := enc.WriteDelim(); err != nil {
+
+ err = enc.WriteDelim()
+ if err != nil {
t.Fatalf("WriteDelim: %v", err)
}
- if err := enc.WriteResponseEnd(); err != nil {
+
+ err = enc.WriteResponseEnd()
+ if err != nil {
t.Fatalf("WriteResponseEnd: %v", err)
}
- if err := enc.FlushIO(); err != nil {
+
+ err = enc.FlushIO()
+ if err != nil {
t.Fatalf("FlushIO: %v", err)
}
diff --git a/format/sideband64k/helpers_test.go b/format/sideband64k/helpers_test.go
index c10e9e71..f9b2608f 100644
--- a/format/sideband64k/helpers_test.go
+++ b/format/sideband64k/helpers_test.go
@@ -26,6 +26,7 @@ func (w *limitWriter) Write(p []byte) (int, error) {
func (w *limitWriter) Flush() error {
w.flushes++
+
return nil
}
@@ -40,5 +41,6 @@ func (r *byteReader) Read(p []byte) (int, error) {
p[0] = r.data[0]
r.data = r.data[1:]
+
return 1, nil
}