Sha256: 39a497cb1cb34664173f21637f3c6ff7f81bb4c6b46182d9717f4cf6da66f505
Contents?: true
Size: 1.76 KB
Versions: 1
Compression:
Stored size: 1.76 KB
Contents
require 'parallel_split_test' require 'parallel_split_test/output_recorder' require 'parallel' require 'rspec' require 'parallel_split_test/core_ext/rspec_example' module ParallelSplitTest class CommandLine < RSpec::Core::CommandLine def run(err, out) results = Parallel.in_processes(ParallelSplitTest.processes) do |process_number| ENV['TEST_ENV_NUMBER'] = (process_number == 0 ? '' : (process_number + 1).to_s) out = OutputRecorder.new(out) setup_copied_from_rspec(err, out) ParallelSplitTest.example_counter = 0 ParallelSplitTest.process_number = process_number [run_group_of_tests, out.recorded] end reprint_result_lines(out, results.map(&:last)) results.map(&:first).max # combine exit status end private def reprint_result_lines(out, printed_outputs) out.puts out.puts "Summary:" out.puts printed_outputs.map{|o| o[/.*\d+ failure.*/] }.join("\n") end def run_group_of_tests example_count = @world.example_count / ParallelSplitTest.processes @configuration.reporter.report(example_count, seed) do |reporter| begin @configuration.run_hook(:before, :suite) groups = @world.example_groups.ordered results = groups.map {|g| g.run(reporter)} results.all? ? 0 : @configuration.failure_exit_code ensure @configuration.run_hook(:after, :suite) end end end def seed @configuration.randomize? ? @configuration.seed : nil end def setup_copied_from_rspec(err, out) @configuration.error_stream = err @configuration.output_stream ||= out @options.configure(@configuration) @configuration.load_spec_files @world.announce_filters end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
parallel_split_test-0.2.0 | lib/parallel_split_test/command_line.rb |