mirror of
https://github.com/octoleo/syncthing.git
synced 2024-12-23 11:28:59 +00:00
Add limit tests for ReadBytesMaxInto
This commit is contained in:
parent
536613f008
commit
711587492c
@ -55,3 +55,28 @@ func TestBytesGiven(t *testing.T) {
|
|||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestReadMaxInto(t *testing.T) {
|
||||||
|
var max = 64
|
||||||
|
for tot := 32; tot < 128; tot++ {
|
||||||
|
for diff := -32; diff <= 32; diff++ {
|
||||||
|
var b = new(bytes.Buffer)
|
||||||
|
var r = NewReader(b)
|
||||||
|
var w = NewWriter(b)
|
||||||
|
|
||||||
|
var toWrite = make([]byte, tot)
|
||||||
|
w.WriteBytes(toWrite)
|
||||||
|
|
||||||
|
var buf = make([]byte, tot+diff)
|
||||||
|
var bs = r.ReadBytesMaxInto(max, buf)
|
||||||
|
|
||||||
|
if tot <= max {
|
||||||
|
if read := len(bs); read != tot {
|
||||||
|
t.Errorf("Incorrect read bytes, wrote=%d, buf=%d, max=%d, read=%d", tot, tot+diff, max, read)
|
||||||
|
}
|
||||||
|
} else if r.err != ErrElementSizeExceeded {
|
||||||
|
t.Errorf("Unexpected non-ErrElementSizeExceeded error for wrote=%d, max=%d: %v", tot, max, r.err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user