parallelized_specs 0.3.34 → 0.3.35

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.3.34"
15
+ gem.version = "0.3.35"
16
16
  end
17
17
  Jeweler::GemcutterTasks.new
18
18
  rescue LoadError
@@ -119,7 +119,7 @@ class ParallelizedSpecs
119
119
  #exit with correct status code so rake parallel:test && echo 123 works
120
120
  failed = test_results.any? { |result| result[:exit_status] != 0 }
121
121
  if failed && FileTest.exist?("#{RAILS_ROOT}/tmp/parallel_log/rspec.failures")
122
- puts "some specs failed, about to start the rerun process\n no more than 9 specs may be rerun and shared specs are not allowed"
122
+ puts "some specs failed, about to start the rerun process\n no more than 9 specs may be rerun and shared specs are not allowed\n...\n..\n."
123
123
  ParallelizedSpecs.rerun()
124
124
  else
125
125
  abort "#{name.capitalize}s Failed" if failed
@@ -277,47 +277,50 @@ class ParallelizedSpecs
277
277
  @error_count = %x{wc -l "#{filename}"}.match(/\d/).to_s #counts the number of lines in the file
278
278
  @error_count = @error_count.to_i
279
279
 
280
- if @error_count > 1 && @error_count < 10
281
-
282
- File.open(filename).each_line do |line|
283
- if line =~ /spec\/selenium\/helpers/ || line =~ /spec\/selenium\/shared_examples/
284
- abort "shared specs currently are not eligiable for reruns, marking build as a failure"
285
- else
286
- rerun_specs.push line
287
- end
288
- end
289
-
290
- puts "rerunning #{@error_count} examples again"
291
- @rerun_failures ||= []
292
- @rerun_passes ||= []
293
-
294
- rerun_specs.each do |l|
295
- rerun_failed_examples = true
296
- puts "#{l} will be ran and marked as a success if it passes"
297
- result = %x[bundle exec rake spec #{l}]
298
- #can't just use exit code, if specs fail to start it will pass or if a spec isn't found, and sometimes rspec 1 exit codes aren't right
299
- rerun_status = result.match(/1 example, \d failure/).to_s
300
-
301
- case rerun_status
302
- when "" #when specs fail to run it exits with 0 examples, 0 failures and won't be matched by the previous regex
303
- abort "the spec failed to run on the rerun try, marking build as failed"
304
- when "1 example, 1 failure"
305
- puts "the example failed again"
306
- @rerun_failures << l
307
- when "1 example, 0 failure"
308
- puts "the example passed and is being marked as a success"
309
- @rerun_passes << l
280
+ case
281
+ when @error_count.between?(1, 9)
282
+ File.open(filename).each_line do |line|
283
+ if line =~ /spec\/selenium\/helpers/ || line =~ /spec\/selenium\/shared_examples/
284
+ abort "shared specs currently are not eligiable for reruns, marking build as a failure"
310
285
  else
311
- abort "unexpected outcome on the rerun, marking build as a failure"
286
+ rerun_specs.push line
287
+ end
288
+ puts "failed specs will be rerun"
312
289
  end
313
- rerun_status = ""
314
- end #end file loop
315
- elsif @error_count == 0
316
- abort "#{@error_count} errors, but the build failed, errors were not written to the file or there is something else wrong, marking build as a failure"
317
- elsif @error_count > 10
318
- abort "#{error_count} errors are to many to rerun, marking the build as a failure"
319
- else
320
- abort "unexpected error information, please check errors are being written to file correctly"
290
+
291
+ puts "rerunning #{@error_count} examples again"
292
+ @rerun_failures ||= []
293
+ @rerun_passes ||= []
294
+
295
+ rerun_specs.each do |l|
296
+ rerun_failed_examples = true
297
+ puts "#{l} will be ran and marked as a success if it passes"
298
+ result = %x[bundle exec rake spec #{l}]
299
+ #can't just use exit code, if specs fail to start it will pass or if a spec isn't found, and sometimes rspec 1 exit codes aren't right
300
+ rerun_status = result.match(/1 example, \d failure/).to_s
301
+
302
+ case rerun_status
303
+ when "" #when specs fail to run it exits with 0 examples, 0 failures and won't be matched by the previous regex
304
+ abort "the spec failed to run on the rerun try, marking build as failed"
305
+ when "1 example, 1 failure"
306
+ puts "the example failed again"
307
+ @rerun_failures << l
308
+ when "1 example, 0 failure"
309
+ puts "the example passed and is being marked as a success"
310
+ @rerun_passes << l
311
+ else
312
+ abort "unexpected outcome on the rerun, marking build as a failure"
313
+ end
314
+ rerun_status = ""
315
+ end #end file loop
316
+
317
+ when @error_count == 0
318
+ abort "#{@error_count} errors, but the build failed, errors were not written to the file or there is something else wrong, marking build as a failure"
319
+ when @error_count > 9
320
+ abort "#{error_count} errors are to many to rerun, marking the build as a failure"
321
+ else
322
+ puts "#Total errors {@error_count}"
323
+ abort "unexpected error information, please check errors are being written to file correctly"
321
324
  end
322
325
 
323
326
  if rerun_failed_examples
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "parallelized_specs"
8
- s.version = "0.3.34"
8
+ s.version = "0.3.35"
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"]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parallelized_specs
3
3
  version: !ruby/object:Gem::Version
4
- hash: 87
4
+ hash: 85
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 34
10
- version: 0.3.34
9
+ - 35
10
+ version: 0.3.35
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jake Sorce, Bryan Madsen, Shawn Meredith