internal/pkg: eliminate gzip-derived identifiers
Test / Flake checks (push) Successful in 1m27s
Test / Hakurei (push) Successful in 8m40s
Test / Hakurei (race detector) (push) Successful in 12m2s
Test / Sandbox (push) Successful in 4m24s
Test / Sandbox (race detector) (push) Successful in 7m58s
Test / ShareFS (push) Successful in 37s
Test / Create distribution (push) Successful in 1m2s
Test / Flake checks (push) Successful in 1m27s
Test / Hakurei (push) Successful in 8m40s
Test / Hakurei (race detector) (push) Successful in 12m2s
Test / Sandbox (push) Successful in 4m24s
Test / Sandbox (race detector) (push) Successful in 7m58s
Test / ShareFS (push) Successful in 37s
Test / Create distribution (push) Successful in 1m2s
These test cases are fragile to changes in package compress/gzip. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -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},
|
||||
|
||||
+10
-29
@@ -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",
|
||||
)},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user