Sha256: 87ea5889f73f3a14d2ebadd4b5b53fbb90cb0ccbb0e3924479569f3b295aa32d

Contents?: true

Size: 1.07 KB

Versions: 5

Compression:

Stored size: 1.07 KB

Contents

require_relative "helpers"

module Datadog
  module CI
    module Contrib
      module Minitest
        module Runnable
          def self.included(base)
            base.singleton_class.prepend(ClassMethods)
          end

          module ClassMethods
            def run(*args)
              return super unless datadog_configuration[:enabled]
              return super if Helpers.parallel?(self)

              method = runnable_methods.first
              return super if method.nil?

              test_suite_name = Helpers.test_suite_name(self, method)

              test_suite = test_visibility_component.start_test_suite(test_suite_name)

              results = super
              return results unless test_suite

              test_suite.finish

              results
            end

            private

            def datadog_configuration
              Datadog.configuration.ci[:minitest]
            end

            def test_visibility_component
              Datadog.send(:components).test_visibility
            end
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
datadog-ci-1.6.0 lib/datadog/ci/contrib/minitest/runnable.rb
datadog-ci-1.5.0 lib/datadog/ci/contrib/minitest/runnable.rb
datadog-ci-1.4.1 lib/datadog/ci/contrib/minitest/runnable.rb
datadog-ci-1.4.0 lib/datadog/ci/contrib/minitest/runnable.rb
datadog-ci-1.3.0 lib/datadog/ci/contrib/minitest/runnable.rb