DMSC Integration Testing

Last updated: December 16, 2025 22:41:25

Test: nexusfiles-scipp|odin|load_raw_file|

instrument = 'odin'
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/odin_999999_00010672.hdf')

def test_load_raw_file(instrument: str, coda_nexus_file_path: Path) -> None:
# Catch the warnings while loading the file to avoid the test from stopping after
# the first warning.
# Note that we need action="default" to make sure that the warnings are not
# promoted as errors.
with warnings.catch_warnings(action="default", record=True) as recorded_warnings:
with sx.File(coda_nexus_file_path, "r", locking=False) as f:
dg = f[()]

# Log the warnings to the test output.
for w in recorded_warnings:
logging.warning("%s: %s", w.category.__name__, w.message)

assert dg["entry"]["instrument"]["name"] == NEXUS_INSTRUMENT_NAME[instrument]

# Re-issue the warnings. We do this instead of asserting that the list of warnings
# is empty to make sure that the filtering of warnings in the pyproject.toml is
# working correctly.
for w in recorded_warnings:
> warnings.warn(
message=w.message,
category=w.category,
source=w.source,
stacklevel=1,
)
E UserWarning: Failed to load /entry/instrument/histogram_mode_detectors/orca as NXdetector: Expected dimension to be in [time:0, dim_1:2048, dim_2:2048, ], got x_pixel_offset. Falling back to loading HDF5 group children as scipp.DataGroup.

tests/nexusfiles-scipp/fileloading_test.py:32: UserWarning

instrument = 'odin'
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/odin_999999_00010532.hdf')

def test_load_raw_file(instrument: str, coda_nexus_file_path: Path) -> None:
# Catch the warnings while loading the file to avoid the test from stopping after
# the first warning.
# Note that we need action="default" to make sure that the warnings are not
# promoted as errors.
with warnings.catch_warnings(action="default", record=True) as recorded_warnings:
with sx.File(coda_nexus_file_path, "r", locking=False) as f:
dg = f[()]

# Log the warnings to the test output.
for w in recorded_warnings:
logging.warning("%s: %s", w.category.__name__, w.message)

assert dg["entry"]["instrument"]["name"] == NEXUS_INSTRUMENT_NAME[instrument]

# Re-issue the warnings. We do this instead of asserting that the list of warnings
# is empty to make sure that the filtering of warnings in the pyproject.toml is
# working correctly.
for w in recorded_warnings:
> warnings.warn(
message=w.message,
category=w.category,
source=w.source,
stacklevel=1,
)
E UserWarning: Failed to load /entry/instrument/histogram_mode_detectors/orca as NXdetector: Expected dimension to be in [time:0, dim_1:2048, dim_2:2048, ], got x_pixel_offset. Falling back to loading HDF5 group children as scipp.DataGroup.

tests/nexusfiles-scipp/fileloading_test.py:32: UserWarning

instrument = 'odin'
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/odin_999999_00010406.hdf')

def test_load_raw_file(instrument: str, coda_nexus_file_path: Path) -> None:
# Catch the warnings while loading the file to avoid the test from stopping after
# the first warning.
# Note that we need action="default" to make sure that the warnings are not
# promoted as errors.
with warnings.catch_warnings(action="default", record=True) as recorded_warnings:
with sx.File(coda_nexus_file_path, "r", locking=False) as f:
dg = f[()]

# Log the warnings to the test output.
for w in recorded_warnings:
logging.warning("%s: %s", w.category.__name__, w.message)

assert dg["entry"]["instrument"]["name"] == NEXUS_INSTRUMENT_NAME[instrument]

# Re-issue the warnings. We do this instead of asserting that the list of warnings
# is empty to make sure that the filtering of warnings in the pyproject.toml is
# working correctly.
for w in recorded_warnings:
> warnings.warn(
message=w.message,
category=w.category,
source=w.source,
stacklevel=1,
)
E UserWarning: Failed to load /entry/instrument/histogram_mode_detectors/orca as NXdetector: Expected dimension to be in [time:0, dim_1:2048, dim_2:2048, ], got x_pixel_offset. Falling back to loading HDF5 group children as scipp.DataGroup.

tests/nexusfiles-scipp/fileloading_test.py:32: UserWarning

instrument = 'odin'
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/odin_999999_00010266.hdf')

def test_load_raw_file(instrument: str, coda_nexus_file_path: Path) -> None:
# Catch the warnings while loading the file to avoid the test from stopping after
# the first warning.
# Note that we need action="default" to make sure that the warnings are not
# promoted as errors.
with warnings.catch_warnings(action="default", record=True) as recorded_warnings:
with sx.File(coda_nexus_file_path, "r", locking=False) as f:
dg = f[()]

# Log the warnings to the test output.
for w in recorded_warnings:
logging.warning("%s: %s", w.category.__name__, w.message)

assert dg["entry"]["instrument"]["name"] == NEXUS_INSTRUMENT_NAME[instrument]

# Re-issue the warnings. We do this instead of asserting that the list of warnings
# is empty to make sure that the filtering of warnings in the pyproject.toml is
# working correctly.
for w in recorded_warnings:
> warnings.warn(
message=w.message,
category=w.category,
source=w.source,
stacklevel=1,
)
E UserWarning: Failed to load /entry/instrument/histogram_mode_detectors/orca as NXdetector: Expected dimension to be in [time:0, dim_1:2048, dim_2:2048, ], got x_pixel_offset. Falling back to loading HDF5 group children as scipp.DataGroup.

tests/nexusfiles-scipp/fileloading_test.py:32: UserWarning

instrument = 'odin'
coda_nexus_file_path = PosixPath('/ess/data/coda/999999/raw/odin_999999_00010133.hdf')

def test_load_raw_file(instrument: str, coda_nexus_file_path: Path) -> None:
# Catch the warnings while loading the file to avoid the test from stopping after
# the first warning.
# Note that we need action="default" to make sure that the warnings are not
# promoted as errors.
with warnings.catch_warnings(action="default", record=True) as recorded_warnings:
with sx.File(coda_nexus_file_path, "r", locking=False) as f:
dg = f[()]

# Log the warnings to the test output.
for w in recorded_warnings:
logging.warning("%s: %s", w.category.__name__, w.message)

assert dg["entry"]["instrument"]["name"] == NEXUS_INSTRUMENT_NAME[instrument]

# Re-issue the warnings. We do this instead of asserting that the list of warnings
# is empty to make sure that the filtering of warnings in the pyproject.toml is
# working correctly.
for w in recorded_warnings:
> warnings.warn(
message=w.message,
category=w.category,
source=w.source,
stacklevel=1,
)
E UserWarning: Failed to load /entry/instrument/histogram_mode_detectors/orca as NXdetector: Expected dimension to be in [time:0, dim_1:2048, dim_2:2048, ], got x_pixel_offset. Falling back to loading HDF5 group children as scipp.DataGroup.

tests/nexusfiles-scipp/fileloading_test.py:32: UserWarning

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None

None