From 6043961660d8d2b242d7b53aa2f36fe694b2d212 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Sun, 27 Apr 2025 19:20:09 -0400 Subject: [PATCH 1/2] avoid example redefinition warning --- .../configuration/settings_shared_examples.rb | 19 +++++++++++++++++ .../core/configuration/settings_spec.rb | 21 +------------------ .../tracing/configuration/settings_spec.rb | 2 +- 3 files changed, 21 insertions(+), 21 deletions(-) create mode 100644 spec/datadog/core/configuration/settings_shared_examples.rb diff --git a/spec/datadog/core/configuration/settings_shared_examples.rb b/spec/datadog/core/configuration/settings_shared_examples.rb new file mode 100644 index 00000000000..4241e666142 --- /dev/null +++ b/spec/datadog/core/configuration/settings_shared_examples.rb @@ -0,0 +1,19 @@ +RSpec.shared_examples_for 'a binary setting with' do |env_variable:, default:| + context "when #{env_variable}" do + around { |example| ClimateControl.modify(env_variable => environment) { example.run } } + + context 'is not defined' do + let(:environment) { nil } + + it { is_expected.to be default } + end + + [true, false].each do |value| + context "is defined as #{value}" do + let(:environment) { value.to_s } + + it { is_expected.to be value } + end + end + end +end diff --git a/spec/datadog/core/configuration/settings_spec.rb b/spec/datadog/core/configuration/settings_spec.rb index ba1457de28f..451c7fb007d 100644 --- a/spec/datadog/core/configuration/settings_spec.rb +++ b/spec/datadog/core/configuration/settings_spec.rb @@ -8,26 +8,7 @@ require 'datadog/core/runtime/ext' require 'datadog/core/utils/time' require 'datadog/profiling/ext' - -RSpec.shared_examples_for 'a binary setting with' do |env_variable:, default:| - context "when #{env_variable}" do - around { |example| ClimateControl.modify(env_variable => environment) { example.run } } - - context 'is not defined' do - let(:environment) { nil } - - it { is_expected.to be default } - end - - [true, false].each do |value| - context "is defined as #{value}" do - let(:environment) { value.to_s } - - it { is_expected.to be value } - end - end - end -end +require_relative 'settings_shared_examples' RSpec.describe Datadog::Core::Configuration::Settings do subject(:settings) { described_class.new(options) } diff --git a/spec/datadog/tracing/configuration/settings_spec.rb b/spec/datadog/tracing/configuration/settings_spec.rb index 9da347a653c..3ccc5558b8f 100644 --- a/spec/datadog/tracing/configuration/settings_spec.rb +++ b/spec/datadog/tracing/configuration/settings_spec.rb @@ -8,7 +8,7 @@ require 'datadog/tracing/sampling/priority_sampler' require 'datadog/tracing/tracer' require 'datadog/tracing/writer' -require 'datadog/core/configuration/settings_spec' +require_relative '../../core/configuration/settings_shared_examples' RSpec.describe Datadog::Tracing::Configuration::Settings do # TODO: Core::Configuration::Settings directly extends Tracing::Configuration::Settings From c389d7992f0437560835078e94d868a7df573357 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev <156273877+p-datadog@users.noreply.github.com> Date: Tue, 29 Apr 2025 08:05:28 -0400 Subject: [PATCH 2/2] Update spec/datadog/core/configuration/settings_shared_examples.rb Co-authored-by: Sergey Fedorov --- spec/datadog/core/configuration/settings_shared_examples.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/spec/datadog/core/configuration/settings_shared_examples.rb b/spec/datadog/core/configuration/settings_shared_examples.rb index 4241e666142..bb677a65a55 100644 --- a/spec/datadog/core/configuration/settings_shared_examples.rb +++ b/spec/datadog/core/configuration/settings_shared_examples.rb @@ -1,5 +1,7 @@ +# frozen_string_literal: true + RSpec.shared_examples_for 'a binary setting with' do |env_variable:, default:| - context "when #{env_variable}" do + context "when environment variable `#{env_variable}`" do around { |example| ClimateControl.modify(env_variable => environment) { example.run } } context 'is not defined' do