res 1.2.17 → 1.2.18
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 +1 -1
- data/bin/res +9 -7
- data/lib/res/parsers/android_junit.rb +57 -31
- data/lib/res/reporters/testmine.rb +4 -4
- data/lib/res/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d84c2835ecad3685cf33e38756fc5c788aca5fe
|
4
|
+
data.tar.gz: 90b25f6a7c9911b2c9680ebc87149496fa9c9b1d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 66f7f218e8891dfe47b7943347df6e0fe623ec7afaee1c2e21c6489b2fb472ba56d9eee928b5cf047cbefb8d7211b233ca29079cca83e052f71224a8fcd184d8
|
7
|
+
data.tar.gz: dddc9532fc982374c784cc0cc18f417bae986db4eb6ada0fd41b6a1ab8e1ea59282c7abc90aa0be9ec1054df07095706e1d2eb5e2f4ca445792177f8dd49521a
|
data/README.md
CHANGED
@@ -92,7 +92,7 @@ require you to sync your test definitions before you submit a run.
|
|
92
92
|
You need to create a project file in the root of your test code, the file
|
93
93
|
should be called .testmine.yaml, and should look like this:
|
94
94
|
|
95
|
-
|
95
|
+
url: 'mytestmineinstance.bbc.co.uk'
|
96
96
|
authentication: 'authenticationkey'
|
97
97
|
project: 'MyProjectName'
|
98
98
|
component: 'Android acceptance'
|
data/bin/res
CHANGED
@@ -148,13 +148,15 @@ if options.reporter
|
|
148
148
|
when 'testmine'
|
149
149
|
|
150
150
|
reporter = Res::Reporters::Testmine.new(
|
151
|
-
:config_file
|
152
|
-
:url
|
153
|
-
:cert
|
154
|
-
:cacert
|
155
|
-
:
|
156
|
-
:
|
157
|
-
:
|
151
|
+
:config_file => options.config_file,
|
152
|
+
:url => options.url,
|
153
|
+
:cert => options.cert,
|
154
|
+
:cacert => options.cacert,
|
155
|
+
:version => options.version,
|
156
|
+
:target => options.target,
|
157
|
+
:hive_job_id => options.job_id,
|
158
|
+
:ssl_verify_mode => options.ssl_verify_mode,
|
159
|
+
:ir => ir
|
158
160
|
)
|
159
161
|
|
160
162
|
id = reporter.submit_results(ir)
|
@@ -18,6 +18,10 @@ module Res
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def parse(output)
|
21
|
+
test_complete = false
|
22
|
+
total_tests = 0
|
23
|
+
passed = 0
|
24
|
+
failed = 0
|
21
25
|
class_name = []
|
22
26
|
result = []
|
23
27
|
test = {
|
@@ -28,41 +32,63 @@ module Res
|
|
28
32
|
|
29
33
|
File.open(output) do |f|
|
30
34
|
f.each_line do |line|
|
35
|
+
if !line.match('INSTRUMENTATION_RESULT') && !test_complete
|
31
36
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
# Skip if this is just the 'pre-run' test
|
36
|
-
next
|
37
|
-
when '0'
|
38
|
-
test[:status] = 'passed'
|
39
|
-
when '-2'
|
40
|
-
test[:status] = 'failed'
|
41
|
-
else
|
42
|
-
test[:status] = 'unknown'
|
43
|
-
end
|
44
|
-
result.last[:children] << test
|
45
|
-
test = {
|
46
|
-
type: 'AndroidJUnit::Test',
|
47
|
-
name: 'UNKNOWN',
|
48
|
-
status: 'unknown'
|
49
|
-
}
|
50
|
-
end
|
37
|
+
if line.match('INSTRUMENTATION_STATUS: numtests=(.*)$')
|
38
|
+
total_tests = Regexp.last_match[1].to_i
|
39
|
+
end
|
51
40
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
41
|
+
if line.match('INSTRUMENTATION_STATUS_CODE: (.*)$')
|
42
|
+
case Regexp.last_match[1].strip
|
43
|
+
when '1'
|
44
|
+
# Skip if this is just the 'pre-run' test
|
45
|
+
next
|
46
|
+
when '0'
|
47
|
+
test[:status] = 'passed'
|
48
|
+
passed += 1
|
49
|
+
when '-2'
|
50
|
+
test[:status] = 'failed'
|
51
|
+
else
|
52
|
+
test[:status] = 'unknown'
|
53
|
+
end
|
54
|
+
result.last[:children] << test
|
55
|
+
test = {
|
56
|
+
type: 'AndroidJUnit::Test',
|
57
|
+
name: 'UNKNOWN',
|
58
|
+
status: 'unknown'
|
60
59
|
}
|
61
60
|
end
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
61
|
+
|
62
|
+
if line.include?('class=')
|
63
|
+
line = line.gsub('INSTRUMENTATION_STATUS: class=', '').strip
|
64
|
+
unless class_name.include? line
|
65
|
+
class_name.push(line)
|
66
|
+
result << {
|
67
|
+
type: 'AndroidJUnit::Class',
|
68
|
+
name: class_name.last,
|
69
|
+
children: Array.new
|
70
|
+
}
|
71
|
+
end
|
72
|
+
elsif line.include?('test=')
|
73
|
+
test[:name] = line.gsub('INSTRUMENTATION_STATUS: test=', '').strip
|
74
|
+
elsif line.include?('Error in ')
|
75
|
+
test[:status] = 'failed'
|
76
|
+
end
|
77
|
+
|
78
|
+
else
|
79
|
+
|
80
|
+
if line.match('Tests run: (.*), Failures: (.*)$')
|
81
|
+
failed = Regexp.last_match[2].to_i
|
82
|
+
if total_tests != (passed + failed)
|
83
|
+
result << {
|
84
|
+
type: 'AndroidJUnit::Exception',
|
85
|
+
name: 'Exception(s): Check in logs for more info',
|
86
|
+
status: 'UNKNOWN'
|
87
|
+
}
|
88
|
+
end
|
89
|
+
end
|
90
|
+
test_complete = true
|
91
|
+
|
66
92
|
end
|
67
93
|
end
|
68
94
|
end
|
@@ -8,8 +8,8 @@ module Res
|
|
8
8
|
|
9
9
|
def initialize(args)
|
10
10
|
@url = args[:url]
|
11
|
-
@config = Res::Config.new([:project, :component, :suite, :url],
|
12
|
-
:optional => [:hive_job_id, :
|
11
|
+
@config = Res::Config.new([:project, :component, :suite, :url, :target, :version],
|
12
|
+
:optional => [:hive_job_id, :cert, :cacert, :ssl_verify_mode],
|
13
13
|
:pre_env => 'TESTMINE_')
|
14
14
|
config.process(args)
|
15
15
|
end
|
@@ -44,8 +44,8 @@ module Res
|
|
44
44
|
request = Net::HTTP::Post.new(config.url + "/api/v1/submit")
|
45
45
|
request.content_type = 'application/json'
|
46
46
|
request.set_form_data({"data" => ir.to_json})
|
47
|
-
@http.request(request)
|
48
|
-
|
47
|
+
response = @http.request(request)
|
48
|
+
response.body
|
49
49
|
end
|
50
50
|
|
51
51
|
end
|
data/lib/res/version.rb
CHANGED
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.18
|
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: 2017-01-
|
13
|
+
date: 2017-01-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: json
|
@@ -128,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
128
|
version: '0'
|
129
129
|
requirements: []
|
130
130
|
rubyforge_project:
|
131
|
-
rubygems_version: 2.
|
131
|
+
rubygems_version: 2.6.8
|
132
132
|
signing_key:
|
133
133
|
specification_version: 4
|
134
134
|
summary: Test Result report libraries
|