lib/assert/runner.rb in assert-2.15.2 vs lib/assert/runner.rb in assert-2.16.0
- old
+ new
@@ -19,20 +19,22 @@
self.on_start
self.suite.on_start
self.view.on_start
if self.single_test?
- self.view.puts "Running test: #{self.single_test_file_line}"
- elsif self.tests?
- self.view.puts "Running tests in random order, " \
- "seeded with \"#{self.runner_seed}\""
+ self.view.print "Running test: #{self.single_test_file_line}"
+ elsif self.tests_to_run?
+ self.view.print "Running tests in random order"
end
+ if self.tests_to_run?
+ self.view.puts ", seeded with \"#{self.runner_seed}\""
+ end
begin
self.suite.start_time = Time.now
self.suite.setups.each(&:call)
- tests_to_run.each do |test|
+ tests_to_run.tap{ self.suite.clear_tests_to_run }.delete_if do |test|
self.before_test(test)
self.suite.before_test(test)
self.view.before_test(test)
test.run do |result|
self.on_result(result)
@@ -40,21 +42,24 @@
self.view.on_result(result)
end
self.after_test(test)
self.suite.after_test(test)
self.view.after_test(test)
+
+ # always delete `test` from `tests_to_run` since it has been run
+ true
end
self.suite.teardowns.each(&:call)
self.suite.end_time = Time.now
rescue Interrupt => err
self.on_interrupt(err)
self.suite.on_interrupt(err)
self.view.on_interrupt(err)
raise(err)
end
- (self.suite.count(:fail) + self.suite.count(:error)).tap do
+ (self.fail_result_count + self.error_result_count).tap do
self.view.on_finish
self.suite.on_finish
self.on_finish
end
end
@@ -74,15 +79,14 @@
def on_interrupt(err); end
private
def tests_to_run
+ srand self.runner_seed
if self.single_test?
- [ self.suite.tests.find{ |t| t.file_line == self.single_test_file_line }
- ].compact
+ [self.suite.find_test_to_run(self.single_test_file_line)].compact
else
- srand self.runner_seed
- self.suite.tests.sort.sort_by{ rand self.suite.tests.size }
+ self.suite.sorted_tests_to_run{ rand self.tests_to_run_count }
end
end
end