aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters/mysql/statement_pool_test.rb
blob: 6be36566dec1bc407b53cf9e0e41ed6746c58f11 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
require 'cases/helper'

class MysqlStatementPoolTest < ActiveRecord::MysqlTestCase
  if Process.respond_to?(:fork)
    def test_cache_is_per_pid
      cache = ActiveRecord::ConnectionAdapters::MysqlAdapter::StatementPool.new nil, 10
      cache['foo'] = 'bar'
      assert_equal 'bar', cache['foo']

      pid = fork {
        lookup = cache['foo'];
        exit!(!lookup)
      }

      Process.waitpid pid
      assert $?.success?, 'process should exit successfully'
    end
  end
end