aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
diff options
context:
space:
mode:
authorDoug Barth <dougbarth@gmail.com>2008-10-14 15:30:46 -0500
committerMichael Koziarski <michael@koziarski.com>2008-10-17 18:09:38 +0200
commit47be090d37e803af502dc4cf97930184007c660d (patch)
tree6d8867792f54b6266ff135853332ef0f89b58e74 /activesupport
parent4b63c2700ffc5c646af0e728d4ec2fcb6770671b (diff)
downloadrails-47be090d37e803af502dc4cf97930184007c660d.tar.gz
rails-47be090d37e803af502dc4cf97930184007c660d.tar.bz2
rails-47be090d37e803af502dc4cf97930184007c660d.zip
Skip tests that depend on memcached if not running.
Signed-off-by: Michael Koziarski <michael@koziarski.com>
Diffstat (limited to 'activesupport')
-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