o
¯bˆ ã @ sL d Z ddgZddlZddlZddlmZ G dd„ deƒZG dd„ deƒZdS )z/
Testing helpers related to the module system.
Ú NoReactorÚAlternateReactoré N)ÚSetAsideModulec @ s( e Zd ZdZdd„ Zdd„ Zdd„ ZdS ) r zc
Context manager that uninstalls the reactor, if any, and then restores it
afterwards.
c C s t | d¡ d S ©Nztwisted.internet.reactor)r Ú__init__©Úself© r úE/usr/lib/python3/dist-packages/twisted/internet/test/modulehelpers.pyr s zNoReactor.__init__c C s" t | ¡ d| jv rtj`d S d S r )r Ú __enter__ÚmodulesÚtwistedÚinternetÚreactorr r r r
r s
ÿzNoReactor.__enter__c C sT t | |||¡ | j dd ¡}|d ur|tj_d S ztj`W d S ty) Y d S w r )r Ú__exit__r Úgetr
r r ÚAttributeError)r ÚexcTypeÚexcValueÚ tracebackr r r r
r s ÿzNoReactor.__exit__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r r r r r r r
r s
c @ s e Zd ZdZdd„ Zdd„ ZdS )r zd
A context manager which temporarily installs a different object as the
global reactor.
c C s t | ¡ || _dS )zN
@param reactor: Any object to install as the global reactor.
N)r r Ú alternate)r r r r r
r 3 s
zAlternateReactor.__init__c C s$ t | ¡ | jtj_| jtjd<