github.com/triarius/goreleaser@v1.12.5/internal/gio/hash_test.go (about) 1 package gio 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 ) 8 9 func TestEqualFilesError(t *testing.T) { 10 tests := []struct { 11 a string 12 b string 13 }{ 14 {"./testdata/nope.txt", "./testdata/somefile.txt"}, 15 {"./testdata/somefile.txt", "./testdata/nope.txt"}, 16 } 17 for _, test := range tests { 18 equal, err := EqualFiles(test.a, test.b) 19 require.Error(t, err) 20 require.False(t, equal) 21 22 equalContents, err := EqualFileContents(test.a, test.b) 23 require.Error(t, err) 24 require.False(t, equalContents) 25 } 26 } 27 28 func TestEqualFiles(t *testing.T) { 29 tests := []struct { 30 a string 31 b string 32 }{ 33 {"./testdata/somefile.txt", "./testdata/somefile_copy.txt"}, 34 } 35 for _, test := range tests { 36 equal, err := EqualFiles(test.a, test.b) 37 require.NoError(t, err) 38 require.True(t, equal) 39 40 equalContents, err := EqualFileContents(test.a, test.b) 41 require.NoError(t, err) 42 require.True(t, equalContents) 43 } 44 } 45 46 func TestEqualFileCointents(t *testing.T) { 47 tests := []struct { 48 a string 49 b string 50 }{ 51 {"./testdata/somefile.txt", "./testdata/somefile_copy_perm.txt"}, 52 } 53 for _, test := range tests { 54 equal, err := EqualFiles(test.a, test.b) 55 require.NoError(t, err) 56 require.False(t, equal) 57 58 equalContents, err := EqualFileContents(test.a, test.b) 59 require.NoError(t, err) 60 require.True(t, equalContents) 61 } 62 }