1234567891011121314151617181920212223242526272829 |
- # -*- 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()
|