codeclimate-test-reporter 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -0,0 +1,8 @@
1
+ language: ruby
2
+ before_script:
3
+ - git config --global user.email "ci@codeclimate.com"
4
+ - git config --global user.name "Code Climate CI"
5
+ rvm:
6
+ - 1.9.3
7
+ - 2.1.2
8
+ - jruby
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 ENV['TRAVIS']
5
+ def self.service_data(env = ENV)
6
+ if env['TRAVIS']
7
7
  {
8
8
  name: "travis-ci",
9
- branch: ENV['TRAVIS_BRANCH'],
10
- build_identifier: ENV['TRAVIS_JOB_ID'],
11
- pull_request: ENV['TRAVIS_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 ENV['CIRCLECI']
13
+ elsif env['CIRCLECI']
14
14
  {
15
15
  name: "circlci",
16
- build_identifier: ENV['CIRCLE_BUILD_NUM'],
17
- branch: ENV['CIRCLE_BRANCH'],
18
- commit_sha: ENV['CIRCLE_SHA1']
16
+ build_identifier: env['CIRCLE_BUILD_NUM'],
17
+ branch: env['CIRCLE_BRANCH'],
18
+ commit_sha: env['CIRCLE_SHA1']
19
19
  }
20
- elsif ENV['SEMAPHORE']
20
+ elsif env['SEMAPHORE']
21
21
  {
22
22
  name: "semaphore",
23
- branch: ENV['BRANCH_NAME'],
24
- build_identifier: ENV['SEMAPHORE_BUILD_NUMBER']
23
+ branch: env['BRANCH_NAME'],
24
+ build_identifier: env['SEMAPHORE_BUILD_NUMBER']
25
25
  }
26
- elsif ENV['JENKINS_URL']
26
+ elsif env['JENKINS_URL']
27
27
  {
28
28
  name: "jenkins",
29
- build_identifier: ENV['BUILD_NUMBER'],
30
- build_url: ENV['BUILD_URL'],
31
- branch: ENV['GIT_BRANCH'],
32
- commit_sha: ENV['GIT_COMMIT']
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 ENV['TDDIUM']
34
+ elsif env['TDDIUM']
35
35
  {
36
36
  name: "tddium",
37
- build_identifier: ENV['TDDIUM_SESSION_ID'],
38
- worker_id: ENV['TDDIUM_TID']
37
+ build_identifier: env['TDDIUM_SESSION_ID'],
38
+ worker_id: env['TDDIUM_TID']
39
39
  }
40
- elsif ENV['WERCKER']
40
+ elsif env['WERCKER']
41
41
  {
42
42
  name: "wercker",
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']
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 ENV['CI_NAME'] =~ /codeship/i
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: ENV['CI_BUILD_NUMBER'],
52
- build_url: ENV['CI_BUILD_URL'],
53
- branch: ENV['CI_BRANCH'],
54
- commit_sha: ENV['CI_COMMIT_ID'],
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
  {}
@@ -33,6 +33,10 @@ module CodeClimate
33
33
  @profile ||= "test_frameworks"
34
34
  end
35
35
 
36
+ def skip_token
37
+ @skip_token ||= "nocov"
38
+ end
39
+
36
40
  private
37
41
 
38
42
  def default_logger
@@ -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 = #{round(result.covered_percent, 2)}%. "
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: round(result.covered_percent, 2),
67
- covered_strength: round(result.covered_strength, 2),
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
- content = File.open(path, "rb") {|f| f.read }
84
- header = "blob #{content.length}\0"
85
- store = header + content
86
- Digest::SHA1.hexdigest(store)
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
- git_branch = branch_from_git
16
- ci_branch = Ci.service_data[:branch]
17
-
18
- if ci_branch.to_s.strip.size > 0
19
- ci_branch.sub(/^origin\//, "")
20
- elsif git_branch.to_s.strip.size > 0 && !git_branch.to_s.strip.start_with?("(")
21
- git_branch.sub(/^origin\//, "")
22
- else
23
- "master"
24
- end
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
- branch = `git branch`.split("\n").delete_if { |i| i[0] != "*" }
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
@@ -1,5 +1,5 @@
1
1
  module CodeClimate
2
2
  module TestReporter
3
- VERSION = "0.4.0"
3
+ VERSION = "0.4.1"
4
4
  end
5
5
  end
@@ -0,0 +1,6 @@
1
+ # encoding: utf-8
2
+ class EncodingTest
3
+ def foo
4
+ "ä"
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ # encoding: iso-8859-1
2
+ class EncodingTest
3
+ def foo
4
+ "�"
5
+ end
6
+ end
@@ -5,15 +5,11 @@ module CodeClimate::TestReporter
5
5
 
6
6
  describe '.service_data' do
7
7
  before :each do
8
- ENV['SEMAPHORE'] = 'yes?'
9
- ENV['BRANCH_NAME'] = 'master'
10
- ENV['SEMAPHORE_BUILD_NUMBER'] = '1234'
11
- end
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
 
@@ -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
- expect(JSON.parse(uncompressed)).to eq(expected_request)
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
- describe '#short_filename' do
108
- let(:formatter) { CodeClimate::TestReporter::Formatter.new }
109
- it 'should return the filename of the file relative to the SimpleCov root' do
110
- expect(formatter.short_filename('file1')).to eq('file1')
111
- expect(formatter.short_filename("#{::SimpleCov.root}/file1")).to eq('file1')
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
- context "with path prefix" do
115
- before do
116
- CodeClimate::TestReporter.configure do |config|
117
- config.path_prefix = 'custom'
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
- after do
122
- CodeClimate::TestReporter.configure do |config|
123
- config.path_prefix = nil
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
- it 'should include the path prefix if set' do
128
- expect(formatter.short_filename('file1')).to eq('custom/file1')
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
@@ -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.send(:branch_from_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.0
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-08-01 00:00:00.000000000 Z
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: 1.8.23.2
161
+ rubygems_version: 2.2.2
173
162
  signing_key:
174
- specification_version: 3
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: