parallelized_specs 0.3.59 → 0.3.60
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.
|
15
|
+
gem.version = "0.3.60"
|
16
16
|
end
|
17
17
|
Jeweler::GemcutterTasks.new
|
18
18
|
rescue LoadError
|
data/lib/parallelized_specs.rb
CHANGED
@@ -110,32 +110,23 @@ class ParallelizedSpecs
|
|
110
110
|
#parse and print results
|
111
111
|
results = find_results(test_results.map { |result| result[:stdout] }*"")
|
112
112
|
puts ""
|
113
|
-
|
114
|
-
puts "#{summary}"
|
113
|
+
puts summarize_results(results)
|
115
114
|
|
116
|
-
total_ran_examples = summary.match(/\d*/).to_s
|
117
|
-
total_expected_examples = 0
|
118
|
-
|
119
|
-
File.open('tmp/parallel_log/total_specs.txt').each do |line|
|
120
|
-
total_expected_examples += line.to_i
|
121
|
-
end
|
122
115
|
#report total time taken
|
123
116
|
puts ""
|
124
117
|
puts "Took #{Time.now - start} seconds"
|
125
118
|
|
119
|
+
Dir.glob('tmp/parallel_log/spec_count/{*,.*}').empty? ? puts "All threads completed" : abort "One or more threads have failed"
|
120
|
+
|
126
121
|
#exit with correct status code so rake parallel:test && echo 123 works
|
127
|
-
failed = test_results.any? { |result| result[:exit_status] != 0 }
|
128
|
-
puts "entire failed object #{test_results}.to_s"
|
129
|
-
puts "this is the exit status of the threads #{failed}"
|
130
122
|
|
131
|
-
if
|
132
|
-
puts "this is inside rerun condition"
|
123
|
+
if !Dir.glob('tmp/parallel_log/failed_specs/{*,.*}').empty? && FileTest.exist?("#{RAILS_ROOT}/tmp/parallel_log/rspec.failures")
|
133
124
|
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."
|
134
125
|
ParallelizedSpecs.rerun()
|
135
126
|
else
|
136
|
-
abort "#{name.capitalize}s Failed" if
|
127
|
+
abort "#{name.capitalize}s Failed" if !Dir.glob('tmp/parallel_log/failed_specs/{*,.*}').empty?
|
137
128
|
end
|
138
|
-
|
129
|
+
puts "marking build as PASSED"
|
139
130
|
end
|
140
131
|
|
141
132
|
# parallel:spec[:count, :pattern, :options]
|
@@ -4,13 +4,35 @@ require 'parallelized_specs/spec_logger_base'
|
|
4
4
|
module RSpec
|
5
5
|
class ParallelizedSpecs::FailuresFormatter < ParallelizedSpecs::SpecLoggerBase
|
6
6
|
|
7
|
+
def start(example_count)
|
8
|
+
@example_count = example_count
|
9
|
+
env_test_number = ENV['TEST_ENV_NUMBER']
|
10
|
+
env_test_number = 1 if ENV['TEST_ENV_NUMBER'].blank?
|
11
|
+
puts "Thread #{env_test_number.to_s} has #{@example_count} specs"
|
12
|
+
File.open("tmp/parallel_log/spec_count/total_specs#{env_test_number}.txt", 'a+') { |f| f.puts(@example_count) }
|
13
|
+
super
|
14
|
+
end
|
15
|
+
|
7
16
|
def example_failed(example, counter, failure)
|
8
17
|
lock_output do
|
9
18
|
@output.puts retry_command(example)
|
10
19
|
end
|
11
20
|
end
|
12
21
|
|
13
|
-
def dump_summary(
|
22
|
+
def dump_summary(duration, example_count, failure_count, pending_count)
|
23
|
+
env_test_number = ENV['TEST_ENV_NUMBER']
|
24
|
+
env_test_number = 1 if ENV['TEST_ENV_NUMBER'].blank?
|
25
|
+
|
26
|
+
File.open("tmp/parallel_log/spec_count/total_specs#{env_test_number}.txt").each do |line|
|
27
|
+
puts "this is thread #{env_test_number} with #{line} expected examples and #{example} actual examples"
|
28
|
+
if line == example_count
|
29
|
+
all_specs_ran = true
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
all_specs_ran == true ? File.delete("tmp/parallel_log/spec_count/total_specs#{env_test_number}.txt") : env_test_number
|
34
|
+
|
35
|
+
failure_count > 0 ? File.open("tmp/parallel_log/failed_specs/failed_specs#{env_test_number}.txt", 'a+') { |f| f.puts(failure_count) } : puts "All specs in Thread #{env_test_number} passed"
|
14
36
|
end
|
15
37
|
|
16
38
|
def dump_failures(*args)
|
@@ -9,16 +9,6 @@ class ParallelizedSpecs::SpecErrorLogger < ParallelizedSpecs::SpecLoggerBase
|
|
9
9
|
@failed_examples = []
|
10
10
|
end
|
11
11
|
|
12
|
-
def start(example_count)
|
13
|
-
@example_count = example_count
|
14
|
-
env_test_number = ENV['TEST_ENV_NUMBER']
|
15
|
-
env_test_number = 1 if ENV['TEST_ENV_NUMBER'].blank?
|
16
|
-
puts "Thread #{env_test_number.to_s} has #{@example_count} specs"
|
17
|
-
File.open("tmp/parallel_log/total_specs.txt", 'a+') {|f| f.puts(@example_count)}
|
18
|
-
super
|
19
|
-
end
|
20
|
-
|
21
|
-
|
22
12
|
def example_passed(example)
|
23
13
|
@passed_examples << example
|
24
14
|
end
|
data/parallelized_specs.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "parallelized_specs"
|
8
|
-
s.version = "0.3.
|
8
|
+
s.version = "0.3.60"
|
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:
|
4
|
+
hash: 107
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 60
|
10
|
+
version: 0.3.60
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jake Sorce, Bryan Madsen, Shawn Meredith
|