From 0243943aad4302c1565c09d5a149fe1b96efd1ff Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 15 Jun 2012 00:56:39 +0000 Subject: [PATCH] test: TEST_COLORS * bootstraptest/runner.rb (main): customize colors by dircolors-like style environment variable TEST_COLORS. * lib/test/unit.rb (Test::Unit::Runner#_prepare_run): ditto. * sample/test.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- bootstraptest/runner.rb | 6 ++++-- lib/test/unit.rb | 8 +++++--- sample/test.rb | 6 ++++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/bootstraptest/runner.rb b/bootstraptest/runner.rb index 965c335315..c36c5a2dd9 100755 --- a/bootstraptest/runner.rb +++ b/bootstraptest/runner.rb @@ -127,8 +127,10 @@ End @tty = true end if @color - @passed = "\e[#{ENV['PASSED_COLOR']||'32'}m" - @failed = "\e[#{ENV['FAILED_COLOR']||'31'}m" + # dircolors-like style + colors = (colors = ENV['TEST_COLORS']) ? Hash[colors.scan(/(\w)=([^:]*)/)] : {} + @passed = "\e[#{colors["pass"] || "32"}m" + @failed = "\e[#{colors["fail"] || "31"}m" @reset = "\e[m" else @passed = @failed = @reset = "" diff --git a/lib/test/unit.rb b/lib/test/unit.rb index 33bc93add1..70cd942b48 100644 --- a/lib/test/unit.rb +++ b/lib/test/unit.rb @@ -676,11 +676,13 @@ module Test color = false end if color - @passed_color = "\e[#{ENV['PASSED_COLOR']||'32'}m" - @failed_color = "\e[#{ENV['FAILED_COLOR']||'31'}m" + # dircolors-like style + colors = (colors = ENV['TEST_COLORS']) ? Hash[colors.scan(/(\w)=([^:]*)/)] : {} + @passed_color = "\e[#{colors["pass"] || "32"}m" + @failed_color = "\e[#{colors["fail"] || "31"}m" @reset_color = "\e[m" else - @failed_color = @reset_color = "" + @passed_color = @failed_color = @reset_color = "" end if color or @options[:job_status] == :replace @options[:job_status] ||= :replace unless @verbose diff --git a/sample/test.rb b/sample/test.rb index 839343e868..ee8bc4a6bc 100755 --- a/sample/test.rb +++ b/sample/test.rb @@ -23,8 +23,10 @@ PROGRESS.instance_eval do @tty = true end if @color - @passed = "\e[#{ENV['PASSED_COLOR']||'32'}m" - @failed = "\e[#{ENV['FAILED_COLOR']||'31'}m" + # dircolors-like style + colors = (colors = ENV['TEST_COLORS']) ? Hash[colors.scan(/(\w)=([^:]*)/)] : {} + @passed = "\e[#{colors["pass"] || "32"}m" + @failed = "\e[#{colors["fail"] || "31"}m" @reset = "\e[m" else @passed = @failed = @reset = ""