cobertura_xml_merger 0.1.0 → 0.2.0
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/.travis.yml +4 -0
- data/README.md +1 -4
- data/Rakefile +8 -0
- data/cobertura_xml_merger.gemspec +1 -0
- data/exe/cobertura_xml_merger +0 -0
- data/lib/cobertura_xml_merger.rb +19 -2
- data/lib/cobertura_xml_merger/version.rb +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cdc89d3c738951a9b7cea4a9445f28199480e276
|
4
|
+
data.tar.gz: 4ada94f6fa645818f5b9f9181abbaa2d849e49dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c25cd69f81ee9f10ad5b96c4561c5e81043f3fa110137adf17beb58ee9e50d55f3eb59faaffa2c9b6b11323c05e6baaf9765516ca49def3440d8a2380c91e69b
|
7
|
+
data.tar.gz: 7455d4c4fb5853cfcfd7d65a5aa9e1212268ffa69c90143c0774a74321f73e697233ccf7cfd65960c7e98584337f1109f9a054867afd9075af7ec433e489013b
|
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# CoberturaXmlMerger
|
1
|
+
# CoberturaXmlMerger [](https://travis-ci.org/juanger/cobertura_xml_merger)
|
2
2
|
|
3
3
|
Merge Cobertura XML reports into a single file.
|
4
4
|
|
@@ -7,9 +7,6 @@ Merge Cobertura XML reports into a single file.
|
|
7
7
|
1) It assumes you used the simplecov-cobertura gem to generate the reports which means only one package
|
8
8
|
per report.
|
9
9
|
|
10
|
-
2) It assumes your code is the same, so all reports should have the same number of classes and lines
|
11
|
-
in each class
|
12
|
-
|
13
10
|
## Installation
|
14
11
|
|
15
12
|
$ gem install cobertura_xml_merger
|
data/Rakefile
CHANGED
data/exe/cobertura_xml_merger
CHANGED
File without changes
|
data/lib/cobertura_xml_merger.rb
CHANGED
@@ -88,18 +88,35 @@ module CoberturaXmlMerger
|
|
88
88
|
end
|
89
89
|
|
90
90
|
package2.css('class').each do |klass|
|
91
|
+
lines = klasses.delete(klass['filename'])
|
91
92
|
klass.css('line').each do |line|
|
92
|
-
|
93
|
+
next unless lines
|
94
|
+
|
93
95
|
begin
|
94
96
|
line['hits'] = lines[line['number']] + line['hits'].to_i
|
95
97
|
rescue => e
|
96
|
-
puts
|
98
|
+
puts e.message
|
99
|
+
puts "error matching #{klass['filename']} line #{line['number']}"
|
97
100
|
puts lines.inspect if @verbose
|
101
|
+
puts line.inspect if @verbose
|
102
|
+
|
98
103
|
throw e
|
99
104
|
end
|
100
105
|
end
|
101
106
|
end
|
102
107
|
|
108
|
+
# This is a hacky way to keep lines from first xml that don't appear in second xml
|
109
|
+
unless klasses.empty?
|
110
|
+
klasses.each do |klass, lines|
|
111
|
+
klass_name = klass.split('/').last.split('.').first
|
112
|
+
line_nodes = lines.map do |number, hits|
|
113
|
+
"<line number='#{number}' branch='false' hits='#{hits}'/>"
|
114
|
+
end.join("\n")
|
115
|
+
new_class_node = "<class name='#{klass_name}' filename='#{klass}'>#{line_nodes}</class>"
|
116
|
+
package2.css('class').last.add_next_sibling(new_class_node)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
103
120
|
package2
|
104
121
|
end
|
105
122
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cobertura_xml_merger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juan Germán Castañeda Echevarría
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 5.9.1
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 5.9.1
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: nokogiri
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -61,6 +75,7 @@ extensions: []
|
|
61
75
|
extra_rdoc_files: []
|
62
76
|
files:
|
63
77
|
- ".gitignore"
|
78
|
+
- ".travis.yml"
|
64
79
|
- Gemfile
|
65
80
|
- LICENSE
|
66
81
|
- README.md
|