Blob Blame History Raw
From d204330c6ed4bbc6f15717d6ecbf597c586387db Mon Sep 17 00:00:00 2001
From: "Peter M. Goldstein" <peter.m.goldstein@gmail.com>
Date: Mon, 23 Jun 2014 21:50:29 -0700
Subject: [PATCH] Assorted changes to get specs to green.  Clean up memcached
 processes after creation, so the processes aren't reused.  Remove use of the
 'second' method on Array (added by ActiveSupport).  Fix Travis rbx keys.  Set
 value on stats spec, so it doesn't depend on server processes from other
 specs.

---
 test/memcached_mock.rb      |  4 +++-
 test/test_active_support.rb | 36 ++++++++++++++++++++----------------
 test/test_cas_client.rb     |  4 ++--
 test/test_dalli.rb          |  1 +
 test/test_rack_session.rb   |  7 +++++--
 5 files changed, 31 insertions(+), 21 deletions(-)

diff --git a/test/memcached_mock.rb b/test/memcached_mock.rb
index 7fdd8c1..9ed167a 100644
--- a/test/memcached_mock.rb
+++ b/test/memcached_mock.rb
@@ -68,12 +68,14 @@ def find_memcached
     def memcached(port=19122, args='', options={})
       memcached_server(port, args)
       yield Dalli::Client.new(["localhost:#{port}", "127.0.0.1:#{port}"], options)
+      memcached_kill(port)
     end
 
     def memcached_cas(port=19122, args='', options={})
       memcached_server(port, args)
       require 'dalli/cas/client'
       yield Dalli::Client.new(["localhost:#{port}", "127.0.0.1:#{port}"], options)
+      memcached_kill(port)
     end
 
     def memcached_server(port=19122, args='')
@@ -82,7 +84,7 @@ def memcached_server(port=19122, args='')
       cmd = "#{Memcached.path}memcached #{args} -p #{port}"
 
       $started[port] ||= begin
-        #puts "Starting: #{cmd}..."
+        # puts "Starting: #{cmd}..."
         pid = IO.popen(cmd).pid
         at_exit do
           begin
diff --git a/test/test_active_support.rb b/test/test_active_support.rb
index 4af1816..b897eb9 100644
--- a/test/test_active_support.rb
+++ b/test/test_active_support.rb
@@ -17,26 +17,30 @@ def cache_key
     end
 
     it 'allow mute and silence' do
-      @dalli = ActiveSupport::Cache.lookup_store(:dalli_store, 'localhost:19122')
-      @dalli.mute do
-        assert op_addset_succeeds(@dalli.write('foo', 'bar', nil))
-        assert_equal 'bar', @dalli.read('foo', nil)
+      memcached do
+        @dalli = ActiveSupport::Cache.lookup_store(:dalli_store, 'localhost:19122')
+        @dalli.mute do
+          assert op_addset_succeeds(@dalli.write('foo', 'bar', nil))
+          assert_equal 'bar', @dalli.read('foo', nil)
+        end
+        refute @dalli.silence?
+        @dalli.silence!
+        assert_equal true, @dalli.silence?
       end
-      refute @dalli.silence?
-      @dalli.silence!
-      assert_equal true, @dalli.silence?
     end
 
     it 'handle nil options' do
-      @dalli = ActiveSupport::Cache.lookup_store(:dalli_store, 'localhost:19122')
-      assert op_addset_succeeds(@dalli.write('foo', 'bar', nil))
-      assert_equal 'bar', @dalli.read('foo', nil)
-      assert_equal 18, @dalli.fetch('lkjsadlfk', nil) { 18 }
-      assert_equal 18, @dalli.fetch('lkjsadlfk', nil) { 18 }
-      assert_equal 1, @dalli.increment('lkjsa', 1, nil)
-      assert_equal 2, @dalli.increment('lkjsa', 1, nil)
-      assert_equal 1, @dalli.decrement('lkjsa', 1, nil)
-      assert_equal true, @dalli.delete('lkjsa')
+      memcached do
+        @dalli = ActiveSupport::Cache.lookup_store(:dalli_store, 'localhost:19122')
+        assert op_addset_succeeds(@dalli.write('foo', 'bar', nil))
+        assert_equal 'bar', @dalli.read('foo', nil)
+        assert_equal 18, @dalli.fetch('lkjsadlfk', nil) { 18 }
+        assert_equal 18, @dalli.fetch('lkjsadlfk', nil) { 18 }
+        assert_equal 1, @dalli.increment('lkjsa', 1, nil)
+        assert_equal 2, @dalli.increment('lkjsa', 1, nil)
+        assert_equal 1, @dalli.decrement('lkjsa', 1, nil)
+        assert_equal true, @dalli.delete('lkjsa')
+      end
     end
 
     it 'support fetch' do
diff --git a/test/test_cas_client.rb b/test/test_cas_client.rb
index 423e360..31e146f 100644
--- a/test/test_cas_client.rb
+++ b/test/test_cas_client.rb
@@ -41,14 +41,14 @@
         # Invocation without block
         resp = dc.get_multi_cas(%w(a b c d e f))
         resp.each_pair do |k, data|
-          value, cas = [data.first, data.second]
+          value, cas = [data.first, data[1]]
           assert_equal expected_hash[k], value
           assert(cas && cas != 0)
         end
 
         # Invocation with block
         dc.get_multi_cas(%w(a b c d e f)) do |k, data|
-          value, cas = [data.first, data.second]
+          value, cas = [data.first, data[1]]
           assert_equal expected_hash[k], value
           assert(cas && cas != 0)
         end
diff --git a/test/test_dalli.rb b/test/test_dalli.rb
index fb67991..cf75ced 100644
--- a/test/test_dalli.rb
+++ b/test/test_dalli.rb
@@ -147,6 +147,7 @@
     it "support stats" do
       memcached do |dc|
         # make sure that get_hits would not equal 0
+        dc.set(:a, "1234567890"*100000)
         dc.get(:a)
 
         stats = dc.stats
diff --git a/test/test_rack_session.rb b/test/test_rack_session.rb
index 657b061..d264b58 100644
--- a/test/test_rack_session.rb
+++ b/test/test_rack_session.rb
@@ -9,13 +9,16 @@
   Rack::Session::Dalli::DEFAULT_OPTIONS[:memcache_server] = 'localhost:19129'
 
   before do
-    memcached(19129) do
-    end
+    memcached_server(19129)
 
     # test memcache connection
     Rack::Session::Dalli.new(incrementor)
   end
 
+  after do
+    memcached_kill(19129)
+  end
+
   let(:session_key) { Rack::Session::Dalli::DEFAULT_OPTIONS[:key] }
   let(:session_match) do
     /#{session_key}=([0-9a-fA-F]+);/