Ejemplo n.º 1
0
    def test_unregister_driver(self):
        h5py.register_driver('new-driver', lambda plist: None)
        self.assertIn('new-driver', h5py.registered_drivers())

        h5py.unregister_driver('new-driver')
        self.assertNotIn('new-driver', h5py.registered_drivers())

        with self.assertRaises(ValueError) as e:
            fname = self.mktemp()
            h5py.File(fname, driver='new-driver')

        self.assertEqual(str(e.exception), 'Unknown driver type "new-driver"')
Ejemplo n.º 2
0
    def test_unregister_driver(self):
        h5py.register_driver('new-driver', lambda plist: None)
        self.assertIn('new-driver', h5py.registered_drivers())

        h5py.unregister_driver('new-driver')
        self.assertNotIn('new-driver', h5py.registered_drivers())

        with self.assertRaises(ValueError) as e:
            fname = self.mktemp()
            h5py.File(fname, driver='new-driver')

        self.assertEqual(str(e.exception), 'Unknown driver type "new-driver"')
Ejemplo n.º 3
0
    def test_open_as_zarr_remote(self, request, capsys):
        # remote test with ros3 and open_as_zarr
        item = 'https://dandiarchive.s3.amazonaws.com/girder-assetstore/4f/5a/4f5a24f7608041e495c85329dba318b7'
        dsetname = '/acquisition/raw_running_wheel_rotation/data'
        if 'ros3' in h5py.registered_drivers():
            hfile = h5py.File(item, mode='r', driver='ros3')
        else:
            f = fsspec.open(item, 'rb')
            hfile = h5py.File(f.open(), mode='r')

        dset = hfile[dsetname]

        with capsys.disabled():
            print("\n" + f"{item}  :".rjust(len(request.node.nodeid)), end='')
            print("\n" + f"dataset: {dsetname}, data  :".rjust(
                len(request.node.nodeid)),
                  end='')

        zarray = open_as_zarr(dset)  # dataset does not have object references
        assert isinstance(zarray, zarr.Array)

        # test simple dtype
        assert_array_equal(dset, zarray)

        with capsys.disabled():
            print("\n" + f"dataset: {dset.name}, fillvalue  :".rjust(
                len(request.node.nodeid)),
                  end='')

        # test simple fillvalue
        assert_array_equal(dset.fillvalue, zarray.fill_value)
Ejemplo n.º 4
0
 def setUp(self):
     # Skip ROS3 tests if internet is not available or the ROS3 driver is not installed
     try:
         urllib.request.urlopen('https://dandiarchive.s3.amazonaws.com/ros3test.nwb', timeout=1)
     except urllib.request.URLError:
         self.skipTest("Internet access to DANDI failed. Skipping all Ros3 streaming tests.")
     if 'ros3' not in h5py.registered_drivers():
         self.skipTest("ROS3 driver not installed. Skipping all Ros3 streaming tests.")
Ejemplo n.º 5
0
    def test_register_driver(self):
        called_with = [None]

        def set_fapl(plist, *args, **kwargs):
            called_with[0] = args, kwargs
            return _drivers['sec2'](plist)

        h5py.register_driver('new-driver', set_fapl)
        self.assertIn('new-driver', h5py.registered_drivers())

        fname = self.mktemp()
        h5py.File(fname, driver='new-driver', driver_arg_0=0, driver_arg_1=1)

        self.assertEqual(
            called_with,
            [((), {'driver_arg_0': 0, 'driver_arg_1': 1})],
        )
Ejemplo n.º 6
0
    def test_register_driver(self):
        called_with = [None]

        def set_fapl(plist, *args, **kwargs):
            called_with[0] = args, kwargs
            return _drivers['sec2'](plist)

        h5py.register_driver('new-driver', set_fapl)
        self.assertIn('new-driver', h5py.registered_drivers())

        fname = self.mktemp()
        h5py.File(fname, driver='new-driver', driver_arg_0=0, driver_arg_1=1)

        self.assertEqual(
            called_with,
            [((), {'driver_arg_0': 0, 'driver_arg_1': 1})],
        )