Skip to content

Commit d6568c1

Browse files
test: Fix simplecov configuration (#1366)
test: start simplecov before library code is loaded Co-authored-by: Kayla Reopelle <[email protected]>
1 parent 98edff1 commit d6568c1

File tree

65 files changed

+106
-35
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+106
-35
lines changed

.github/actions/test_gem/action.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,16 @@ inputs:
1919
required: false
2020
type: boolean
2121
default: false
22+
coverage:
23+
description: Enforce test coverage
24+
required: false
25+
type: boolean
26+
default: false
27+
minimum_coverage:
28+
description: Minimum test coverage
29+
required: false
30+
type: string
31+
default: 85
2232
build:
2333
description: Build gem
2434
required: false
@@ -161,6 +171,14 @@ runs:
161171
bundle exec rake rubocop
162172
working-directory: "${{ steps.setup.outputs.gem_dir }}"
163173

174+
- name: Coverage
175+
shell: bash
176+
if: "${{ inputs.coverage == 'true' }}"
177+
# This starts a new simplecov run which tracks nothing of its own,
178+
# but merges with the existing coverage reports generated during testing.
179+
run: 'bundle exec ruby -e ''require "simplecov"; SimpleCov.minimum_coverage(${{ inputs.minimum_coverage }})'''
180+
working-directory: "${{ steps.setup.outputs.gem_dir }}"
181+
164182
- name: Build Gem
165183
shell: bash
166184
if: "${{ inputs.build == 'true' }}"

.github/workflows/ci-contrib.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ jobs:
4747
ruby: "3.1"
4848
yard: true
4949
rubocop: true
50+
coverage: true
5051
build: true
5152
- name: "Test JRuby"
5253
if: "${{ matrix.os == 'ubuntu-latest' }}"
@@ -125,6 +126,7 @@ jobs:
125126
ruby: "3.1"
126127
yard: true
127128
rubocop: true
129+
coverage: true
128130
build: true
129131
- name: "Test JRuby"
130132
if: "${{ matrix.os == 'ubuntu-latest' }}"
@@ -162,6 +164,7 @@ jobs:
162164
ruby: "3.1"
163165
yard: true
164166
rubocop: true
167+
coverage: true
165168
build: true
166169
- name: "Test JRuby"
167170
if: "${{ matrix.os == 'ubuntu-latest' && steps.jruby_skip.outputs.skip == 'false' }}"

.github/workflows/ci-instrumentation-with-services.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ jobs:
4646
ruby: "3.1"
4747
yard: true
4848
rubocop: true
49+
coverage: true
4950
build: true
5051
- name: "Test JRuby"
5152
uses: ./.github/actions/test_gem
@@ -92,6 +93,7 @@ jobs:
9293
ruby: "3.1"
9394
yard: true
9495
rubocop: true
96+
coverage: true
9597
build: true
9698
services:
9799
mysql:
@@ -129,6 +131,7 @@ jobs:
129131
ruby: "3.1"
130132
yard: true
131133
rubocop: true
134+
coverage: true
132135
build: true
133136
services:
134137
zookeeper:
@@ -182,6 +185,7 @@ jobs:
182185
ruby: "3.1"
183186
yard: true
184187
rubocop: true
188+
coverage: true
185189
build: true
186190
services:
187191
redis:
@@ -226,6 +230,7 @@ jobs:
226230
ruby: "3.1"
227231
yard: true
228232
rubocop: true
233+
coverage: true
229234
build: true
230235
services:
231236
postgres:
@@ -267,6 +272,7 @@ jobs:
267272
ruby: "3.1"
268273
yard: true
269274
rubocop: true
275+
coverage: true
270276
build: true
271277
services:
272278
rabbitmq:

.github/workflows/ci-instrumentation.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,11 @@ jobs:
7373
- name: "Test Ruby 3.1"
7474
uses: ./.github/actions/test_gem
7575
with:
76-
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
76+
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
7777
ruby: "3.1"
7878
yard: true
7979
rubocop: true
80+
coverage: true
8081
build: true
8182
- name: "JRuby Filter"
8283
id: jruby_skip

.simplecov

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
require 'digest'
2+
3+
digest = Digest::MD5.new
4+
digest.update('test')
5+
digest.update(ENV.fetch('BUNDLE_GEMFILE', 'gemfile')) if ENV['APPRAISAL_INITIALIZED']
6+
7+
ENV['ENABLE_COVERAGE'] ||= '1'
8+
9+
if ENV['ENABLE_COVERAGE'].to_i.positive?
10+
SimpleCov.command_name(digest.hexdigest)
11+
SimpleCov.start do
12+
add_filter %r{^/test/}
13+
end
14+
end

helpers/mysql/test/test_helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#
55
# SPDX-License-Identifier: Apache-2.0
66

7+
require 'simplecov'
78
require 'bundler/setup'
89
Bundler.require(:default, :development, :test)
910

helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Gem::Specification.new do |spec|
3333
spec.add_development_dependency 'rake', '~> 13.0'
3434
spec.add_development_dependency 'rubocop', '~> 1.71.0'
3535
spec.add_development_dependency 'rubocop-performance', '~> 1.23.0'
36+
spec.add_development_dependency 'simplecov', '~> 0.22.0'
3637
spec.add_development_dependency 'yard', '~> 0.9'
3738
spec.add_development_dependency 'yard-doctest', '~> 0.1.6'
3839

helpers/sql-obfuscation/test/test_helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#
55
# SPDX-License-Identifier: Apache-2.0
66

7+
require 'simplecov'
78
require 'bundler/setup'
89
Bundler.require(:default, :development, :test)
910

instrumentation/action_mailer/test/test_helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#
55
# SPDX-License-Identifier: Apache-2.0
66

7+
require 'simplecov'
78
require 'logger'
89
require 'bundler/setup'
910
Bundler.require(:default, :development, :test)

instrumentation/action_pack/test/test_helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#
55
# SPDX-License-Identifier: Apache-2.0
66

7+
require 'simplecov'
78
require 'logger'
89
require 'bundler/setup'
910
Bundler.require(:default, :development, :test)

0 commit comments

Comments
 (0)