I am having a problem with contrib.sessions.tests.test_valid_key (line 159). It's a mixin which in the failure case is mixed with CacheDBSessionTests.
The test raises: "AttributeError: 'bool' object has no attribute 'get'" The error is actually raised by session.save() on 164. Stepping inward reveals that sessions.backends.cached_db (line 18) sets data thusly: data = cache.get(self.session_key, None) QUESTION #1 (maybe more suited for django-dev?): If I step in, I find that debugging core.cache.backends.locmem.LocMemCache.get(), which is odd since the TestCase is CacheDBSessionTests. Why is it testing LocMemCache and not core.cache.backends.db.DatabaseCache? In this case, self.session_key is 1, and indeed the cache has a pickled "True" for the key 1. In fact, during the course of debugging core.cache.backends.locmem.LocMemCache.get(), we have found that in every case during which the testrunner hits this method, 1 is a key for pickled True. QUESTION #2: Why is the key 1 set to a pickled True? In this case, that True ends up being returned in contrib.sessions.backends.base.SessionBase.get() (line 64). Thus, of course an error is raised. We are unable to understand why the key 1 is set to pickled True in the locmem backend. NOW THE STRANGE PART: Iff we step in with a debugger and wait for > 3 seconds or so, the method no longer returns True and instead returns an empty dict. In this case, the test passes! We are baffled. Is this possibly an underlying race condition or hotel room scenario (http://stackoverflow.com/questions/6441218)? -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.