Class: ParallelizedSpecs::OutcomeBuilder

Inherits:
SpecLoggerBase show all
Defined in:
lib/parallelized_specs/outcome_builder.rb

Constant Summary

Constants inherited from SpecLoggerBase

SpecLoggerBase::RSPEC_1

Instance Method Summary collapse

Methods inherited from SpecLoggerBase

#close, #initialize, #lock_output

Constructor Details

This class inherits a constructor from ParallelizedSpecs::SpecLoggerBase

Instance Method Details

#dump_failure(*args) ⇒ Object



40
41
42
# File 'lib/parallelized_specs/outcome_builder.rb', line 40

def dump_failure(*args)
  ;
end

#dump_failures(*args) ⇒ Object



36
37
38
# File 'lib/parallelized_specs/outcome_builder.rb', line 36

def dump_failures(*args)
  ;
end

#dump_pending(*args) ⇒ Object



44
45
46
# File 'lib/parallelized_specs/outcome_builder.rb', line 44

def dump_pending(*args)
  ;
end

#dump_summary(duration, example_count, failure_count, pending_count) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/parallelized_specs/outcome_builder.rb', line 18

def dump_summary(duration, example_count, failure_count, pending_count)
  env_test_number = ENV['TEST_ENV_NUMBER']
  env_test_number = 1 if ENV['TEST_ENV_NUMBER'].blank?
  spec_file = "#{Rails.root}/tmp/parallel_log/spec_count/total_specs#{env_test_number}.txt"
  failure_file = "#{Rails.root}/tmp/parallel_log/failed_specs/failed_specs#{env_test_number}.txt"
  expected_example_count = File.open(spec_file, &:readline).to_s
  puts "Expected example count = #{expected_example_count} from rspec example count = #{example_count}"
  File.delete(spec_file) if expected_example_count.to_i - example_count.to_i < 2
  puts "Thread example failure count = #{failure_count}"
  failure_count > 0 ? (File.open(failure_file, 'a+') { |f| f.write(failure_count) }) : (puts "All specs in Thread #{env_test_number} passed")
  puts "Thread #{env_test_number} has completed in #{duration}"

  lock_output do
    File.open("#{Rails.root}/tmp/parallel_log/total_specs.txt", 'a+') { |f| f.puts("#{example_count}*#{failure_count}*#{pending_count}") }
  end

end

#start(example_count) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/parallelized_specs/outcome_builder.rb', line 7

def start(example_count)
  @example_count = example_count
  env_test_number = ENV['TEST_ENV_NUMBER']
  env_test_number = 1 if ENV['TEST_ENV_NUMBER'].blank?
  puts "Thread #{env_test_number.to_s} has #{@example_count} specs"
  File.open("#{Rails.root}/tmp/parallel_log/spec_count/total_specs#{env_test_number}.txt", 'a+') { |f| f.write(@example_count) }
  File.open("#{Rails.root}/tmp/parallel_log/thread_started/thread_#{env_test_number}.txt", 'a+') { |f| f.write("") }
  super
end