diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-03-29 07:35:38 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-03-29 07:35:38 +0000 |
commit | 95b30b0d07c40a3f7e0f0d8c74b1ae058034c8ad (patch) | |
tree | 5b131fc06111348f65c65a1bd7e6b92545123ee4 | |
parent | aad347f5ec7f32c55dea663b3216f4bead993c9a (diff) |
* lib/test/unit.rb (terminal_width, del_status_line, put_status):
extract as methods.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/test/unit.rb | 52 | ||||
-rw-r--r-- | lib/test/unit/parallel.rb | 2 |
3 files changed, 43 insertions, 16 deletions
@@ -1,3 +1,8 @@ +Thu Mar 29 16:35:32 2012 Nobuyoshi Nakada <[email protected]> + + * lib/test/unit.rb (terminal_width, del_status_line, put_status): + extract as methods. + Thu Mar 29 10:20:18 2012 Martin Bosslet <[email protected]> * ext/openssl/ossl_pkcs7.c: fix crash when parsing garbage data. diff --git a/lib/test/unit.rb b/lib/test/unit.rb index 5b62774f44..8551d9e238 100644 --- a/lib/test/unit.rb +++ b/lib/test/unit.rb @@ -374,24 +374,39 @@ module Test exit c end + def terminal_width + @terminal_width ||= + begin + require 'io/console' + $stdout.winsize[1] + rescue LoadError, NoMethodError + ENV["COLUMNS"].to_i.nonzero? || 80 + end + end + + def del_status_line + return unless @tty + print "\r"+" "*terminal_width+"\r" + $stdout.flush + end + + def put_status(line) + return print(line) unless @tty + @status_line_size ||= 0 + del_status_line + $stdout.flush + line = line[0...@terminal_width] + print line + $stdout.flush + @status_line_size = line.size + end + def jobs_status return unless @options[:job_status] puts "" unless @options[:verbose] status_line = @workers.map(&:to_s).join(" ") - if @options[:job_status] == :replace and $stdout.tty? - @terminal_width ||= - begin - require 'io/console' - $stdout.winsize[1] - rescue LoadError, NoMethodError - ENV["COLUMNS"].to_i.nonzero? || 80 - end - @jstr_size ||= 0 - del_jobs_status - $stdout.flush - print status_line[0...@terminal_width] - $stdout.flush - @jstr_size = [status_line.size, @terminal_width].min + if @options[:job_status] == :replace and @tty + put_status status_line else puts status_line end @@ -399,7 +414,7 @@ module Test def del_jobs_status return unless @options[:job_status] == :replace && @jstr_size.nonzero? - print "\r"+" "*@jstr_size+"\r" + del_status_line end def after_worker_quit(worker) @@ -627,6 +642,8 @@ module Test result end + alias mini_run_suite _run_suite + # Overriding of MiniTest::Unit#puke def puke klass, meth, e # TODO: @@ -649,6 +666,11 @@ module Test e[0, 1] end + def initialize # :nodoc: + super + @tty = $stdout.tty? + end + def status(*args) result = super raise @interrupt if @interrupt diff --git a/lib/test/unit/parallel.rb b/lib/test/unit/parallel.rb index 522447c63b..16f8861ae8 100644 --- a/lib/test/unit/parallel.rb +++ b/lib/test/unit/parallel.rb @@ -7,7 +7,7 @@ module Test undef autorun end - alias orig_run_suite _run_suite + alias orig_run_suite mini_run_suite undef _run_suite undef _run_suites undef run |