dalli 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of dalli might be problematic. Click here for more details.

data/History.md CHANGED
@@ -1,6 +1,13 @@
1
1
  Dalli Changelog
2
2
  =====================
3
3
 
4
+ 1.0.3
5
+ =======
6
+
7
+ - Better handling of application marshalling errors
8
+ - Work around jruby IO#sysread compatibility issue
9
+
10
+
4
11
  1.0.2
5
12
  =======
6
13
 
data/Performance.md CHANGED
@@ -10,26 +10,68 @@ You can optionally use kgio to give Dalli a small, 10-20% performance boost: gem
10
10
 
11
11
  Testing 1.8.5 with ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.6.0]
12
12
  user system total real
13
- set:plain:memcache-client 1.950000 0.320000 2.270000 ( 2.271513)
14
- set:ruby:memcache-client 2.040000 0.310000 2.350000 ( 2.355625)
15
- get:plain:memcache-client 2.160000 0.330000 2.490000 ( 2.499911)
16
- get:ruby:memcache-client 2.310000 0.340000 2.650000 ( 2.659208)
17
- multiget:ruby:memcache-client 1.050000 0.130000 1.180000 ( 1.168383)
18
- missing:ruby:memcache-client 2.050000 0.320000 2.370000 ( 2.384290)
19
- mixed:ruby:memcache-client 4.440000 0.660000 5.100000 ( 5.148145)
13
+ set:plain:memcache 2.070000 0.340000 2.410000 ( 2.611709)
14
+ set:ruby:memcache 1.990000 0.330000 2.320000 ( 2.869653)
15
+ get:plain:memcache 2.290000 0.360000 2.650000 ( 2.926425)
16
+ get:ruby:memcache 2.360000 0.350000 2.710000 ( 2.951604)
17
+ multiget:ruby:memcache 1.050000 0.120000 1.170000 ( 1.285787)
18
+ missing:ruby:memcache 1.990000 0.330000 2.320000 ( 2.567641)
19
+ mixed:ruby:memcache 4.390000 0.670000 5.060000 ( 5.721000)
20
+ incr:ruby:memcache 0.700000 0.120000 0.820000 ( 0.842896)
21
+
22
+ *libmemcached*:
23
+
24
+ Testing 1.1.2 with ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.6.0]
25
+ user system total real
26
+ set:plain:libm 0.120000 0.220000 0.340000 ( 0.847521)
27
+ setq:plain:libm 0.030000 0.000000 0.030000 ( 0.126944)
28
+ set:ruby:libm 0.220000 0.250000 0.470000 ( 1.102789)
29
+ get:plain:libm 0.140000 0.230000 0.370000 ( 0.813998)
30
+ get:ruby:libm 0.210000 0.240000 0.450000 ( 1.025994)
31
+ multiget:ruby:libm 0.100000 0.080000 0.180000 ( 0.322217)
32
+ missing:ruby:libm 0.250000 0.240000 0.490000 ( 1.049972)
33
+ mixed:ruby:libm 0.400000 0.410000 0.810000 ( 2.172349)
34
+ mixedq:ruby:libm 0.410000 0.360000 0.770000 ( 1.516718)
35
+ incr:ruby:libm 0.080000 0.340000 0.420000 ( 1.685931)
20
36
 
21
37
  *dalli*:
22
38
 
23
39
  Using kgio socket IO
