Sha256: 40d7498b69ee290d37b449c3714cbee9d832b17de3fc3dd6c6af80e4d9097fe2
Contents?: true
Size: 1.24 KB
Versions: 8
Compression:
Stored size: 1.24 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 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
8 entries across 8 versions & 1 rubygems