lib/minitest/queue.rb in ci-queue-0.20.9 vs lib/minitest/queue.rb in ci-queue-0.21.0

- old
+ new

@@ -100,10 +100,14 @@ self.failures.unshift(Flaked.new(self.failures.shift)) end end end + module WithTimestamps + attr_accessor :start_timestamp, :finish_timestamp + end + module Queue attr_writer :run_command_formatter, :project_root def run_command_formatter @run_command_formatter ||= if defined?(Rails) && defined?(Rails::TestUnitRailtie) @@ -157,17 +161,34 @@ def <=>(other) id <=> other.id end + def with_timestamps + start_timestamp = current_timestamp + result = yield + result + ensure + result.start_timestamp = start_timestamp + result.finish_timestamp = current_timestamp + end + def run - Minitest.run_one_method(@runnable, @method_name) + with_timestamps do + Minitest.run_one_method(@runnable, @method_name) + end end def flaky? Minitest.queue.flaky?(self) end + + private + + def current_timestamp + Time.now.to_i + end end attr_reader :queue def queue=(queue) @@ -242,12 +263,14 @@ MiniTest.singleton_class.prepend(MiniTest::Queue) if defined? MiniTest::Result MiniTest::Result.prepend(MiniTest::Requeueing) MiniTest::Result.prepend(MiniTest::Flakiness) + MiniTest::Result.prepend(MiniTest::WithTimestamps) else MiniTest::Test.prepend(MiniTest::Requeueing) MiniTest::Test.prepend(MiniTest::Flakiness) + MiniTest::Test.prepend(MiniTest::WithTimestamps) module MinitestBackwardCompatibility def source_location method(name).source_location end