Sha256: b5e4af716dc680ae7647b9c5796bbddde405911d1cb4b17dffa111829f7aa9b4

Contents?: true

Size: 1002 Bytes

Versions: 4

Compression:

Stored size: 1002 Bytes

Contents

# frozen_string_literal: true

require "rspec/core"
require "rspec/expectations"

require_relative "../uploader"
require_relative "../rspec_plugin/reporter"
require_relative "../rspec_plugin/trace"

Buildkite::TestCollector.uploader = Buildkite::TestCollector::Uploader

RSpec.configure do |config|
  config.before(:suite) do
    config.add_formatter Buildkite::TestCollector::RSpecPlugin::Reporter

    Buildkite::TestCollector::Uploader.configure
  end

  config.around(:each) do |example|
    tracer = Buildkite::TestCollector::Tracer.new

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

    tracer.finalize

    trace = Buildkite::TestCollector::RSpecPlugin::Trace.new(example, history: tracer.history)
    Buildkite::TestCollector.uploader.traces[example.id] = trace
  end
end

Buildkite::TestCollector.enable_tracing!

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
buildkite-test_collector-1.1.1 lib/buildkite/test_collector/library_hooks/rspec.rb
buildkite-test_collector-1.1.0 lib/buildkite/test_collector/library_hooks/rspec.rb
buildkite-test_collector-1.0.1 lib/buildkite/test_collector/library_hooks/rspec.rb
buildkite-test_collector-1.0.0 lib/buildkite/test_collector/library_hooks/rspec.rb