You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"a plan that blocks the RunEngine's normal Ctrl+C handing with a sleep"
yieldMsg("null")
ttime.sleep(5)
yieldMsg("null")
start_time=ttime.monotonic()
timer=threading.Timer(0.2, sim_kill, (11,))
timer.start()
withpytest.raises(RunEngineInterrupted):
RE(hanging_plan())
# Check that hammering SIGINT escaped from that 5-second sleep.
assert (ttime.monotonic() -start_time) <2.5
# The KeyboardInterrupt but because we could not shut down, panic!
assertRE.state=="panicked"
timer.join()
withpytest.raises(RuntimeError):
RE([])
withpytest.raises(RuntimeError):
RE.stop()
withpytest.raises(RuntimeError):
RE.halt()
withpytest.raises(RuntimeError):
RE.abort()
withpytest.raises(RuntimeError):
RE.resume()
withpytest.raises(RuntimeError):
RE.request_pause()
If not skipped this test hangs the pytest process on exit until the CI runners kill it (or you kill it with ctrl-c manually locally).
I suspect that this is because in the panicked state we have lost control of the RE + RE thread (which is why we panicked so maybe this is OK). If we are lucky, the fix is in the fixture cleanup, if we are unlucky the we need to try harder to save a panicked RE.
The text was updated successfully, but these errors were encountered:
bluesky/src/bluesky/tests/test_run_engine.py
Lines 776 to 820 in 5df94da
If not skipped this test hangs the pytest process on exit until the CI runners kill it (or you kill it with ctrl-c manually locally).
I suspect that this is because in the panicked state we have lost control of the RE + RE thread (which is why we panicked so maybe this is OK). If we are lucky, the fix is in the fixture cleanup, if we are unlucky the we need to try harder to save a panicked RE.
The text was updated successfully, but these errors were encountered: