class Backend_Segment_Tests(unittest.TestCase): def setUp(self): root = os.path.abspath(self.mktemp()) os.mkdir(root) datadir = os.path.join(root, 'data') os.mkdir(datadir) envdir = os.path.join(root, 'env') os.mkdir(envdir) tmpdir = os.path.join(root, 'tmp') os.mkdir(tmpdir) options = {} self.env = Env(envdir, datadir, tmpdir, options) self.index = Index(self.env, 'store') def test_create_Segment(self): try: segment = None with self.index.new_txn() as txn: segmentId = self.index.new_segment(txn) segment = Segment(txn, self.index, segmentId) self.failUnless(segmentId == 1) finally: if segment: segment.close() try: segment = None with self.index.new_txn() as txn: segmentId = self.index.new_segment(txn) segment = Segment(txn, self.index, segmentId) self.failUnless(segmentId == 2) finally: if segment: segment.close() try: segment = None with self.index.new_txn() as txn: segmentId = self.index.new_segment(txn) segment = Segment(txn, self.index, segmentId) self.failUnless(segmentId == 3) finally: if segment: segment.close() self.failUnless(sorted(self.index.iter_segments(None)) == [1,2,3]) def test_delete_Segment(self): with self.index.new_txn() as txn: segmentId = self.index.new_segment(txn) with self.index.new_txn() as txn: self.index.delete_segment(txn, segmentId) def tearDown(self): self.index.close() self.env.close()