github.com/goreleaser/goreleaser@v1.25.1/internal/pipe/pipe_test.go (about) 1 package pipe 2 3 import ( 4 "errors" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestSkipPipe(t *testing.T) { 11 reason := "this is a test" 12 err := Skip(reason) 13 require.EqualError(t, err, reason) 14 } 15 16 func TestIsSkip(t *testing.T) { 17 require.True(t, IsSkip(Skip("whatever"))) 18 require.False(t, IsSkip(errors.New("nope"))) 19 } 20 21 func TestSkipMemento(t *testing.T) { 22 m := SkipMemento{} 23 m.Remember(Skip("foo")) 24 m.Remember(Skip("bar")) 25 // test duplicated errors 26 m.Remember(Skip("dupe")) 27 m.Remember(Skip("dupe")) 28 require.EqualError(t, m.Evaluate(), `foo, bar, dupe`) 29 require.True(t, IsSkip(m.Evaluate())) 30 } 31 32 func TestSkipMementoNoErrors(t *testing.T) { 33 require.NoError(t, (&SkipMemento{}).Evaluate()) 34 }