- blockmanager = arvados.arvfile._BlockManager(mockkeep)
- bufferblock = blockmanager.alloc_bufferblock()
- bufferblock.owner = mock.MagicMock()
- bufferblock.owner.flush.side_effect = lambda: blockmanager.commit_bufferblock(bufferblock)
- bufferblock.append("foo")
- with self.assertRaises(arvados.errors.KeepWriteError) as err:
- blockmanager.commit_all()
- self.assertTrue(bufferblock.owner.flush.called)
- self.assertEqual(str(err.exception), "Error writing some blocks: block acbd18db4cc2f85cedef654fccc4a4d8+3 raised KeepWriteError (fail)")
- self.assertEqual(bufferblock.state(), arvados.arvfile._BufferBlock.PENDING)
+ with arvados.arvfile._BlockManager(mockkeep) as blockmanager:
+ bufferblock = blockmanager.alloc_bufferblock()
+ bufferblock.owner = mock.MagicMock()
+ def flush(sync=None):
+ blockmanager.commit_bufferblock(bufferblock, sync)
+ bufferblock.owner.flush.side_effect = flush
+ bufferblock.append("foo")
+ with self.assertRaises(arvados.errors.KeepWriteError) as err:
+ blockmanager.commit_all()
+ self.assertTrue(bufferblock.owner.flush.called)
+ self.assertEqual(str(err.exception), "Error writing some blocks: block acbd18db4cc2f85cedef654fccc4a4d8+3 raised KeepWriteError (fail)")
+ self.assertEqual(bufferblock.state(), arvados.arvfile._BufferBlock.ERROR)