res 1.2.2 → 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -8
- data/bin/res +15 -0
- data/lib/res.rb +5 -0
- data/lib/res/formatters/rspec.rb +6 -6
- data/lib/res/parsers/junitcasper.rb +1 -1
- data/lib/res/reporters/lion.rb +56 -0
- data/lib/res/version.rb +3 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57a6d7960a73b04fc8fbd1ceabc329dcea135f17
|
4
|
+
data.tar.gz: d8fbb6204ef84a204298eef60bfa39601491bcd3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e387461aeb1c6c9d5d5cdad5c5477bd8ccd6d9200bd6c083f05f32a10c63d7492acdd3fa0596f00a862a15e57c5cdeef057ece8b2cb6f7657d59b0121dbaf7ee
|
7
|
+
data.tar.gz: b25530ad6a38fa06450909365de8ceb8d58ca6385473918cc34f3a6660c27f4978839f973db2cd79ccd024a6eff5337dd1da374c30b05404062f629cfde16a00
|
data/README.md
CHANGED
@@ -35,13 +35,11 @@ You can dump a Res IR results file using a cucumber formatter or parse xunit out
|
|
35
35
|
|
36
36
|
rspec -f Res::Formatters::Rspec -o ./rspec.res
|
37
37
|
|
38
|
-
## Junit
|
38
|
+
## Android Junit (output from Instruments test), Junit and Casper
|
39
39
|
|
40
|
-
res
|
41
|
-
|
42
|
-
|
43
|
-
## Casper
|
44
|
-
res.rb --junitcasper '/path/to/xunit_result.xml'
|
40
|
+
res --android_junit '/path/to/instruments.out'
|
41
|
+
res --junit '/path/to/xunit_result.xml'
|
42
|
+
res --junitcasper '/path/to/xunit_result.xml'
|
45
43
|
Note: The Res output of the xunit parser is saved in the current directory
|
46
44
|
|
47
45
|
## Reporters
|
@@ -52,7 +50,7 @@ tool.
|
|
52
50
|
|
53
51
|
If you have a Res IR file, you can submit using a reporter:
|
54
52
|
|
55
|
-
res
|
53
|
+
res --res '/path/to/file.res' --submit REPORTER [... options]
|
56
54
|
|
57
55
|
### Hive
|
58
56
|
|
@@ -67,7 +65,7 @@ Hive CI uses a Res reporter for result submission, the api arguments look like t
|
|
67
65
|
|
68
66
|
### TestRail
|
69
67
|
|
70
|
-
res
|
68
|
+
res --res '/path/to/file.res' --submit testrail --config-file '/path/to/.test_rail.yaml'
|
71
69
|
|
72
70
|
Our TestRail reporter currently be used to sync a suite with TestRail, and
|
73
71
|
to submit test results against a test run. You will need to create a
|
data/bin/res
CHANGED
@@ -6,6 +6,7 @@ require 'res/ir'
|
|
6
6
|
require 'res/reporters/testmine'
|
7
7
|
require 'res/reporters/test_rail'
|
8
8
|
require 'res/reporters/hive'
|
9
|
+
require 'res/reporters/lion'
|
9
10
|
require 'res/parsers/junit'
|
10
11
|
require 'res/parsers/android_junit'
|
11
12
|
require 'res/parsers/junitcasper'
|
@@ -89,6 +90,11 @@ class CLIParser
|
|
89
90
|
options.target = target
|
90
91
|
end
|
91
92
|
|
93
|
+
opts.on_tail("-V", "--res_version", "Display the version of Res") do
|
94
|
+
puts Res::VERSION
|
95
|
+
exit
|
96
|
+
end
|
97
|
+
|
92
98
|
opts.on_tail("-h", "--help", "Display help") do
|
93
99
|
puts opts
|
94
100
|
exit
|
@@ -158,6 +164,15 @@ if options.reporter
|
|
158
164
|
:ir => ir
|
159
165
|
)
|
160
166
|
|
167
|
+
output = reporter.submit_results(ir)
|
168
|
+
puts output
|
169
|
+
when 'lion'
|
170
|
+
reporter = Res::Reporters::Lion.new(
|
171
|
+
:config_file => options.config_file,
|
172
|
+
:url => options.url,
|
173
|
+
:ir => ir
|
174
|
+
)
|
175
|
+
|
161
176
|
output = reporter.submit_results(ir)
|
162
177
|
puts output
|
163
178
|
else
|
data/lib/res.rb
CHANGED
data/lib/res/formatters/rspec.rb
CHANGED
@@ -65,11 +65,11 @@ module Res
|
|
65
65
|
set_status(result, test.metadata[:location], status)
|
66
66
|
end
|
67
67
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
68
|
+
def add_result(test)
|
69
|
+
{
|
70
|
+
type: "Rspec::Test",
|
71
|
+
name: test[:description],
|
72
|
+
urn: test[:location]
|
73
73
|
}
|
74
74
|
end
|
75
75
|
|
@@ -123,7 +123,7 @@ module Res
|
|
123
123
|
@ir = ::Res::IR.new( :type => 'Rspec',
|
124
124
|
:started => @start_time,
|
125
125
|
:results => result,
|
126
|
-
:finished => Time.now()
|
126
|
+
:finished => Time.now()
|
127
127
|
)
|
128
128
|
end
|
129
129
|
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'res/config'
|
2
|
+
|
3
|
+
module Res
|
4
|
+
module Reporters
|
5
|
+
class Lion
|
6
|
+
|
7
|
+
attr_accessor :url, :config
|
8
|
+
|
9
|
+
def initialize(args)
|
10
|
+
@url = args[:url]
|
11
|
+
@config = Res::Config.new([:url, :tag, :description, :app_name],
|
12
|
+
:optional => [:hive_job_id, :queue],
|
13
|
+
:pre_env => 'LION_')
|
14
|
+
config.process(args)
|
15
|
+
end
|
16
|
+
|
17
|
+
def submit_results(ir, args = nil)
|
18
|
+
status = "failed"
|
19
|
+
status = "passed" if ir.tests.count == ir.count(:passed)
|
20
|
+
|
21
|
+
count = 0
|
22
|
+
values = Array.new
|
23
|
+
while count < ir.tests.count
|
24
|
+
values[count] = ir.tests[count][:values]
|
25
|
+
count += 1
|
26
|
+
end
|
27
|
+
|
28
|
+
# Set Lion Data
|
29
|
+
lion_data = {
|
30
|
+
:app_name => config.app_name,
|
31
|
+
:tag => config.tag,
|
32
|
+
:description => config.description,
|
33
|
+
:queue_name => ENV["HIVE_QUEUE_NAME"] || config.queue,
|
34
|
+
:type => ir.type,
|
35
|
+
:started => ir.results.first[:started],
|
36
|
+
:finished => ir.results.last[:finished],
|
37
|
+
:status => status,
|
38
|
+
:perf_values => values.compact!
|
39
|
+
}
|
40
|
+
uri = URI.parse(config.url)
|
41
|
+
net = Net::HTTP.new(uri.host, uri.port)
|
42
|
+
request = Net::HTTP::Post.new("/import")
|
43
|
+
request.set_form_data(lion_data)
|
44
|
+
|
45
|
+
net.read_timeout = 60
|
46
|
+
net.open_timeout = 10
|
47
|
+
|
48
|
+
response = net.start do |http|
|
49
|
+
http.request(request)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
data/lib/res/version.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: res
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- BBC
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-02-
|
13
|
+
date: 2016-02-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: json
|
@@ -104,8 +104,10 @@ files:
|
|
104
104
|
- lib/res/parsers/junit.rb
|
105
105
|
- lib/res/parsers/junitcasper.rb
|
106
106
|
- lib/res/reporters/hive.rb
|
107
|
+
- lib/res/reporters/lion.rb
|
107
108
|
- lib/res/reporters/test_rail.rb
|
108
109
|
- lib/res/reporters/testmine.rb
|
110
|
+
- lib/res/version.rb
|
109
111
|
homepage: https://github.com/bbc/res
|
110
112
|
licenses:
|
111
113
|
- MIT
|
@@ -126,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
126
128
|
version: '0'
|
127
129
|
requirements: []
|
128
130
|
rubyforge_project:
|
129
|
-
rubygems_version: 2.5.
|
131
|
+
rubygems_version: 2.4.5.1
|
130
132
|
signing_key:
|
131
133
|
specification_version: 4
|
132
134
|
summary: Test Result report libraries
|