| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- from direct.distributed.CachedDOData import CachedDOData
- from direct.distributed.CRDataCache import CRDataCache
- def test_CRDataCache():
- dc = CRDataCache()
- dc._startMemLeakCheck()
- cd = CachedDOData()
- cd.foo = 34
- dc.setCachedData(1, 'testCachedData', cd)
- del cd
- cd = CachedDOData()
- cd.bar = 45
- dc.setCachedData(1, 'testCachedData2', cd)
- del cd
- assert dc.hasCachedData(1)
- assert dc.hasCachedData(1)
- assert not dc.hasCachedData(2)
- # data is dict of dataName->data
- data = dc.popCachedData(1)
- assert len(data) == 2
- assert 'testCachedData' in data
- assert 'testCachedData2' in data
- assert data['testCachedData'].foo == 34
- assert data['testCachedData2'].bar == 45
- for cd in data.values():
- cd.flush()
- del data
- dc._checkMemLeaks()
- cd = CachedDOData()
- cd.bar = 1234
- dc.setCachedData(43, 'testCachedData2', cd)
- del cd
- assert dc.hasCachedData(43)
- dc.flush()
- dc._checkMemLeaks()
- dc._stopMemLeakCheck()
- dc.destroy()
- del dc
|