summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/test/unit.rb16
1 files changed, 10 insertions, 6 deletions
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