diff --git a/internal/pkg/compress_test.go b/internal/pkg/compress_test.go index 3b9516d4..7ce00edf 100644 --- a/internal/pkg/compress_test.go +++ b/internal/pkg/compress_test.go @@ -36,6 +36,12 @@ func TestDecompress(t *testing.T) { return (pkg.Checksum)(h.Sum(nil)) }() + gh := pkg.NewDecompress(pkg.NewHTTPGet( + &client, + "file:///testdata", + testdataChecksum, + ), pkg.Gzip) + checkWithCache(t, []cacheTestCase{ {"decompress", 0, nil, func(t *testing.T, base *check.Absolute, c *pkg.Cache) { cureMany(t, c, []cureStep{ @@ -48,11 +54,7 @@ func TestDecompress(t *testing.T) { Want: pkg.Checksum{0xfd}, }}, - {"gzip", pkg.NewDecompress(pkg.NewHTTPGet( - &client, - "file:///testdata", - testdataChecksum, - ), pkg.Gzip), ignorePathname, expectsChecksum(sha512.Sum384([]byte{0})), pkg.WNew, nil}, + {"gzip", gh, ignorePathname, expectsChecksum(sha512.Sum384([]byte{0})), pkg.WNew, nil}, }) }, expectsFS{ ".": {Mode: fs.ModeDir | 0700}, @@ -61,7 +63,7 @@ func TestDecompress(t *testing.T) { "checksum/" + pkg.Encode(sha512.Sum384([]byte{0})): {Mode: 0400, Data: []byte{0}}, "identifier": {Mode: fs.ModeDir | 0700}, - "identifier/mae-iR_9LFT_BOEJ2IRzKsAlI754SalMjjt95fZeMd3gEyAzsrvuOXnXN0bFZJi4": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/vsAhtPNo4waRNOASwrQwcIPTqb3SBuJOXw2G4T1mNmVZM-wrQTRllmgXqcIIoRcX")}, + "identifier/" + pkg.Encode(pkg.NewIR().Ident(gh).Value()): {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/vsAhtPNo4waRNOASwrQwcIPTqb3SBuJOXw2G4T1mNmVZM-wrQTRllmgXqcIIoRcX")}, "substitute": {Mode: fs.ModeDir | 0700}, "work": {Mode: fs.ModeDir | 0700}, diff --git a/internal/pkg/tar_test.go b/internal/pkg/tar_test.go index f4a4286b..1f280e9c 100644 --- a/internal/pkg/tar_test.go +++ b/internal/pkg/tar_test.go @@ -3,7 +3,6 @@ package pkg_test import ( "archive/tar" "bytes" - "compress/gzip" "crypto/sha512" "errors" "io/fs" @@ -80,8 +79,8 @@ func TestTar(t *testing.T) { "checksum/" + wantEncode + "/work": {Mode: fs.ModeDir | 0500}, "identifier": {Mode: fs.ModeDir | 0700}, - "identifier/7OZ5ErCxUJyRnaaFvUKhTryjsJAoOBUR2MZpUB1DD57jRa09Xxsh9BUs0dM9z5uH": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/" + wantEncode)}, - "identifier/paWdPW_BowV3345c4GP4xxSNgxVs_7F09m9m7OaH5XbyuI3dTGZ-kFPOXFbwgr5O": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/" + wantEncode)}, + "identifier/snWp53xxNdx6cV5KSJqzyVWzLlTsFd8udOisIu8Rgxly09mGcxufYCoQ5CQrHDyZ": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/" + wantEncode)}, + "identifier/v9DUj2R4YK_3ae0m9VuUYI-HJysDDCENu1k10thxioycRzFH1Qejw5bBGukm4IdL": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/" + wantEncode)}, "substitute": {Mode: fs.ModeDir | 0700}, @@ -104,8 +103,8 @@ func TestTar(t *testing.T) { "checksum/" + wantExpandEncode + "/libedac.so": {Mode: fs.ModeSymlink | 0777, Data: []byte("/proc/nonexistent/libedac.so")}, "identifier": {Mode: fs.ModeDir | 0700}, - "identifier/1g2Tcg7pOJkZFxlKploBm4U0vIyMYbxDkcwwydwsF9BMs-w-knFJS41jnqOt16jT": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/" + wantExpandEncode)}, - "identifier/7OZ5ErCxUJyRnaaFvUKhTryjsJAoOBUR2MZpUB1DD57jRa09Xxsh9BUs0dM9z5uH": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/" + wantExpandEncode)}, + "identifier/1SuvgGltcsgqps9tWqjULG8RCdpx_6KVWXdsMd5xPKvdtysOxqpE-3bLu4j0WpGk": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/" + wantExpandEncode)}, + "identifier/snWp53xxNdx6cV5KSJqzyVWzLlTsFd8udOisIu8Rgxly09mGcxufYCoQ5CQrHDyZ": {Mode: fs.ModeSymlink | 0777, Data: []byte("../checksum/" + wantExpandEncode)}, "substitute": {Mode: fs.ModeDir | 0700}, @@ -132,16 +131,7 @@ func checkTarHTTP( if err := w.Close(); err != nil { t.Fatalf("Close: error = %v", err) } - - var zbuf bytes.Buffer - gw := gzip.NewWriter(&zbuf) - if _, err := gw.Write(buf.Bytes()); err != nil { - t.Fatalf("Write: error = %v", err) - } - if err := gw.Close(); err != nil { - t.Fatalf("Close: error = %v", err) - } - testdata = zbuf.String() + testdata = buf.String() } testdataChecksum := func() pkg.Checksum { @@ -208,28 +198,19 @@ func checkTarHTTP( defer newDestroyArtifactFunc(&tarDirType)(t, base, c) cureMany(t, c, []cureStep{ - {"file", pkg.NewTar(pkg.NewDecompress(pkg.NewHTTPGet( + {"file", pkg.NewTar(pkg.NewHTTPGet( &client, "file:///testdata", testdataChecksum, - ), pkg.Gzip)), ignorePathname, want, pkg.WNew, nil}, - - {"directory", pkg.NewTar(pkg.NewDecompress( - &tarDir, - pkg.Gzip, )), ignorePathname, want, pkg.WNew, nil}, - {"multiple entries", pkg.NewTar(pkg.NewDecompress( - &tarDirMulti, - pkg.Gzip, - )), nil, nil, pkg.WNew, errors.New( + {"directory", pkg.NewTar(&tarDir), ignorePathname, want, pkg.WNew, nil}, + + {"multiple entries", pkg.NewTar(&tarDirMulti), nil, nil, pkg.WNew, errors.New( "input directory does not contain a single regular file", )}, - {"bad type", pkg.NewTar(pkg.NewDecompress( - &tarDirType, - pkg.Gzip, - )), nil, nil, pkg.WNew, errors.New( + {"bad type", pkg.NewTar(&tarDirType), nil, nil, pkg.WNew, errors.New( "input directory does not contain a single regular file", )},