diff --git a/bootstraptest/runner.rb b/bootstraptest/runner.rb index 95981eeca2..eef8a20d19 100755 --- a/bootstraptest/runner.rb +++ b/bootstraptest/runner.rb @@ -62,6 +62,7 @@ def main @verbose = false $stress = false @color = nil + @quiet = false dir = nil quiet = false tests = nil @@ -88,6 +89,7 @@ def main true when /\A(-q|--q(uiet))\z/ quiet = true + @quiet = true true when /\A(-v|--v(erbose))\z/ @verbose = true @@ -162,7 +164,7 @@ def exec_test(pathes) @errbuf = [] @location = nil pathes.each do |path| - $stderr.print "\n#{File.basename(path)} " + $stderr.print "#{File.basename(path)} " $stderr.print @progress[@count % @progress.size] if @tty $stderr.puts if @verbose count = @count @@ -171,12 +173,13 @@ def exec_test(pathes) if @tty if @error == error $stderr.print "#{@progress_bs}#{@passed}PASS #{@count-count}#{@reset}" + $stderr.print "\r\e[2K\r" if @quiet else $stderr.print "#{@progress_bs}#{@failed}FAIL #{@error-error}/#{@count-count}#{@reset}" end end + $stderr.puts unless @quiet end - $stderr.puts if @error == 0 if @count == 0 $stderr.puts "No tests, no problem" diff --git a/sample/test.rb b/sample/test.rb index dcb4cdf24b..50de4cd778 100755 --- a/sample/test.rb +++ b/sample/test.rb @@ -7,10 +7,13 @@ $failed = 0 PROGRESS = Object.new PROGRESS.instance_eval do @color = nil + @quiet = nil case ARGV[0] when /\A--color(?:=(?:always|(auto)|(never)|(.*)))?\z/ warn "unknown --color argument: #$3" if $3 @color = $1 ? nil : !$2 + when /\A-(q|-quiet)\z/ + @quiet = true end @count = 0 @rotator = %w[- \\ | /] @@ -46,6 +49,7 @@ PROGRESS.instance_eval do end def self.finish STDERR.print "#{@bs}#{' ' * @bs.size}#{@bs}#{@passed}#{@ok ? 'OK' : ''} #{$testnum}#{@reset}" + STDERR.print @quiet ? "\r\e[2K\r" : "\n" end else def self.pass @@ -65,7 +69,7 @@ def test_check(what) unless $ntest.zero? PROGRESS.finish end - STDERR.print "\nsample/test.rb:#{what} " + STDERR.print "sample/test.rb:#{what} " PROGRESS.init $what = what $testnum = 0