[CI] test_nxw_ct_base_nopolicy
Happy to welcome back this old issue. I hope it is not again a Redis stream sync issue.
__________________________ test_nxw_ct_base_nopolicy ___________________________
nexus_writer_base_nopolicy = {'alt': False, 'config': False, 'policy': False, 'session': <bliss.common.session.Session object at 0x7fab6824bd90>, ...}
def test_nxw_ct_base_nopolicy(nexus_writer_base_nopolicy):
> _test_nxw_ct(**nexus_writer_base_nopolicy)
tests/nexus_writer/test_nxw_ct.py:34:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
tests/nexus_writer/helpers/nxw_test_utils.py:303: in inner
func(*args, **kwargs)
tests/nexus_writer/test_nxw_ct.py:43: in _test_nxw_ct
scan, positioners=[["elapsed_time", "epoch"]], **kwargs
tests/nexus_writer/helpers/nxw_test_data.py:29: in assert_scan_data
validate_scan_data(scan, **kwargs)
tests/nexus_writer/helpers/nxw_test_data.py:110: in validate_scan_data
save_images=save_images,
tests/nexus_writer/helpers/nxw_test_data.py:382: in validate_measurement
save_images=save_images,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dset = <Closed HDF5 dataset>, detector_ndim = 0
save_options = {'allow_external_hdf5': True, 'allow_external_nonhdf5': False, 'copy_non_external': True, 'flat': True, ...}
variable_length = False, save_images = True
def assert_dataset(
dset, detector_ndim, save_options, variable_length=False, save_images=True
):
"""
Check whether dataset contains the expected data
:param h5py.Dataset dset:
:param int detector_ndim:
:param dict save_options:
:param bool variable_length:
:param bool save_images:
"""
detaxis = tuple(range(-detector_ndim, 0))
if "lima_simulator" in dset.name and detector_ndim == 2:
if not save_images:
return
# Check external data (VDS or raw external)
if dset.parent.attrs.get("NX_class", "") == "NXdetector":
if "lima_simulator2" in dset.name:
isexternal = bool(dset.external)
if save_options["allow_external_nonhdf5"]:
assert isexternal, dset.name
else:
assert not isexternal, dset.name
else:
try:
isexternal = dset.is_virtual
except RuntimeError:
isexternal = False
if save_options["allow_external_hdf5"]:
assert isexternal, dset.name
else:
assert not isexternal, dset.name
# Check image maxima: 100, 200, ...
if variable_length:
return
data = dset[()].max(axis=detaxis).flatten(order="C")
npoints = numpy.product(dset.shape[:-2], dtype=int)
edata = numpy.arange(1, npoints + 1) * 100
numpy.testing.assert_array_equal(data, edata, err_msg=dset.name)
else:
if variable_length:
return
try:
numpy.array(numpy.nan, dset.dtype)
except ValueError:
return # TODO: figure out how to mark missing data
invalid = dset[()] == 0
else:
invalid = numpy.isnan(dset[()])
# At least one valid value along the detector dimensions
invalid = invalid.min(axis=detaxis)
> assert not invalid.all(), dset.name
E AssertionError: /1.1/measurement/diode7_var
tests/nexus_writer/helpers/nxw_test_data.py:1307: AssertionError