Skip to content

Commit 3862f0f

Browse files
committed
test: start simplecov before library code is loaded
1 parent ce01f6d commit 3862f0f

File tree

62 files changed

+100
-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.

62 files changed

+100
-35
lines changed

.github/actions/test_gem/action.yml

Lines changed: 17 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 SimpleCov
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
@@ -153,6 +163,13 @@ runs:
153163
bundle exec rake rubocop
154164
working-directory: "${{ steps.setup.outputs.gem_dir }}"
155165

166+
- name: Coverage
167+
shell: bash
168+
if: "${{ inputs.coverage == 'true' }}"
169+
# This starts a new simplecov run which tracks nothing of its own,
170+
# but merges with the existing coverage reports generated during testing.
171+
run: "bundle exec ruby -rsimplecov -e 'SimpleCov.minimum_coverage(${{ inputs.minimum_coverage }})'"
172+
156173
- name: Build Gem
157174
shell: bash
158175
if: "${{ inputs.build == 'true' }}"

.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
@@ -72,10 +72,11 @@ jobs:
7272
- name: "Test Ruby 3.1"
7373
uses: ./.github/actions/test_gem
7474
with:
75-
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
75+
gem: "opentelemetry-instrumentation-${{ matrix.gem }}"
7676
ruby: "3.1"
7777
yard: true
7878
rubocop: true
79+
coverage: true
7980
build: true
8081
- name: "JRuby Filter"
8182
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

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)

instrumentation/action_view/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/active_job/test/test_helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
# SPDX-License-Identifier: Apache-2.0
66
ENV['OTEL_LOG_LEVEL'] ||= 'fatal'
77

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

instrumentation/active_model_serializers/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

0 commit comments

Comments
 (0)