danger-junit 1.0.0 → 1.0.1
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/Gemfile.lock +17 -14
- data/README.md +5 -0
- data/lib/junit/gem_version.rb +1 -1
- data/lib/junit/plugin.rb +40 -22
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be6ad016006c6efed33d9d526ef6e67bb8be6e361ac0b7722d8423b5d56a7184
|
4
|
+
data.tar.gz: 733a263152c8df94e4768b42ae6817d42b18e626a29cd53d7f4fd920afdd810b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a93ded9aaae2335e0de0c049d948c153f115852c4b0436268dcb197ec433c15d9240f6b484eb4a1d1a652e49e798a99dcaf8a73396b4255ba9f1c61a40de8256
|
7
|
+
data.tar.gz: f41f9a828d2a0a07232d88451a950ccf35b7a99e3547482481b7ed666c9e1a1ce0cf4a786d6427cd23e53304d7ff90b63d6906ba8bfab2cd73d5f86fff66b974
|
data/Gemfile.lock
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
danger-junit (1.0.
|
4
|
+
danger-junit (1.0.1)
|
5
5
|
danger (> 2.0)
|
6
6
|
ox (~> 2.0)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
addressable (2.
|
12
|
-
public_suffix (>= 2.0.2, <
|
11
|
+
addressable (2.7.0)
|
12
|
+
public_suffix (>= 2.0.2, < 5.0)
|
13
13
|
ast (2.3.0)
|
14
14
|
builder (3.2.2)
|
15
|
-
claide (1.0.
|
15
|
+
claide (1.0.3)
|
16
16
|
claide-plugins (0.9.2)
|
17
17
|
cork
|
18
18
|
nap
|
@@ -34,13 +34,14 @@ GEM
|
|
34
34
|
octokit (~> 4.7)
|
35
35
|
terminal-table (~> 1)
|
36
36
|
diff-lcs (1.2.5)
|
37
|
-
faraday (0.
|
37
|
+
faraday (0.17.3)
|
38
38
|
multipart-post (>= 1.2, < 3)
|
39
39
|
faraday-http-cache (1.3.1)
|
40
40
|
faraday (~> 0.8)
|
41
41
|
ffi (1.9.14)
|
42
42
|
formatador (0.2.5)
|
43
|
-
git (1.
|
43
|
+
git (1.7.0)
|
44
|
+
rchardet (~> 1.8)
|
44
45
|
guard (2.14.0)
|
45
46
|
formatador (>= 0.2.4)
|
46
47
|
listen (>= 2.7, < 4.0)
|
@@ -61,17 +62,18 @@ GEM
|
|
61
62
|
rb-inotify (>= 0.9.7)
|
62
63
|
lumberjack (1.0.10)
|
63
64
|
method_source (0.8.2)
|
64
|
-
multipart-post (2.
|
65
|
+
multipart-post (2.1.1)
|
65
66
|
nap (1.1.0)
|
66
67
|
nenv (0.3.0)
|
67
68
|
no_proxy_fix (0.1.2)
|
68
69
|
notiffany (0.1.1)
|
69
70
|
nenv (~> 0.1)
|
70
71
|
shellany (~> 0.0)
|
71
|
-
octokit (4.
|
72
|
+
octokit (4.16.0)
|
73
|
+
faraday (>= 0.9)
|
72
74
|
sawyer (~> 0.8.0, >= 0.5.3)
|
73
75
|
open4 (1.3.4)
|
74
|
-
ox (2.
|
76
|
+
ox (2.13.2)
|
75
77
|
parser (2.3.1.2)
|
76
78
|
ast (~> 2.2)
|
77
79
|
powerpack (0.1.1)
|
@@ -79,12 +81,13 @@ GEM
|
|
79
81
|
coderay (~> 1.1.0)
|
80
82
|
method_source (~> 0.8.1)
|
81
83
|
slop (~> 3.4)
|
82
|
-
public_suffix (
|
84
|
+
public_suffix (4.0.5)
|
83
85
|
rainbow (2.1.0)
|
84
86
|
rake (10.5.0)
|
85
87
|
rb-fsevent (0.9.7)
|
86
88
|
rb-inotify (0.9.7)
|
87
89
|
ffi (>= 0.5.0)
|
90
|
+
rchardet (1.8.0)
|
88
91
|
rspec (3.5.0)
|
89
92
|
rspec-core (~> 3.5.0)
|
90
93
|
rspec-expectations (~> 3.5.0)
|
@@ -108,9 +111,9 @@ GEM
|
|
108
111
|
ruby-progressbar (~> 1.7)
|
109
112
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
110
113
|
ruby-progressbar (1.8.1)
|
111
|
-
sawyer (0.8.
|
112
|
-
addressable (>= 2.3.5
|
113
|
-
faraday (
|
114
|
+
sawyer (0.8.2)
|
115
|
+
addressable (>= 2.3.5)
|
116
|
+
faraday (> 0.8, < 2.0)
|
114
117
|
shellany (0.0.1)
|
115
118
|
slop (3.6.0)
|
116
119
|
terminal-table (1.7.0)
|
@@ -136,4 +139,4 @@ DEPENDENCIES
|
|
136
139
|
yard (~> 0.8)
|
137
140
|
|
138
141
|
BUNDLED WITH
|
139
|
-
1.
|
142
|
+
1.17.3
|
data/README.md
CHANGED
@@ -72,6 +72,7 @@ fail("Tests failed") unless junit.failures.empty?
|
|
72
72
|
<pre>
|
73
73
|
junit.parse "/path/to/output.xml"
|
74
74
|
junit.show_skipped_tests = true
|
75
|
+
junit.skipped_headers = [:name, :file]
|
75
76
|
junit.report</pre>
|
76
77
|
</blockquote>
|
77
78
|
|
@@ -109,6 +110,10 @@ message "#{slowest_test[:time]} took #{slowest_test[:time]} seconds"
|
|
109
110
|
`headers` - An array of symbols that become the columns of your tests,
|
110
111
|
if `nil`, the default, it will be all of the attributes.
|
111
112
|
|
113
|
+
`skipped_headers` - An array of symbols that become the columns of your skipped tests,
|
114
|
+
if `nil`, the default, it will be all of the attributes for a single parse
|
115
|
+
or all of the common attributes between multiple files
|
116
|
+
|
112
117
|
|
113
118
|
|
114
119
|
#### Methods
|
data/lib/junit/gem_version.rb
CHANGED
data/lib/junit/plugin.rb
CHANGED
@@ -92,6 +92,13 @@ module Danger
|
|
92
92
|
# @return [Array<Symbol>]
|
93
93
|
attr_accessor :headers
|
94
94
|
|
95
|
+
# An array of symbols that become the columns of your skipped tests,
|
96
|
+
# if `nil`, the default, it will be all of the attributes for a single parse
|
97
|
+
# or all of the common attributes between multiple files
|
98
|
+
#
|
99
|
+
# @return [Array<Symbol>]
|
100
|
+
attr_accessor :skipped_headers
|
101
|
+
|
95
102
|
# Parses an XML file, which fills all the attributes,
|
96
103
|
# will `raise` for errors
|
97
104
|
# @return [void]
|
@@ -120,7 +127,7 @@ module Danger
|
|
120
127
|
failed_tests += failed_suites.map(&:nodes).flatten.select { |node| node.kind_of?(Ox::Element) && node.value == 'testcase' }
|
121
128
|
end
|
122
129
|
|
123
|
-
@failures = failed_tests.select do |test|
|
130
|
+
@failures = failed_tests.select do |test|
|
124
131
|
test.nodes.count > 0
|
125
132
|
end.select do |test|
|
126
133
|
node = test.nodes.first
|
@@ -150,41 +157,52 @@ module Danger
|
|
150
157
|
# @return [void]
|
151
158
|
def report
|
152
159
|
return if failures.nil? # because danger calls `report` before loading a file
|
153
|
-
|
160
|
+
if show_skipped_tests && skipped.count > 0
|
161
|
+
warn("Skipped #{skipped.count} tests.")
|
162
|
+
|
163
|
+
message = "### Skipped: \n\n"
|
164
|
+
message << get_report_content(skipped, skipped_headers)
|
165
|
+
markdown message
|
166
|
+
|
167
|
+
end
|
154
168
|
|
155
169
|
unless failures.empty? && errors.empty?
|
156
170
|
fail('Tests have failed, see below for more information.', sticky: false)
|
157
|
-
message = "### Tests: \n\n"
|
158
171
|
|
172
|
+
message = "### Tests: \n\n"
|
159
173
|
tests = (failures + errors)
|
174
|
+
message << get_report_content(tests, header)
|
175
|
+
markdown message
|
176
|
+
end
|
177
|
+
end
|
160
178
|
|
161
|
-
|
179
|
+
private
|
162
180
|
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
raise "Some of headers provided aren't available in the JUnit report (#{not_available_headers})" unless not_available_headers.empty?
|
167
|
-
end
|
181
|
+
def get_report_content(tests, headers)
|
182
|
+
message = ''
|
183
|
+
common_attributes = tests.map{|test| test.attributes.keys }.inject(&:&)
|
168
184
|
|
169
|
-
|
170
|
-
|
185
|
+
# check the provided headers are available
|
186
|
+
unless headers.nil?
|
187
|
+
not_available_headers = headers.select { |header| not common_attributes.include?(header) }
|
188
|
+
raise "Some of headers provided aren't available in the JUnit report (#{not_available_headers})" unless not_available_headers.empty?
|
189
|
+
end
|
171
190
|
|
172
|
-
|
173
|
-
|
174
|
-
message << attributes.map { |_| '---' }.join(' | ') + "|\n"
|
191
|
+
keys = headers || common_attributes
|
192
|
+
attributes = keys.map(&:to_s).map(&:capitalize)
|
175
193
|
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
message << row_values.join(' | ') + "|\n"
|
180
|
-
end
|
194
|
+
# Create the headers
|
195
|
+
message << attributes.join(' | ') + "|\n"
|
196
|
+
message << attributes.map { |_| '---' }.join(' | ') + "|\n"
|
181
197
|
|
182
|
-
|
198
|
+
# Map out the keys to the tests
|
199
|
+
tests.each do |test|
|
200
|
+
row_values = keys.map { |key| test.attributes[key] }.map { |v| auto_link(v) }
|
201
|
+
message << row_values.join(' | ') + "|\n"
|
183
202
|
end
|
203
|
+
message
|
184
204
|
end
|
185
205
|
|
186
|
-
private
|
187
|
-
|
188
206
|
def auto_link(value)
|
189
207
|
if File.exist?(value) && defined?(@dangerfile.github)
|
190
208
|
github.html_link(value, full_path: false)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: danger-junit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Orta Therox
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-07-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: danger
|
@@ -225,7 +225,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
225
225
|
- !ruby/object:Gem::Version
|
226
226
|
version: '0'
|
227
227
|
requirements: []
|
228
|
-
rubygems_version: 3.
|
228
|
+
rubygems_version: 3.1.2
|
229
229
|
signing_key:
|
230
230
|
specification_version: 4
|
231
231
|
summary: Get automatic inline test reporting for JUnit-conforming XML files
|