Sha256: ae0c72a62c1a6a19f65eb252e156c986ef861a185ef13abc188b47e66c8e2e60

Contents?: true

Size: 553 Bytes

Versions: 3

Compression:

Stored size: 553 Bytes

Contents

require 'parallel'

module ParallelSplitTest
  class << self
    attr_accessor :example_counter, :processes, :process_number
  end

  def self.run_example?
    self.example_counter += 1
    (example_counter - 1) % processes == process_number
  end

  def self.choose_number_of_processes
    self.processes = best_number_of_processes
  end

  def self.best_number_of_processes
    [
      ENV['PARALLEL_SPLIT_TEST_PROCESSES'],
      Parallel.physical_processor_count,
      Parallel.processor_count
    ].map(&:to_i).find{|number| number > 0 }
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
parallel_split_test-0.2.0 lib/parallel_split_test.rb
parallel_split_test-0.1.5 lib/parallel_split_test.rb
parallel_split_test-0.1.4 lib/parallel_split_test.rb