Navigation Menu

Skip to content

Commit

Permalink
Measure elapsed time for running all tests
Browse files Browse the repository at this point in the history
  • Loading branch information
kou committed Aug 8, 2012
1 parent 490d31d commit cccac5b
Showing 1 changed file with 19 additions and 13 deletions.
32 changes: 19 additions & 13 deletions lib/groonga/tester.rb
Expand Up @@ -235,6 +235,9 @@ def measure
end
end

class TestSuitesResult < Result
end

class TestSuitesRunner
def initialize(tester)
@tester = tester
Expand All @@ -255,19 +258,22 @@ class SequentialTestSuitesRunner < TestSuitesRunner
def run(test_suites)
succeeded = true
reporter = create_reporter
reporter.start
catch do |tag|
test_suites.each do |suite_name, test_script_paths|
reporter.start_suite(suite_name)
test_script_paths.each do |test_script_path|
runner = TestRunner.new(@tester, test_script_path)
succeeded = false unless runner.run(reporter)
throw(tag) if runner.interrupted?
result = TestSuitesResult.new
result.measure do
reporter.start
catch do |tag|
test_suites.each do |suite_name, test_script_paths|
reporter.start_suite(suite_name)
test_script_paths.each do |test_script_path|
runner = TestRunner.new(@tester, test_script_path)
succeeded = false unless runner.run(reporter)
throw(tag) if runner.interrupted?
end
reporter.finish_suite(suite_name)
end
reporter.finish_suite(suite_name)
end
end
reporter.finish
reporter.finish(result)
succeeded
end
end
Expand Down Expand Up @@ -1127,7 +1133,7 @@ def finish_test(result)
def finish_suite(suite_name)
end

def finish
def finish(result)
puts
puts("#{@n_tests} tests, " +
"#{@n_passed_tests} passes, " +
Expand All @@ -1138,7 +1144,7 @@ def finish
else
pass_ratio = (@n_passed_tests / @n_tests.to_f) * 100
end
puts("%.4g%% passed." % pass_ratio)
puts("%.4g%% passed in %.4fs." % [pass_ratio, result.elapsed_time])
end

private
Expand Down Expand Up @@ -1198,7 +1204,7 @@ def finish_suite(suite_name)
clear_line
end

def finish
def finish(result)
n_using_lines.times do
puts
end
Expand Down

0 comments on commit cccac5b

Please sign in to comment.