Sha256: 4d94cdeb0effede80f258060fc125ee168161408ef1733f7444f8fb819562f5c

Contents?: true

Size: 1.22 KB

Versions: 40

Compression:

Stored size: 1.22 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

require File.expand_path(File.join(File.dirname(__FILE__),'..','..','test_helper'))

class NewRelic::Rack::DeferredInstrumentationTest < Minitest::Test
  class TestApp
    def call(env)
      [200, {}, ["whatever"]]
    end
  end

  def test_to_app_does_not_blow_up_when_rack_instrumentation_required_multiple_times
    # We want to use two different paths to require the rack instrumentation here
    # in order to simulate a situation that might arise where a user is
    # explicitly requiring our rack instrumentation file, and then the agent
    # automatically requires it as well, via a different path.
    # On Ruby 1.8.7, this will cause the file to be evaluated multiple times.
    path1 = "new_relic/agent/instrumentation/rack"
    path2 = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'lib', 'new_relic', 'agent', 'instrumentation', 'rack'))
    refute_equal(path2, path1)

    require path1
    require path2

    builder = ::Rack::Builder.new do
      run(::NewRelic::Rack::DeferredInstrumentationTest::TestApp.new)
    end

    builder.to_app
  end
end

Version data entries

40 entries across 40 versions & 2 rubygems

Version Path
newrelic_rpm-3.18.1.330 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.18.0.329 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.17.2.327 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.17.1.326 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.17.0.325 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.16.3.323 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.16.2.321 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.16.1.320 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.16.0.318 test/new_relic/rack/deferred_instrumentation_test.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/newrelic_rpm-3.15.2.317/test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.15.2.317 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.15.1.316 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.15.0.314 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.14.3.313 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.14.2.312 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.14.1.311 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.14.0.305 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.13.2.302 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.13.1.300 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.13.0.299 test/new_relic/rack/deferred_instrumentation_test.rb