From 09688dc594e9d82ba3a85b55fa569ccd2bb0b0df Mon Sep 17 00:00:00 2001 From: Thiago da Silva Date: Fri, 21 Mar 2014 16:02:36 -0400 Subject: fix __exit__ function not closing file descriptor The file descriptor is not being closed because it is self._fd is None Change-Id: I7edc8a78b09bdd76d59ac8f3dbc809af652f9b0e Signed-off-by: Thiago da Silva Reviewed-on: http://review.gluster.org/7315 Reviewed-by: Luis Pabon Tested-by: Luis Pabon --- test/unit/obj/test_diskfile.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'test') diff --git a/test/unit/obj/test_diskfile.py b/test/unit/obj/test_diskfile.py index 64fa6e7..f8c26db 100644 --- a/test/unit/obj/test_diskfile.py +++ b/test/unit/obj/test_diskfile.py @@ -204,6 +204,16 @@ class TestDiskFile(unittest.TestCase): self.assertRaises(DiskFileNotOpen, gdf.reader) self.assertRaises(DiskFileNotOpen, gdf.__enter__) + def test_open_and_close(self): + mock_close = Mock() + + with mock.patch("gluster.swift.obj.diskfile.do_close", mock_close): + gdf = self._create_and_get_diskfile("vol0", "p57", "ufo47", + "bar", "z") + with gdf.open(): + assert gdf._fd is not None + self.assertTrue(mock_close.called) + def test_open_existing_metadata(self): the_path = os.path.join(self.td, "vol0", "bar") the_file = os.path.join(the_path, "z") -- cgit