From 94b2c8c32d00e101b306875b86abf11b28b55699 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Thu, 8 Mar 2012 16:12:49 -0800 Subject: [PATCH] ensure that released connections move between threads --- .../test/cases/connection_pool_test.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/activerecord/test/cases/connection_pool_test.rb b/activerecord/test/cases/connection_pool_test.rb index ea3b15901553e..dd0acfdd030d1 100644 --- a/activerecord/test/cases/connection_pool_test.rb +++ b/activerecord/test/cases/connection_pool_test.rb @@ -31,6 +31,24 @@ def active_connections(pool) pool.connections.find_all(&:in_use?) end + def test_released_connection_moves_between_threads + thread_conn = nil + + Thread.new { + pool.with_connection do |conn| + thread_conn = conn + end + }.join + + assert thread_conn + + Thread.new { + pool.with_connection do |conn| + assert_equal thread_conn, conn + end + }.join + end + def test_with_connection assert_equal 0, active_connections(pool).size