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:
parent
2a340e9125
commit
440e9a63b9
@ -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 {
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
1
internal/gio/testdata/somefile_copy.txt
vendored
Normal file
1
internal/gio/testdata/somefile_copy.txt
vendored
Normal file
@ -0,0 +1 @@
|
||||
adasasd
|
1
internal/gio/testdata/somefile_copy_perm.txt
vendored
Executable file
1
internal/gio/testdata/somefile_copy_perm.txt
vendored
Executable file
@ -0,0 +1 @@
|
||||
adasasd
|
@ -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)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user