From 3d41f4df438e8073e29cf85543917e401a83322b Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 14 Apr 2011 13:48:09 +0000 Subject: * lib/test/unit.rb (Test::Unit::Runner#jobs_status): io/console may not be available. use 80 as the last resort if IO#winsize and COLUMNS are unavailable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31283 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/test/unit.rb | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/test/unit.rb b/lib/test/unit.rb index 3ea9e7ba6a..d1f7383cb9 100644 --- a/lib/test/unit.rb +++ b/lib/test/unit.rb @@ -4,7 +4,6 @@ require 'minitest/unit' require 'test/unit/assertions' require 'test/unit/testcase' require 'optparse' -require 'io/console' module Test module Unit @@ -351,22 +350,27 @@ module Test return unless @opts[:job_status] puts "" unless @opts[:verbose] status_line = @workers.map(&:to_s).join(" ") - if @opts[:job_status] == :replace - @terminal_width ||= $stdout.winsize[1] || ENV["COLUMNS"].to_i || 80 + if @opts[: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 ? \ - @terminal_width : status_line.size + @jstr_size = [status_line.size, @terminal_width].min else puts status_line end end def del_jobs_status - return unless @opts[:job_status] == :replace && @jstr_size + return unless @opts[:job_status] == :replace && @jstr_size.nonzero? print "\r"+" "*@jstr_size+"\r" end -- cgit v1.2.3