package testutils import ( "io" "github.com/docker/docker/pkg/archive" "github.com/opencontainers/go-digest" ) // UncompressedTarDigest returns the canonical digest of the uncompressed tar stream. func UncompressedTarDigest(compressedTar io.Reader) (digest.Digest, error) { rd, err := archive.DecompressStream(compressedTar) if err != nil { return "", err } defer rd.Close() digester := digest.Canonical.Digester() if _, err := io.Copy(digester.Hash(), rd); err != nil { return "", err } return digester.Digest(), nil }