Skip to content

Fixes for UDC Default State robot unload and panda PCAP path provider setting#1669

Merged
rtuck99 merged 9 commits intomainfrom
fix_beamline_device_instantiation
Mar 12, 2026
Merged

Fixes for UDC Default State robot unload and panda PCAP path provider setting#1669
rtuck99 merged 9 commits intomainfrom
fix_beamline_device_instantiation

Conversation

@rtuck99
Copy link
Copy Markdown
Contributor

@rtuck99 rtuck99 commented Mar 6, 2026

Fixes

Link to dodal PR (if required):

(remember to update pyproject.toml with the dodal commit tag if you need it for tests to pass!)

Instructions to reviewer on how to test:

  1. Tests pass
  2. Confirm thing y happens

Checks for reviewer

  • Would the PR title make sense to a user on a set of release notes

@rtuck99 rtuck99 added the hyperion Issues for Hyperion, the Bluesky UDC stack label Mar 9, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.94%. Comparing base (7e3765c) to head (b67aa5e).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1669   +/-   ##
=======================================
  Coverage   92.94%   92.94%           
=======================================
  Files         157      157           
  Lines        8586     8591    +5     
=======================================
+ Hits         7980     7985    +5     
  Misses        606      606           
Components Coverage Δ
i24 SSX 77.32% <ø> (ø)
hyperion 98.59% <100.00%> (+<0.01%) ⬆️
other 98.32% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@rtuck99 rtuck99 marked this pull request as ready for review March 10, 2026 12:14
@rtuck99 rtuck99 requested a review from a team as a code owner March 10, 2026 12:14
Copy link
Copy Markdown
Contributor

@jacob720 jacob720 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, just the one question


yield from bps.wait_for([set_panda_dir])
futures = yield from bps.wait_for([set_panda_dir])
return futures[0].result()
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does this result need to be returned? I can't see that it's used anywhere else in the code. Also set_panda_dir doesn't return anything so won't the result be None? Or is this for error propegation

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bps.wait_for() returns a set of futures, meaning that the result of the tasks (and therefore any exception) is not returned directly instead it is captured.
If you don't fetch the result then if an exception happened we can't find out about it.
The return is just syntactic sugar that shuts up the type-checking.

@rtuck99 rtuck99 merged commit 06fa11e into main Mar 12, 2026
17 checks passed
@rtuck99 rtuck99 deleted the fix_beamline_device_instantiation branch March 12, 2026 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hyperion Issues for Hyperion, the Bluesky UDC stack

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants