Mercurial > hg
changeset 39564:5d75a3c16193
util: make capacity a public attribute on lrucachedict
So others can query it. Useful for operations that may want to verify
the cache has capacity for N items before it performs an operation that
may cause cache eviction.
Differential Revision: https://phab.mercurial-scm.org/D4499
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 06 Sep 2018 11:37:27 -0700 |
parents | b31b01f93b11 |
children | 2dcc68c7d25b |
files | mercurial/util.py tests/test-lrucachedict.py |
diffstat | 2 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/util.py Thu Sep 06 11:33:40 2018 -0700 +++ b/mercurial/util.py Thu Sep 06 11:37:27 2018 -0700 @@ -1241,7 +1241,7 @@ head.prev = head head.next = head self._size = 1 - self._capacity = max + self.capacity = max def __len__(self): return len(self._cache) @@ -1269,7 +1269,7 @@ self._movetohead(node) return - if self._size < self._capacity: + if self._size < self.capacity: node = self._addcapacity() else: # Grab the last/oldest item. @@ -1312,7 +1312,7 @@ self._cache.clear() def copy(self): - result = lrucachedict(self._capacity) + result = lrucachedict(self.capacity) # We copy entries by iterating in oldest-to-newest order so the copy # has the correct ordering.
--- a/tests/test-lrucachedict.py Thu Sep 06 11:33:40 2018 -0700 +++ b/tests/test-lrucachedict.py Thu Sep 06 11:37:27 2018 -0700 @@ -11,6 +11,7 @@ class testlrucachedict(unittest.TestCase): def testsimple(self): d = util.lrucachedict(4) + self.assertEqual(d.capacity, 4) d['a'] = 'va' d['b'] = 'vb' d['c'] = 'vc'