From f02dbbe1ae02c3258fced7b7a75d35d7745cc02a Mon Sep 17 00:00:00 2001 From: Ed Morley Date: Fri, 2 Sep 2016 09:33:59 +0100 Subject: Fixed #11331 -- Stopped closing pylibmc connections after each request. libmemcached manages its own connections, so isn't affected by refs #5133. --- tests/cache/tests.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tests/cache') diff --git a/tests/cache/tests.py b/tests/cache/tests.py index f9190ed55f..b8bce5e721 100644 --- a/tests/cache/tests.py +++ b/tests/cache/tests.py @@ -1156,6 +1156,10 @@ memcached_excluded_caches = {'cull', 'zero_cull'} class BaseMemcachedTests(BaseCacheTests): + # By default it's assumed that the client doesn't clean up connections + # properly, in which case the backend must do so after each request. + should_disconnect_on_close = True + def test_location_multiple_servers(self): locations = [ ['server1.tld', 'server2:11211'], @@ -1244,7 +1248,7 @@ class BaseMemcachedTests(BaseCacheTests): # connection is closed when the request is complete. with mock.patch.object(cache._lib.Client, 'disconnect_all', autospec=True) as mock_disconnect: signals.request_finished.send(self.__class__) - self.assertIs(mock_disconnect.called, True) + self.assertIs(mock_disconnect.called, self.should_disconnect_on_close) @unittest.skipUnless(MemcachedCache_params, "MemcachedCache backend not configured") @@ -1276,6 +1280,8 @@ class MemcachedCacheTests(BaseMemcachedTests, TestCase): )) class PyLibMCCacheTests(BaseMemcachedTests, TestCase): base_params = PyLibMCCache_params + # libmemcached manages its own connections. + should_disconnect_on_close = False # By default, pylibmc/libmemcached don't verify keys client-side and so # this test triggers a server-side bug that causes later tests to fail -- cgit v1.3