Sha256: 6656bcc7a15d48d85b2acb91568fed028382201d33fd0fa0b8765232cdede272

Contents?: true

Size: 1.74 KB

Versions: 2

Compression:

Stored size: 1.74 KB

Contents

require 'parallelized_specs/spec_logger_base'

class ParallelizedSpecs::TrendingExampleFailures < ParallelizedSpecs::SpecLoggerBase

  def initialize(*args)
    @passed_examples = {}
    @failed_examples = {}
    @pending_examples = {}
    @hudson_build_info = File.read("#{Rails.root}/spec/build_info.txt")
    super
  end

  def example_started(example)
    @spec_start_time = Time.now
    super
  end

  def example_failed(example, counter, failure)
    total_time = Time.now - @spec_start_time
    if example.location != nil
      @failed_examples["#{example.location.match(/spec.*\d/).to_s}*"] = ["#{example.description}*", "#{Date.today}*", "failed*", "#{total_time}*", "#{failure.header}*", "#{failure.exception.to_s.gsub(/\n/, "")}*", "#{failure.exception.backtrace.to_s.gsub(/\n/)}*"]
    end
  end

  def example_passed(example, counter)
    total_time = Time.now - @spec_start_time
    if example.location != nil
      @passed_examples["#{example.location.match(/spec.*\d/).to_s}*"] = ["#{example.description}*", "#{Date.today}*", "passed*", "#{total_time}*","NA*","NA*","NA*"]
    end
  end


  def example_pending(example, counter)
    total_time = Time.now - @spec_start_time
    if example.location != nil
      @pending_examples["#{example.location.match(/spec.*\d/).to_s}*"] = ["#{example.description}*", "#{Date.today}*", "pending*", "#{total_time}*","NA*","NA*","NA*"]
    end
  end


  def dump_summary(*args)
    lock_output do
      [@failed_examples, @passed_examples, @pending_examples].each do | example_results |
        unless example_results.empty?
          (example_results).each_pair do |example, details|
            @output.puts "#{example}#{details}#{@hudson_build_info}"
          end
        end
      end
      @output.flush
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
parallelized_specs-0.4.68 lib/parallelized_specs/trending_example_failures_logger.rb
parallelized_specs-0.4.67 lib/parallelized_specs/trending_example_failures_logger.rb