24
- Testing 1.0.1 with ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.6.0]
40
+ Testing 1.0.2 with ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-darwin10.6.0]
41
+ user system total real
42
+ set:plain:dalli 0.850000 0.320000 1.170000 ( 1.691393)
43
+ setq:plain:dalli 0.500000 0.130000 0.630000 ( 0.651227)
44
+ set:ruby:dalli 0.900000 0.330000 1.230000 ( 1.865228)
45
+ get:plain:dalli 0.990000 0.390000 1.380000 ( 1.929994)
46
+ get:ruby:dalli 0.950000 0.370000 1.320000 ( 1.844251)
47
+ multiget:ruby:dalli 0.790000 0.300000 1.090000 ( 1.227073)
48
+ missing:ruby:dalli 0.810000 0.370000 1.180000 ( 1.627039)
49
+ mixed:ruby:dalli 1.850000 0.710000 2.560000 ( 3.555032)
50
+ mixedq:ruby:dalli 1.840000 0.610000 2.450000 ( 2.945982)
51
+ incr:ruby:dalli 0.310000 0.120000 0.430000 ( 0.616465)
52
+
53
+ Testing 1.0.2 with rubinius 1.3.0dev (1.8.7 382e813f xxxx-xx-xx JI) [x86_64-apple-darwin10.6.0]
54
+ user system total real
55
+ set:plain:dalli 2.800581 0.329360 3.129941 ( 5.186546)
56
+ setq:plain:dalli 1.064253 0.138044 1.202297 ( 1.280355)
57
+ set:ruby:dalli 2.220885 0.262619 2.483504 ( 2.778118)
58
+ get:plain:dalli 2.291344 0.280490 2.571834 ( 2.948004)
59
+ get:ruby:dalli 2.148900 0.274477 2.423377 ( 2.425808)
60
+ multiget:ruby:dalli 1.724193 0.249145 1.973338 ( 2.158673)
61
+ missing:ruby:dalli 1.881502 0.272610 2.154112 ( 2.208384)
62
+ mixed:ruby:dalli 4.292620 0.533768 4.826388 ( 4.830238)
63
+ mixedq:ruby:dalli 4.076032 0.501442 4.577474 ( 4.583800)
64
+ incr:ruby:dalli 0.691467 0.091475 0.782942 ( 0.931674)
65
+
66
+ Testing 1.0.2 with rubinius 1.2.0 (1.8.7 release 2010-12-21 JI) [x86_64-apple-darwin10.6.0]
25
67
  user system total real
