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  }