From 677957b12fbd0617ef7215854c986cd1fb8f8817 Mon Sep 17 00:00:00 2001 From: Doug Barth Date: Tue, 14 Oct 2008 15:30:46 -0500 Subject: [PATCH] Skip tests that depend on memcached if not running. --- activesupport/test/abstract_unit.rb | 12 ++++++++++- activesupport/test/caching_test.rb | 36 ++++++++++++++++++---------------- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/activesupport/test/abstract_unit.rb b/activesupport/test/abstract_unit.rb index a698bea..9d8c252 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 88c6d6c..cc371b3 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 -- 1.5.6.1