diff options
author | Yasuo Honda <yasuo.honda@gmail.com> | 2012-09-26 04:29:25 +0900 |
---|---|---|
committer | Yasuo Honda <yasuo.honda@gmail.com> | 2012-09-26 04:29:25 +0900 |
commit | 5826b5008ff891a8bc9c0dc64a212ed24206245f (patch) | |
tree | 4abc683c47ccf55f722ba6b28314a8a462e26621 /activerecord | |
parent | 01cef4f3fc04978f283bd87446dab59a2b531e35 (diff) | |
download | rails-5826b5008ff891a8bc9c0dc64a212ed24206245f.tar.gz rails-5826b5008ff891a8bc9c0dc64a212ed24206245f.tar.bz2 rails-5826b5008ff891a8bc9c0dc64a212ed24206245f.zip |
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.
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/test/cases/transaction_isolation_test.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/activerecord/test/cases/transaction_isolation_test.rb b/activerecord/test/cases/transaction_isolation_test.rb index c7f36b53b1..a396da6645 100644 --- a/activerecord/test/cases/transaction_isolation_test.rb +++ b/activerecord/test/cases/transaction_isolation_test.rb @@ -44,7 +44,9 @@ class TransactionIsolationTest < ActiveRecord::TestCase # 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 Tag2.create @@ -68,7 +70,9 @@ class TransactionIsolationTest < ActiveRecord::TestCase # 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 |