1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-11 14:39:28 +02:00

test: fixed snapcraft test

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>
This commit is contained in:
Carlos A Becker 2021-12-21 00:07:17 -03:00
parent 2a340e9125
commit 440e9a63b9
No known key found for this signature in database
GPG Key ID: E61E2F7DC14AB940
5 changed files with 60 additions and 4 deletions

View File

@ -22,6 +22,19 @@ func EqualFiles(a, b string) (bool, error) {
return as == bs && am == bm, nil
}
// EqualFileContents returns true if both files contents are equal.
func EqualFileContents(a, b string) (bool, error) {
_, as, err := sha256sum(a)
if err != nil {
return false, fmt.Errorf("could not hash %s: %w", a, err)
}
_, bs, err := sha256sum(b)
if err != nil {
return false, fmt.Errorf("could not hash %s: %w", b, err)
}
return as == bs, nil
}
func sha256sum(path string) (fs.FileMode, string, error) {
f, err := os.Open(path)
if err != nil {

View File

@ -18,5 +18,44 @@ func TestEqualFilesError(t *testing.T) {
equal, err := EqualFiles(test.a, test.b)
require.Error(t, err)
require.False(t, equal)
equalContents, err := EqualFileContents(test.a, test.b)
require.Error(t, err)
require.False(t, equalContents)
}
}
func TestEqualFiles(t *testing.T) {
tests := []struct {
a string
b string
}{
{"./testdata/somefile.txt", "./testdata/somefile_copy.txt"},
}
for _, test := range tests {
equal, err := EqualFiles(test.a, test.b)
require.NoError(t, err)
require.True(t, equal)
equalContents, err := EqualFileContents(test.a, test.b)
require.NoError(t, err)
require.True(t, equalContents)
}
}
func TestEqualFileCointents(t *testing.T) {
tests := []struct {
a string
b string
}{
{"./testdata/somefile.txt", "./testdata/somefile_copy_perm.txt"},
}
for _, test := range tests {
equal, err := EqualFiles(test.a, test.b)
require.NoError(t, err)
require.False(t, equal)
equalContents, err := EqualFileContents(test.a, test.b)
require.NoError(t, err)
require.True(t, equalContents)
}
}

View File

@ -0,0 +1 @@
adasasd

View File

@ -0,0 +1 @@
adasasd

View File

@ -364,8 +364,10 @@ func TestExtraFile(t *testing.T) {
addBinaries(t, ctx, "foo", dist)
require.NoError(t, Pipe{}.Run(ctx))
requireEqualFiles(t, "testdata/extra-file.txt", filepath.Join(dist, "foo_amd64", "prime", "a", "b", "c", "extra-file.txt"))
requireEqualFiles(t, "testdata/extra-file-2.txt", filepath.Join(dist, "foo_amd64", "prime", "testdata", "extra-file-2.txt"))
apath := filepath.Join(dist, "foo_amd64", "prime", "a", "b", "c", "extra-file.txt")
bpath := filepath.Join(dist, "foo_amd64", "prime", "testdata", "extra-file-2.txt")
requireEqualFileConents(t, "testdata/extra-file.txt", apath)
requireEqualFileConents(t, "testdata/extra-file-2.txt", bpath)
}
func TestDefault(t *testing.T) {
@ -561,9 +563,9 @@ func TestSkip(t *testing.T) {
})
}
func requireEqualFiles(tb testing.TB, a, b string) {
func requireEqualFileConents(tb testing.TB, a, b string) {
tb.Helper()
eq, err := gio.EqualFiles(a, b)
eq, err := gio.EqualFileContents(a, b)
require.NoError(tb, err)
require.True(tb, eq, "%s != %s", a, b)
}