o ¯bˆã@sLdZddgZddlZddlZddlmZGdd„deƒZGdd„deƒZdS)z/ Testing helpers related to the module system. Ú NoReactorÚAlternateReactoréN)ÚSetAsideModulec@s(eZdZdZdd„Zdd„Zdd„ZdS) rzc Context manager that uninstalls the reactor, if any, and then restores it afterwards. cCst |d¡dS©Nztwisted.internet.reactor)rÚ__init__©Úself©r úE/usr/lib/python3/dist-packages/twisted/internet/test/modulehelpers.pyrszNoReactor.__init__cCs"t |¡d|jvrtj`dSdSr)rÚ __enter__ÚmodulesÚtwistedÚinternetÚreactorrr r r r s   ÿzNoReactor.__enter__cCsTt ||||¡|j dd¡}|dur|tj_dSztj`WdSty)YdSwr)rÚ__exit__r Úgetr rrÚAttributeError)rÚexcTypeÚexcValueÚ tracebackrr r r rs   ÿzNoReactor.__exit__N)Ú__name__Ú __module__Ú __qualname__Ú__doc__rr rr r r r rs  c@s eZdZdZdd„Zdd„ZdS)rzd A context manager which temporarily installs a different object as the global reactor. cCst |¡||_dS)zN @param reactor: Any object to install as the global reactor. N)rrÚ alternate)rrr r r r3s  zAlternateReactor.__init__cCs$t |¡|jtj_|jtjd<dSr)rr rr rrÚsysr rr r r r :s  zAlternateReactor.__enter__N)rrrrrr r r r r r-s ) rÚ__all__rÚtwisted.internetr Útwisted.test.test_twistedrrrr r r r Ús