summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Neukirchen <chneukirchen@gmail.com>2008-08-09 18:29:15 +0200
committerChristian Neukirchen <chneukirchen@gmail.com>2008-08-09 18:29:15 +0200
commitf5d2c1d6354fa28d39af57a963a00a6ef28b8981 (patch)
treeaca6f2962c76206dd3cd59fe0abc4006798286c8
parentabcaaf488431fa6441e8de93265aec8318e4b277 (diff)
downloadrack-f5d2c1d6354fa28d39af57a963a00a6ef28b8981.tar.gz
Make memcache tests start and kill memcached itself
-rw-r--r--test/spec_rack_session_memcache.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/spec_rack_session_memcache.rb b/test/spec_rack_session_memcache.rb
index 49b6c336..44352413 100644
--- a/test/spec_rack_session_memcache.rb
+++ b/test/spec_rack_session_memcache.rb
@@ -13,6 +13,14 @@ begin
Rack::Response.new(env["rack.session"].inspect).to_a
}
+ # Keep this first.
+ specify "startup" do
+ $pid = fork {
+ exec "memcached"
+ }
+ sleep 1
+ end
+
specify "faults on no connection" do
lambda do
Rack::Session::Memcache.new(incrementor, :memcache_server => '')
@@ -112,6 +120,12 @@ begin
session['counter'].should.be.nil?
session['foo'].should.equal 'bar'
end
+
+ # Keep this last.
+ specify "shutdown" do
+ Process.kill 15, $pid
+ Process.wait($pid).should.equal $pid
+ end
end
rescue LoadError
$stderr.puts "Skipping Rack::Session::Memcache tests (Memcache is required). `gem install memcache-client` and try again."