123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package tarsum // import "github.com/docker/docker/pkg/tarsum"
- import (
- "io"
- "os"
- "testing"
- )
- // Try to remove tarsum (in the BuilderContext) that do not exists, won't change a thing
- func TestTarSumRemoveNonExistent(t *testing.T) {
- filename := "testdata/46af0962ab5afeb5ce6740d4d91652e69206fc991fd5328c1a94d364ad00e457/layer.tar"
- reader, err := os.Open(filename)
- if err != nil {
- t.Fatal(err)
- }
- defer reader.Close()
- ts, err := NewTarSum(reader, false, Version0)
- if err != nil {
- t.Fatal(err)
- }
- // Read and discard bytes so that it populates sums
- _, err = io.Copy(io.Discard, ts)
- if err != nil {
- t.Errorf("failed to read from %s: %s", filename, err)
- }
- expected := len(ts.GetSums())
- ts.(BuilderContext).Remove("")
- ts.(BuilderContext).Remove("Anything")
- if len(ts.GetSums()) != expected {
- t.Fatalf("Expected %v sums, go %v.", expected, ts.GetSums())
- }
- }
- // Remove a tarsum (in the BuilderContext)
- func TestTarSumRemove(t *testing.T) {
- filename := "testdata/46af0962ab5afeb5ce6740d4d91652e69206fc991fd5328c1a94d364ad00e457/layer.tar"
- reader, err := os.Open(filename)
- if err != nil {
- t.Fatal(err)
- }
- defer reader.Close()
- ts, err := NewTarSum(reader, false, Version0)
- if err != nil {
- t.Fatal(err)
- }
- // Read and discard bytes so that it populates sums
- _, err = io.Copy(io.Discard, ts)
- if err != nil {
- t.Errorf("failed to read from %s: %s", filename, err)
- }
- expected := len(ts.GetSums()) - 1
- ts.(BuilderContext).Remove("etc/sudoers")
- if len(ts.GetSums()) != expected {
- t.Fatalf("Expected %v sums, go %v.", expected, len(ts.GetSums()))
- }
- }
|