Sha256: db65e1d48d7724b23ed279c6f44df8a590f53728d9eb0cb89d3ebee32e6e8331

Contents?: true

Size: 790 Bytes

Versions: 5

Compression:

Stored size: 790 Bytes

Contents

require 'test_queue/runner'
require 'rspec/core'

case ::RSpec::Core::Version::STRING.to_i
when 2
  require_relative 'rspec2'
when 3
  require_relative 'rspec3'
else
  fail 'requires rspec version 2 or 3'
end

module TestQueue
  class Runner
    class RSpec < Runner
      def initialize
        @rspec = ::RSpec::Core::QueueRunner.new
        super(@rspec.example_groups.sort_by{ |s| -(stats[s.to_s] || 0) })
      end

      def run_worker(iterator)
        @rspec.run_each(iterator).to_i
      end

      def summarize_worker(worker)
        worker.stats.each do |s, val|
          stats[s] = val
        end

        worker.summary  = worker.lines.grep(/ examples?, /).first
        worker.failure_output = worker.output[/^Failures:\n\n(.*)\n^Finished/m, 1]
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
test-queue-split-0.3.0 lib/test_queue/runner/rspec.rb
test-queue-0.2.13 lib/test_queue/runner/rspec.rb
test-queue-0.2.12 lib/test_queue/runner/rspec.rb
test-queue-0.2.11 lib/test_queue/runner/rspec.rb
test-queue-0.2.10 lib/test_queue/runner/rspec.rb