Sha256: e9f4774df304df22009ae4aa515ff56fe29a59772049d160a4d1bdbd8f703579
Contents?: true
Size: 1.35 KB
Versions: 3
Compression:
Stored size: 1.35 KB
Contents
# frozen_string_literal: true require "rspec/core" require "rspec/expectations" 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 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 config.after(:suite) do if Buildkite::TestCollector.artifact_path filename = File.join(Buildkite::TestCollector.artifact_path, "buildkite-test-collector-rspec-#{Buildkite::TestCollector::UUID.call}.json.gz") data_set = { results: Buildkite::TestCollector.uploader.traces.values.map(&:as_hash) } File.open(filename, "wb") do |f| gz = Zlib::GzipWriter.new(f) gz.write(data_set.to_json) gz.close end end end end Buildkite::TestCollector.enable_tracing!
Version data entries
3 entries across 3 versions & 1 rubygems