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

Unified Diff: swarm_client/tests/lru_test.py

Issue 69143004: Delete swarm_client. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/
Patch Set: Created 7 years, 1 month 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 | « swarm_client/tests/isolateserver_test.py ('k') | swarm_client/tests/net_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: swarm_client/tests/lru_test.py
===================================================================
--- swarm_client/tests/lru_test.py (revision 235167)
+++ swarm_client/tests/lru_test.py (working copy)
@@ -1,226 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2013 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import json
-import logging
-import os
-import sys
-import tempfile
-import unittest
-
-ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
-sys.path.insert(0, ROOT_DIR)
-
-from utils import lru
-
-
-class LRUDictTest(unittest.TestCase):
- @staticmethod
- def prepare_lru_dict(keys):
- """Returns new LRUDict with given |keys| added one by one."""
- lru_dict = lru.LRUDict()
- for key in keys:
- lru_dict.add(key, None)
- return lru_dict
-
- def assert_order(self, lru_dict, expected_keys):
- """Asserts order of keys in |lru_dict| is |expected_keys|.
-
- expected_keys[0] is supposedly oldest key, expected_keys[-1] is newest.
-
- Destroys |lru_dict| state in the process.
- """
- # Check keys iteration works.
- self.assertEqual(lru_dict.keys_set(), set(expected_keys))
-
- # Check pop_oldest returns keys in expected order.
- actual_keys = []
- while lru_dict:
- oldest_key, _ = lru_dict.pop_oldest()
- actual_keys.append(oldest_key)
- self.assertEqual(actual_keys, expected_keys)
-
- def assert_same_data(self, lru_dict, regular_dict):
- """Asserts that given |lru_dict| contains same data as |regular_dict|."""
- self.assertEqual(lru_dict.keys_set(), set(regular_dict.keys()))
- self.assertEqual(set(lru_dict.itervalues()), set(regular_dict.values()))
-
- for k, v in regular_dict.items():
- self.assertEqual(lru_dict.get(k), v)
-
- def test_basic_dict_funcs(self):
- lru_dict = lru.LRUDict()
-
- # Add a bunch.
- data = {1: 'one', 2: 'two', 3: 'three'}
- for k, v in data.items():
- lru_dict.add(k, v)
- # Check its there.
- self.assert_same_data(lru_dict, data)
-
- # Replace value.
- lru_dict.add(1, 'one!!!')
- data[1] = 'one!!!'
- self.assert_same_data(lru_dict, data)
-
- # Check pop works.
- self.assertEqual(lru_dict.pop(2), 'two')
- data.pop(2)
- self.assert_same_data(lru_dict, data)
-
- # Pop missing key.
- with self.assertRaises(KeyError):
- lru_dict.pop(2)
-
- # Touch has no effect on set of keys and values.
- lru_dict.touch(1)
- self.assert_same_data(lru_dict, data)
-
- # Touch fails on missing key.
- with self.assertRaises(KeyError):
- lru_dict.touch(22)
-
- def test_magic_methods(self):
- # Check __nonzero__, __len__ and __contains__ for empty dict.
- lru_dict = lru.LRUDict()
- self.assertFalse(lru_dict)
- self.assertEqual(len(lru_dict), 0)
- self.assertFalse(1 in lru_dict)
-
- # Dict with one item.
- lru_dict.add(1, 'one')
- self.assertTrue(lru_dict)
- self.assertEqual(len(lru_dict), 1)
- self.assertTrue(1 in lru_dict)
- self.assertFalse(2 in lru_dict)
-
- def test_order(self):
- data = [1, 2, 3]
-
- # Edge cases.
- self.assert_order(self.prepare_lru_dict([]), [])
- self.assert_order(self.prepare_lru_dict([1]), [1])
-
- # No touches.
- self.assert_order(self.prepare_lru_dict(data), data)
-
- # Touching newest item is noop.
- lru_dict = self.prepare_lru_dict(data)
- lru_dict.touch(3)
- self.assert_order(lru_dict, data)
-
- # Touch to move to newest.
- lru_dict = self.prepare_lru_dict(data)
- lru_dict.touch(2)
- self.assert_order(lru_dict, [1, 3, 2])
-
- # Pop newest.
- lru_dict = self.prepare_lru_dict(data)
- lru_dict.pop(1)
- self.assert_order(lru_dict, [2, 3])
-
- # Pop in the middle.
- lru_dict = self.prepare_lru_dict(data)
- lru_dict.pop(2)
- self.assert_order(lru_dict, [1, 3])
-
- # Pop oldest.
- lru_dict = self.prepare_lru_dict(data)
- 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 save_and_load(lru_dict):
- tmp_name = tempfile.mktemp()
- try:
- lru_dict.save(tmp_name)
- return lru.LRUDict.load(tmp_name)
- finally:
- try:
- os.unlink(tmp_name)
- except OSError:
- pass
-
- data = [1, 2, 3]
-
- # Edge case.
- empty = save_and_load(lru.LRUDict())
- self.assertFalse(empty)
-
- # Normal flow.
- lru_dict = save_and_load(self.prepare_lru_dict(data))
- self.assert_order(lru_dict, data)
-
- # After touches.
- lru_dict = self.prepare_lru_dict(data)
- lru_dict.touch(2)
- lru_dict = save_and_load(lru_dict)
- self.assert_order(lru_dict, [1, 3, 2])
-
- # After pop.
- lru_dict = self.prepare_lru_dict(data)
- lru_dict.pop(2)
- lru_dict = save_and_load(lru_dict)
- self.assert_order(lru_dict, [1, 3])
-
- # 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])
-
- def test_corrupted_state_file(self):
- def load_from_state(state_text):
- tmp_name = tempfile.mktemp()
- try:
- with open(tmp_name, 'wt') as f:
- f.write(state_text)
- return lru.LRUDict.load(tmp_name)
- finally:
- os.unlink(tmp_name)
-
- # Loads correct state just fine.
- self.assertIsNotNone(load_from_state(json.dumps([
- ['key1', 'value1'],
- ['key2', 'value2'],
- ])))
-
- # Not a json.
- with self.assertRaises(ValueError):
- load_from_state('garbage, not a state')
-
- # Not a list.
- with self.assertRaises(ValueError):
- load_from_state('{}')
-
- # Not a list of pairs.
- with self.assertRaises(ValueError):
- load_from_state(json.dumps([
- ['key', 'value', 'and whats this?'],
- ]))
-
- # Duplicate keys.
- with self.assertRaises(ValueError):
- load_from_state(json.dumps([
- ['key', 'value'],
- ['key', 'another_value'],
- ]))
-
-
-if __name__ == '__main__':
- VERBOSE = '-v' in sys.argv
- logging.basicConfig(level=logging.DEBUG if VERBOSE else logging.ERROR)
- unittest.main()
« no previous file with comments | « swarm_client/tests/isolateserver_test.py ('k') | swarm_client/tests/net_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698