Update 2025-04-24_11:44:19
This commit is contained in:
@ -0,0 +1,29 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
A test helper for seeing what happens when slp_switch()
|
||||
fails.
|
||||
"""
|
||||
# pragma: no cover
|
||||
|
||||
import greenlet
|
||||
|
||||
|
||||
print('fail_slp_switch is running', flush=True)
|
||||
|
||||
runs = []
|
||||
def func():
|
||||
runs.append(1)
|
||||
greenlet.getcurrent().parent.switch()
|
||||
runs.append(2)
|
||||
greenlet.getcurrent().parent.switch()
|
||||
runs.append(3)
|
||||
|
||||
g = greenlet._greenlet.UnswitchableGreenlet(func)
|
||||
g.switch()
|
||||
assert runs == [1]
|
||||
g.switch()
|
||||
assert runs == [1, 2]
|
||||
g.force_slp_switch_error = True
|
||||
|
||||
# This should crash.
|
||||
g.switch()
|
Reference in New Issue
Block a user