From 483ccf9f5fcf94fbc94da0a7db593bd3a6da1e16 Mon Sep 17 00:00:00 2001 From: Juan Batiz-Benet Date: Thu, 30 Oct 2014 04:33:13 -0700 Subject: [PATCH] better test exercises saved buf --- util/util_test.go | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/util/util_test.go b/util/util_test.go index 5ab0dbece..9648c5889 100644 --- a/util/util_test.go +++ b/util/util_test.go @@ -2,8 +2,6 @@ package util import ( "bytes" - "fmt" - "io/ioutil" "math/rand" "testing" @@ -33,6 +31,7 @@ func TestKey(t *testing.T) { func TestByteChanReader(t *testing.T) { var data bytes.Buffer + var data2 bytes.Buffer dch := make(chan []byte, 8) randr := NewTimeSeededRand() @@ -42,19 +41,26 @@ func TestByteChanReader(t *testing.T) { chunk := make([]byte, rand.Intn(100000)+10) randr.Read(chunk) data.Write(chunk) - fmt.Printf("chunk: %6.d %v\n", len(chunk), chunk[:10]) + // fmt.Printf("chunk: %6.d %v\n", len(chunk), chunk[:10]) dch <- chunk } }() read := NewByteChanReader(dch) - out, err := ioutil.ReadAll(read) - if err != nil { - t.Fatal(err) + + // read in random, weird sizes to exercise saving buffer. + for { + buf := make([]byte, rand.Intn(10)*10) + n, err := read.Read(buf) + data2.Write(buf[:n]) + // fmt.Printf("read: %6.d\n", n) + if err != nil { + break + } } // fmt.Printf("lens: %d == %d\n", len(out), len(data.Bytes())) - if !bytes.Equal(out, data.Bytes()) { + if !bytes.Equal(data2.Bytes(), data.Bytes()) { t.Fatal("Reader failed to stream correct bytes") } }