parallelized_specs 0.4.63 → 0.4.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Rakefile CHANGED
@@ -12,7 +12,7 @@ begin
12
12
  gem.email = "jake@instructure.com"
13
13
  gem.homepage = "http://github.com/jakesorce/#{gem.name}"
14
14
  gem.authors = "Jake Sorce, Bryan Madsen, Shawn Meredith"
15
- gem.version = "0.4.63"
15
+ gem.version = "0.4.64"
16
16
  end
17
17
  Jeweler::GemcutterTasks.new
18
18
  rescue LoadError
@@ -134,7 +134,6 @@ class ParallelizedSpecs
134
134
  abort("SEVERE: #{name.capitalize}s Failed") if failed
135
135
  end
136
136
  puts "INFO: marking build as PASSED"
137
- exit 0
138
137
  end
139
138
 
140
139
  def self.calculate_total_spec_details
@@ -192,7 +191,7 @@ class ParallelizedSpecs
192
191
 
193
192
  if @total_failures != 0 && !File.zero?("#{Rails.root}/tmp/parallel_log/rspec.failures") # works on both 1.8.7\1.9.3
194
193
  puts "INFO: some specs failed, about to start the rerun process\n...\n..\n."
195
- ParallelizedSpecs.rerun()
194
+ ParallelizedSpecs.rerun(@total_failures)
196
195
  else
197
196
  #works on both 1.8.7\1.9.3
198
197
  puts "ERROR: the build had failures but the rspec.failures file is null"
@@ -431,6 +430,9 @@ class ParallelizedSpecs
431
430
  abort "SEVERE: some specs failed on rerun, the build will be marked as failed"
432
431
  when code == 9
433
432
  abort "SEVERE: unexpected situation on rerun, marking build as failure"
433
+ when code == 10
434
+ `cat tmp/parallel_log/rspec.failures`
435
+ abort "SEVERE: reruns isn't running because there is a mismatch in the number of expected errors"
434
436
  else
435
437
  abort "SEVERE: unhandled abort_reruns code"
436
438
  end
@@ -459,7 +461,7 @@ class ParallelizedSpecs
459
461
  puts "INFO: error count = #@error_count"
460
462
  ENV["RERUNS"] != nil ? @max_reruns = ENV["RERUNS"].to_i : @max_reruns = 9
461
463
 
462
- if !@error_count.between?(1, @max_reruns)
464
+ if !@error_count.between?(1, @max_reruns) || @rspec_total_error_count > @error_count
463
465
  puts "INFO: total errors are not in rerun eligibility range"
464
466
  case
465
467
  when @error_count == 0
@@ -468,6 +470,9 @@ class ParallelizedSpecs
468
470
  when @error_count > @max_reruns
469
471
  puts "INFO: error count has exceeded maximum errors of #{@max_reruns}"
470
472
  abort_reruns(6)
473
+ when @rspec_total_error_count > @error_count
474
+ puts "rspec reported more errors than rspec.failures contains, not safe to pass build using reruns"
475
+ abort_reruns(10)
471
476
  else
472
477
  abort_reruns(7)
473
478
  end
@@ -541,7 +546,8 @@ class ParallelizedSpecs
541
546
  @failure_summary = "#{Rails.root}/tmp/parallel_log/rerun_failure_summary.log"
542
547
  end
543
548
 
544
- def self.rerun()
549
+ def self.rerun(rspec_total_error_count)
550
+ @rspec_total_error_count = rspec_total_error_count
545
551
  puts "INFO: beginning the failed specs rerun process"
546
552
  runtime_setup
547
553
  start_reruns
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "parallelized_specs"
8
- s.version = "0.4.63"
8
+ s.version = "0.4.64"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jake Sorce, Bryan Madsen, Shawn Meredith"]
12
- s.date = "2013-08-20"
12
+ s.date = "2013-08-23"
13
13
  s.email = "jake@instructure.com"
14
14
  s.files = [
15
15
  "Gemfile",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parallelized_specs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.63
4
+ version: 0.4.64
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-20 00:00:00.000000000 Z
12
+ date: 2013-08-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: parallel