26
- set:plain:dalli 0.840000 0.300000 1.140000 ( 1.516160)
27
- setq:plain:dalli 0.510000 0.120000 0.630000 ( 0.634174)
28
- set:ruby:dalli 0.880000 0.300000 1.180000 ( 1.549591)
29
- get:plain:dalli 0.970000 0.330000 1.300000 ( 1.621385)
30
- get:ruby:dalli 0.970000 0.340000 1.310000 ( 1.622811)
31
- multiget:ruby:dalli 0.800000 0.250000 1.050000 ( 1.453479)
32
- missing:ruby:dalli 0.820000 0.330000 1.150000 ( 1.453847)
33
- mixed:ruby:dalli 1.850000 0.640000 2.490000 ( 3.189240)
34
- mixedq:ruby:dalli 1.820000 0.530000 2.350000 ( 2.611830)
35
- incr:ruby:dalli 0.310000 0.110000 0.420000 ( 0.545641)
68
+ set:plain:dalli 6.586927 0.331545 6.918472 ( 4.628652)
69
+ setq:plain:dalli 0.930905 0.129008 1.059913 ( 1.016105)
70
+ set:ruby:dalli 2.702486 0.283004 2.985490 ( 2.690442)
71
+ get:plain:dalli 2.740202 0.291353 3.031555 ( 2.722746)
72
+ get:ruby:dalli 1.979379 0.282986 2.262365 ( 2.264118)
73
+ multiget:ruby:dalli 1.887086 0.249799 2.136885 ( 1.803230)
74
+ missing:ruby:dalli 1.882662 0.278019 2.160681 ( 2.113429)
75
+ mixed:ruby:dalli 3.969242 0.553361 4.522603 ( 4.524504)
76
+ mixedq:ruby:dalli 3.520755 0.475669 3.996424 ( 3.997405)
77
+ incr:ruby:dalli 0.849998 0.094012 0.944010 ( 0.884001)
data/README.md CHANGED
@@ -44,7 +44,7 @@ Remember, Dalli **requires** memcached 1.4+. You can check the version with `me
44
44
  dc.set('abc', 123)
45
45
  value = dc.get('abc')
46
46
 
47
- The test suite requires memcached 1.4.3+ with SASL enabled (./configure --enable-sasl). Currently only supports the PLAIN mechanism.
47
+ The test suite requires memcached 1.4.3+ with SASL enabled (brew install memcached --enable-sasl ; mv /usr/bin/memcache /usr/bin/memcached.old). Currently only supports the PLAIN mechanism.
48
48
 
49
49
  Dalli has no runtime dependencies and never will. You can optionally install the 'kgio' gem to
50
50
  give Dalli a 10-20% performance boost.
data/Rakefile CHANGED
@@ -27,4 +27,8 @@ end
27
27
  require 'rake/rdoctask'
28
28
  Rake::RDocTask.new do |rd|
29
29
  rd.rdoc_files.include("lib/**/*.rb")
30
- end
30
+ end
31
+
32
+ require 'rake/clean'
33
+ CLEAN.include "**/*.rbc"
34
+ CLEAN.include "**/.DS_Store"
data/lib/dalli.rb CHANGED
@@ -18,6 +18,8 @@ module Dalli
18
18
  class NetworkError < DalliError; end
19
19
  # no server available/alive error
20
20
  class RingError < DalliError; end
21
+ # application error in marshalling
22
+ class MarshalError < DalliError; end
21
23
 
22
24
  def self.logger
23
25
  @logger ||= (rails_logger || default_logger)
data/lib/dalli/client.rb CHANGED
@@ -25,6 +25,7 @@ module Dalli
25
25
  @servers = env_servers || servers || 'localhost:11211'
26
26
  @options = { :expires_in => 0 }.merge(options)
27
27
  self.extend(Dalli::Client::MemcacheClientCompatibility) if Dalli::Client.compatibility_mode
28
+ @ring = nil
28
29
  end
29
30
 
30
31
  ##
data/lib/dalli/server.rb CHANGED
@@ -34,6 +34,8 @@ module Dalli
34
34
  @down_at = nil
35
35
  @last_down_at = nil
36
36
  @options = DEFAULTS.merge(options)
37
+ @sock = nil
38
+ @msg = nil
37
39
  end
38
40
 
39
41
  # Chokepoint method for instrumentation
@@ -43,13 +45,13 @@ module Dalli
43
45
  send(op, *args)
44
46
  rescue Dalli::NetworkError
45
47
  raise
46
- rescue Dalli::DalliError
47
- raise
48
- rescue TypeError => ex
49
- Dalli.logger.error "Application bug: #{ex.class.name}: #{ex.message}"
48
+ rescue Dalli::MarshalError => ex
49
+ Dalli.logger.error "Marshalling error for key '#{args.first}': #{ex.message}"
50
50
  Dalli.logger.error "You are trying to cache a Ruby object which cannot be serialized to memcached."
51
51
  Dalli.logger.error ex.backtrace.join("\n\t")
52
52
  false
53
+ rescue Dalli::DalliError
54
+ raise
53
55
  rescue Exception => ex
54
56
  Dalli.logger.error "Unexpected exception in Dalli: #{ex.class.name}: #{ex.message}"
55
57
  Dalli.logger.error "This is a bug in Dalli, please enter an issue in Github if it does not already exist."
@@ -253,7 +255,15 @@ module Dalli
253
255
  marshalled = false
254
256
  value = unless options && options[:raw]
255
257
  marshalled = true
256
- Marshal.dump(value)
258
+ begin
259
+ Marshal.dump(value)
260
+ rescue => ex
261
+ # Marshalling can throw several different types of generic Ruby exceptions.
262
+ # Convert to a specific exception so we can special case it higher up the stack.
263
+ exc = Dalli::MarshalError.new(ex.message)
264
+ exc.set_backtrace ex.backtrace
265
+ raise exc
266
+ end
257
267
  else
258
268
  value.to_s
259
269
  end
data/lib/dalli/socket.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  begin
2
2
  require 'kgio'
3
- puts "Using kgio socket IO" if $TESTING
3
+ puts "Using kgio socket IO" if defined?($TESTING)
4
4
 
5
5
  class Dalli::Server::KSocket < Kgio::Socket
6
6
  attr_accessor :options
@@ -41,26 +41,30 @@ begin
41
41
 
42
42
  rescue LoadError
43
43
 
44
- puts "Using standard socket IO (#{RUBY_DESCRIPTION})" if $TESTING
44
+ puts "Using standard socket IO (#{RUBY_DESCRIPTION})" if defined?($TESTING)
45
45
  if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby'
46
46
 
47
47
  class Dalli::Server::KSocket < TCPSocket
48
+ attr_accessor :options
49
+
48
50
  def self.open(host, port, options = {})
49
- new(host, port)
51
+ sock = new(host, port)
52
+ sock.options = { :host => host, :port => port }.merge(options)
53
+ sock
50
54
  end
51
55
 
52
56
  def readfull(count)
53
57
  value = ''
54
58
  begin
55
59
  loop do
56
- value << sysread(count - value.bytesize)
60
+ value << read_nonblock(count - value.bytesize)
57
61
  break if value.bytesize == count
58
62
  end
59
63
  rescue Errno::EAGAIN, Errno::EWOULDBLOCK
60
64
  if IO.select([self], nil, nil, options[:timeout])
61
65
  retry
62
66
  else
63
- raise Timeout::Error, "IO timeout"
67
+ raise Timeout::Error, "IO timeout: #{options.inspect}"
64
68
  end
65
69
  end
66
70
  value
@@ -77,7 +81,7 @@ rescue LoadError
77
81
  # All this ugly code to ensure proper Socket connect timeout
78
82
  addr = Socket.getaddrinfo(host, nil)
79
83
  sock = new(Socket.const_get(addr[0][0]), Socket::SOCK_STREAM, 0)
80
- sock.options = options
84
+ sock.options = { :host => host, :port => port }.merge(options)
81
85
  begin
82
86
  sock.connect_nonblock(Socket.pack_sockaddr_in(port, addr[0][3]))
83
87
  rescue Errno::EINPROGRESS
@@ -101,7 +105,7 @@ rescue LoadError
101
105
  if IO.select([self], nil, nil, options[:timeout])
102
106
  retry
103
107
  else
104
- raise Timeout::Error, "IO timeout"
108
+ raise Timeout::Error, "IO timeout: #{options.inspect}"
105
109
  end
106
110
  end
107
111
  value
data/lib/dalli/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dalli
2
- VERSION = '1.0.2'
2
+ VERSION = '1.0.3'
3
3
  end
@@ -129,6 +129,14 @@ class TestActiveSupport < Test::Unit::TestCase
129
129
  assert_equal 2, @dalli.increment('counter')
130
130
  assert_equal 1, @dalli.decrement('counter')
131
131
  assert_equal "1", @dalli.read('counter', :raw => true)
132
+
133
+ assert_equal 0, @mc.increment('counterX')
134
+ assert_equal 0, @mc.increment('counterX')
135
+ assert_equal nil, @mc.read('counterX')
136
+
137
+ assert_equal 1, @dalli.increment('counterX')
138
+ assert_equal 2, @dalli.increment('counterX')
139
+ assert_equal 2, @dalli.read('counterX', :raw => true).to_i
132
140
  end
133
141
  end
134
142
  end
@@ -52,7 +52,7 @@ class TestSessionStore < ActionController::IntegrationTest
52
52
 
53
53
  begin
54
54
  require 'dalli'
55
- memcache = Dalli::Client.new('localhost:11211')
55
+ memcache = Dalli::Client.new('127.0.0.1:11211')
56
56
  memcache.set('ping', '')
57
57
 
58
58
  def test_setting_and_getting_session_value
@@ -207,12 +207,12 @@ class TestSessionStore < ActionController::IntegrationTest
207
207
  end
208
208
  end
209
209
  rescue LoadError, RuntimeError
210
- $stderr.puts "Skipping TestSessionStore tests. Start memcached and try again."
210
+ $stderr.puts "Skipping TestSessionStore tests. Start memcached and try again: #{$!.message}"
211
211
  end
212
212
 
213
213
  private
214
214
  def with_test_route_set(options = {})
215
- options = {:key => '_session_id'}.merge(options)
215
+ options = {:key => '_session_id', :memcache_server => '127.0.0.1:11211'}.merge(options)
216
216
  with_routing do |set|
217
217
  set.draw do |map|
218
218
  match ':action', :to => ::TestSessionStore::TestController
metadata CHANGED
@@ -1,78 +1,62 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dalli
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 1
7
- - 0
8
- - 2
9
- version: 1.0.2
4
+ prerelease:
5
+ version: 1.0.3
10
6
  platform: ruby
11
7
  authors:
12
- - Mike Perham
8
+ - Mike Perham
13
9
  autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2011-02-03 00:00:00 -08:00
13
+ date: 2011-03-18 00:00:00 -07:00
18
14
  default_executable:
19
15
  dependencies:
20
- - !ruby/object:Gem::Dependency
21
- name: shoulda
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- segments:
29
- - 0
30
- version: "0"
31
- type: :development
32
- version_requirements: *id001
33
- - !ruby/object:Gem::Dependency
34
- name: mocha
35
- prerelease: false
36
- requirement: &id002 !ruby/object:Gem::Requirement
37
- none: false
38
- requirements:
39
- - - ">="
40
- - !ruby/object:Gem::Version
41
- segments:
42
- - 0
43
- version: "0"
44
- type: :development
45
- version_requirements: *id002
46
- - !ruby/object:Gem::Dependency
47
- name: rails
48
- prerelease: false
49
- requirement: &id003 !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- segments:
55
- - 3
56
- - 0
57
- - 1
58
- version: 3.0.1
59
- type: :development
60
- version_requirements: *id003
61
- - !ruby/object:Gem::Dependency
62
- name: memcache-client
63
- prerelease: false
64
- requirement: &id004 !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- segments:
70
- - 1
71
- - 8
72
- - 5
73
- version: 1.8.5
74
- type: :development
75
- version_requirements: *id004
16
+ - !ruby/object:Gem::Dependency
17
+ name: shoulda
18
+ prerelease: false
19
+ requirement: &id001 !ruby/object:Gem::Requirement
20
+ none: false
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: "0"
25
+ type: :development
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: mocha
29
+ prerelease: false
30
+ requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: "0"
36
+ type: :development
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: rails
40
+ prerelease: false
41
+ requirement: &id003 !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 3.0.1
47
+ type: :development
48
+ version_requirements: *id003
49
+ - !ruby/object:Gem::Dependency
50
+ name: memcache-client
51
+ prerelease: false
52
+ requirement: &id004 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: 1.8.5
58
+ type: :development
59
+ version_requirements: *id004
76
60
  description: High performance memcached client for Ruby
77
61
  email: mperham@gmail.com
78
62
  executables: []
@@ -82,83 +66,79 @@ extensions: []
82
66
  extra_rdoc_files: []
83
67
 
84
68
  files:
85
- - lib/action_controller/session/dalli_store.rb
86
- - lib/action_dispatch/middleware/session/dalli_store.rb
87
- - lib/active_support/cache/dalli_store.rb
88
- - lib/active_support/cache/dalli_store23.rb
89
- - lib/dalli/client.rb
90
- - lib/dalli/compatibility.rb
91
- - lib/dalli/memcache-client.rb
92
- - lib/dalli/options.rb
93
- - lib/dalli/ring.rb
94
- - lib/dalli/server.rb
95
- - lib/dalli/socket.rb
96
- - lib/dalli/version.rb
97
- - lib/dalli.rb
98
- - LICENSE
99
- - README.md
100
- - History.md
101
- - Rakefile
102
- - Gemfile
103
- - dalli.gemspec
104
- - Performance.md
105
- - Upgrade.md
106
- - test/abstract_unit.rb
107
- - test/benchmark_test.rb
108
- - test/helper.rb
109
- - test/memcached_mock.rb
110
- - test/test_active_support.rb
111
- - test/test_compatibility.rb
112
- - test/test_dalli.rb
113
- - test/test_encoding.rb
114
- - test/test_failover.rb
115
- - test/test_network.rb
116
- - test/test_ring.rb
117
- - test/test_sasl.rb
118
- - test/test_session_store.rb
69
+ - lib/dalli.rb
70
+ - lib/action_controller/session/dalli_store.rb
71
+ - lib/action_dispatch/middleware/session/dalli_store.rb
72
+ - lib/active_support/cache/dalli_store.rb
73
+ - lib/active_support/cache/dalli_store23.rb
74
+ - lib/dalli/client.rb
75
+ - lib/dalli/compatibility.rb
76
+ - lib/dalli/memcache-client.rb
77
+ - lib/dalli/options.rb
78
+ - lib/dalli/ring.rb
79
+ - lib/dalli/server.rb
80
+ - lib/dalli/socket.rb
81
+ - lib/dalli/version.rb
82
+ - LICENSE
83
+ - README.md
84
+ - History.md
85
+ - Rakefile
86
+ - Gemfile
87
+ - dalli.gemspec
88
+ - Performance.md
89
+ - Upgrade.md
90
+ - test/abstract_unit.rb
91
+ - test/benchmark_test.rb
92
+ - test/helper.rb
93
+ - test/memcached_mock.rb
94
+ - test/test_active_support.rb
95
+ - test/test_compatibility.rb
96
+ - test/test_dalli.rb
97
+ - test/test_encoding.rb
98
+ - test/test_failover.rb
99
+ - test/test_network.rb
100
+ - test/test_ring.rb
101
+ - test/test_sasl.rb
102
+ - test/test_session_store.rb
119
103
  has_rdoc: true
120
104
  homepage: http://github.com/mperham/dalli
121
105
  licenses: []
122
106
 
123
107
  post_install_message:
124
108
  rdoc_options:
125
- - --charset=UTF-8
109
+ - --charset=UTF-8
126
110
  require_paths:
127
- - lib
111
+ - lib
128
112
  required_ruby_version: !ruby/object:Gem::Requirement
129
113
  none: false
130
114
  requirements:
131
- - - ">="
132
- - !ruby/object:Gem::Version
133
- segments:
134
- - 0
135
- version: "0"
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: "0"
136
118
  required_rubygems_version: !ruby/object:Gem::Requirement
137
119
  none: false
138
120
  requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- segments:
142
- - 0
143
- version: "0"
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: "0"
144
124
  requirements: []
145
125
 
146
126
  rubyforge_project:
147
- rubygems_version: 1.3.7
127
+ rubygems_version: 1.5.1
148
128
  signing_key:
149
129
  specification_version: 3
150
130
  summary: High performance memcached client for Ruby
151
131
  test_files:
152
- - test/abstract_unit.rb
153
- - test/benchmark_test.rb
154
- - test/helper.rb
155
- - test/memcached_mock.rb
156
- - test/test_active_support.rb
157
- - test/test_compatibility.rb
158
- - test/test_dalli.rb
159
- - test/test_encoding.rb
160
- - test/test_failover.rb
161
- - test/test_network.rb
162
- - test/test_ring.rb
163
- - test/test_sasl.rb
164
- - test/test_session_store.rb
132
+ - test/abstract_unit.rb
133
+ - test/benchmark_test.rb
134
+ - test/helper.rb
135
+ - test/memcached_mock.rb
136
+ - test/test_active_support.rb
137
+ - test/test_compatibility.rb
138
+ - test/test_dalli.rb
139
+ - test/test_encoding.rb
140
+ - test/test_failover.rb
141
+ - test/test_network.rb
142
+ - test/test_ring.rb
143
+ - test/test_sasl.rb
144
+ - test/test_session_store.rb