Module: Datadog::CI::Contrib::Minitest::Test

Defined in:
lib/datadog/ci/contrib/minitest/test.rb

Overview

Lifecycle hooks to instrument Minitest::Test

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

._dd_pre_datadog_minitest_runObject

Returns the value of attribute _dd_pre_datadog_minitest_run.



18
19
20
# File 'lib/datadog/ci/contrib/minitest/test.rb', line 18

def _dd_pre_datadog_minitest_run
  @_dd_pre_datadog_minitest_run
end

Class Method Details

.included(base) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/datadog/ci/contrib/minitest/test.rb', line 21

def self.included(base)
  unless base < InstanceMethods
    # Preserve the run implementation that existed before Datadog was prepended.
    # RunMethodCapture repairs this if auto-instrumentation observes Minitest::Test
    # before Minitest defines its concrete #run. See that helper for the ci-queue
    # and minitest-reporters load-order details.
    self._dd_pre_datadog_minitest_run = base.instance_method(:run)
    base.prepend(InstanceMethods)
  end

  base.singleton_class.prepend(ClassMethods) unless base.singleton_class < ClassMethods
end