From 0794be4cd455caf32e7a9c8f79d80a4b77c4087a Mon Sep 17 00:00:00 2001 From: Marco Costa Date: Mon, 29 Mar 2021 16:06:54 -0400 Subject: [PATCH] Add branch test coverage report (#1343) --- .simplecov | 6 ++++++ Gemfile | 11 ++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/.simplecov b/.simplecov index d06b3272dc4..edab486a4e5 100644 --- a/.simplecov +++ b/.simplecov @@ -1,3 +1,9 @@ +# Enable branch coverage reporting. +# SimpleCov only supports branch coverage in +# Ruby >= 2.5. +SimpleCov.enable_coverage :branch if RUBY_VERSION >= '2.5.0' + +# Categorize SimpleCov report, for easier reading SimpleCov.add_group 'contrib', '/lib/ddtrace/contrib' SimpleCov.add_group 'transport', '/lib/ddtrace/transport' SimpleCov.add_group 'spec', '/spec/' diff --git a/Gemfile b/Gemfile index 54c21cc92e2..726b1f7fc04 100644 --- a/Gemfile +++ b/Gemfile @@ -32,7 +32,16 @@ gem 'rspec-collection_matchers', '~> 1.1' gem 'rspec_junit_formatter', '>= 0.4.1' gem 'rspec_n', '~> 1.3' if RUBY_VERSION >= '2.3.0' gem 'ruby-prof', '~> 1.4' if RUBY_PLATFORM != 'java' && RUBY_VERSION >= '2.4.0' -gem 'simplecov', '~> 0.17' +if RUBY_VERSION >= '2.5.0' + # Merging branch coverage results does not work for old, unsupported rubies. + # We have a fix up for review, https://github.com/simplecov-ruby/simplecov/pull/972, + # but given it only affects unsupported version of Ruby, it might not get merged. + gem 'simplecov', git: 'https://github.com/DataDog/simplecov', ref: '3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db' +else + # Compatible with older rubies. This version still produces compatible output + # with a newer version when the reports are merged. + gem 'simplecov', '~> 0.17' +end gem 'warning', '~> 1' if RUBY_VERSION >= '2.5.0' gem 'webmock', '>= 3.10.0' gem 'webrick', '>= 1.7.0' if RUBY_VERSION >= '3.0.0' # No longer bundled by default since Ruby 3.0