syle: add colors to miro test output
This commit is contained in:
+13
-7
@@ -88,24 +88,30 @@ func runTests(path string, tio testIO) error {
|
||||
|
||||
summary := testSummary{total: len(scenarios)}
|
||||
for _, scenario := range scenarios {
|
||||
output.Fprintf(tio.out, "%s %s\n", output.LabelInfo("RUN"), scenario.relPath)
|
||||
output.Fprintf(tio.out, "%s %s\n", output.Label("RUN", output.Info), scenario.relPath)
|
||||
|
||||
if err := replayScenario(scenario, shellPath, tio, cfg.Sandbox); err != nil {
|
||||
summary.failed++
|
||||
output.Fprintf(tio.out, "FAIL %s: %v\n", scenario.relPath, err)
|
||||
output.Fprintf(tio.out, "%s %s: %v\n", output.Label("FAIL", output.Fail), scenario.relPath, err)
|
||||
continue
|
||||
}
|
||||
|
||||
summary.passed++
|
||||
output.Fprintf(tio.out, "PASS %s\n", scenario.relPath)
|
||||
output.Fprintf(tio.out, "%s %s\n", output.Label("PASS", output.Pass), scenario.relPath)
|
||||
}
|
||||
|
||||
summaryColor := output.Pass
|
||||
if summary.failed > 0 {
|
||||
summaryColor = output.Fail
|
||||
}
|
||||
|
||||
output.Fprintf(
|
||||
tio.out,
|
||||
"Summary: total=%d passed=%d failed=%d\n",
|
||||
summary.total,
|
||||
summary.passed,
|
||||
summary.failed,
|
||||
"%s\n",
|
||||
output.Label(
|
||||
fmt.Sprintf("Summary: total=%d passed=%d failed=%d", summary.total, summary.passed, summary.failed),
|
||||
summaryColor,
|
||||
),
|
||||
)
|
||||
|
||||
if summary.failed > 0 {
|
||||
|
||||
+26
-13
@@ -17,26 +17,39 @@ var (
|
||||
}{
|
||||
miroGreen: 0x70E000,
|
||||
chevronTeal: 0x1DD3B0,
|
||||
info: 0xf5f2e1,
|
||||
pass: 0x7bf1a8,
|
||||
fail: 0xff8fa3,
|
||||
info: 0xD7FFFF,
|
||||
pass: 0x87D75F,
|
||||
fail: 0xFF8787,
|
||||
}
|
||||
)
|
||||
|
||||
func label(text string, color uint32) string {
|
||||
return NewStyle().FG(color).Apply(text)
|
||||
type Color int
|
||||
|
||||
const (
|
||||
Info Color = iota
|
||||
Pass
|
||||
Fail
|
||||
)
|
||||
|
||||
func label(text string, color Color) string {
|
||||
var fg uint32
|
||||
|
||||
switch color {
|
||||
case Info:
|
||||
fg = palette.info
|
||||
case Pass:
|
||||
fg = palette.pass
|
||||
case Fail:
|
||||
fg = palette.fail
|
||||
default:
|
||||
fg = palette.info
|
||||
}
|
||||
|
||||
func LabelPass(text string) string {
|
||||
return label(text, palette.pass)
|
||||
return NewStyle().FG(fg).Apply(text)
|
||||
}
|
||||
|
||||
func LabelFail(text string) string {
|
||||
return label(text, palette.fail)
|
||||
}
|
||||
|
||||
func LabelInfo(text string) string {
|
||||
return label(text, palette.info)
|
||||
func Label(text string, color Color) string {
|
||||
return label(text, color)
|
||||
}
|
||||
|
||||
func noColor() bool {
|
||||
|
||||
@@ -29,14 +29,14 @@ func TestFormatPlainWhenNoColorSet(t *testing.T) {
|
||||
func TestLabelsPlainWhenNoColorSet(t *testing.T) {
|
||||
t.Setenv("NO_COLOR", "1")
|
||||
|
||||
if got := LabelInfo("RUN"); got != "RUN" {
|
||||
t.Fatalf("LabelInfo() = %q, want %q", got, "RUN")
|
||||
if got := Label("RUN", Info); got != "RUN" {
|
||||
t.Fatalf("Label() = %q, want %q", got, "RUN")
|
||||
}
|
||||
if got := LabelPass("PASS"); got != "PASS" {
|
||||
t.Fatalf("LabelPass() = %q, want %q", got, "PASS")
|
||||
if got := Label("PASS", Pass); got != "PASS" {
|
||||
t.Fatalf("Label() = %q, want %q", got, "PASS")
|
||||
}
|
||||
if got := LabelFail("FAIL"); got != "FAIL" {
|
||||
t.Fatalf("LabelFail() = %q, want %q", got, "FAIL")
|
||||
if got := Label("FAIL", Fail); got != "FAIL" {
|
||||
t.Fatalf("Label() = %q, want %q", got, "FAIL")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user