- # ent1, ent3 clear return false, can't be cleared
- ent1.clear.return_value = False
- ent3.clear.return_value = False
+ def test_clear_in_use(self):
+ cache = arvados_fuse.InodeCache(1000, 4)
+ inodes = arvados_fuse.Inodes(cache)
+
+ ent1 = mock.MagicMock()
+ ent1.in_use.return_value = True
+ ent1.has_ref.return_value = False
+ ent1.persisted.return_value = True
+ ent1.objsize.return_value = 500
+ inodes.add_entry(ent1)
+
+ ent3 = mock.MagicMock()
+ ent3.in_use.return_value = False
+ ent3.has_ref.return_value = True
+ ent3.persisted.return_value = True
+ ent3.objsize.return_value = 600
+ inodes.add_entry(ent3)
+
+ cache.min_entries = 1
+
+ # ent1, ent3 in use, has ref, can't be cleared