Class: ParallelTests::Test::RuntimeLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/parallel_tests/test/runtime_logger.rb

Constant Summary collapse

@@prepared =
false

Class Method Summary collapse

Class Method Details

.log_test_run(test) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/parallel_tests/test/runtime_logger.rb', line 10

def log_test_run(test)
  prepare

  result = nil
  time = ParallelTests.delta { result = yield }
  log(test, time)

  result
end

.unique_logObject



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/parallel_tests/test/runtime_logger.rb', line 20

def unique_log
  lock do
    separator = "\n"
    groups = File.read(logfile).split(separator).map { |line| line.split(":") }.group_by(&:first)
    lines = groups.map do |file, times|
      time = "%.2f" % times.map(&:last).map(&:to_f).inject(:+)
      "#{file}:#{time}"
    end
    File.write(logfile, lines.join(separator) + separator)
  end
end