| 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 |
| } |