diff options
author | George Claghorn <george@basecamp.com> | 2018-01-16 15:12:24 -0500 |
---|---|---|
committer | George Claghorn <george@basecamp.com> | 2018-01-17 01:30:03 -0500 |
commit | f21a6688f7d8afd1172ff0bfc1d75e3e619e2db0 (patch) | |
tree | cce910d3cd5e75969288bfe2529435f384f2e979 /activesupport | |
parent | 4c0cb1c2c9269c74588da9f114f52ea3707ae8fb (diff) | |
download | rails-f21a6688f7d8afd1172ff0bfc1d75e3e619e2db0.tar.gz rails-f21a6688f7d8afd1172ff0bfc1d75e3e619e2db0.tar.bz2 rails-f21a6688f7d8afd1172ff0bfc1d75e3e619e2db0.zip |
Test against the pure-Ruby Redis driver
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/Rakefile | 20 | ||||
-rw-r--r-- | activesupport/test/cache/stores/redis_cache_store_test.rb | 6 |
2 files changed, 26 insertions, 0 deletions
diff --git a/activesupport/Rakefile b/activesupport/Rakefile index 8672ab1542..f10f19be0a 100644 --- a/activesupport/Rakefile +++ b/activesupport/Rakefile @@ -14,10 +14,30 @@ Rake::TestTask.new do |t| t.ruby_opts = ["--dev"] if defined?(JRUBY_VERSION) end +Rake::Task[:test].enhance do + Rake::Task["test:cache_stores:redis:ruby"].invoke +end + namespace :test do task :isolated do Dir.glob("test/**/*_test.rb").all? do |file| sh(Gem.ruby, "-w", "-Ilib:test", file) end || raise("Failures") end + + namespace :cache_stores do + namespace :redis do + %w[ ruby hiredis ].each do |driver| + task("env:#{driver}") { ENV["REDIS_DRIVER"] = driver } + + Rake::TestTask.new(driver => "env:#{driver}") do |t| + t.libs << "test" + t.test_files = ["test/cache/stores/redis_cache_store_test.rb"] + t.warning = true + t.verbose = true + t.ruby_opts = ["--dev"] if defined?(JRUBY_VERSION) + end + end + end + end end diff --git a/activesupport/test/cache/stores/redis_cache_store_test.rb b/activesupport/test/cache/stores/redis_cache_store_test.rb index 7f684f7a0f..ee79f954ec 100644 --- a/activesupport/test/cache/stores/redis_cache_store_test.rb +++ b/activesupport/test/cache/stores/redis_cache_store_test.rb @@ -5,6 +5,12 @@ require "active_support/cache" require "active_support/cache/redis_cache_store" require_relative "../behaviors" +driver_name = %w[ ruby hiredis ].include?(ENV["REDIS_DRIVER"]) ? ENV["REDIS_DRIVER"] : "hiredis" +driver = Object.const_get("Redis::Connection::#{driver_name.camelize}") + +Redis::Connection.drivers.clear +Redis::Connection.drivers.append(driver) + module ActiveSupport::Cache::RedisCacheStoreTests class LookupTest < ActiveSupport::TestCase test "may be looked up as :redis_cache_store" do |