diff options
author | Picca Frédéric-Emmanuel <picca@synchrotron-soleil.fr> | 2019-05-28 08:16:16 +0200 |
---|---|---|
committer | Picca Frédéric-Emmanuel <picca@synchrotron-soleil.fr> | 2019-05-28 08:16:16 +0200 |
commit | a763e5d1b3921b3194f3d4e94ab9de3fbe08bbdd (patch) | |
tree | 45d462ed36a5522e9f3b9fde6c4ec4918c2ae8e3 /silx/gui/hdf5/test | |
parent | cebdc9244c019224846cb8d2668080fe386a6adc (diff) |
New upstream version 0.10.1+dfsg
Diffstat (limited to 'silx/gui/hdf5/test')
-rw-r--r-- | silx/gui/hdf5/test/test_hdf5.py | 59 |
1 files changed, 39 insertions, 20 deletions
diff --git a/silx/gui/hdf5/test/test_hdf5.py b/silx/gui/hdf5/test/test_hdf5.py index 1751a21..f22d4ae 100644 --- a/silx/gui/hdf5/test/test_hdf5.py +++ b/silx/gui/hdf5/test/test_hdf5.py @@ -26,7 +26,7 @@ __authors__ = ["V. Valls"] __license__ = "MIT" -__date__ = "03/05/2018" +__date__ = "12/03/2019" import time @@ -43,10 +43,7 @@ from silx.gui.utils.testutils import SignalListener from silx.io import commonh5 import weakref -try: - import h5py -except ImportError: - h5py = None +import h5py _tmpDirectory = None @@ -56,14 +53,13 @@ def setUpModule(): global _tmpDirectory _tmpDirectory = tempfile.mkdtemp(prefix=__name__) - if h5py is not None: - filename = _tmpDirectory + "/data.h5" + filename = _tmpDirectory + "/data.h5" - # create h5 data - f = h5py.File(filename, "w") - g = f.create_group("arrays") - g.create_dataset("scalar", data=10) - f.close() + # create h5 data + f = h5py.File(filename, "w") + g = f.create_group("arrays") + g.create_dataset("scalar", data=10) + f.close() def tearDownModule(): @@ -91,8 +87,6 @@ class TestHdf5TreeModel(TestCaseQt): def setUp(self): super(TestHdf5TreeModel, self).setUp() - if h5py is None: - self.skipTest("h5py is not available") def waitForPendingOperations(self, model): for _ in range(10): @@ -127,8 +121,6 @@ class TestHdf5TreeModel(TestCaseQt): model.appendFile(filename) self.assertEqual(model.rowCount(qt.QModelIndex()), 1) # clean up - index = model.index(0, 0, qt.QModelIndex()) - h5File = model.data(index, hdf5.Hdf5TreeModel.H5PY_OBJECT_ROLE) ref = weakref.ref(model) model = None self.qWaitForDestroy(ref) @@ -246,6 +238,37 @@ class TestHdf5TreeModel(TestCaseQt): model.setFileDropEnabled(False) self.assertNotEquals(model.supportedDropActions(), 0) + def testCloseFile(self): + """A file inserted as a filename is open and closed internally.""" + filename = _tmpDirectory + "/data.h5" + model = hdf5.Hdf5TreeModel() + self.assertEqual(model.rowCount(qt.QModelIndex()), 0) + model.insertFile(filename) + self.assertEqual(model.rowCount(qt.QModelIndex()), 1) + index = model.index(0, 0) + h5File = model.data(index, role=hdf5.Hdf5TreeModel.H5PY_OBJECT_ROLE) + model.removeIndex(index) + self.assertEqual(model.rowCount(qt.QModelIndex()), 0) + self.assertFalse(bool(h5File.id.valid), "The HDF5 file was not closed") + + def testNotCloseFile(self): + """A file inserted as an h5py object is not open (then not closed) + internally.""" + filename = _tmpDirectory + "/data.h5" + try: + h5File = h5py.File(filename) + model = hdf5.Hdf5TreeModel() + self.assertEqual(model.rowCount(qt.QModelIndex()), 0) + model.insertH5pyObject(h5File) + self.assertEqual(model.rowCount(qt.QModelIndex()), 1) + index = model.index(0, 0) + h5File = model.data(index, role=hdf5.Hdf5TreeModel.H5PY_OBJECT_ROLE) + model.removeIndex(index) + self.assertEqual(model.rowCount(qt.QModelIndex()), 0) + self.assertTrue(bool(h5File.id.valid), "The HDF5 file was unexpetedly closed") + finally: + h5File.close() + def testDropExternalFile(self): filename = _tmpDirectory + "/data.h5" model = hdf5.Hdf5TreeModel() @@ -571,8 +594,6 @@ class TestH5Node(TestCaseQt): @classmethod def setUpClass(cls): super(TestH5Node, cls).setUpClass() - if h5py is None: - raise unittest.SkipTest("h5py is not available") cls.tmpDirectory = tempfile.mkdtemp() cls.h5Filename = cls.createResource(cls.tmpDirectory) @@ -809,8 +830,6 @@ class TestHdf5TreeView(TestCaseQt): def setUp(self): super(TestHdf5TreeView, self).setUp() - if h5py is None: - self.skipTest("h5py is not available") def testCreate(self): view = hdf5.Hdf5TreeView() |