summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-01-15 00:59:19 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-01-15 00:59:19 +0000
commitbd407329df45d84b57fd74329882823d224aecc1 (patch)
treefaabf89d27b64288ebcd1e8d7851ac78eeb4e4ea
parentcccd464e4d8f84dda8d8c65e825232cd52b8b5b4 (diff)
test: tty option
* bootstraptest/runner.rb (main): add --tty option to output like terminal, for mingw/mswin on cygwin. * lib/test/unit.rb (Test::Unit::Options#setup_options): ditto. * sample/test.rb (Progress#initialize): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rwxr-xr-xbootstraptest/runner.rb7
-rw-r--r--lib/test/unit.rb6
-rwxr-xr-xsample/test.rb7
3 files changed, 18 insertions, 2 deletions
diff --git a/bootstraptest/runner.rb b/bootstraptest/runner.rb
index 246e52e..75e2554 100755
--- a/bootstraptest/runner.rb
+++ b/bootstraptest/runner.rb
@@ -62,6 +62,7 @@ def main
@verbose = false
$stress = false
@color = nil
+ @tty = nil
@quiet = false
dir = nil
quiet = false
@@ -87,6 +88,10 @@ def main
warn "unknown --color argument: #$3" if $3
@color = $1 ? nil : !$2
true
+ when /\A--tty(=(?:yes|(no)|(.*)))?\z/
+ warn "unknown --tty argument: #$3" if $3
+ @tty = !$1 || !$2
+ true
when /\A(-q|--q(uiet))\z/
quiet = true
@quiet = true
@@ -123,7 +128,7 @@ End
@progress = %w[- \\ | /]
@progress_bs = "\b" * @progress[0].size
- @tty = $stderr.tty?
+ @tty = $stderr.tty? if @tty.nil?
case @color
when nil
@color = @tty && /dumb/ !~ ENV["TERM"]
diff --git a/lib/test/unit.rb b/lib/test/unit.rb
index d45bada..b96dece 100644
--- a/lib/test/unit.rb
+++ b/lib/test/unit.rb
@@ -129,6 +129,12 @@ module Test
"colorize the output. WHEN defaults to 'always'", "or can be 'never' or 'auto'." do |c|
options[:color] = c || :always
end
+
+ opts.on '--tty[=WHEN]',
+ [:yes, :no],
+ "force to output tty control. WHEN defaults to 'yes'", "or can be 'no'." do |c|
+ @tty = c != :no
+ end
end
def non_options(files, options)
diff --git a/sample/test.rb b/sample/test.rb
index e81b9f3..21547c4 100755
--- a/sample/test.rb
+++ b/sample/test.rb
@@ -7,6 +7,7 @@ $failed = 0
class Progress
def initialize
@color = nil
+ @tty = nil
@quiet = nil
@verbose = nil
ARGV.each do |arg|
@@ -14,13 +15,17 @@ class Progress
when /\A--color(?:=(?:always|(auto)|(never)|(.*)))?\z/
warn "unknown --color argument: #$3" if $3
@color = $1 ? nil : !$2
+ when /\A--tty(=(?:yes|(no)|(.*)))?\z/
+ warn "unknown --tty argument: #$3" if $3
+ @tty = !$1 || !$2
+ true
when /\A-(q|-quiet)\z/
@quiet = true
when /\A-(v|-verbose)\z/
@verbose = true
end
end
- @tty = STDERR.tty? && !STDOUT.tty? && /dumb/ !~ ENV["TERM"]
+ @tty = STDERR.tty? && !STDOUT.tty? && /dumb/ !~ ENV["TERM"] if @tty.nil?
@eol = @tty && !@verbose ? "\r\e[K\r" : "\n"
case @color
when nil