]> arthur.barton.de Git - bup.git/blobdiff - lib/bup/midx.py
Check that all context managed objects are properly closed
[bup.git] / lib / bup / midx.py
index e2458160915c51899026db91770272ddcc2a730b..1b3708e81fe0b714736f9aaba65bc5f5a86d30be 100644 (file)
@@ -22,6 +22,7 @@ class PackMidx:
     amounts of files.
     """
     def __init__(self, filename):
+        self.closed = False
         self.name = filename
         self.force_keep = False
         self.map = None
@@ -92,11 +93,15 @@ class PackMidx:
         return self.idxnames[self._get_idx_i(i)]
 
     def close(self):
+        self.closed = True
         if self.map is not None:
             self.fanout = self.shatable = self.whichlist = self.idxnames = None
             self.map.close()
             self.map = None
 
+    def __del__(self):
+        assert self.closed
+
     def exists(self, hash, want_source=False):
         """Return nonempty if the object exists in the index files."""
         global _total_searches, _total_steps