Browse files

Skip tests for non-supported isolation levels

i.e. Oracle database does not support these isolation levels.
`:read_uncommitted` `:repeatable_read`

This commit also works with other databases which do not support
these isolation levels.
  • Loading branch information...
1 parent 01cef4f commit 5826b5008ff891a8bc9c0dc64a212ed24206245f @yahonda yahonda committed Sep 25, 2012
Showing with 6 additions and 2 deletions.
  1. +6 −2 activerecord/test/cases/transaction_isolation_test.rb
@@ -44,7 +44,9 @@ class Tag2 < ActiveRecord::Base
# specifies what must not happen at a certain level, not what must happen. At
# the read uncommitted level, there is nothing that must not happen.
test "read uncommitted" do
- return skip "Oracle does not support read uncommitted" if current_adapter? :OracleAdapter
+ unless ActiveRecord::Base.connection.transaction_isolation_levels.include?(:read_uncommitted)
+ skip "database does not support read uncommitted isolation level"
+ end
Tag.transaction(isolation: :read_uncommitted) do
assert_equal 0, Tag.count
@@ -68,7 +70,9 @@ class Tag2 < ActiveRecord::Base
# We are testing that a nonrepeatable read does not happen
test "repeatable read" do
- return skip "Oracle does not support repeatble read" if current_adapter? :OracleAdapter
+ unless ActiveRecord::Base.connection.transaction_isolation_levels.include?(:repeatable_read)
+ skip "database does not support repeatable read isolation level"
+ end
tag = Tag.create(name: 'jon')
Tag.transaction(isolation: :repeatable_read) do

0 comments on commit 5826b50

Please sign in to comment.