codeclimate-test-reporter 0.4.0 → 0.4.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 +7 -0
- data/.travis.yml +8 -0
- data/README.md +38 -0
- data/lib/code_climate/test_reporter.rb +3 -1
- data/lib/code_climate/test_reporter/ci.rb +39 -30
- data/lib/code_climate/test_reporter/configuration.rb +4 -0
- data/lib/code_climate/test_reporter/formatter.rb +12 -7
- data/lib/code_climate/test_reporter/git.rb +16 -13
- data/lib/code_climate/test_reporter/version.rb +1 -1
- data/spec/fixtures/encoding_test.rb +6 -0
- data/spec/fixtures/encoding_test_iso.rb +6 -0
- data/spec/lib/ci_spec.rb +6 -11
- data/spec/lib/configuration_spec.rb +1 -0
- data/spec/lib/formatter_spec.rb +38 -20
- data/spec/lib/git_spec.rb +1 -1
- metadata +28 -38
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: c2f9c2cd5324d8649ca2a3d3a473525bedbe365c
|
4
|
+
data.tar.gz: 07804f41564354ff8d7123d6c3f6c2f3650b1c41
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 3e8a40570da4dc86aafa4f1b6d6aab911e779f1d65ea6b61e91ff7b18f84f688c9ea8fbe5dec34bbda8d876b8e8c0d500d0180627851dcaf62546dd61f940b4f
|
7
|
+
data.tar.gz: a161bca31e7d2cd5355eefe921f4c4f01056a95268d9bc72b8108e48462c8527eb89f727a3ff5044103e51cef9a8ae3e3515723fce89ef71a78c190482f825f5
|
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -46,6 +46,44 @@ end
|
|
46
46
|
CodeClimate::TestReporter.start
|
47
47
|
```
|
48
48
|
|
49
|
+
## Extending Simplecov with other formatters
|
50
|
+
|
51
|
+
Since ruby-test-reporter 0.4.0 you can use `CodeClimate::TestReporter::Formatter` as a Simplecov formatter directly. Just add the formatter to your Simplecov formatter in addition to the rest of your configuration:
|
52
|
+
|
53
|
+
```ruby
|
54
|
+
require 'codeclimate-test-reporter'
|
55
|
+
SimpleCov.start do
|
56
|
+
formatter SimpleCov::Formatter::MultiFormatter[
|
57
|
+
SimpleCov::Formatter::HTMLFormatter,
|
58
|
+
CodeClimate::TestReporter::Formatter
|
59
|
+
]
|
60
|
+
...
|
61
|
+
end
|
62
|
+
```
|
63
|
+
|
64
|
+
## Using with [parallel_tests](https://github.com/grosser/parallel_tests)
|
65
|
+
|
66
|
+
Note: This may work with other parallel test runners as long as they run on the same machine.
|
67
|
+
|
68
|
+
Be sure you're using `simplecov` `>= 0.9.0`.
|
69
|
+
|
70
|
+
Add the following to your `test_helper.rb`/`spec_helper.rb` instead of what is normally required.
|
71
|
+
|
72
|
+
```ruby
|
73
|
+
require 'simplecov'
|
74
|
+
require 'codeclimate-test-reporter'
|
75
|
+
SimpleCov.add_filter 'vendor'
|
76
|
+
SimpleCov.formatters = []
|
77
|
+
SimpleCov.start CodeClimate::TestReporter.configuration.profile
|
78
|
+
```
|
79
|
+
|
80
|
+
Then after all your tests run, in a rake task or as a build step do:
|
81
|
+
|
82
|
+
```
|
83
|
+
require 'simplecov'
|
84
|
+
require 'codeclimate-test-reporter'
|
85
|
+
CodeClimate::TestReporter::Formatter.new.format(SimpleCov.result)
|
86
|
+
```
|
49
87
|
|
50
88
|
## Help! Your gem is raising a ...
|
51
89
|
|
@@ -6,7 +6,9 @@ module CodeClimate
|
|
6
6
|
require "simplecov"
|
7
7
|
::SimpleCov.add_filter 'vendor'
|
8
8
|
::SimpleCov.formatter = Formatter
|
9
|
-
::SimpleCov.start(configuration.profile)
|
9
|
+
::SimpleCov.start(configuration.profile) do
|
10
|
+
skip_token CodeClimate::TestReporter.configuration.skip_token
|
11
|
+
end
|
10
12
|
end
|
11
13
|
end
|
12
14
|
|
@@ -2,56 +2,65 @@ module CodeClimate
|
|
2
2
|
module TestReporter
|
3
3
|
class Ci
|
4
4
|
|
5
|
-
def self.service_data
|
6
|
-
if
|
5
|
+
def self.service_data(env = ENV)
|
6
|
+
if env['TRAVIS']
|
7
7
|
{
|
8
8
|
name: "travis-ci",
|
9
|
-
branch:
|
10
|
-
build_identifier:
|
11
|
-
pull_request:
|
9
|
+
branch: env['TRAVIS_BRANCH'],
|
10
|
+
build_identifier: env['TRAVIS_JOB_ID'],
|
11
|
+
pull_request: env['TRAVIS_PULL_REQUEST']
|
12
12
|
}
|
13
|
-
elsif
|
13
|
+
elsif env['CIRCLECI']
|
14
14
|
{
|
15
15
|
name: "circlci",
|
16
|
-
build_identifier:
|
17
|
-
branch:
|
18
|
-
commit_sha:
|
16
|
+
build_identifier: env['CIRCLE_BUILD_NUM'],
|
17
|
+
branch: env['CIRCLE_BRANCH'],
|
18
|
+
commit_sha: env['CIRCLE_SHA1']
|
19
19
|
}
|
20
|
-
elsif
|
20
|
+
elsif env['SEMAPHORE']
|
21
21
|
{
|
22
22
|
name: "semaphore",
|
23
|
-
branch:
|
24
|
-
build_identifier:
|
23
|
+
branch: env['BRANCH_NAME'],
|
24
|
+
build_identifier: env['SEMAPHORE_BUILD_NUMBER']
|
25
25
|
}
|
26
|
-
elsif
|
26
|
+
elsif env['JENKINS_URL']
|
27
27
|
{
|
28
28
|
name: "jenkins",
|
29
|
-
build_identifier:
|
30
|
-
build_url:
|
31
|
-
branch:
|
32
|
-
commit_sha:
|
29
|
+
build_identifier: env['BUILD_NUMBER'],
|
30
|
+
build_url: env['BUILD_URL'],
|
31
|
+
branch: env['GIT_BRANCH'],
|
32
|
+
commit_sha: env['GIT_COMMIT']
|
33
33
|
}
|
34
|
-
elsif
|
34
|
+
elsif env['TDDIUM']
|
35
35
|
{
|
36
36
|
name: "tddium",
|
37
|
-
build_identifier:
|
38
|
-
worker_id:
|
37
|
+
build_identifier: env['TDDIUM_SESSION_ID'],
|
38
|
+
worker_id: env['TDDIUM_TID']
|
39
39
|
}
|
40
|
-
elsif
|
40
|
+
elsif env['WERCKER']
|
41
41
|
{
|
42
42
|
name: "wercker",
|
43
|
-
build_identifier:
|
44
|
-
build_url:
|
45
|
-
branch:
|
46
|
-
commit_sha:
|
43
|
+
build_identifier: env['WERCKER_BUILD_ID'],
|
44
|
+
build_url: env['WERCKER_BUILD_URL'],
|
45
|
+
branch: env['WERCKER_GIT_BRANCH'],
|
46
|
+
commit_sha: env['WERCKER_GIT_COMMIT']
|
47
47
|
}
|
48
|
-
elsif
|
48
|
+
elsif env['CI_NAME'] =~ /DRONE/i
|
49
|
+
{
|
50
|
+
name: "drone",
|
51
|
+
build_identifier: env['CI_BUILD_NUMBER'],
|
52
|
+
build_url: env['CI_BUILD_URL'],
|
53
|
+
branch: env['CI_BRANCH'],
|
54
|
+
commit_sha: env['CI_BUILD_NUMBER'],
|
55
|
+
pull_request: env['CI_PULL_REQUEST']
|
56
|
+
}
|
57
|
+
elsif env['CI_NAME'] =~ /codeship/i
|
49
58
|
{
|
50
59
|
name: "codeship",
|
51
|
-
build_identifier:
|
52
|
-
build_url:
|
53
|
-
branch:
|
54
|
-
commit_sha:
|
60
|
+
build_identifier: env['CI_BUILD_NUMBER'],
|
61
|
+
build_url: env['CI_BUILD_URL'],
|
62
|
+
branch: env['CI_BRANCH'],
|
63
|
+
commit_sha: env['CI_COMMIT_ID'],
|
55
64
|
}
|
56
65
|
else
|
57
66
|
{}
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
1
3
|
require "tmpdir"
|
2
4
|
require "securerandom"
|
3
5
|
require "json"
|
@@ -13,7 +15,7 @@ module CodeClimate
|
|
13
15
|
def format(result)
|
14
16
|
return true unless CodeClimate::TestReporter.run?
|
15
17
|
|
16
|
-
print "Coverage = #{
|
18
|
+
print "Coverage = #{result.source_files.covered_percent.round(2)}%. "
|
17
19
|
|
18
20
|
payload = to_payload(result)
|
19
21
|
PayloadValidator.validate(payload)
|
@@ -63,8 +65,8 @@ module CodeClimate
|
|
63
65
|
repo_token: ENV["CODECLIMATE_REPO_TOKEN"],
|
64
66
|
source_files: source_files,
|
65
67
|
run_at: result.created_at.to_i,
|
66
|
-
covered_percent:
|
67
|
-
covered_strength:
|
68
|
+
covered_percent: result.source_files.covered_percent.round(2),
|
69
|
+
covered_strength: result.source_files.covered_strength.round(2),
|
68
70
|
line_counts: totals,
|
69
71
|
partial: partial?,
|
70
72
|
git: Git.info,
|
@@ -80,10 +82,13 @@ module CodeClimate
|
|
80
82
|
end
|
81
83
|
|
82
84
|
def calculate_blob_id(path)
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
85
|
+
File.open(path, "rb") do |file|
|
86
|
+
header = "blob #{file.size}\0"
|
87
|
+
content = file.read.force_encoding("iso-8859-1").encode("utf-8", replace: nil)
|
88
|
+
store = header + content
|
89
|
+
|
90
|
+
return Digest::SHA1.hexdigest(store)
|
91
|
+
end
|
87
92
|
end
|
88
93
|
|
89
94
|
def short_filename(filename)
|
@@ -12,16 +12,21 @@ module CodeClimate
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def branch_from_git_or_ci
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
15
|
+
clean_service_branch || clean_git_branch || "master"
|
16
|
+
end
|
17
|
+
|
18
|
+
def clean_service_branch
|
19
|
+
ci_branch = String(Ci.service_data[:branch])
|
20
|
+
clean = ci_branch.strip.sub(/^origin\//, "")
|
21
|
+
|
22
|
+
clean.size > 0 ? clean : nil
|
23
|
+
end
|
24
|
+
|
25
|
+
def clean_git_branch
|
26
|
+
git_branch = String(branch_from_git)
|
27
|
+
clean = git_branch.sub(/^origin\//, "") unless git_branch.start_with?("(")
|
28
|
+
|
29
|
+
clean.size > 0 ? clean : nil
|
25
30
|
end
|
26
31
|
|
27
32
|
private
|
@@ -32,9 +37,7 @@ module CodeClimate
|
|
32
37
|
end
|
33
38
|
|
34
39
|
def branch_from_git
|
35
|
-
|
36
|
-
branch = [branch].flatten.first
|
37
|
-
branch ? branch.gsub("* ","") : nil
|
40
|
+
`git rev-parse --abbrev-ref HEAD`.chomp
|
38
41
|
end
|
39
42
|
end
|
40
43
|
end
|
data/spec/lib/ci_spec.rb
CHANGED
@@ -5,15 +5,11 @@ module CodeClimate::TestReporter
|
|
5
5
|
|
6
6
|
describe '.service_data' do
|
7
7
|
before :each do
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
after :each do
|
14
|
-
ENV.delete('SEMAPHORE')
|
15
|
-
ENV.delete('BRANCH_NAME')
|
16
|
-
ENV.delete('SEMAPHORE_BUILD_NUMBER')
|
8
|
+
@env = {
|
9
|
+
'SEMAPHORE' => 'yes?',
|
10
|
+
'BRANCH_NAME' => 'master',
|
11
|
+
'SEMAPHORE_BUILD_NUMBER' => '1234'
|
12
|
+
}
|
17
13
|
end
|
18
14
|
|
19
15
|
it 'returns a hash of CI environment info' do
|
@@ -23,9 +19,8 @@ module CodeClimate::TestReporter
|
|
23
19
|
build_identifier: '1234'
|
24
20
|
}
|
25
21
|
|
26
|
-
expect(Ci.service_data).to include expected_semaphore_hash
|
22
|
+
expect(Ci.service_data(@env)).to include expected_semaphore_hash
|
27
23
|
end
|
28
24
|
end
|
29
|
-
|
30
25
|
end
|
31
26
|
end
|
@@ -14,6 +14,7 @@ module CodeClimate::TestReporter
|
|
14
14
|
expect(CodeClimate::TestReporter.configuration.logger.level).to eq Logger::INFO
|
15
15
|
expect(CodeClimate::TestReporter.configuration.profile).to eq('test_frameworks')
|
16
16
|
expect(CodeClimate::TestReporter.configuration.path_prefix).to be_nil
|
17
|
+
expect(CodeClimate::TestReporter.configuration.skip_token).to eq('nocov')
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
data/spec/lib/formatter_spec.rb
CHANGED
@@ -6,6 +6,12 @@ module CodeClimate::TestReporter
|
|
6
6
|
let(:project_path) { "spec/tmp" }
|
7
7
|
let(:project_file) { "fake_project.rb" }
|
8
8
|
let(:formatter) { Formatter.new }
|
9
|
+
let(:source_files) {
|
10
|
+
double(
|
11
|
+
:covered_percent => 24.3,
|
12
|
+
:covered_strength => 33.2,
|
13
|
+
)
|
14
|
+
}
|
9
15
|
let(:files) {
|
10
16
|
[
|
11
17
|
double(
|
@@ -25,6 +31,7 @@ module CodeClimate::TestReporter
|
|
25
31
|
:covered_percent => 24.3,
|
26
32
|
:covered_strength => 33.2,
|
27
33
|
:files => files,
|
34
|
+
:source_files => source_files,
|
28
35
|
:created_at => Time.at(1379704336),
|
29
36
|
:command_name => "rspec"
|
30
37
|
)
|
@@ -63,7 +70,6 @@ module CodeClimate::TestReporter
|
|
63
70
|
"simplecov_root" => Dir.pwd,
|
64
71
|
"gem_version" => VERSION
|
65
72
|
},
|
66
|
-
"ci_service" => {}
|
67
73
|
}
|
68
74
|
}
|
69
75
|
|
@@ -99,34 +105,46 @@ module CodeClimate::TestReporter
|
|
99
105
|
|
100
106
|
uncompressed = inflate(app.request_body)
|
101
107
|
|
102
|
-
|
108
|
+
expected_request.merge!("ci_service" => Ci.service_data)
|
109
|
+
expected_json = JSON.parse(expected_request.to_json, symbolize_names: true)
|
110
|
+
|
111
|
+
expect(JSON.parse(uncompressed, symbolize_names: true)).to eq(expected_json)
|
103
112
|
expect(app.http_user_agent).to include("v#{CodeClimate::TestReporter::VERSION}")
|
104
113
|
end
|
105
|
-
end
|
106
114
|
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
end
|
115
|
+
describe '#short_filename' do
|
116
|
+
it 'should return the filename of the file relative to the SimpleCov root' do
|
117
|
+
expect(formatter.short_filename('file1')).to eq('file1')
|
118
|
+
expect(formatter.short_filename("#{::SimpleCov.root}/file1")).to eq('file1')
|
119
|
+
end
|
113
120
|
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
121
|
+
context "with path prefix" do
|
122
|
+
before do
|
123
|
+
CodeClimate::TestReporter.configure do |config|
|
124
|
+
config.path_prefix = 'custom'
|
125
|
+
end
|
118
126
|
end
|
119
|
-
end
|
120
127
|
|
121
|
-
|
122
|
-
|
123
|
-
|
128
|
+
after do
|
129
|
+
CodeClimate::TestReporter.configure do |config|
|
130
|
+
config.path_prefix = nil
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
it 'should include the path prefix if set' do
|
135
|
+
expect(formatter.short_filename('file1')).to eq('custom/file1')
|
136
|
+
expect(formatter.short_filename("#{::SimpleCov.root}/file1")).to eq('custom/file1')
|
124
137
|
end
|
125
138
|
end
|
139
|
+
end
|
140
|
+
|
141
|
+
describe "#calculate_blob_id" do
|
142
|
+
it "forces UTF-8 as encoding for the file content" do
|
143
|
+
blob_id = formatter.calculate_blob_id(File.expand_path("../../fixtures/encoding_test_iso.rb", __FILE__))
|
144
|
+
expect(blob_id).to_not be_nil
|
126
145
|
|
127
|
-
|
128
|
-
expect(
|
129
|
-
expect(formatter.short_filename("#{::SimpleCov.root}/file1")).to eq('custom/file1')
|
146
|
+
blob_id = formatter.calculate_blob_id(File.expand_path("../../fixtures/encoding_test.rb", __FILE__))
|
147
|
+
expect(blob_id).to_not be_nil
|
130
148
|
end
|
131
149
|
end
|
132
150
|
end
|
data/spec/lib/git_spec.rb
CHANGED
@@ -24,7 +24,7 @@ module CodeClimate::TestReporter
|
|
24
24
|
it 'returns the branch from git if there is no ci branch' do
|
25
25
|
allow(Ci).to receive(:service_data).and_return({})
|
26
26
|
|
27
|
-
expect(Git.branch_from_git_or_ci).to eq Git.
|
27
|
+
expect(Git.branch_from_git_or_ci).to eq Git.clean_git_branch
|
28
28
|
end
|
29
29
|
|
30
30
|
it 'returns master otherwise' do
|
metadata
CHANGED
@@ -1,116 +1,103 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codeclimate-test-reporter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Bryan Helmkamp
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-09-27 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: simplecov
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 0.7.1
|
22
|
-
- - <
|
20
|
+
- - "<"
|
23
21
|
- !ruby/object:Gem::Version
|
24
22
|
version: 1.0.0
|
25
23
|
type: :runtime
|
26
24
|
prerelease: false
|
27
25
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
26
|
requirements:
|
30
|
-
- -
|
27
|
+
- - ">="
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: 0.7.1
|
33
|
-
- - <
|
30
|
+
- - "<"
|
34
31
|
- !ruby/object:Gem::Version
|
35
32
|
version: 1.0.0
|
36
33
|
- !ruby/object:Gem::Dependency
|
37
34
|
name: bundler
|
38
35
|
requirement: !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
36
|
requirements:
|
41
|
-
- - ~>
|
37
|
+
- - "~>"
|
42
38
|
- !ruby/object:Gem::Version
|
43
39
|
version: '1.3'
|
44
40
|
type: :development
|
45
41
|
prerelease: false
|
46
42
|
version_requirements: !ruby/object:Gem::Requirement
|
47
|
-
none: false
|
48
43
|
requirements:
|
49
|
-
- - ~>
|
44
|
+
- - "~>"
|
50
45
|
- !ruby/object:Gem::Version
|
51
46
|
version: '1.3'
|
52
47
|
- !ruby/object:Gem::Dependency
|
53
48
|
name: rake
|
54
49
|
requirement: !ruby/object:Gem::Requirement
|
55
|
-
none: false
|
56
50
|
requirements:
|
57
|
-
- -
|
51
|
+
- - ">="
|
58
52
|
- !ruby/object:Gem::Version
|
59
53
|
version: '0'
|
60
54
|
type: :development
|
61
55
|
prerelease: false
|
62
56
|
version_requirements: !ruby/object:Gem::Requirement
|
63
|
-
none: false
|
64
57
|
requirements:
|
65
|
-
- -
|
58
|
+
- - ">="
|
66
59
|
- !ruby/object:Gem::Version
|
67
60
|
version: '0'
|
68
61
|
- !ruby/object:Gem::Dependency
|
69
62
|
name: rspec
|
70
63
|
requirement: !ruby/object:Gem::Requirement
|
71
|
-
none: false
|
72
64
|
requirements:
|
73
|
-
- -
|
65
|
+
- - ">="
|
74
66
|
- !ruby/object:Gem::Version
|
75
67
|
version: '0'
|
76
68
|
type: :development
|
77
69
|
prerelease: false
|
78
70
|
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
none: false
|
80
71
|
requirements:
|
81
|
-
- -
|
72
|
+
- - ">="
|
82
73
|
- !ruby/object:Gem::Version
|
83
74
|
version: '0'
|
84
75
|
- !ruby/object:Gem::Dependency
|
85
76
|
name: artifice
|
86
77
|
requirement: !ruby/object:Gem::Requirement
|
87
|
-
none: false
|
88
78
|
requirements:
|
89
|
-
- -
|
79
|
+
- - ">="
|
90
80
|
- !ruby/object:Gem::Version
|
91
81
|
version: '0'
|
92
82
|
type: :development
|
93
83
|
prerelease: false
|
94
84
|
version_requirements: !ruby/object:Gem::Requirement
|
95
|
-
none: false
|
96
85
|
requirements:
|
97
|
-
- -
|
86
|
+
- - ">="
|
98
87
|
- !ruby/object:Gem::Version
|
99
88
|
version: '0'
|
100
89
|
- !ruby/object:Gem::Dependency
|
101
90
|
name: pry
|
102
91
|
requirement: !ruby/object:Gem::Requirement
|
103
|
-
none: false
|
104
92
|
requirements:
|
105
|
-
- -
|
93
|
+
- - ">="
|
106
94
|
- !ruby/object:Gem::Version
|
107
95
|
version: '0'
|
108
96
|
type: :development
|
109
97
|
prerelease: false
|
110
98
|
version_requirements: !ruby/object:Gem::Requirement
|
111
|
-
none: false
|
112
99
|
requirements:
|
113
|
-
- -
|
100
|
+
- - ">="
|
114
101
|
- !ruby/object:Gem::Version
|
115
102
|
version: '0'
|
116
103
|
description: Collects test coverage data from your Ruby test suite and sends it to
|
@@ -122,8 +109,9 @@ executables:
|
|
122
109
|
extensions: []
|
123
110
|
extra_rdoc_files: []
|
124
111
|
files:
|
125
|
-
- .gitignore
|
126
|
-
- .rspec
|
112
|
+
- ".gitignore"
|
113
|
+
- ".rspec"
|
114
|
+
- ".travis.yml"
|
127
115
|
- Gemfile
|
128
116
|
- LICENSE.txt
|
129
117
|
- README.md
|
@@ -141,6 +129,8 @@ files:
|
|
141
129
|
- lib/code_climate/test_reporter/payload_validator.rb
|
142
130
|
- lib/code_climate/test_reporter/version.rb
|
143
131
|
- lib/codeclimate-test-reporter.rb
|
132
|
+
- spec/fixtures/encoding_test.rb
|
133
|
+
- spec/fixtures/encoding_test_iso.rb
|
144
134
|
- spec/lib/ci_spec.rb
|
145
135
|
- spec/lib/configuration_spec.rb
|
146
136
|
- spec/lib/formatter_spec.rb
|
@@ -151,29 +141,30 @@ files:
|
|
151
141
|
homepage: ''
|
152
142
|
licenses:
|
153
143
|
- MIT
|
144
|
+
metadata: {}
|
154
145
|
post_install_message:
|
155
146
|
rdoc_options: []
|
156
147
|
require_paths:
|
157
148
|
- lib
|
158
149
|
required_ruby_version: !ruby/object:Gem::Requirement
|
159
|
-
none: false
|
160
150
|
requirements:
|
161
|
-
- -
|
151
|
+
- - ">="
|
162
152
|
- !ruby/object:Gem::Version
|
163
153
|
version: '0'
|
164
154
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
|
-
none: false
|
166
155
|
requirements:
|
167
|
-
- -
|
156
|
+
- - ">="
|
168
157
|
- !ruby/object:Gem::Version
|
169
158
|
version: '0'
|
170
159
|
requirements: []
|
171
160
|
rubyforge_project:
|
172
|
-
rubygems_version:
|
161
|
+
rubygems_version: 2.2.2
|
173
162
|
signing_key:
|
174
|
-
specification_version:
|
163
|
+
specification_version: 4
|
175
164
|
summary: Uploads Ruby test coverage data to Code Climate.
|
176
165
|
test_files:
|
166
|
+
- spec/fixtures/encoding_test.rb
|
167
|
+
- spec/fixtures/encoding_test_iso.rb
|
177
168
|
- spec/lib/ci_spec.rb
|
178
169
|
- spec/lib/configuration_spec.rb
|
179
170
|
- spec/lib/formatter_spec.rb
|
@@ -181,4 +172,3 @@ test_files:
|
|
181
172
|
- spec/lib/payload_validator_spec.rb
|
182
173
|
- spec/lib/test_reporter_spec.rb
|
183
174
|
- spec/spec_helper.rb
|
184
|
-
has_rdoc:
|