diff --git a/swh/loader/vcs/cache.py b/swh/loader/vcs/cache.py index f3ada05e3e941b491c42030d66a22b4fd0ee043e..4607c0e3c3681a9f77363c3ed47add8913a083e7 100644 --- a/swh/loader/vcs/cache.py +++ b/swh/loader/vcs/cache.py @@ -55,3 +55,6 @@ class SimpleCache(): def set(self): return self.s + + def __contains__(self, e): + return e in self.s diff --git a/swh/loader/vcs/loader.py b/swh/loader/vcs/loader.py index 9ab9ac9c1de17e4476e7d58f455afce4be77f74d..8b60f77cbfb5f62cfc723becb88a4fa8a4d05685 100644 --- a/swh/loader/vcs/loader.py +++ b/swh/loader/vcs/loader.py @@ -217,7 +217,7 @@ class SWHLoader(config.SWHConfig): shallow_blobs = [] for blob in blobs: key = blob['sha1'] - if key in self.contents_seen.set(): + if key in self.contents_seen: continue blobs_per_sha1[key] = blob shallow_blobs.append(converters.shallow_blob(blob)) @@ -245,7 +245,7 @@ class SWHLoader(config.SWHConfig): shallow_trees = [] for tree in trees: key = tree['sha1_git'] - if key in self.directories_seen.set(): + if key in self.directories_seen: continue trees_per_sha1[key] = tree @@ -271,7 +271,7 @@ class SWHLoader(config.SWHConfig): shallow_commits = [] for commit in commits: key = commit['id'] - if key in self.revisions_seen.set(): + if key in self.revisions_seen: continue commits_per_sha1[key] = commit @@ -300,7 +300,7 @@ class SWHLoader(config.SWHConfig): shallow_tags = [] for tag in tags: key = tag['id'] - if key in self.releases_seen.set(): + if key in self.releases_seen: continue tags_per_sha1[key] = tag diff --git a/swh/loader/vcs/tests/test_cache.py b/swh/loader/vcs/tests/test_cache.py index 7f841f181c1449f2df6643a2bece0439411bb745..b286cdab5fda80595f86a5a8f31971c7ce3832a9 100644 --- a/swh/loader/vcs/tests/test_cache.py +++ b/swh/loader/vcs/tests/test_cache.py @@ -31,20 +31,37 @@ class TestSimpleCache(unittest.TestCase): # when self.assertEquals(cache.set(), {1, 2, 3}) + self.assertTrue(1 in cache) + self.assertTrue(2 in cache) + self.assertTrue(3 in cache) + self.assertTrue(4 not in cache) self.assertEquals(cache.count, 3) cache.add(4) cache.add(5) self.assertEquals(cache.set(), {1, 2, 3, 4, 5}) + self.assertTrue(1 in cache) + self.assertTrue(2 in cache) + self.assertTrue(3 in cache) + self.assertTrue(4 in cache) + self.assertTrue(5 in cache) self.assertEquals(cache.count, 5) cache.add(6) # we hit max-size, 50% of elements (here 3) are evicted self.assertEquals(cache.set(), {4, 5, 6}) + self.assertTrue(4 in cache) + self.assertTrue(5 in cache) + self.assertTrue(6 in cache) + self.assertTrue(1 not in cache) + self.assertTrue(2 not in cache) + self.assertTrue(3 not in cache) self.assertEquals(cache.count, 3) cache.add(7) cache.add(8) self.assertEquals(cache.set(), {4, 5, 6, 7, 8}) + self.assertTrue(7 in cache) + self.assertTrue(8 in cache) self.assertEquals(cache.count, 5)