Sha256: 7ef3dfe551ce381b95d0cb50b7f5eb8afa6f59582c498ae754ad8e41c013e81b

Contents?: true

Size: 924 Bytes

Versions: 6

Compression:

Stored size: 924 Bytes

Contents

# frozen_string_literal: true

# Minitest finds this file before setup code
require_relative "tracer"

require_relative "minitest_plugin/reporter"
require_relative "minitest_plugin/trace"

module Buildkite::TestCollector::MinitestPlugin
  def before_setup
    super

    tracer = Buildkite::TestCollector::Tracer.new(
      min_duration: Buildkite::TestCollector.trace_min_duration,
    )

    # The _buildkite prefix here is added as a safeguard against name collisions
    # as we are in the main thread
    Thread.current[:_buildkite_tracer] = tracer
  end

  def after_teardown
    tracer = Thread.current[:_buildkite_tracer]
    if !tracer.nil?
      Thread.current[:_buildkite_tracer] = nil
      tracer.finalize

      trace = Buildkite::TestCollector::MinitestPlugin::Trace.new(self, history: tracer.history)
      Buildkite::TestCollector.uploader.traces[trace.source_location] = trace
    end

    super
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
buildkite-test_collector-2.8.0 lib/buildkite/test_collector/minitest_plugin.rb
buildkite-test_collector-2.7.2 lib/buildkite/test_collector/minitest_plugin.rb
buildkite-test_collector-2.7.1 lib/buildkite/test_collector/minitest_plugin.rb
buildkite-test_collector-2.7.0 lib/buildkite/test_collector/minitest_plugin.rb
buildkite-test_collector-2.6.1 lib/buildkite/test_collector/minitest_plugin.rb
buildkite-test_collector-2.6.0 lib/buildkite/test_collector/minitest_plugin.rb