simplecov-lcov 0.7.0 → 0.8.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 +5 -5
- data/.travis.yml +0 -2
- data/Gemfile +2 -2
- data/README.markdown +0 -2
- data/Rakefile +1 -14
- data/VERSION +1 -1
- data/lib/simplecov-lcov.rb +32 -1
- data/simplecov-lcov.gemspec +11 -12
- data/spec/fixtures/app/models/user.rb +11 -2
- data/spec/fixtures/hoge.rb +9 -1
- data/spec/fixtures/lcov/spec-fixtures-app-models-user.rb.branch.lcov +17 -0
- data/spec/fixtures/lcov/spec-fixtures-app-models-user.rb.lcov +11 -9
- data/spec/fixtures/lcov/spec-fixtures-hoge.rb.branch.lcov +16 -0
- data/spec/fixtures/lcov/spec-fixtures-hoge.rb.lcov +8 -6
- data/spec/simplecov-lcov_spec.rb +38 -15
- data/spec/spec_helper.rb +0 -3
- metadata +14 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a02bb3733cd050cf8c6bb7390937c12a6658cf3d31d824a3a24d5769f0f475d6
|
4
|
+
data.tar.gz: 866c5bd282a2ba4727118755795d1da6f812b0b17c3de99276615883b3bcb0c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cded646d4f8e1e1a785032ee6d2a796a49e58d55563aee0677276d1f784fcabada077a0790ceda1fd0b569f71618526efa9da6d4165f0c49c49e67a07297acdc
|
7
|
+
data.tar.gz: 349765f559c2a6e42a66be7a75d4b20f8ec8613114e338f3bb749bf1b2eec52f9e6d0ebfb6af18515e43e3c7a0af82aed9becba0241119b1beeed09762f77c1e
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
data/README.markdown
CHANGED
@@ -7,9 +7,7 @@ Custom SimpleCov formatter to generate a lcov style coverage.
|
|
7
7
|
[](http://badge.fury.io/rb/simplecov-lcov)
|
8
8
|
[](http://inch-ci.org/github/fortissimo1997/simplecov-lcov)
|
9
9
|
[](https://codeclimate.com/github/fortissimo1997/simplecov-lcov)
|
10
|
-
[](https://gemnasium.com/fortissimo1997/simplecov-lcov)
|
11
10
|
[](https://scrutinizer-ci.com/g/fortissimo1997/simplecov-lcov/?branch=master)
|
12
|
-
[](https://www.omniref.com/ruby/gems/simplecov-lcov)
|
13
11
|
|
14
12
|
## Usage
|
15
13
|
|
data/Rakefile
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'bundler'
|
5
|
+
require 'bundler/gem_tasks'
|
5
6
|
begin
|
6
7
|
Bundler.setup(:default, :development)
|
7
8
|
rescue Bundler::BundlerError => e
|
@@ -11,20 +12,6 @@ rescue Bundler::BundlerError => e
|
|
11
12
|
end
|
12
13
|
require 'rake'
|
13
14
|
|
14
|
-
require 'jeweler'
|
15
|
-
Jeweler::Tasks.new do |gem|
|
16
|
-
# gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
|
17
|
-
gem.name = 'simplecov-lcov'
|
18
|
-
gem.homepage = 'http://github.com/fortissimo1997/simplecov-lcov'
|
19
|
-
gem.license = 'MIT'
|
20
|
-
gem.summary = %Q{Custom SimpleCov formatter to generate a lcov style coverage.}
|
21
|
-
gem.description = %Q{Custom SimpleCov formatter to generate a lcov style coverage.}
|
22
|
-
gem.email = 'fortissimo1997@gmail.com'
|
23
|
-
gem.authors = ['fortissimo1997']
|
24
|
-
# dependencies defined in Gemfile
|
25
|
-
end
|
26
|
-
Jeweler::RubygemsDotOrgTasks.new
|
27
|
-
|
28
15
|
require 'rspec/core'
|
29
16
|
require 'rspec/core/rake_task'
|
30
17
|
RSpec::Core::RakeTask.new(:spec) do |spec|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.8.0
|
data/lib/simplecov-lcov.rb
CHANGED
@@ -83,7 +83,29 @@ module SimpleCov
|
|
83
83
|
|
84
84
|
def format_file(file)
|
85
85
|
filename = file.filename.gsub("#{SimpleCov.root}/", './')
|
86
|
-
|
86
|
+
pieces = []
|
87
|
+
pieces << "SF:#{filename}"
|
88
|
+
pieces << format_lines(file)
|
89
|
+
|
90
|
+
if SimpleCov.branch_coverage?
|
91
|
+
branch_data = format_branches(file)
|
92
|
+
pieces << branch_data if branch_data.length > 0
|
93
|
+
pieces << "BRF:#{file.total_branches.length}"
|
94
|
+
pieces << "BRH:#{file.covered_branches.length}"
|
95
|
+
end
|
96
|
+
pieces << "end_of_record"
|
97
|
+
pieces << ""
|
98
|
+
pieces.join("\n")
|
99
|
+
end
|
100
|
+
|
101
|
+
def format_branches(file)
|
102
|
+
branch_idx = 0
|
103
|
+
filtered_branches(file)
|
104
|
+
.map do |branch|
|
105
|
+
branch_idx += 1
|
106
|
+
format_branch(branch, branch_idx)
|
107
|
+
end
|
108
|
+
.join("\n")
|
87
109
|
end
|
88
110
|
|
89
111
|
def format_lines(file)
|
@@ -96,6 +118,15 @@ module SimpleCov
|
|
96
118
|
file.lines.reject(&:never?).reject(&:skipped?)
|
97
119
|
end
|
98
120
|
|
121
|
+
def filtered_branches(file)
|
122
|
+
file.branches.reject(&:skipped?)
|
123
|
+
end
|
124
|
+
|
125
|
+
def format_branch(branch, branch_idx)
|
126
|
+
taken = branch.coverage == 0 ? '-' : branch.coverage
|
127
|
+
"BRDA:#{branch.report_line},0,#{branch_idx},#{taken}"
|
128
|
+
end
|
129
|
+
|
99
130
|
def format_line(line)
|
100
131
|
"DA:#{line.number},#{line.coverage}"
|
101
132
|
end
|
data/simplecov-lcov.gemspec
CHANGED
@@ -1,17 +1,14 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
1
|
# -*- encoding: utf-8 -*-
|
5
2
|
# stub: simplecov-lcov 0.7.0 ruby lib
|
6
3
|
|
7
4
|
Gem::Specification.new do |s|
|
8
5
|
s.name = "simplecov-lcov".freeze
|
9
|
-
s.version = "0.
|
6
|
+
s.version = "0.8.0"
|
10
7
|
|
11
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
9
|
s.require_paths = ["lib".freeze]
|
13
10
|
s.authors = ["fortissimo1997".freeze]
|
14
|
-
s.date = "
|
11
|
+
s.date = "2020-02-18"
|
15
12
|
s.description = "Custom SimpleCov formatter to generate a lcov style coverage.".freeze
|
16
13
|
s.email = "fortissimo1997@gmail.com".freeze
|
17
14
|
s.extra_rdoc_files = [
|
@@ -35,14 +32,16 @@ Gem::Specification.new do |s|
|
|
35
32
|
"spec/configuration_spec.rb",
|
36
33
|
"spec/fixtures/app/models/user.rb",
|
37
34
|
"spec/fixtures/hoge.rb",
|
35
|
+
"spec/fixtures/lcov/spec-fixtures-app-models-user.rb.branch.lcov",
|
38
36
|
"spec/fixtures/lcov/spec-fixtures-app-models-user.rb.lcov",
|
37
|
+
"spec/fixtures/lcov/spec-fixtures-hoge.rb.branch.lcov",
|
39
38
|
"spec/fixtures/lcov/spec-fixtures-hoge.rb.lcov",
|
40
39
|
"spec/simplecov-lcov_spec.rb",
|
41
40
|
"spec/spec_helper.rb"
|
42
41
|
]
|
43
42
|
s.homepage = "http://github.com/fortissimo1997/simplecov-lcov".freeze
|
44
43
|
s.licenses = ["MIT".freeze]
|
45
|
-
s.rubygems_version = "
|
44
|
+
s.rubygems_version = "3.0.3".freeze
|
46
45
|
s.summary = "Custom SimpleCov formatter to generate a lcov style coverage.".freeze
|
47
46
|
|
48
47
|
if s.respond_to? :specification_version then
|
@@ -52,16 +51,16 @@ Gem::Specification.new do |s|
|
|
52
51
|
s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
|
53
52
|
s.add_development_dependency(%q<rdoc>.freeze, [">= 0"])
|
54
53
|
s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
|
55
|
-
s.add_development_dependency(%q<
|
56
|
-
s.add_development_dependency(%q<simplecov>.freeze, ["
|
54
|
+
s.add_development_dependency(%q<rake>.freeze, [">= 0"])
|
55
|
+
s.add_development_dependency(%q<simplecov>.freeze, ["~> 0.18"])
|
57
56
|
s.add_development_dependency(%q<coveralls>.freeze, [">= 0"])
|
58
57
|
s.add_development_dependency(%q<activesupport>.freeze, [">= 0"])
|
59
58
|
else
|
60
59
|
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
61
60
|
s.add_dependency(%q<rdoc>.freeze, [">= 0"])
|
62
61
|
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
63
|
-
s.add_dependency(%q<
|
64
|
-
s.add_dependency(%q<simplecov>.freeze, ["
|
62
|
+
s.add_dependency(%q<rake>.freeze, [">= 0"])
|
63
|
+
s.add_dependency(%q<simplecov>.freeze, ["~> 0.18"])
|
65
64
|
s.add_dependency(%q<coveralls>.freeze, [">= 0"])
|
66
65
|
s.add_dependency(%q<activesupport>.freeze, [">= 0"])
|
67
66
|
end
|
@@ -69,8 +68,8 @@ Gem::Specification.new do |s|
|
|
69
68
|
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
70
69
|
s.add_dependency(%q<rdoc>.freeze, [">= 0"])
|
71
70
|
s.add_dependency(%q<bundler>.freeze, [">= 0"])
|
72
|
-
s.add_dependency(%q<
|
73
|
-
s.add_dependency(%q<simplecov>.freeze, ["
|
71
|
+
s.add_dependency(%q<rake>.freeze, [">= 0"])
|
72
|
+
s.add_dependency(%q<simplecov>.freeze, ["~> 0.18"])
|
74
73
|
s.add_dependency(%q<coveralls>.freeze, [">= 0"])
|
75
74
|
s.add_dependency(%q<activesupport>.freeze, [">= 0"])
|
76
75
|
end
|
data/spec/fixtures/hoge.rb
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
SF:./spec/fixtures/app/models/user.rb
|
2
|
-
DA:4,
|
3
|
-
DA:5,
|
2
|
+
DA:4,1
|
3
|
+
DA:5,1
|
4
4
|
DA:6,2
|
5
|
-
DA:
|
6
|
-
DA:
|
7
|
-
DA:10,0
|
8
|
-
DA:11,0
|
5
|
+
DA:9,1
|
6
|
+
DA:10,1
|
9
7
|
DA:13,1
|
10
|
-
DA:14,
|
11
|
-
DA:
|
12
|
-
DA:
|
8
|
+
DA:14,1
|
9
|
+
DA:17,1
|
10
|
+
DA:18,0
|
11
|
+
DA:22,1
|
12
|
+
DA:23,1
|
13
|
+
DA:24,1
|
14
|
+
DA:25,1
|
13
15
|
end_of_record
|
data/spec/simplecov-lcov_spec.rb
CHANGED
@@ -3,23 +3,20 @@ require 'active_support/core_ext/kernel/reporting'
|
|
3
3
|
|
4
4
|
module SimpleCov::Formatter
|
5
5
|
describe LcovFormatter do
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
6
|
+
let(:branch_coverage_enabled) { false }
|
7
|
+
before do
|
8
|
+
SimpleCov.clear_coverage_criteria
|
9
|
+
SimpleCov.enable_coverage :branch if branch_coverage_enabled
|
10
|
+
ENV['COVERAGE'] && SimpleCov.start do
|
11
|
+
add_filter '/.rvm/'
|
12
|
+
end
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
expand_path.call('app/models/user.rb') => [nil, nil, nil, 2, 2, 2, 2, nil, 0, 0, 0, nil, 1, 0, 0, 1]
|
17
|
-
}
|
18
|
-
}
|
14
|
+
load 'fixtures/app/models/user.rb'
|
15
|
+
load 'fixtures/hoge.rb'
|
16
|
+
end
|
19
17
|
|
20
|
-
|
21
|
-
|
22
|
-
}
|
18
|
+
describe '#format' do
|
19
|
+
let(:simplecov_result) { SimpleCov.result }
|
23
20
|
|
24
21
|
context 'generating report per file' do
|
25
22
|
before {
|
@@ -50,6 +47,32 @@ module SimpleCov::Formatter
|
|
50
47
|
}
|
51
48
|
it { expect(File.read(output_path)).to eq(fixture) }
|
52
49
|
end
|
50
|
+
|
51
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.5")
|
52
|
+
describe 'branch coverage enabled' do
|
53
|
+
let(:branch_coverage_enabled) { true }
|
54
|
+
|
55
|
+
describe 'spec-fixtures-hoge.rb.branch.lcov' do
|
56
|
+
let(:output_path) {
|
57
|
+
File.join(LcovFormatter.config.output_directory, 'spec-fixtures-hoge.rb.lcov')
|
58
|
+
}
|
59
|
+
let(:fixture) {
|
60
|
+
File.read("#{File.dirname(__FILE__)}/fixtures/lcov/spec-fixtures-hoge.rb.branch.lcov")
|
61
|
+
}
|
62
|
+
it { expect(File.read(output_path)).to eq(fixture) }
|
63
|
+
end
|
64
|
+
|
65
|
+
describe 'spec-fixtures-app-models-user.rb.branch.lcov' do
|
66
|
+
let(:output_path) {
|
67
|
+
File.join(LcovFormatter.config.output_directory, 'spec-fixtures-app-models-user.rb.lcov')
|
68
|
+
}
|
69
|
+
let(:fixture) {
|
70
|
+
File.read("#{File.dirname(__FILE__)}/fixtures/lcov/spec-fixtures-app-models-user.rb.branch.lcov")
|
71
|
+
}
|
72
|
+
it { expect(File.read(output_path)).to eq(fixture) }
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
53
76
|
end
|
54
77
|
|
55
78
|
context 'generating single file report' do
|
data/spec/spec_helper.rb
CHANGED
@@ -17,9 +17,6 @@ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
|
|
17
17
|
Coveralls::SimpleCov::Formatter
|
18
18
|
])
|
19
19
|
|
20
|
-
ENV['COVERAGE'] && SimpleCov.start do
|
21
|
-
add_filter '/.rvm/'
|
22
|
-
end
|
23
20
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
24
21
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
25
22
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simplecov-lcov
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fortissimo1997
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-02-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -53,33 +53,33 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: simplecov
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
75
|
+
version: '0.18'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
82
|
+
version: '0.18'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: coveralls
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -132,7 +132,9 @@ files:
|
|
132
132
|
- spec/configuration_spec.rb
|
133
133
|
- spec/fixtures/app/models/user.rb
|
134
134
|
- spec/fixtures/hoge.rb
|
135
|
+
- spec/fixtures/lcov/spec-fixtures-app-models-user.rb.branch.lcov
|
135
136
|
- spec/fixtures/lcov/spec-fixtures-app-models-user.rb.lcov
|
137
|
+
- spec/fixtures/lcov/spec-fixtures-hoge.rb.branch.lcov
|
136
138
|
- spec/fixtures/lcov/spec-fixtures-hoge.rb.lcov
|
137
139
|
- spec/simplecov-lcov_spec.rb
|
138
140
|
- spec/spec_helper.rb
|
@@ -155,8 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
155
157
|
- !ruby/object:Gem::Version
|
156
158
|
version: '0'
|
157
159
|
requirements: []
|
158
|
-
|
159
|
-
rubygems_version: 2.6.11
|
160
|
+
rubygems_version: 3.1.2
|
160
161
|
signing_key:
|
161
162
|
specification_version: 4
|
162
163
|
summary: Custom SimpleCov formatter to generate a lcov style coverage.
|