Sha256: c8e917a33cf67e188163ad49e4bf6183c79b6a5222b2858b7699370c8347d13d
Contents?: true
Size: 1.22 KB
Versions: 5
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.join(File.dirname(__FILE__), '..', '..', '..', 'new_relic', 'marshalling_test_cases') if NewRelic::LanguageSupport.can_fork? class ResqueMarshallingTest < Minitest::Test include MultiverseHelpers include MarshallingTestCases setup_and_teardown_agent class DummyJob extend Resque::Plugins::NewRelicInstrumentation end def invoke_hook(name, *args) hooks = Array(Resque.send(name)) hooks.each { |h| h.call(*args) } end def around_each invoke_hook(:before_first_fork) # We just need something that responds to object_id here, because our # Resque instrumentation uses that to assign a unique identifier to the pipe # that will be used to send data about this job. job = Object.new invoke_hook(:before_fork, job) child_pid = Process.fork if child_pid Process.wait(child_pid) else invoke_hook(:after_fork, job) DummyJob.around_perform_with_monitoring do yield end exit end end def after_each NewRelic::Agent::PipeChannelManager.listener.stop end end end
Version data entries
5 entries across 5 versions & 1 rubygems