parallelized_specs 0.4.80 → 0.4.81
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -0
- data/Gemfile.lock +8 -0
- data/Rakefile +1 -1
- data/lib/parallelized_specs/selenium_trending_collector.rb +50 -46
- data/lib/parallelized_specs/trending_example_failures_logger.rb +8 -16
- data/parallelized_specs.gemspec +2 -2
- metadata +2 -2
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
+
columnize (0.3.6)
|
5
|
+
debugger (1.6.2)
|
6
|
+
columnize (>= 0.3.1)
|
7
|
+
debugger-linecache (~> 1.2.0)
|
8
|
+
debugger-ruby_core_source (~> 1.2.3)
|
9
|
+
debugger-linecache (1.2.0)
|
10
|
+
debugger-ruby_core_source (1.2.3)
|
4
11
|
diff-lcs (1.1.3)
|
5
12
|
git (1.2.5)
|
6
13
|
jeweler (1.8.4)
|
@@ -27,6 +34,7 @@ PLATFORMS
|
|
27
34
|
ruby
|
28
35
|
|
29
36
|
DEPENDENCIES
|
37
|
+
debugger
|
30
38
|
jeweler
|
31
39
|
parallel
|
32
40
|
rake
|
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.
|
15
|
+
gem.version = "0.4.81"
|
16
16
|
end
|
17
17
|
Jeweler::GemcutterTasks.new
|
18
18
|
rescue LoadError
|
@@ -1,60 +1,64 @@
|
|
1
|
+
require 'net/http'
|
1
2
|
require 'rubygems'
|
2
|
-
require '
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
:password => 'youtpass'
|
12
|
-
)
|
13
|
-
|
14
|
-
|
15
|
-
class SeleniumTrend < ActiveRecord::Base
|
16
|
-
ActiveRecord::Migration.class_eval do
|
17
|
-
unless SeleniumTrend.table_exists?
|
18
|
-
create_table :selenium_trends do |t|
|
19
|
-
t.integer :hudson_build
|
20
|
-
t.string :hudson_project
|
21
|
-
t.string :hudson_url
|
22
|
-
t.string :spec_line_failure
|
23
|
-
t.string :spec_name
|
24
|
-
t.string :nested_spec_name
|
25
|
-
t.string :trace
|
26
|
-
t.string :full_path
|
27
|
-
t.string :time
|
28
|
-
t.string :status
|
29
|
-
t.date :date
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
3
|
+
require 'json'
|
4
|
+
|
5
|
+
@user = 'user@fireworks.boom'
|
6
|
+
@pass = 'password'
|
7
|
+
@host = 'fireworks.boom'
|
8
|
+
@port = '3456'
|
9
|
+
@post_ws = "/data/workspaces"
|
10
|
+
|
11
|
+
def build_data
|
34
12
|
|
35
|
-
def store_failure_data
|
36
13
|
dir = Dir.pwd
|
37
|
-
data = "
|
38
|
-
|
14
|
+
data = "trends.log"
|
15
|
+
|
16
|
+
File.open("#{dir}/parallel_log/#{data}", 'r') do |f|
|
39
17
|
f.each_line do |line|
|
40
|
-
if
|
18
|
+
if line != nil
|
41
19
|
values = line.split("*").to_a
|
42
|
-
|
20
|
+
spec_file = values[0]
|
43
21
|
spec_name = values[1]
|
44
22
|
date = values[2]
|
45
23
|
status = values[3]
|
46
24
|
time = values[4]
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
25
|
+
stack_trace = values[5]
|
26
|
+
spec_context = values[6]
|
27
|
+
hudson_build_number = values[7]
|
28
|
+
hudson_build_name = values[8]
|
29
|
+
gerrit_project = values[9]
|
30
|
+
git_commit_change_id = values[10]
|
31
|
+
commit_patchset_number = values[11]
|
32
|
+
build_owner = values[12]
|
33
|
+
|
34
|
+
@all_specs ||= { :build_details => { :hudson_build_number => hudson_build_number, :hudson_build_name => hudson_build_name,
|
35
|
+
:gerrit_project => gerrit_project, :git_commit_change_id => git_commit_change_id,
|
36
|
+
:commit_patchset_number => commit_patchset_number, :build_owner => build_owner }
|
37
|
+
}
|
38
|
+
|
39
|
+
@all_specs[spec_name] = { :spec_file => spec_file,
|
40
|
+
:date => date,
|
41
|
+
:status => status,
|
42
|
+
:time => time,
|
43
|
+
:stack_trace => stack_trace,
|
44
|
+
:spec_context => spec_context,
|
45
|
+
:hudson_build => hudson_build_number,
|
46
|
+
}
|
55
47
|
end
|
56
48
|
end
|
57
49
|
end
|
50
|
+
@payload = @all_specs.to_json
|
51
|
+
end
|
52
|
+
|
53
|
+
def post
|
54
|
+
req = Net::HTTP::Post.new(@post_ws, initheader = {'Content-Type' =>'application/json'})
|
55
|
+
req.basic_auth @user, @pass
|
56
|
+
req.body = @payload
|
57
|
+
response = Net::HTTP.new(@host, @port).start {|http| http.request(req) }
|
58
|
+
puts "Response #{response.code} #{response.message}:
|
59
|
+
#{response.body}"
|
58
60
|
end
|
59
61
|
|
60
|
-
|
62
|
+
build_data
|
63
|
+
thepost = post
|
64
|
+
puts thepost
|
@@ -15,31 +15,24 @@ class ParallelizedSpecs::TrendingExampleFailures < ParallelizedSpecs::SpecLogger
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def example_failed(example, counter, failure)
|
18
|
-
total_time = Time.now - @spec_start_time
|
19
|
-
|
20
|
-
|
18
|
+
if @spec_start_time ? total_time = (Time.now - @spec_start_time) : total_time = '0'
|
19
|
+
if example.location != nil
|
20
|
+
@failed_examples["#{example.location.match(/spec.*rb:\w*/).to_s}*"] = "#{example.description}*#{Date.today}*failed*#{total_time}*#{failure.exception.to_s.gsub(/\n/, "")}#{failure.exception.backtrace}*#{failure.header}*"
|
21
|
+
end
|
21
22
|
end
|
22
23
|
end
|
23
24
|
|
24
25
|
def example_passed(example)
|
25
26
|
total_time = Time.now - @spec_start_time
|
27
|
+
no_failure_info = '*'
|
26
28
|
if example.location != nil
|
27
|
-
@passed_examples["#{example.location.match(/spec
|
29
|
+
@passed_examples["#{example.location.match(/spec.*rb:\w*/).to_s}*"] = "#{example.description}*#{Date.today}*passed*#{total_time}*#{no_failure_info}*"
|
28
30
|
end
|
29
31
|
end
|
30
32
|
|
31
|
-
|
32
|
-
#def example_pending(example, counter)
|
33
|
-
# total_time = Time.now - @spec_start_time
|
34
|
-
# if example.location != nil
|
35
|
-
# @pending_examples["#{example.location.match(/spec.*\d/).to_s}*"] = ["#{example.description}*", "#{Date.today}*", "pending*", "#{total_time}*","NA*","NA*","NA*"]
|
36
|
-
# end
|
37
|
-
#end
|
38
|
-
|
39
|
-
|
40
33
|
def dump_summary(*args)
|
41
34
|
lock_output do
|
42
|
-
[@failed_examples, @passed_examples].each do |
|
35
|
+
[@failed_examples, @passed_examples].each do |example_results|
|
43
36
|
unless example_results.empty?
|
44
37
|
(example_results).each_pair do |example, details|
|
45
38
|
@output.puts "#{example}#{details}#{@hudson_build_info}"
|
@@ -49,5 +42,4 @@ class ParallelizedSpecs::TrendingExampleFailures < ParallelizedSpecs::SpecLogger
|
|
49
42
|
@output.flush
|
50
43
|
end
|
51
44
|
end
|
52
|
-
end
|
53
|
-
|
45
|
+
end
|
data/parallelized_specs.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "parallelized_specs"
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.81"
|
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-11-
|
12
|
+
s.date = "2013-11-21"
|
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.
|
4
|
+
version: 0.4.81
|
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-11-
|
12
|
+
date: 2013-11-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: parallel
|