Commit 38dddc5d authored by Jeremy Hylton's avatar Jeremy Hylton

Sync tests with current cache impl.

parent c5f30fd1
......@@ -180,9 +180,14 @@ class LRUCacheTests(CacheTestBase):
for i in range(CONNS):
self.noodle_new_connection()
# The DB cacheSize() method returns the number of non-ghost
# objects, which should be zero.
self.assertEquals(self.db.cacheSize(), 0)
self.assertEquals(self.db.cacheSize(), CACHE_SIZE * CONNS)
details = self.db.cacheDetailSize()
self.assertEquals(len(details), CONNS)
for d in details:
self.assertEquals(d['ngsize'], CACHE_SIZE)
# the root is also in the cache as ghost, because
# the connection holds a reference to it
self.assertEquals(d['size'], CACHE_SIZE + 1)
def checkDetail(self):
CACHE_SIZE = 10
......@@ -192,15 +197,20 @@ class LRUCacheTests(CacheTestBase):
for i in range(CONNS):
self.noodle_new_connection()
# the only thing in the cache is the root objects,
# which are referenced explicitly by the connection.
[(klass, count)] = self.db.cacheDetail()
self.assertEqual(klass, "Persistence.PersistentMapping")
self.assertEqual(count, CONNS)
for klass, count in self.db.cacheDetail():
if klass.endswith('MinPO'):
self.assertEqual(count, CONNS * CACHE_SIZE)
if klass.endswith('PersistentMapping'):
# one root per connection
self.assertEqual(count, CONNS)
for details in self.db.cacheExtremeDetail():
self.assertEqual(details["klass"], "Persistence.PersistentMapping")
self.assertEqual(details['state'], None)
# one dict per object. keys:
if details['klass'].endswith('PersistentMapping'):
self.assertEqual(details['state'], None)
else:
self.assert_(details['klass'].endswith('MinPO'))
self.assertEqual(details['state'], 0)
class StubDataManager:
def setklassstate(self, object):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment