class DebugLocksTest

Public Instance Methods

test_render_threads_status() click to toggle source
# File actionpack/test/dispatch/debug_locks_test.rb, line 10
def test_render_threads_status
  thread_ready = Concurrent::CountDownLatch.new
  test_terminated = Concurrent::CountDownLatch.new

  thread = Thread.new do
    ActiveSupport::Dependencies.interlock.running do
      thread_ready.count_down
      test_terminated.wait
    end
  end

  thread_ready.wait

  get "/quails/locks"

  test_terminated.count_down

  assert_match(/Thread.*?Sharing/, @response.body)
ensure
  thread.join
end

Private Instance Methods

build_app() click to toggle source
# File actionpack/test/dispatch/debug_locks_test.rb, line 33
def build_app
  @app = self.class.build_app do |middleware|
    middleware.use ActionDispatch::DebugLocks
  end
end