Sha256: 62fd69ad0a5237794fa54eb3e749511e7d0b10a4c3be68fa835140b8215a3bf0
Contents?: true
Size: 1.3 KB
Versions: 5
Compression:
Stored size: 1.3 KB
Contents
# frozen_string_literal: true require_relative "../../ext/test" require_relative "ext" module Datadog module CI module Contrib module RSpec # Instrument RSpec::Core::ExampleGroup module ExampleGroup def self.included(base) base.singleton_class.prepend(ClassMethods) end # Instance methods for configuration module ClassMethods def run(reporter = ::RSpec::Core::NullReporter) return super if ::RSpec.configuration.dry_run? return super unless datadog_configuration[:enabled] return super unless top_level? suite_name = "#{description} at #{file_path}" test_suite = Datadog::CI.start_test_suite(suite_name) success = super return success unless test_suite if success && test_suite.passed_tests_count > 0 test_suite.passed! elsif success test_suite.skipped! else test_suite.failed! end test_suite.finish success end private def datadog_configuration Datadog.configuration.ci[:rspec] end end end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems