Sha256: e1b761253f117f9622e4462fcd7b541b8cbfeeb132e61a633791a124c31b1394

Contents?: true

Size: 965 Bytes

Versions: 5

Compression:

Stored size: 965 Bytes

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 = Datadog::CI.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
          end
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
datadog-ci-1.2.0 lib/datadog/ci/contrib/minitest/runnable.rb
datadog-ci-1.1.0 lib/datadog/ci/contrib/minitest/runnable.rb
datadog-ci-1.0.1 lib/datadog/ci/contrib/minitest/runnable.rb
datadog-ci-1.0.0 lib/datadog/ci/contrib/minitest/runnable.rb
datadog-ci-1.0.0.beta6 lib/datadog/ci/contrib/minitest/runnable.rb