Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Unified Diff: client/tests/lru_test.py

Issue 2409103003: LRUDict: add timestamps (Closed)
Patch Set: fix test Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « client/tests/isolateserver_test.py ('k') | client/utils/lru.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: client/tests/lru_test.py
diff --git a/client/tests/lru_test.py b/client/tests/lru_test.py
index 795c110d99b8b23b5198b5d30a2e3531c0166c8c..d6b2a3e7a0ea662bb57d5062e6ff402df2499aac 100755
--- a/client/tests/lru_test.py
+++ b/client/tests/lru_test.py
@@ -132,23 +132,31 @@ class LRUDictTest(unittest.TestCase):
lru_dict.pop(3)
self.assert_order(lru_dict, [1, 2])
- # Add oldest.
- lru_dict = self.prepare_lru_dict(data)
- lru_dict.batch_insert_oldest([(4, 4), (5, 5)])
- self.assert_order(lru_dict, [4, 5] + data)
-
# Add newest.
lru_dict = self.prepare_lru_dict(data)
lru_dict.add(4, 4)
self.assert_order(lru_dict, data + [4])
def test_load_save(self):
+ def pairs(d):
+ return [(k, d[k]) for k in d]
+
def save_and_load(lru_dict):
handle, tmp_name = tempfile.mkstemp(prefix=u'lru_test')
os.close(handle)
+
try:
+ # Old format.
+ with open(tmp_name, 'w') as f:
+ json.dump(pairs(lru_dict), f)
+ loaded_old_format = lru_dict.load(tmp_name)
+
+ # Current format.
lru_dict.save(tmp_name)
- return lru.LRUDict.load(tmp_name)
+ loaded = lru_dict.load(tmp_name)
+
+ self.assertEqual(pairs(loaded), pairs(loaded_old_format))
+ return loaded
finally:
try:
os.unlink(tmp_name)
@@ -180,9 +188,8 @@ class LRUDictTest(unittest.TestCase):
# After add.
lru_dict = self.prepare_lru_dict(data)
lru_dict.add(4, 4)
- lru_dict.batch_insert_oldest([(5, 5), (6, 6)])
lru_dict = save_and_load(lru_dict)
- self.assert_order(lru_dict, [5, 6] + data + [4])
+ self.assert_order(lru_dict, data + [4])
def test_corrupted_state_file(self):
def load_from_state(state_text):
@@ -222,6 +229,22 @@ class LRUDictTest(unittest.TestCase):
['key', 'another_value'],
]))
+ def test_timestamp(self):
+ lru_dict = lru.LRUDict()
+
+ now = 0
+ lru_dict.time_fn = lambda: now
+
+ lru_dict.add('ka', 'va')
+ now += 1
+
+ lru_dict.add('kb', 'vb')
+ now += 1
+
+ self.assertEqual(lru_dict.get_oldest(), ('ka', ('va', 0)))
+ self.assertEqual(lru_dict.pop_oldest(), ('ka', ('va', 0)))
+ self.assertEqual(lru_dict.get_oldest(), ('kb', ('vb', 1)))
+ self.assertEqual(lru_dict.pop_oldest(), ('kb', ('vb', 1)))
if __name__ == '__main__':
VERBOSE = '-v' in sys.argv
« no previous file with comments | « client/tests/isolateserver_test.py ('k') | client/utils/lru.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698