diff options
author | Gaurish Sharma <contact@gaurishsharma.com> | 2013-09-22 15:40:49 +0530 |
---|---|---|
committer | Gaurish Sharma <contact@gaurishsharma.com> | 2013-09-23 21:33:20 +0530 |
commit | 2a6cb8ab2efa29509532835b36599915622120e4 (patch) | |
tree | ffcb48289a1295aa98dd1acc469905d86bd3d0ba /activerecord | |
parent | 32e23884cc424755531acc235228a7b2d4554fe1 (diff) | |
download | rails-2a6cb8ab2efa29509532835b36599915622120e4.tar.gz rails-2a6cb8ab2efa29509532835b36599915622120e4.tar.bz2 rails-2a6cb8ab2efa29509532835b36599915622120e4.zip |
We shouldn't override PostgreSQLAdapter's superclass inheritance while monkeypatching
Changing Inheritance section leads to following error on JRuby
TypeError: superclass mismatch for class PostgreSQLAdapter
After this change,
Jruby: The above error no longer appear. Tests are still failing but they do run. Progress!
MRI: No change, all green(tested by running take test_test_postgresql)
Thanks to Aditya Sanghi(@asanghi) for help
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/test/cases/adapters/postgresql/statement_pool_test.rb | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/activerecord/test/cases/adapters/postgresql/statement_pool_test.rb b/activerecord/test/cases/adapters/postgresql/statement_pool_test.rb index f1c4b85126..c5fd40accc 100644 --- a/activerecord/test/cases/adapters/postgresql/statement_pool_test.rb +++ b/activerecord/test/cases/adapters/postgresql/statement_pool_test.rb @@ -1,38 +1,40 @@ require 'cases/helper' -module ActiveRecord::ConnectionAdapters - class PostgreSQLAdapter < AbstractAdapter - class InactivePGconn - def query(*args) - raise PGError - end +module ActiveRecord + module ConnectionAdapters + class PostgreSQLAdapter < AbstractAdapter + class InactivePGconn + def query(*args) + raise PGError + end - def status - PGconn::CONNECTION_BAD + def status + PGconn::CONNECTION_BAD + end end - end - class StatementPoolTest < ActiveRecord::TestCase - def test_cache_is_per_pid - return skip('must support fork') unless Process.respond_to?(:fork) + class StatementPoolTest < ActiveRecord::TestCase + def test_cache_is_per_pid + return skip('must support fork') unless Process.respond_to?(:fork) - cache = StatementPool.new nil, 10 - cache['foo'] = 'bar' - assert_equal 'bar', cache['foo'] + cache = StatementPool.new nil, 10 + cache['foo'] = 'bar' + assert_equal 'bar', cache['foo'] - pid = fork { - lookup = cache['foo']; - exit!(!lookup) - } + pid = fork { + lookup = cache['foo']; + exit!(!lookup) + } - Process.waitpid pid - assert $?.success?, 'process should exit successfully' - end + Process.waitpid pid + assert $?.success?, 'process should exit successfully' + end - def test_dealloc_does_not_raise_on_inactive_connection - cache = StatementPool.new InactivePGconn.new, 10 - cache['foo'] = 'bar' - assert_nothing_raised { cache.clear } + def test_dealloc_does_not_raise_on_inactive_connection + cache = StatementPool.new InactivePGconn.new, 10 + cache['foo'] = 'bar' + assert_nothing_raised { cache.clear } + end end end end |