Sha256: 434e9af987c9c6cb1786c32a7c5bfa5b7c0725aa7b27d5c26f4db51151d784e9

Contents?: true

Size: 1.17 KB

Versions: 21

Compression:

Stored size: 1.17 KB

Contents

# https://github.com/ngauthier/minitest-parallel
if defined?(MiniTest)
  raise "Do not require minitest before minitest/parallel\n"
end
require 'parallel'
require 'minitest/unit'

module MiniTest::Parallel
  def self.included(base)
    base.class_eval do
      alias_method :_run_suites_in_series, :_run_suites
      alias_method :_run_suites, :_run_suites_in_parallel
    end
  end

  def self.processor_count=(procs)
    @processor_count = procs
  end

  def self.processor_count
    @processor_count ||= Parallel.processor_count
  end

  def _run_suites_in_parallel(suites, type)
    result = Parallel.map(suites, :in_processes => MiniTest::Parallel.processor_count) do |suite|
      ret = _run_suite(suite, type)
      {
        :failures         => failures,
        :errors           => errors,
        :report           => report,
        :run_suite_return => ret
      }
    end
    self.failures = result.inject(0)  {|sum, x| sum + x[:failures] }
    self.errors   = result.inject(0)  {|sum, x| sum + x[:errors] }
    self.report   = result.inject([]) {|sum, x| sum + x[:report] }
    result.map {|x| x[:run_suite_return] }
  end
end

MiniTest::Unit.send(:include, MiniTest::Parallel)

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
knife-solo-0.7.0 test/minitest/parallel.rb
knife-solo-0.7.0.pre3 test/minitest/parallel.rb
knife-solo-0.7.0.pre2 test/minitest/parallel.rb
knife-solo-0.7.0.pre test/minitest/parallel.rb
knife-solo-0.6.0 test/minitest/parallel.rb
knife-solo-0.4.3 test/minitest/parallel.rb
knife-solo-0.5.1 test/minitest/parallel.rb
knife-solo-0.5.0 test/minitest/parallel.rb
knife-solo-0.4.2 test/minitest/parallel.rb
knife-solo-0.4.1 test/minitest/parallel.rb
knife-solo-0.4.0 test/minitest/parallel.rb
knife-solo-0.3.0 test/minitest/parallel.rb
knife-solo-0.3.0.pre5 test/minitest/parallel.rb
knife-solo-0.3.0.pre4 test/minitest/parallel.rb
knife-solo-0.3.0.pre3 test/minitest/parallel.rb
knife-solo-0.3.0.pre2 test/minitest/parallel.rb
knife-solo-0.3.0.pre1 test/minitest/parallel.rb
knife-solo-0.2.0 test/minitest/parallel.rb
knife-solo-0.2.0.pre1 test/minitest/parallel.rb
knife-solo-0.1.0 test/minitest/parallel.rb