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.12.1.298 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.12.0.288 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.11.2.286 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.11.1.284 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.11.0.283 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.10.0.279 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.9.9.275 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.9.8.273 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.9.7.266 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.9.6.257 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.9.5.251 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.9.4.245 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.9.3.241 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.9.2.239 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.9.1.236 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.9.0.229 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.8.1.221 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.8.0.218 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.7.3.204 test/new_relic/rack/deferred_instrumentation_test.rb
newrelic_rpm-3.7.3.199 test/new_relic/rack/deferred_instrumentation_test.rb