1import h5py 2from h5py import h5f, h5p 3 4from .common import ut, TestCase 5 6@ut.skipUnless(h5py.version.hdf5_version_tuple >= (1, 8, 9), 'file image operations require HDF5 >= 1.8.9') 7class TestFileImage(TestCase): 8 def test_load_from_image(self): 9 from binascii import a2b_base64 10 from zlib import decompress 11 12 compressed_image = 'eJzr9HBx4+WS4mIAAQ4OBhYGAQZk8B8KKjhQ+TD5BCjNCKU7oPQKJpg4I1hOAiouCDUfXV1IkKsrSPV/NACzx4AFQnMwjIKRCDxcHQNAdASUD0ulJ5hQ1ZWkFpeAaFh69KDQXkYGNohZjDA+JCUzMkIEmKHqELQAWKkAByytOoBJViAPJM7ExATWyAE0B8RgZkyAJmlYDoEAIahukJoNU6+HMTA0UOgT6oBgP38XUI6G5UMFZrzKR8EoGAUjGMDKYVgxDSsuAHcfMK8=' 13 14 image = decompress(a2b_base64(compressed_image)) 15 16 fapl = h5p.create(h5py.h5p.FILE_ACCESS) 17 fapl.set_fapl_core() 18 fapl.set_file_image(image) 19 20 fid = h5f.open(self.mktemp().encode(), h5py.h5f.ACC_RDONLY, fapl=fapl) 21 f = h5py.File(fid) 22 23 self.assertTrue('test' in f) 24 25 def test_open_from_image(self): 26 from binascii import a2b_base64 27 from zlib import decompress 28 29 compressed_image = 'eJzr9HBx4+WS4mIAAQ4OBhYGAQZk8B8KKjhQ+TD5BCjNCKU7oPQKJpg4I1hOAiouCDUfXV1IkKsrSPV/NACzx4AFQnMwjIKRCDxcHQNAdASUD0ulJ5hQ1ZWkFpeAaFh69KDQXkYGNohZjDA+JCUzMkIEmKHqELQAWKkAByytOoBJViAPJM7ExATWyAE0B8RgZkyAJmlYDoEAIahukJoNU6+HMTA0UOgT6oBgP38XUI6G5UMFZrzKR8EoGAUjGMDKYVgxDSsuAHcfMK8=' 30 31 image = decompress(a2b_base64(compressed_image)) 32 33 fid = h5f.open_file_image(image) 34 f = h5py.File(fid) 35 36 self.assertTrue('test' in f) 37