12483: Add comments.
[arvados.git] / sdk / go / keepclient / collectionreader_test.go
index 813a335df7f5033305b9e4041a57023d6e021197..5d1e2a15332f31eaf5bd4f03bdd1343d746ada4f 100644 (file)
@@ -82,6 +82,7 @@ func (h SuccessHandler) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
                if !ok {
                        resp.WriteHeader(http.StatusNotFound)
                } else {
+                       resp.Header().Set("Content-Length", fmt.Sprintf("%d", len(buf)))
                        resp.Write(buf)
                }
        default:
@@ -165,11 +166,11 @@ func (s *CollectionReaderUnit) TestCollectionReaderContent(c *check.C) {
 
 func (s *CollectionReaderUnit) TestCollectionReaderManyBlocks(c *check.C) {
        h := md5.New()
-       var testdata []byte
        buf := make([]byte, 4096)
        locs := make([]string, len(buf))
+       testdata := make([]byte, 0, len(buf)*len(buf))
        filesize := 0
-       for i := 0; i < len(locs); i++ {
+       for i := range locs {
                _, err := rand.Read(buf[:i])
                h.Write(buf[:i])
                locs[i], _, err = s.kc.PutB(buf[:i])
@@ -218,11 +219,12 @@ func (s *CollectionReaderUnit) TestCollectionReaderManyBlocks(c *check.C) {
        c.Check(md5.Sum(buf), check.DeepEquals, md5.Sum(testdata))
        c.Check(buf[:1000], check.DeepEquals, testdata[:1000])
 
+       expectPos := curPos + size + 12345
        curPos, err = rdr.Seek(size+12345, io.SeekCurrent)
        c.Check(err, check.IsNil)
-       c.Check(curPos, check.Equals, size)
+       c.Check(curPos, check.Equals, expectPos)
 
-       curPos, err = rdr.Seek(8-size, io.SeekCurrent)
+       curPos, err = rdr.Seek(8-curPos, io.SeekCurrent)
        c.Check(err, check.IsNil)
        c.Check(curPos, check.Equals, int64(8))