From 96882f8bee007682105084b6b5e40bcd5350fab5 Mon Sep 17 00:00:00 2001 From: Matthew Draper Date: Tue, 27 May 2014 04:45:53 +0930 Subject: [PATCH] Skip individual tests upon Dalli::RingError Unlike the outer `rescue`, this one is much more precise about what we want to handle: a connection failure (`Dalli::RingError`) is not relevant to what we're testing here. But other Dalli errors may well be indicating an actual problem. --- .../dispatch/session/mem_cache_store_test.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/actionpack/test/dispatch/session/mem_cache_store_test.rb b/actionpack/test/dispatch/session/mem_cache_store_test.rb index e53ce4195bb5f..1ab24072ebf70 100644 --- a/actionpack/test/dispatch/session/mem_cache_store_test.rb +++ b/actionpack/test/dispatch/session/mem_cache_store_test.rb @@ -48,6 +48,8 @@ def test_setting_and_getting_session_value assert_response :success assert_equal 'foo: "bar"', response.body end + rescue Dalli::RingError => ex + skip ex.message, ex.backtrace end def test_getting_nil_session_value @@ -56,6 +58,8 @@ def test_getting_nil_session_value assert_response :success assert_equal 'foo: nil', response.body end + rescue Dalli::RingError => ex + skip ex.message, ex.backtrace end def test_getting_session_value_after_session_reset @@ -75,6 +79,8 @@ def test_getting_session_value_after_session_reset assert_response :success assert_equal 'foo: nil', response.body, "data for this session should have been obliterated from memcached" end + rescue Dalli::RingError => ex + skip ex.message, ex.backtrace end def test_getting_from_nonexistent_session @@ -84,6 +90,8 @@ def test_getting_from_nonexistent_session assert_equal 'foo: nil', response.body assert_nil cookies['_session_id'], "should only create session on write, not read" end + rescue Dalli::RingError => ex + skip ex.message, ex.backtrace end def test_setting_session_value_after_session_reset @@ -105,6 +113,8 @@ def test_setting_session_value_after_session_reset assert_response :success assert_not_equal session_id, response.body end + rescue Dalli::RingError => ex + skip ex.message, ex.backtrace end def test_getting_session_id @@ -118,6 +128,8 @@ def test_getting_session_id assert_response :success assert_equal session_id, response.body, "should be able to read session id without accessing the session hash" end + rescue Dalli::RingError => ex + skip ex.message, ex.backtrace end def test_deserializes_unloaded_class @@ -132,6 +144,8 @@ def test_deserializes_unloaded_class assert_response :success end end + rescue Dalli::RingError => ex + skip ex.message, ex.backtrace end def test_doesnt_write_session_cookie_if_session_id_is_already_exists @@ -144,6 +158,8 @@ def test_doesnt_write_session_cookie_if_session_id_is_already_exists assert_response :success assert_equal nil, headers['Set-Cookie'], "should not resend the cookie again if session_id cookie is already exists" end + rescue Dalli::RingError => ex + skip ex.message, ex.backtrace end def test_prevents_session_fixation @@ -159,6 +175,8 @@ def test_prevents_session_fixation assert_response :success assert_not_equal session_id, cookies['_session_id'] end + rescue Dalli::RingError => ex + skip ex.message, ex.backtrace end rescue LoadError, RuntimeError, Dalli::DalliError $stderr.puts "Skipping MemCacheStoreTest tests. Start memcached and try again."