res 1.2.2 → 1.2.3
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.
- 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
|