class ParallelTests::RSpec::RuntimeLogger

Public Class Methods

new(*args) click to toggle source
Calls superclass method ParallelTests::RSpec::LoggerBase.new
# File lib/parallel_tests/rspec/runtime_logger.rb, line 4
def initialize(*args)
  super
  @example_times = Hash.new(0)
end

Public Instance Methods

dump_failure(*args) click to toggle source
# File lib/parallel_tests/rspec/runtime_logger.rb, line 20
def dump_failure(*args);end
dump_failures(*args) click to toggle source
# File lib/parallel_tests/rspec/runtime_logger.rb, line 19
def dump_failures(*args);end
dump_pending(*args) click to toggle source
# File lib/parallel_tests/rspec/runtime_logger.rb, line 21
def dump_pending(*args);end
dump_summary(*args) click to toggle source
# File lib/parallel_tests/rspec/runtime_logger.rb, line 18
def dump_summary(*args);end
example_passed(example) click to toggle source
# File lib/parallel_tests/rspec/runtime_logger.rb, line 13
def example_passed(example)
  file = example.location.split(':').first
  @example_times[file] += Time.now - @time
end
example_started(*args) click to toggle source
# File lib/parallel_tests/rspec/runtime_logger.rb, line 9
def example_started(*args)
  @time = Time.now
end
start_dump(*args) click to toggle source
# File lib/parallel_tests/rspec/runtime_logger.rb, line 23
def start_dump(*args)
  return unless ENV['TEST_ENV_NUMBER'] #only record when running in parallel
  # TODO: Figure out why sometimes time can be less than 0
  lock_output do
    @example_times.each do |file, time|
      relative_path = file.sub(/^#{Regexp.escape Dir.pwd}\//,'')
      @output.puts "#{relative_path}:#{time > 0 ? time : 0}"
    end
  end
  @output.flush
end