mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	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
This commit is contained in:
		
							parent
							
								
									cccd464e4d
								
							
						
					
					
						commit
						bd407329df
					
				
					 3 changed files with 18 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -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"]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue