Sha256: 847974c3057ad3076e7c1a3b985ec84da3f073ffa57702fc83079d0d4df5c7a9

Contents?: true

Size: 967 Bytes

Versions: 13

Compression:

Stored size: 967 Bytes

Contents

# frozen_string_literal: true

module Datadog
  module CI
    module TestVisibility
      module Context
        class Local
          def initialize
            @key = :datadog_ci_active_test

            self.active_test = nil
          end

          def activate_test(test)
            raise "Nested tests are not supported. Currently active test: #{active_test}" unless active_test.nil?

            if block_given?
              begin
                self.active_test = test
                yield
              ensure
                self.active_test = nil
              end
            else
              self.active_test = test
            end
          end

          def deactivate_test
            self.active_test = nil
          end

          def active_test
            Thread.current[@key]
          end

          private

          def active_test=(test)
            Thread.current[@key] = test
          end
        end
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
datadog-ci-1.2.0 lib/datadog/ci/test_visibility/context/local.rb
datadog-ci-1.1.0 lib/datadog/ci/test_visibility/context/local.rb
datadog-ci-1.0.1 lib/datadog/ci/test_visibility/context/local.rb
datadog-ci-1.0.0 lib/datadog/ci/test_visibility/context/local.rb
datadog-ci-1.0.0.beta6 lib/datadog/ci/test_visibility/context/local.rb
datadog-ci-1.0.0.beta3 lib/datadog/ci/test_visibility/context/local.rb
datadog-ci-1.0.0.beta2 lib/datadog/ci/test_visibility/context/local.rb
datadog-ci-1.0.0.beta1 lib/datadog/ci/test_visibility/context/local.rb
datadog-ci-0.8.3 lib/datadog/ci/test_visibility/context/local.rb
datadog-ci-0.8.2 lib/datadog/ci/test_visibility/context/local.rb
datadog-ci-0.8.1 lib/datadog/ci/test_visibility/context/local.rb
datadog-ci-0.8.0 lib/datadog/ci/test_visibility/context/local.rb
datadog-ci-0.7.0 lib/datadog/ci/test_visibility/context/local.rb