aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activesupport/test/abstract_unit.rb12
-rw-r--r--activesupport/test/caching_test.rb36
2 files changed, 30 insertions, 18 deletions
diff --git a/activesupport/test/abstract_unit.rb b/activesupport/test/abstract_unit.rb
index a698beaa0e..9d8c252f86 100644
--- a/activesupport/test/abstract_unit.rb
+++ b/activesupport/test/abstract_unit.rb
@@ -26,6 +26,16 @@ unless defined? uses_mocha
end
end
+unless defined? uses_memcached
+ def uses_memcached(test_name)
+ require 'memcache'
+ MemCache.new('localhost').stats
+ yield
+ rescue MemCache::MemCacheError
+ $stderr.puts "Skipping #{test_name} tests. Start memcached and try again."
+ end
+end
+
# Show backtraces for deprecated behavior for quicker cleanup.
ActiveSupport::Deprecation.debug = true
@@ -40,4 +50,4 @@ def with_kcode(code)
else
yield
end
-end \ No newline at end of file
+end
diff --git a/activesupport/test/caching_test.rb b/activesupport/test/caching_test.rb
index 88c6d6cca4..cc371b3a7b 100644
--- a/activesupport/test/caching_test.rb
+++ b/activesupport/test/caching_test.rb
@@ -146,26 +146,28 @@ class MemoryStoreTest < Test::Unit::TestCase
end
end
-class MemCacheStoreTest < Test::Unit::TestCase
- def setup
- @cache = ActiveSupport::Cache.lookup_store(:mem_cache_store)
- @cache.clear
- end
+uses_memcached 'memcached backed store' do
+ class MemCacheStoreTest < Test::Unit::TestCase
+ def setup
+ @cache = ActiveSupport::Cache.lookup_store(:mem_cache_store)
+ @cache.clear
+ end
- include CacheStoreBehavior
+ include CacheStoreBehavior
- def test_store_objects_should_be_immutable
- @cache.write('foo', 'bar')
- @cache.read('foo').gsub!(/.*/, 'baz')
- assert_equal 'bar', @cache.read('foo')
+ def test_store_objects_should_be_immutable
+ @cache.write('foo', 'bar')
+ @cache.read('foo').gsub!(/.*/, 'baz')
+ assert_equal 'bar', @cache.read('foo')
+ end
end
-end
-class CompressedMemCacheStore < Test::Unit::TestCase
- def setup
- @cache = ActiveSupport::Cache.lookup_store(:compressed_mem_cache_store)
- @cache.clear
- end
+ class CompressedMemCacheStore < Test::Unit::TestCase
+ def setup
+ @cache = ActiveSupport::Cache.lookup_store(:compressed_mem_cache_store)
+ @cache.clear
+ end
- include CacheStoreBehavior
+ include CacheStoreBehavior
+ end
end