File tree 4 files changed +216
-138
lines changed
4 files changed +216
-138
lines changed Original file line number Diff line number Diff line change 56
56
"trio >= 0.12.0" ,
57
57
"async_generator >= 1.6" ,
58
58
"outcome" ,
59
- "greenlet" ,
60
59
]
61
60
if sys .version_info < (3 , 7 ):
62
61
install_requires .append ("contextvars >= 2.1" )
Original file line number Diff line number Diff line change @@ -73,5 +73,17 @@ def xfail(rel_id):
73
73
def skip (rel_id ):
74
74
mark (pytest .mark .skip , rel_id )
75
75
76
- base_sel_tests = "test_base_events.py::BaseEventLoopWithSelectorTests::"
77
- xfail (base_sel_tests + "test_log_slow_callbacks" )
76
+ xfail (
77
+ "test_base_events.py::BaseEventLoopWithSelectorTests::"
78
+ "test_log_slow_callbacks"
79
+ )
80
+
81
+ # This hangs, probably due to the thread shenanigans (it works
82
+ # fine with a greenlet-based sync loop)
83
+ skip ("test_base_events.py::RunningLoopTests::test_running_loop_within_a_loop" )
84
+
85
+ # trio-asyncio doesn't use a task factory
86
+ xfail (
87
+ "test_tasks.py::RunCoroutineThreadsafeTests::"
88
+ "test_run_coroutine_threadsafe_task_factory_exception"
89
+ )
Original file line number Diff line number Diff line change @@ -249,11 +249,24 @@ def _new_run_get():
249
249
# Not Trio context
250
250
return _orig_run_get ()
251
251
252
+ # Must override the non-underscore-prefixed get_running_loop() too,
253
+ # else will use the C-accelerated one which doesn't call the patched
254
+ # _get_running_loop()
255
+ def _new_run_get_or_throw ():
256
+ result = _new_run_get ()
257
+ if result is None :
258
+ raise RuntimeError ("no running event loop" )
259
+ return result
260
+
252
261
_aio_event ._get_running_loop = _new_run_get
262
+ _aio_event .get_running_loop = _new_run_get_or_throw
253
263
254
264
#####
255
265
256
266
def _new_loop_get ():
267
+ current_loop = _new_run_get ()
268
+ if current_loop is not None :
269
+ return current_loop
257
270
return _trio_policy .get_event_loop ()
258
271
259
272
def _new_loop_set (new_loop ):
You can’t perform that action at this time.
0 commit comments