Navigation Menu

Skip to content

Commit

Permalink
progress reporter: support n workers
Browse files Browse the repository at this point in the history
  • Loading branch information
kou committed Aug 11, 2012
1 parent 7d084ce commit ec91a11
Showing 1 changed file with 21 additions and 9 deletions.
30 changes: 21 additions & 9 deletions lib/groonga/tester.rb
Expand Up @@ -1325,10 +1325,17 @@ def initialize(tester)
@tester = tester
@term_width = guess_term_width
@output = @tester.output
@mutex = Mutex.new
reset_current_column
end

private
def synchronize
@mutex.synchronize do
yield
end
end

def report_summary(result)
puts(colorize(statistics(result), result))
pass_ratio = result.pass_ratio
Expand Down Expand Up @@ -1579,19 +1586,25 @@ def start_test(worker)
end

def pass_test(worker, result)
report_test_result_mark(".", result)
synchronize do
report_test_result_mark(".", result)
end
end

def fail_test(worker, result)
report_test_result_mark("F", result)
puts
report_failure(worker, result)
synchronize do
report_test_result_mark("F", result)
puts
report_failure(worker, result)
end
end

def no_check_test(worker, result)
report_test_result_mark("N", result)
puts
report_actual(result)
synchronize do
report_test_result_mark("N", result)
puts
report_actual(result)
end
end

def finish_test(worker, result)
Expand Down Expand Up @@ -1677,7 +1690,6 @@ def finish(result)
class InplaceReporter < BaseReporter
def initialize(tester)
super
@mutex = Mutex.new
@last_redraw_time = Time.now
@minimum_redraw_interval = 0.1
end
Expand Down Expand Up @@ -1799,7 +1811,7 @@ def draw_progress_line
end

def redraw
@mutex.synchronize do
synchronize do
unless block_given?
return if Time.now - @last_redraw_time < @minimum_redraw_interval
end
Expand Down

0 comments on commit ec91a11

Please sign in to comment.