X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c86cbaa6f286e50900dae3203a42044449e042f7..9af8e82f25fd6eb6ff3ebe9b7aeb3ef647b98ff0:/sdk/go/keepclient/collectionreader_test.go diff --git a/sdk/go/keepclient/collectionreader_test.go b/sdk/go/keepclient/collectionreader_test.go index 6e743f9a9e..5d1e2a1533 100644 --- a/sdk/go/keepclient/collectionreader_test.go +++ b/sdk/go/keepclient/collectionreader_test.go @@ -1,3 +1,7 @@ +// Copyright (C) The Arvados Authors. All rights reserved. +// +// SPDX-License-Identifier: Apache-2.0 + package keepclient import ( @@ -78,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: @@ -161,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]) @@ -214,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))