mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-01-06 03:13:48 +02:00
f24f1a0a70
* fix: improve output on github actions Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com> * fix: log Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com> * test: force ascii Signed-off-by: Carlos A Becker <caarlos0@users.noreply.github.com>
52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
package logext
|
|
|
|
import (
|
|
"bytes"
|
|
"os"
|
|
"strconv"
|
|
"testing"
|
|
|
|
"github.com/caarlos0/log"
|
|
"github.com/charmbracelet/lipgloss"
|
|
"github.com/goreleaser/goreleaser/internal/golden"
|
|
"github.com/muesli/termenv"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestWriter(t *testing.T) {
|
|
lipgloss.SetColorProfile(termenv.Ascii)
|
|
|
|
t.Run("info", func(t *testing.T) {
|
|
for _, out := range []Output{Info, Error} {
|
|
t.Run(strconv.Itoa(int(out)), func(t *testing.T) {
|
|
t.Cleanup(func() {
|
|
log.Log = log.New(os.Stderr)
|
|
})
|
|
var b bytes.Buffer
|
|
log.Log = log.New(&b)
|
|
l, err := NewWriter(log.Fields{"foo": "bar"}, out).Write([]byte("foo\nbar\n"))
|
|
require.NoError(t, err)
|
|
require.Equal(t, 8, l)
|
|
require.Empty(t, b.String())
|
|
})
|
|
}
|
|
})
|
|
|
|
t.Run("debug", func(t *testing.T) {
|
|
for _, out := range []Output{Info, Error} {
|
|
t.Run(strconv.Itoa(int(out)), func(t *testing.T) {
|
|
t.Cleanup(func() {
|
|
log.Log = log.New(os.Stderr)
|
|
})
|
|
var b bytes.Buffer
|
|
log.Log = log.New(&b)
|
|
log.SetLevel(log.DebugLevel)
|
|
l, err := NewWriter(log.Fields{"foo": "bar"}, out).Write([]byte("foo\nbar\n"))
|
|
require.NoError(t, err)
|
|
require.Equal(t, 8, l)
|
|
golden.RequireEqualTxt(t, b.Bytes())
|
|
})
|
|
}
|
|
})
|
|
}
|