diff --git a/ext/datadog_cov/datadog_cov.c b/ext/datadog_cov/datadog_cov.c index aa32c426..db76d28d 100644 --- a/ext/datadog_cov/datadog_cov.c +++ b/ext/datadog_cov/datadog_cov.c @@ -236,8 +236,8 @@ void Init_datadog_cov(void) { VALUE mDatadog = rb_define_module("Datadog"); VALUE mCI = rb_define_module_under(mDatadog, "CI"); - VALUE mITR = rb_define_module_under(mCI, "ITR"); - VALUE mCoverage = rb_define_module_under(mITR, "Coverage"); + VALUE mTestOptimisation = rb_define_module_under(mCI, "TestOptimisation"); + VALUE mCoverage = rb_define_module_under(mTestOptimisation, "Coverage"); VALUE cDatadogCov = rb_define_class_under(mCoverage, "DDCov", rb_cObject); rb_define_alloc_func(cDatadogCov, dd_cov_allocate); diff --git a/lib/datadog/ci.rb b/lib/datadog/ci.rb index a45bdeba..6c7302cf 100644 --- a/lib/datadog/ci.rb +++ b/lib/datadog/ci.rb @@ -365,8 +365,8 @@ def test_visibility components.test_visibility end - def itr_runner - components.itr + def test_optimisation + components.test_optimisation end end end diff --git a/lib/datadog/ci/configuration/components.rb b/lib/datadog/ci/configuration/components.rb index 7dcb5559..26559b0f 100644 --- a/lib/datadog/ci/configuration/components.rb +++ b/lib/datadog/ci/configuration/components.rb @@ -2,9 +2,9 @@ require_relative "../ext/settings" require_relative "../git/tree_uploader" -require_relative "../itr/runner" -require_relative "../itr/coverage/transport" -require_relative "../itr/coverage/writer" +require_relative "../test_optimisation/component" +require_relative "../test_optimisation/coverage/transport" +require_relative "../test_optimisation/coverage/writer" require_relative "../test_visibility/component" require_relative "../test_visibility/flush" require_relative "../test_visibility/null_component" @@ -21,10 +21,10 @@ module CI module Configuration # Adds CI behavior to Datadog trace components module Components - attr_reader :test_visibility, :itr + attr_reader :test_visibility, :test_optimisation def initialize(settings) - @itr = nil + @test_optimisation = nil @test_visibility = TestVisibility::NullComponent.new # Activate CI mode if enabled @@ -39,7 +39,7 @@ def shutdown!(replacement = nil) super @test_visibility&.shutdown! - @itr&.shutdown! + @test_optimisation&.shutdown! end def activate_ci!(settings) @@ -99,8 +99,8 @@ def activate_ci!(settings) settings.tracing.test_mode.writer_options = trace_writer_options - # @type ivar @itr: Datadog::CI::ITR::Runner - @itr = ITR::Runner.new( + # @type ivar @test_optimisation: Datadog::CI::TestOptimisation::Component + @test_optimisation = TestOptimisation::Component.new( api: test_visibility_api, dd_env: settings.env, config_tags: custom_configuration(settings), @@ -111,8 +111,8 @@ def activate_ci!(settings) ) @test_visibility = TestVisibility::Component.new( + test_optimisation: @test_optimisation, test_suite_level_visibility_enabled: !settings.ci.force_test_level_visibility, - itr: @itr, remote_settings_api: build_remote_settings_client(settings, test_visibility_api), git_tree_upload_worker: build_git_upload_worker(settings, test_visibility_api) ) @@ -169,8 +169,8 @@ def build_tracing_transport(settings, api) def build_coverage_writer(settings, api) return nil if api.nil? - ITR::Coverage::Writer.new( - transport: ITR::Coverage::Transport.new(api: api) + TestOptimisation::Coverage::Writer.new( + transport: TestOptimisation::Coverage::Transport.new(api: api) ) end diff --git a/lib/datadog/ci/itr/runner.rb b/lib/datadog/ci/test_optimisation/component.rb similarity index 90% rename from lib/datadog/ci/itr/runner.rb rename to lib/datadog/ci/test_optimisation/component.rb index b1ccfa31..f70c1e47 100644 --- a/lib/datadog/ci/itr/runner.rb +++ b/lib/datadog/ci/test_optimisation/component.rb @@ -16,11 +16,11 @@ module Datadog module CI - module ITR + module TestOptimisation # Intelligent test runner implementation # Integrates with backend to provide test impact analysis data and # skip tests that are not impacted by the changes - class Runner + class Component include Core::Utils::Forking attr_reader :correlation_id, :skippable_tests, :skipped_tests_count @@ -57,11 +57,11 @@ def initialize( @skipped_tests_count = 0 @mutex = Mutex.new - Datadog.logger.debug("ITR Runner initialized with enabled: #{@enabled}") + Datadog.logger.debug("TestOptimisation initialized with enabled: #{@enabled}") end def configure(remote_configuration, test_session:, git_tree_upload_worker:) - Datadog.logger.debug("Configuring ITR Runner with remote configuration: #{remote_configuration}") + Datadog.logger.debug("Configuring TestOptimisation with remote configuration: #{remote_configuration}") @enabled = Utils::Parsing.convert_to_bool( remote_configuration.fetch(Ext::Transport::DD_API_SETTINGS_RESPONSE_ITR_ENABLED_KEY, false) @@ -83,7 +83,7 @@ def configure(remote_configuration, test_session:, git_tree_upload_worker:) load_datadog_cov! if @code_coverage_enabled - Datadog.logger.debug("Configured ITR Runner with enabled: #{@enabled}, skipping_tests: #{@test_skipping_enabled}, code_coverage: #{@code_coverage_enabled}") + Datadog.logger.debug("Configured TestOptimisation with enabled: #{@enabled}, skipping_tests: #{@test_skipping_enabled}, code_coverage: #{@code_coverage_enabled}") fetch_skippable_tests(test_session: test_session, git_tree_upload_worker: git_tree_upload_worker) end @@ -139,7 +139,7 @@ def mark_if_skippable(test) skippable_test_id = Utils::TestRun.skippable_test_id(test.name, test.test_suite_name, test.parameters) if @skippable_tests.include?(skippable_test_id) if forked? - Datadog.logger.warn { "ITR is not supported for forking test runners yet" } + Datadog.logger.warn { "Intelligent test runner is not supported for forking test runners yet" } return end @@ -155,7 +155,7 @@ def count_skipped_test(test) return if !test.skipped? || !test.skipped_by_itr? if forked? - Datadog.logger.warn { "ITR is not supported for forking test runners yet" } + Datadog.logger.warn { "Intelligent test runner is not supported for forking test runners yet" } return end @@ -167,7 +167,7 @@ def count_skipped_test(test) def write_test_session_tags(test_session) return if !enabled? - Datadog.logger.debug { "Finished ITR session with test skipping enabled: #{@test_skipping_enabled}" } + Datadog.logger.debug { "Finished optimised session with test skipping enabled: #{@test_skipping_enabled}" } Datadog.logger.debug { "#{@skipped_tests_count} tests were skipped" } test_session.set_tag(Ext::Test::TAG_ITR_TESTS_SKIPPED, @skipped_tests_count.positive?.to_s) diff --git a/lib/datadog/ci/itr/coverage/ddcov.rb b/lib/datadog/ci/test_optimisation/coverage/ddcov.rb similarity index 89% rename from lib/datadog/ci/itr/coverage/ddcov.rb rename to lib/datadog/ci/test_optimisation/coverage/ddcov.rb index 65efda1d..51bb4bd1 100644 --- a/lib/datadog/ci/itr/coverage/ddcov.rb +++ b/lib/datadog/ci/test_optimisation/coverage/ddcov.rb @@ -2,7 +2,7 @@ module Datadog module CI - module ITR + module TestOptimisation module Coverage # Placeholder for code coverage collection # Implementation in ext/datadog_cov diff --git a/lib/datadog/ci/itr/coverage/event.rb b/lib/datadog/ci/test_optimisation/coverage/event.rb similarity index 98% rename from lib/datadog/ci/itr/coverage/event.rb rename to lib/datadog/ci/test_optimisation/coverage/event.rb index 1e4815ea..7d80f141 100644 --- a/lib/datadog/ci/itr/coverage/event.rb +++ b/lib/datadog/ci/test_optimisation/coverage/event.rb @@ -6,7 +6,7 @@ module Datadog module CI - module ITR + module TestOptimisation module Coverage class Event attr_reader :test_id, :test_suite_id, :test_session_id, :coverage diff --git a/lib/datadog/ci/itr/coverage/transport.rb b/lib/datadog/ci/test_optimisation/coverage/transport.rb similarity index 97% rename from lib/datadog/ci/itr/coverage/transport.rb rename to lib/datadog/ci/test_optimisation/coverage/transport.rb index e89cd906..9a5da41b 100644 --- a/lib/datadog/ci/itr/coverage/transport.rb +++ b/lib/datadog/ci/test_optimisation/coverage/transport.rb @@ -5,7 +5,7 @@ module Datadog module CI - module ITR + module TestOptimisation module Coverage class Transport < Datadog::CI::Transport::EventPlatformTransport private diff --git a/lib/datadog/ci/itr/coverage/writer.rb b/lib/datadog/ci/test_optimisation/coverage/writer.rb similarity index 99% rename from lib/datadog/ci/itr/coverage/writer.rb rename to lib/datadog/ci/test_optimisation/coverage/writer.rb index f5482177..dbeeebef 100644 --- a/lib/datadog/ci/itr/coverage/writer.rb +++ b/lib/datadog/ci/test_optimisation/coverage/writer.rb @@ -11,7 +11,7 @@ module Datadog module CI - module ITR + module TestOptimisation module Coverage class Writer include Core::Workers::Queue diff --git a/lib/datadog/ci/itr/skippable.rb b/lib/datadog/ci/test_optimisation/skippable.rb similarity index 99% rename from lib/datadog/ci/itr/skippable.rb rename to lib/datadog/ci/test_optimisation/skippable.rb index c0bcbb27..8cd4b660 100644 --- a/lib/datadog/ci/itr/skippable.rb +++ b/lib/datadog/ci/test_optimisation/skippable.rb @@ -8,7 +8,7 @@ module Datadog module CI - module ITR + module TestOptimisation class Skippable class Response def initialize(http_response) diff --git a/lib/datadog/ci/test_visibility/component.rb b/lib/datadog/ci/test_visibility/component.rb index ca02e64a..7d6d306a 100644 --- a/lib/datadog/ci/test_visibility/component.rb +++ b/lib/datadog/ci/test_visibility/component.rb @@ -32,7 +32,7 @@ class Component attr_reader :environment_tags, :test_suite_level_visibility_enabled def initialize( - itr:, + test_optimisation:, remote_settings_api:, git_tree_upload_worker: DummyWorker.new, test_suite_level_visibility_enabled: false, @@ -46,7 +46,7 @@ def initialize( @codeowners = codeowners - @itr = itr + @test_optimisation = test_optimisation @remote_settings_api = remote_settings_api @git_tree_upload_worker = git_tree_upload_worker end @@ -210,7 +210,7 @@ def deactivate_test_suite(test_suite_name) end def itr_enabled? - @itr.enabled? + @test_optimisation.enabled? end private @@ -234,7 +234,7 @@ def configure_library(test_session) end end - @itr.configure( + @test_optimisation.configure( remote_configuration.payload, test_session: test_session, git_tree_upload_worker: @git_tree_upload_worker @@ -404,17 +404,17 @@ def validate_test_suite_level_visibility_correctness(test) # TODO: use kind of event system to notify about test finished? def on_test_finished(test) - @itr.stop_coverage(test) - @itr.count_skipped_test(test) + @test_optimisation.stop_coverage(test) + @test_optimisation.count_skipped_test(test) end def on_test_started(test) - @itr.mark_if_skippable(test) - @itr.start_coverage(test) + @test_optimisation.mark_if_skippable(test) + @test_optimisation.start_coverage(test) end def on_test_session_finished(test_session) - @itr.write_test_session_tags(test_session) + @test_optimisation.write_test_session_tags(test_session) end end end diff --git a/lib/datadog/ci/test_visibility/transport.rb b/lib/datadog/ci/test_visibility/transport.rb index ace6870d..ab8c76ee 100644 --- a/lib/datadog/ci/test_visibility/transport.rb +++ b/lib/datadog/ci/test_visibility/transport.rb @@ -100,7 +100,7 @@ def write_payload_header(packer) end def itr - @itr ||= Datadog::CI.send(:itr_runner) + @test_optimisation ||= Datadog::CI.send(:test_optimisation) end end end diff --git a/sig/datadog/ci.rbs b/sig/datadog/ci.rbs index 993b57cb..3cd1624c 100644 --- a/sig/datadog/ci.rbs +++ b/sig/datadog/ci.rbs @@ -31,6 +31,6 @@ module Datadog def self.test_visibility: () -> (Datadog::CI::TestVisibility::Component | Datadog::CI::TestVisibility::NullComponent) - def self.itr_runner: () -> Datadog::CI::ITR::Runner? + def self.test_optimisation: () -> Datadog::CI::TestOptimisation::Component? end end diff --git a/sig/datadog/ci/configuration/components.rbs b/sig/datadog/ci/configuration/components.rbs index 8845f844..4b7d014d 100644 --- a/sig/datadog/ci/configuration/components.rbs +++ b/sig/datadog/ci/configuration/components.rbs @@ -3,11 +3,11 @@ module Datadog module Configuration module Components : Datadog::Core::Configuration::Components @test_visibility: Datadog::CI::TestVisibility::Component | Datadog::CI::TestVisibility::NullComponent - @itr: Datadog::CI::ITR::Runner? + @test_optimisation: Datadog::CI::TestOptimisation::Component? @custom_configuration: Hash[String, String] attr_reader test_visibility: Datadog::CI::TestVisibility::Component | Datadog::CI::TestVisibility::NullComponent - attr_reader itr: Datadog::CI::ITR::Runner? + attr_reader test_optimisation: Datadog::CI::TestOptimisation::Component? def initialize: (untyped settings) -> void @@ -21,7 +21,7 @@ module Datadog def build_tracing_transport: (untyped settings, Datadog::CI::Transport::Api::Base? api) -> Datadog::CI::TestVisibility::Transport? - def build_coverage_writer: (untyped settings, Datadog::CI::Transport::Api::Base? api) -> Datadog::CI::ITR::Coverage::Writer? + def build_coverage_writer: (untyped settings, Datadog::CI::Transport::Api::Base? api) -> Datadog::CI::TestOptimisation::Coverage::Writer? def build_git_upload_worker: (untyped settings, Datadog::CI::Transport::Api::Base? api) -> Datadog::CI::Worker diff --git a/sig/datadog/ci/itr/coverage/ddcov.rbs b/sig/datadog/ci/test_optimisation/coverage/ddcov.rbs similarity index 92% rename from sig/datadog/ci/itr/coverage/ddcov.rbs rename to sig/datadog/ci/test_optimisation/coverage/ddcov.rbs index 156789ff..0b5c9c56 100644 --- a/sig/datadog/ci/itr/coverage/ddcov.rbs +++ b/sig/datadog/ci/test_optimisation/coverage/ddcov.rbs @@ -1,6 +1,6 @@ module Datadog module CI - module ITR + module TestOptimisation module Coverage class DDCov type threading_mode = :multi | :single diff --git a/sig/datadog/ci/itr/coverage/event.rbs b/sig/datadog/ci/test_optimisation/coverage/event.rbs similarity index 96% rename from sig/datadog/ci/itr/coverage/event.rbs rename to sig/datadog/ci/test_optimisation/coverage/event.rbs index 0e868934..d3a27237 100644 --- a/sig/datadog/ci/itr/coverage/event.rbs +++ b/sig/datadog/ci/test_optimisation/coverage/event.rbs @@ -1,6 +1,6 @@ module Datadog module CI - module ITR + module TestOptimisation module Coverage class Event @test_id: String diff --git a/sig/datadog/ci/itr/coverage/transport.rbs b/sig/datadog/ci/test_optimisation/coverage/transport.rbs similarity index 57% rename from sig/datadog/ci/itr/coverage/transport.rbs rename to sig/datadog/ci/test_optimisation/coverage/transport.rbs index b289d440..0dc69c5a 100644 --- a/sig/datadog/ci/itr/coverage/transport.rbs +++ b/sig/datadog/ci/test_optimisation/coverage/transport.rbs @@ -1,17 +1,17 @@ module Datadog module CI - module ITR + module TestOptimisation module Coverage class Transport < Datadog::CI::Transport::EventPlatformTransport private def send_payload: (String payload) -> ::Datadog::CI::Transport::HTTP::ResponseDecorator - def encode_events: (Array[Datadog::CI::ITR::Coverage::Event] events) -> ::Array[String] + def encode_events: (Array[Datadog::CI::TestOptimisation::Coverage::Event] events) -> ::Array[String] def pack_events: (Array[String] encoded_events) -> String - def event_too_large?: (Datadog::CI::ITR::Coverage::Event event, String encoded_event) -> bool + def event_too_large?: (Datadog::CI::TestOptimisation::Coverage::Event event, String encoded_event) -> bool end end end diff --git a/sig/datadog/ci/itr/coverage/writer.rbs b/sig/datadog/ci/test_optimisation/coverage/writer.rbs similarity index 52% rename from sig/datadog/ci/itr/coverage/writer.rbs rename to sig/datadog/ci/test_optimisation/coverage/writer.rbs index ae9e0438..cbabde7a 100644 --- a/sig/datadog/ci/itr/coverage/writer.rbs +++ b/sig/datadog/ci/test_optimisation/coverage/writer.rbs @@ -1,6 +1,6 @@ module Datadog module CI - module ITR + module TestOptimisation module Coverage class Writer include Datadog::Core::Workers::Async::Thread @@ -8,7 +8,7 @@ module Datadog include Datadog::Core::Workers::Queue include Datadog::Core::Workers::IntervalLoop - @transport: Datadog::CI::ITR::Coverage::Transport + @transport: Datadog::CI::TestOptimisation::Coverage::Transport @buffer_size: Integer @@ -16,7 +16,7 @@ module Datadog @stopped: bool - attr_reader transport: Datadog::CI::ITR::Coverage::Transport + attr_reader transport: Datadog::CI::TestOptimisation::Coverage::Transport DEFAULT_BUFFER_MAX_SIZE: 10000 @@ -24,17 +24,17 @@ module Datadog DEFAULT_INTERVAL: 3 - def initialize: (transport: Datadog::CI::ITR::Coverage::Transport, ?options: ::Hash[untyped, untyped]) -> void + def initialize: (transport: Datadog::CI::TestOptimisation::Coverage::Transport, ?options: ::Hash[untyped, untyped]) -> void - def write: (Datadog::CI::ITR::Coverage::Event event) -> untyped + def write: (Datadog::CI::TestOptimisation::Coverage::Event event) -> untyped - def perform: (*Datadog::CI::ITR::Coverage::Event events) -> nil + def perform: (*Datadog::CI::TestOptimisation::Coverage::Event events) -> nil def stop: (?bool force_stop, ?Integer timeout) -> untyped - def enqueue: (Datadog::CI::ITR::Coverage::Event event) -> untyped + def enqueue: (Datadog::CI::TestOptimisation::Coverage::Event event) -> untyped - def dequeue: () -> ::Array[Datadog::CI::ITR::Coverage::Event] + def dequeue: () -> ::Array[Datadog::CI::TestOptimisation::Coverage::Event] def async?: () -> true diff --git a/sig/datadog/ci/itr/runner.rbs b/sig/datadog/ci/test_optimisation/runner.rbs similarity index 73% rename from sig/datadog/ci/itr/runner.rbs rename to sig/datadog/ci/test_optimisation/runner.rbs index 7c4daae4..a9e016ab 100644 --- a/sig/datadog/ci/itr/runner.rbs +++ b/sig/datadog/ci/test_optimisation/runner.rbs @@ -1,7 +1,7 @@ module Datadog module CI - module ITR - class Runner + module TestOptimisation + class Component include Datadog::Core::Utils::Forking @enabled: bool @@ -9,7 +9,7 @@ module Datadog @code_coverage_enabled: bool @correlation_id: String? @skippable_tests: Set[String] - @coverage_writer: Datadog::CI::ITR::Coverage::Writer? + @coverage_writer: Datadog::CI::TestOptimisation::Coverage::Writer? @api: Datadog::CI::Transport::Api::Base? @dd_env: String? @@ -24,7 +24,7 @@ module Datadog attr_reader skipped_tests_count: Integer attr_reader correlation_id: String? - def initialize: (dd_env: String?, ?enabled: bool, ?coverage_writer: Datadog::CI::ITR::Coverage::Writer?, ?api: Datadog::CI::Transport::Api::Base?, ?config_tags: Hash[String, String]?, ?bundle_location: String?, ?use_single_threaded_coverage: bool) -> void + def initialize: (dd_env: String?, ?enabled: bool, ?coverage_writer: Datadog::CI::TestOptimisation::Coverage::Writer?, ?api: Datadog::CI::Transport::Api::Base?, ?config_tags: Hash[String, String]?, ?bundle_location: String?, ?use_single_threaded_coverage: bool) -> void def configure: (Hash[String, untyped] remote_configuration, test_session: Datadog::CI::TestSession, git_tree_upload_worker: Datadog::CI::Worker) -> void @@ -36,7 +36,7 @@ module Datadog def start_coverage: (Datadog::CI::Test test) -> void - def stop_coverage: (Datadog::CI::Test test) -> Datadog::CI::ITR::Coverage::Event? + def stop_coverage: (Datadog::CI::Test test) -> Datadog::CI::TestOptimisation::Coverage::Event? def mark_if_skippable: (Datadog::CI::Test test) -> void @@ -48,11 +48,11 @@ module Datadog private - def coverage_collector: () -> Datadog::CI::ITR::Coverage::DDCov? + def coverage_collector: () -> Datadog::CI::TestOptimisation::Coverage::DDCov? def load_datadog_cov!: () -> void - def write: (Datadog::CI::ITR::Coverage::Event event) -> void + def write: (Datadog::CI::TestOptimisation::Coverage::Event event) -> void def ensure_test_source_covered: (String test_source_file, Hash[String, untyped] coverage) -> void @@ -60,7 +60,7 @@ module Datadog def increment_skipped_tests_counter: () -> void - def code_coverage_mode: () -> Datadog::CI::ITR::Coverage::DDCov::threading_mode + def code_coverage_mode: () -> Datadog::CI::TestOptimisation::Coverage::DDCov::threading_mode end end end diff --git a/sig/datadog/ci/itr/skippable.rbs b/sig/datadog/ci/test_optimisation/skippable.rbs similarity index 97% rename from sig/datadog/ci/itr/skippable.rbs rename to sig/datadog/ci/test_optimisation/skippable.rbs index f29e893c..4c704ea5 100644 --- a/sig/datadog/ci/itr/skippable.rbs +++ b/sig/datadog/ci/test_optimisation/skippable.rbs @@ -1,6 +1,6 @@ module Datadog module CI - module ITR + module TestOptimisation class Skippable @api: Datadog::CI::Transport::Api::Base? @dd_env: String? diff --git a/sig/datadog/ci/test_visibility/component.rbs b/sig/datadog/ci/test_visibility/component.rbs index 0193bbda..aa0b4870 100644 --- a/sig/datadog/ci/test_visibility/component.rbs +++ b/sig/datadog/ci/test_visibility/component.rbs @@ -7,7 +7,7 @@ module Datadog @environment_tags: Hash[String, String] @local_context: Datadog::CI::TestVisibility::Context::Local @global_context: Datadog::CI::TestVisibility::Context::Global - @itr: Datadog::CI::ITR::Runner + @test_optimisation: Datadog::CI::TestOptimisation::Component @remote_settings_api: Datadog::CI::Transport::RemoteSettingsApi @codeowners: Datadog::CI::Codeowners::Matcher @git_tree_upload_worker: Datadog::CI::Worker @@ -15,7 +15,7 @@ module Datadog attr_reader environment_tags: Hash[String, String] attr_reader test_suite_level_visibility_enabled: bool - def initialize: (?test_suite_level_visibility_enabled: bool, ?codeowners: Datadog::CI::Codeowners::Matcher, itr: Datadog::CI::ITR::Runner, remote_settings_api: Datadog::CI::Transport::RemoteSettingsApi, ?git_tree_upload_worker: Datadog::CI::Worker) -> void + def initialize: (?test_suite_level_visibility_enabled: bool, ?codeowners: Datadog::CI::Codeowners::Matcher, test_optimisation: Datadog::CI::TestOptimisation::Component, remote_settings_api: Datadog::CI::Transport::RemoteSettingsApi, ?git_tree_upload_worker: Datadog::CI::Worker) -> void def trace_test: (String span_name, String test_suite_name, ?service: String?, ?tags: Hash[untyped, untyped]) ?{ (Datadog::CI::Test span) -> untyped } -> untyped diff --git a/sig/datadog/ci/test_visibility/transport.rbs b/sig/datadog/ci/test_visibility/transport.rbs index ee7e0f79..4c00fecb 100644 --- a/sig/datadog/ci/test_visibility/transport.rbs +++ b/sig/datadog/ci/test_visibility/transport.rbs @@ -7,7 +7,7 @@ module Datadog @dd_env: String? @serializers_factory: singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestLevel) | singleton(Datadog::CI::TestVisibility::Serializers::Factories::TestSuiteLevel) - @itr: Datadog::CI::ITR::Runner? + @test_optimisation: Datadog::CI::TestOptimisation::Component? def initialize: ( api: Datadog::CI::Transport::Api::Base, @@ -21,7 +21,7 @@ module Datadog def send_payload: (String encoded_payload) -> Datadog::CI::Transport::HTTP::ResponseDecorator def encode_events: (Array[Datadog::Tracing::TraceSegment] traces) -> ::Array[String] def encode_span: (Datadog::Tracing::TraceSegment trace, Datadog::Tracing::Span span) -> String? - def itr: () -> Datadog::CI::ITR::Runner? + def itr: () -> Datadog::CI::TestOptimisation::Component? end end end diff --git a/spec/datadog/ci/contrib/cucumber/instrumentation_spec.rb b/spec/datadog/ci/contrib/cucumber/instrumentation_spec.rb index 8ff61f98..af96fdc2 100644 --- a/spec/datadog/ci/contrib/cucumber/instrumentation_spec.rb +++ b/spec/datadog/ci/contrib/cucumber/instrumentation_spec.rb @@ -154,7 +154,6 @@ ) expect(test_session_span).to have_pass_status - # ITR expect(test_session_span).to have_test_tag(:itr_test_skipping_enabled, "true") expect(test_session_span).to have_test_tag(:itr_test_skipping_type, "test") expect(test_session_span).to have_test_tag(:itr_tests_skipped, "false") diff --git a/spec/datadog/ci/contrib/minitest/instrumentation_spec.rb b/spec/datadog/ci/contrib/minitest/instrumentation_spec.rb index 8bbe37ed..1d79f697 100644 --- a/spec/datadog/ci/contrib/minitest/instrumentation_spec.rb +++ b/spec/datadog/ci/contrib/minitest/instrumentation_spec.rb @@ -429,7 +429,6 @@ def test_pass_other Datadog::CI::Contrib::Minitest::Integration.version.to_s ) - # ITR expect(test_session_span).to have_test_tag(:itr_test_skipping_enabled, "true") expect(test_session_span).to have_test_tag(:itr_test_skipping_type, "test") expect(test_session_span).to have_test_tag(:itr_tests_skipped, "false") @@ -507,7 +506,7 @@ def test_pass_other expect(cov_event.coverage.keys).to include(absolute_path("helpers/addition_helper.rb")) end - context "when ITR skips tests" do + context "when test optimisation skips tests" do context "single skipped test" do let(:itr_skippable_tests) do Set.new(["SomeTest at spec/datadog/ci/contrib/minitest/instrumentation_spec.rb.test_pass."]) @@ -717,7 +716,7 @@ def test_b_2 expect_non_empty_coverages end - context "when ITR skips tests" do + context "when test optimisation skips tests" do let(:itr_skippable_tests) do Set.new( [ diff --git a/spec/datadog/ci/itr/coverage/event_spec.rb b/spec/datadog/ci/test_optimisation/coverage/event_spec.rb similarity index 93% rename from spec/datadog/ci/itr/coverage/event_spec.rb rename to spec/datadog/ci/test_optimisation/coverage/event_spec.rb index ad17bef6..094cbb58 100644 --- a/spec/datadog/ci/itr/coverage/event_spec.rb +++ b/spec/datadog/ci/test_optimisation/coverage/event_spec.rb @@ -2,9 +2,9 @@ require "pp" -require_relative "../../../../../lib/datadog/ci/itr/coverage/event" +require_relative "../../../../../lib/datadog/ci/test_optimisation/coverage/event" -RSpec.describe Datadog::CI::ITR::Coverage::Event do +RSpec.describe Datadog::CI::TestOptimisation::Coverage::Event do subject do described_class.new( test_id: test_id, @@ -97,7 +97,7 @@ "test_suite_id" => 2, "span_id" => 1, "files" => [ - {"filename" => "spec/datadog/ci/itr/coverage/project/file.rb"} + {"filename" => "spec/datadog/ci/test_optimisation/coverage/project/file.rb"} ] } ) diff --git a/spec/datadog/ci/itr/coverage/transport_spec.rb b/spec/datadog/ci/test_optimisation/coverage/transport_spec.rb similarity index 90% rename from spec/datadog/ci/itr/coverage/transport_spec.rb rename to spec/datadog/ci/test_optimisation/coverage/transport_spec.rb index 31a231c4..70524a21 100644 --- a/spec/datadog/ci/itr/coverage/transport_spec.rb +++ b/spec/datadog/ci/test_optimisation/coverage/transport_spec.rb @@ -1,6 +1,6 @@ -require_relative "../../../../../lib/datadog/ci/itr/coverage/transport" +require_relative "../../../../../lib/datadog/ci/test_optimisation/coverage/transport" -RSpec.describe Datadog::CI::ITR::Coverage::Transport do +RSpec.describe Datadog::CI::TestOptimisation::Coverage::Transport do subject do described_class.new( api: api, @@ -16,7 +16,7 @@ let(:api) { spy(:api) } let(:event) do - Datadog::CI::ITR::Coverage::Event.new( + Datadog::CI::TestOptimisation::Coverage::Event.new( test_id: "1", test_suite_id: "2", test_session_id: "3", @@ -49,7 +49,7 @@ let(:events) do [ event, - Datadog::CI::ITR::Coverage::Event.new( + Datadog::CI::TestOptimisation::Coverage::Event.new( test_id: "4", test_suite_id: "5", test_session_id: "6", @@ -78,7 +78,7 @@ let(:events) do [ event, - Datadog::CI::ITR::Coverage::Event.new( + Datadog::CI::TestOptimisation::Coverage::Event.new( test_id: "4", test_suite_id: nil, test_session_id: "6", @@ -135,13 +135,13 @@ context "when all events are invalid" do let(:events) do [ - Datadog::CI::ITR::Coverage::Event.new( + Datadog::CI::TestOptimisation::Coverage::Event.new( test_id: "4", test_suite_id: "5", test_session_id: nil, coverage: {"file.rb" => true, "file2.rb" => true} ), - Datadog::CI::ITR::Coverage::Event.new( + Datadog::CI::TestOptimisation::Coverage::Event.new( test_id: "8", test_suite_id: nil, test_session_id: "6", diff --git a/spec/datadog/ci/itr/coverage/writer_spec.rb b/spec/datadog/ci/test_optimisation/coverage/writer_spec.rb similarity index 96% rename from spec/datadog/ci/itr/coverage/writer_spec.rb rename to spec/datadog/ci/test_optimisation/coverage/writer_spec.rb index ec19d9d8..0061ee3a 100644 --- a/spec/datadog/ci/itr/coverage/writer_spec.rb +++ b/spec/datadog/ci/test_optimisation/coverage/writer_spec.rb @@ -1,13 +1,13 @@ # frozen_string_literal: true -require_relative "../../../../../lib/datadog/ci/itr/coverage/writer" -require_relative "../../../../../lib/datadog/ci/itr/coverage/transport" +require_relative "../../../../../lib/datadog/ci/test_optimisation/coverage/writer" +require_relative "../../../../../lib/datadog/ci/test_optimisation/coverage/transport" -RSpec.describe Datadog::CI::ITR::Coverage::Writer do +RSpec.describe Datadog::CI::TestOptimisation::Coverage::Writer do subject(:writer) { described_class.new(transport: transport, options: options) } let(:options) { {} } - let(:transport) { instance_double(Datadog::CI::ITR::Coverage::Transport) } + let(:transport) { instance_double(Datadog::CI::TestOptimisation::Coverage::Transport) } before do allow(transport).to receive(:send_events).and_return([]) end diff --git a/spec/datadog/ci/itr/runner_spec.rb b/spec/datadog/ci/test_optimisation/runner_spec.rb similarity index 94% rename from spec/datadog/ci/itr/runner_spec.rb rename to spec/datadog/ci/test_optimisation/runner_spec.rb index 897f7416..37c820bc 100644 --- a/spec/datadog/ci/itr/runner_spec.rb +++ b/spec/datadog/ci/test_optimisation/runner_spec.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true -require_relative "../../../../lib/datadog/ci/itr/runner" +require_relative "../../../../lib/datadog/ci/test_optimisation/component" -RSpec.describe Datadog::CI::ITR::Runner do +RSpec.describe Datadog::CI::TestOptimisation::Component do let(:itr_enabled) { true } let(:api) { double("api") } @@ -58,9 +58,9 @@ let(:remote_configuration) { {"itr_enabled" => true, "code_coverage" => true, "tests_skipping" => true} } let(:skippable) do instance_double( - Datadog::CI::ITR::Skippable, + Datadog::CI::TestOptimisation::Skippable, fetch_skippable_tests: instance_double( - Datadog::CI::ITR::Skippable::Response, + Datadog::CI::TestOptimisation::Skippable::Response, correlation_id: "42", tests: Set.new(["suite.test."]) ) @@ -68,7 +68,7 @@ end before do - expect(Datadog::CI::ITR::Skippable).to receive(:new).and_return(skippable) + expect(Datadog::CI::TestOptimisation::Skippable).to receive(:new).and_return(skippable) configure end @@ -127,7 +127,7 @@ end end - context "when ITR is disabled" do + context "when TestOptimisation is disabled" do let(:remote_configuration) { {"itr_enabled" => false, "code_coverage" => false, "tests_skipping" => false} } it "does not start coverage" do @@ -229,9 +229,9 @@ let(:remote_configuration) { {"itr_enabled" => true, "code_coverage" => true, "tests_skipping" => true} } let(:skippable) do instance_double( - Datadog::CI::ITR::Skippable, + Datadog::CI::TestOptimisation::Skippable, fetch_skippable_tests: instance_double( - Datadog::CI::ITR::Skippable::Response, + Datadog::CI::TestOptimisation::Skippable::Response, correlation_id: "42", tests: Set.new(["suite.test.", "suite2.test.", "suite.test3."]) ) @@ -239,7 +239,7 @@ end before do - expect(Datadog::CI::ITR::Skippable).to receive(:new).and_return(skippable) + expect(Datadog::CI::TestOptimisation::Skippable).to receive(:new).and_return(skippable) configure end @@ -383,10 +383,10 @@ end end - context "when ITR is disabled" do + context "when TestOptimisation is disabled" do let(:itr_enabled) { false } - it "does not add ITR tags to the session" do + it "does not add ITR/TestOptimisation tags to the session" do subject expect(test_session_span.get_tag(Datadog::CI::Ext::Test::TAG_ITR_TESTS_SKIPPED)).to be_nil diff --git a/spec/datadog/ci/itr/skippable_spec.rb b/spec/datadog/ci/test_optimisation/skippable_spec.rb similarity index 97% rename from spec/datadog/ci/itr/skippable_spec.rb rename to spec/datadog/ci/test_optimisation/skippable_spec.rb index 4cdf7982..d9699f79 100644 --- a/spec/datadog/ci/itr/skippable_spec.rb +++ b/spec/datadog/ci/test_optimisation/skippable_spec.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true -require_relative "../../../../lib/datadog/ci/itr/skippable" +require_relative "../../../../lib/datadog/ci/test_optimisation/skippable" -RSpec.describe Datadog::CI::ITR::Skippable do +RSpec.describe Datadog::CI::TestOptimisation::Skippable do let(:api) { spy("api") } let(:dd_env) { "ci" } let(:config_tags) { {} } diff --git a/spec/datadog/ci/test_visibility/component_spec.rb b/spec/datadog/ci/test_visibility/component_spec.rb index 008a4fe2..2b2d8d41 100644 --- a/spec/datadog/ci/test_visibility/component_spec.rb +++ b/spec/datadog/ci/test_visibility/component_spec.rb @@ -112,7 +112,7 @@ end context "when test suite level visibility is enabled" do - context "without ITR" do + context "without TestOptimisation" do include_context "CI mode activated" describe "#trace" do @@ -732,7 +732,7 @@ end end - context "with ITR" do + context "with TestOptimisation" do context "without require_git in settings response" do include_context "CI mode activated" do let(:itr_enabled) { true } @@ -746,7 +746,7 @@ subject { test_visibility.start_test_session(service: service, tags: tags) } - it "returns a new CI test_session span with ITR tags" do + it "returns a new CI test_session span with ITR/TestOptimisation tags" do expect(subject).to be_kind_of(Datadog::CI::TestSession) expect(subject.service).to eq(service) diff --git a/spec/datadog/ci/test_visibility/transport_spec.rb b/spec/datadog/ci/test_visibility/transport_spec.rb index 2ef48da8..15fb0e4c 100644 --- a/spec/datadog/ci/test_visibility/transport_spec.rb +++ b/spec/datadog/ci/test_visibility/transport_spec.rb @@ -82,7 +82,7 @@ let(:serializers_factory) { Datadog::CI::TestVisibility::Serializers::Factories::TestSuiteLevel } before do - allow_any_instance_of(Datadog::CI::ITR::Runner).to receive(:correlation_id).and_return("correlation-id") + allow_any_instance_of(Datadog::CI::TestOptimisation::Component).to receive(:correlation_id).and_return("correlation-id") produce_test_session_trace end diff --git a/spec/ddcov/ddcov_spec.rb b/spec/ddcov/ddcov_spec.rb index 4f0cc68a..98b79313 100644 --- a/spec/ddcov/ddcov_spec.rb +++ b/spec/ddcov/ddcov_spec.rb @@ -5,7 +5,7 @@ require_relative "calculator/calculator" require_relative "calculator/code_with_❤️" -RSpec.describe Datadog::CI::ITR::Coverage::DDCov do +RSpec.describe Datadog::CI::TestOptimisation::Coverage::DDCov do let(:ignored_path) { nil } let(:threading_mode) { :multi } subject { described_class.new(root: root, ignored_path: ignored_path, threading_mode: threading_mode) } diff --git a/spec/ddcov/ddcov_with_symlinks_spec.rb b/spec/ddcov/ddcov_with_symlinks_spec.rb index 3b382216..ce1915e3 100644 --- a/spec/ddcov/ddcov_with_symlinks_spec.rb +++ b/spec/ddcov/ddcov_with_symlinks_spec.rb @@ -4,7 +4,7 @@ require "datadog_cov.#{RUBY_VERSION}_#{RUBY_PLATFORM}" -RSpec.describe Datadog::CI::ITR::Coverage::DDCov do +RSpec.describe Datadog::CI::TestOptimisation::Coverage::DDCov do before do # create a symlink to the calculator_with_symlinks/operations folder in vendor/gems FileUtils.ln_s( diff --git a/spec/support/contexts/ci_mode.rb b/spec/support/contexts/ci_mode.rb index 611b9aca..862ff263 100644 --- a/spec/support/contexts/ci_mode.rb +++ b/spec/support/contexts/ci_mode.rb @@ -30,7 +30,7 @@ let(:skippable_tests_response) do instance_double( - Datadog::CI::ITR::Skippable::Response, + Datadog::CI::TestOptimisation::Skippable::Response, ok?: true, correlation_id: itr_correlation_id, tests: itr_skippable_tests @@ -69,8 +69,8 @@ require_git?: !require_git ) ) - allow_any_instance_of(Datadog::CI::ITR::Skippable).to receive(:fetch_skippable_tests).and_return(skippable_tests_response) - allow_any_instance_of(Datadog::CI::ITR::Coverage::Transport).to receive(:send_events).and_return([]) + allow_any_instance_of(Datadog::CI::TestOptimisation::Skippable).to receive(:fetch_skippable_tests).and_return(skippable_tests_response) + allow_any_instance_of(Datadog::CI::TestOptimisation::Coverage::Transport).to receive(:send_events).and_return([]) Datadog.configure do |c| c.ci.enabled = ci_enabled @@ -88,7 +88,7 @@ after do ::Datadog::Tracing.shutdown! - Datadog::CI.send(:itr_runner)&.shutdown! + Datadog::CI.send(:test_optimisation)&.shutdown! Datadog::CI.send(:test_visibility)&.shutdown! Datadog.configure do |c| diff --git a/spec/support/coverage_helpers.rb b/spec/support/coverage_helpers.rb index f74d3de1..b73cd3fc 100644 --- a/spec/support/coverage_helpers.rb +++ b/spec/support/coverage_helpers.rb @@ -26,7 +26,7 @@ def clear_coverage_events! def setup_test_coverage_writer! # DEV `*_any_instance_of` has concurrency issues when running with parallelism (e.g. JRuby). # DEV Single object `allow` and `expect` work as intended with parallelism. - allow(Datadog::CI::ITR::Runner).to receive(:new).and_wrap_original do |method, **args, &block| + allow(Datadog::CI::TestOptimisation::Component).to receive(:new).and_wrap_original do |method, **args, &block| instance = method.call(**args, &block) write_lock = Mutex.new @@ -44,7 +44,7 @@ def setup_test_coverage_writer! end def runner - Datadog::CI.send(:itr_runner) + Datadog::CI.send(:test_optimisation) end def expect_coverage_events_belong_to_session(test_session_span)