forked from goodboy/tractor
				
			Call registry getter method in test
							parent
							
								
									486e983964
								
							
						
					
					
						commit
						93726f1392
					
				| 
						 | 
					@ -136,7 +136,7 @@ async def spawn_and_check_registry(
 | 
				
			||||||
            if actor.is_arbiter:
 | 
					            if actor.is_arbiter:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                async def get_reg():
 | 
					                async def get_reg():
 | 
				
			||||||
                    return actor._registry
 | 
					                    return await actor.get_registry()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                extra = 1  # arbiter is local root actor
 | 
					                extra = 1  # arbiter is local root actor
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
| 
						 | 
					@ -187,13 +187,12 @@ async def spawn_and_check_registry(
 | 
				
			||||||
                            await cancel(use_signal)
 | 
					                            await cancel(use_signal)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            finally:
 | 
					            finally:
 | 
				
			||||||
                with trio.CancelScope(shield=True):
 | 
					                await trio.sleep(0.5)
 | 
				
			||||||
                    await trio.sleep(0.5)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    # all subactors should have de-registered
 | 
					                # all subactors should have de-registered
 | 
				
			||||||
                    registry = await get_reg()
 | 
					                registry = await get_reg()
 | 
				
			||||||
                    assert len(registry) == extra
 | 
					                assert len(registry) == extra
 | 
				
			||||||
                    assert actor.uid in registry
 | 
					                assert actor.uid in registry
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@pytest.mark.parametrize('use_signal', [False, True])
 | 
					@pytest.mark.parametrize('use_signal', [False, True])
 | 
				
			||||||
| 
						 | 
					@ -277,7 +276,9 @@ async def close_chans_before_nursery(
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    # TODO: compact this back as was in last commit once
 | 
					                    # TODO: compact this back as was in last commit once
 | 
				
			||||||
                    # 3.9+, see https://github.com/goodboy/tractor/issues/207
 | 
					                    # 3.9+, see https://github.com/goodboy/tractor/issues/207
 | 
				
			||||||
                    async with portal1.open_stream_from(stream_forever) as agen1:
 | 
					                    async with portal1.open_stream_from(
 | 
				
			||||||
 | 
					                        stream_forever
 | 
				
			||||||
 | 
					                    ) as agen1:
 | 
				
			||||||
                        async with portal2.open_stream_from(
 | 
					                        async with portal2.open_stream_from(
 | 
				
			||||||
                            stream_forever
 | 
					                            stream_forever
 | 
				
			||||||
                        ) as agen2:
 | 
					                        ) as agen2:
 | 
				
			||||||
| 
						 | 
					@ -293,8 +294,9 @@ async def close_chans_before_nursery(
 | 
				
			||||||
                                    # reliably triggered by an external SIGINT.
 | 
					                                    # reliably triggered by an external SIGINT.
 | 
				
			||||||
                                    # tractor.current_actor()._root_nursery.cancel_scope.cancel()
 | 
					                                    # tractor.current_actor()._root_nursery.cancel_scope.cancel()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                    # XXX: THIS IS THE KEY THING that happens
 | 
					                                    # XXX: THIS IS THE KEY THING that
 | 
				
			||||||
                                    # **before** exiting the actor nursery block
 | 
					                                    # happens **before** exiting the
 | 
				
			||||||
 | 
					                                    # actor nursery block
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                    # also kill off channels cuz why not
 | 
					                                    # also kill off channels cuz why not
 | 
				
			||||||
                                    await agen1.aclose()
 | 
					                                    await agen1.aclose()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue