Merge pull request #9248 from vbatts/vbatts-fix_gh9241
pkg/tarsum: actually init the TarSum struct
This commit is contained in:
commit
557dcbcc9e
2 changed files with 15 additions and 12 deletions
|
@ -27,11 +27,7 @@ const (
|
||||||
// including the byte payload of the image's json metadata as well, and for
|
// including the byte payload of the image's json metadata as well, and for
|
||||||
// calculating the checksums for buildcache.
|
// calculating the checksums for buildcache.
|
||||||
func NewTarSum(r io.Reader, dc bool, v Version) (TarSum, error) {
|
func NewTarSum(r io.Reader, dc bool, v Version) (TarSum, error) {
|
||||||
headerSelector, err := getTarHeaderSelector(v)
|
return NewTarSumHash(r, dc, v, DefaultTHash)
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return &tarSum{Reader: r, DisableCompression: dc, tarSumVersion: v, headerSelector: headerSelector}, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a new TarSum, providing a THash to use rather than the DefaultTHash
|
// Create a new TarSum, providing a THash to use rather than the DefaultTHash
|
||||||
|
@ -40,7 +36,9 @@ func NewTarSumHash(r io.Reader, dc bool, v Version, tHash THash) (TarSum, error)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return &tarSum{Reader: r, DisableCompression: dc, tarSumVersion: v, headerSelector: headerSelector, tHash: tHash}, nil
|
ts := &tarSum{Reader: r, DisableCompression: dc, tarSumVersion: v, headerSelector: headerSelector, tHash: tHash}
|
||||||
|
err = ts.initTarSum()
|
||||||
|
return ts, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// TarSum is the generic interface for calculating fixed time
|
// TarSum is the generic interface for calculating fixed time
|
||||||
|
@ -134,12 +132,6 @@ func (ts *tarSum) initTarSum() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ts *tarSum) Read(buf []byte) (int, error) {
|
func (ts *tarSum) Read(buf []byte) (int, error) {
|
||||||
if ts.writer == nil {
|
|
||||||
if err := ts.initTarSum(); err != nil {
|
|
||||||
return 0, err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ts.finished {
|
if ts.finished {
|
||||||
return ts.bufWriter.Read(buf)
|
return ts.bufWriter.Read(buf)
|
||||||
}
|
}
|
||||||
|
|
|
@ -230,6 +230,17 @@ func TestEmptyTar(t *testing.T) {
|
||||||
if resultSum != expectedSum {
|
if resultSum != expectedSum {
|
||||||
t.Fatalf("expected [%s] but got [%s]", expectedSum, resultSum)
|
t.Fatalf("expected [%s] but got [%s]", expectedSum, resultSum)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Test without ever actually writing anything.
|
||||||
|
if ts, err = NewTarSum(bytes.NewReader([]byte{}), true, Version0); err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
resultSum = ts.Sum(nil)
|
||||||
|
|
||||||
|
if resultSum != expectedSum {
|
||||||
|
t.Fatalf("expected [%s] but got [%s]", expectedSum, resultSum)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
Loading…
Reference in a new issue