diff --git a/django/contrib/sessions/tests.py b/django/contrib/sessions/tests.py index e8aad0f05fd..9b669211db2 100644 --- a/django/contrib/sessions/tests.py +++ b/django/contrib/sessions/tests.py @@ -160,11 +160,16 @@ class SessionTestsMixin(object): def test_invalid_key(self): # Submitting an invalid session key (either by guessing, or if the db has # removed the key) results in a new key being generated. - session = self.backend('1') - session.save() - self.assertNotEqual(session.session_key, '1') - self.assertEqual(session.get('cat'), None) - session.delete() + try: + session = self.backend('1') + session.save() + self.assertNotEqual(session.session_key, '1') + self.assertEqual(session.get('cat'), None) + session.delete() + finally: + # Some backends leave a stale cache entry for the invalid + # session key; make sure that entry is manually deleted + session.delete('1') # Custom session expiry def test_default_expiry(self):