Tests for device output expected by downstream processing #1211
Replies: 2 comments 5 replies
-
A related question, how do we capture all of the requirements across all beamlines? A DCM should provide the required metadata for everyone's nexus implementation, for example. |
Beta Was this translation helpful? Give feedback.
-
I think we always push for downstream to change. Particularly right now while there is a small downstream ecosystem. My concern is if we're not careful we end up with a GDA like system where everyone is scared to change anything because it might break downstream and so they make a copy, with slightly different behavior... Specifically in this case there are two things that would solved it:
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
There previously were tests for the DCM to ensure that its output was compatible with downstream processing (e.g. the NeXus service). Due to ophyd-async changes these tests were disabled, then changes to consolidate the DCM across multiple beamlines made changes to the output of the device.
It's not uncommon for "breaking changes" of modifying the output signal names of a device to be "fixed" by modifying the tests, as sometimes the tests are just to increase coverage rather than denoting a specific desired behaviour.
How can we mark/monitor/maintain tests for devices that are required not to change?
When consolidating multiple similar devices, how much should we push for downstream processing to change vs. allowing changes within dodal?
Are breaking changes to device outputs sufficient to require a breaking change in dodal version, which should be passed as part of the metadata of a scan and checked by downstream services?
When output of bluesky is captured by a document store, processing like writing a NeXus file can be re-run once the processing has been updated, but currently data is converted to a processed form and the original is lost.
Beta Was this translation helpful? Give feedback.
All reactions