packer: Ui error output is red
This commit is contained in:
parent
2217606e38
commit
0f98852d4d
|
@ -101,8 +101,8 @@ func (c Command) Run(env packer.Environment, args []string) int {
|
||||||
var ui packer.Ui
|
var ui packer.Ui
|
||||||
|
|
||||||
ui = &packer.ColoredUi{
|
ui = &packer.ColoredUi{
|
||||||
colors[i%len(colors)],
|
Color: colors[i%len(colors)],
|
||||||
env.Ui(),
|
Ui: env.Ui(),
|
||||||
}
|
}
|
||||||
|
|
||||||
ui = &packer.PrefixedUi{
|
ui = &packer.PrefixedUi{
|
||||||
|
|
16
packer/ui.go
16
packer/ui.go
|
@ -29,6 +29,7 @@ type Ui interface {
|
||||||
// ColoredUi is a UI that is colored using terminal colors.
|
// ColoredUi is a UI that is colored using terminal colors.
|
||||||
type ColoredUi struct {
|
type ColoredUi struct {
|
||||||
Color UiColor
|
Color UiColor
|
||||||
|
ErrorColor UiColor
|
||||||
Ui Ui
|
Ui Ui
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,24 +49,29 @@ type ReaderWriterUi struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *ColoredUi) Say(message string) {
|
func (u *ColoredUi) Say(message string) {
|
||||||
u.Ui.Say(u.colorize(message, true))
|
u.Ui.Say(u.colorize(message, u.Color, true))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *ColoredUi) Message(message string) {
|
func (u *ColoredUi) Message(message string) {
|
||||||
u.Ui.Message(u.colorize(message, false))
|
u.Ui.Message(u.colorize(message, u.Color, false))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *ColoredUi) Error(message string) {
|
func (u *ColoredUi) Error(message string) {
|
||||||
u.Ui.Error(u.colorize(message, false))
|
color := u.ErrorColor
|
||||||
|
if color == 0 {
|
||||||
|
color = UiColorRed
|
||||||
|
}
|
||||||
|
|
||||||
|
u.Ui.Error(u.colorize(message, color, true))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *ColoredUi) colorize(message string, bold bool) string {
|
func (u *ColoredUi) colorize(message string, color UiColor, bold bool) string {
|
||||||
attr := 0
|
attr := 0
|
||||||
if bold {
|
if bold {
|
||||||
attr = 1
|
attr = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
return fmt.Sprintf("\033[%d;%d;40m%s\033[0m", attr, u.Color, message)
|
return fmt.Sprintf("\033[%d;%d;40m%s\033[0m", attr, color, message)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *PrefixedUi) Say(message string) {
|
func (u *PrefixedUi) Say(message string) {
|
||||||
|
|
|
@ -14,13 +14,26 @@ func testUi() *ReaderWriterUi {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestColoredUi(t *testing.T) {
|
func TestColoredUi(t *testing.T) {
|
||||||
assert := asserts.NewTestingAsserts(t, true)
|
|
||||||
|
|
||||||
bufferUi := testUi()
|
bufferUi := testUi()
|
||||||
ui := &ColoredUi{UiColorRed, bufferUi}
|
ui := &ColoredUi{UiColorYellow, UiColorRed, bufferUi}
|
||||||
|
|
||||||
ui.Say("foo")
|
ui.Say("foo")
|
||||||
assert.Equal(readWriter(bufferUi), "\033[1;31;40mfoo\033[0m\n", "should have color")
|
result := readWriter(bufferUi)
|
||||||
|
if result != "\033[1;33;40mfoo\033[0m\n" {
|
||||||
|
t.Fatalf("invalid output: %s", result)
|
||||||
|
}
|
||||||
|
|
||||||
|
ui.Message("foo")
|
||||||
|
result = readWriter(bufferUi)
|
||||||
|
if result != "\033[0;33;40mfoo\033[0m\n" {
|
||||||
|
t.Fatalf("invalid output: %s", result)
|
||||||
|
}
|
||||||
|
|
||||||
|
ui.Error("foo")
|
||||||
|
result = readWriter(bufferUi)
|
||||||
|
if result != "\033[1;31;40mfoo\033[0m\n" {
|
||||||
|
t.Fatalf("invalid output: %s", result)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPrefixedUi(t *testing.T) {
|
func TestPrefixedUi(t *testing.T) {
|
||||||
|
|
Loading…
Reference in New Issue