Ë
    ojv  ã                   óZ   — d Z ddlZddlmZ ddlmZmZ ddlmZ ddl	m
Z
  G d„ de
«      Zy)	z6
Test that twisted scripts can be invoked as modules.
é    N)ÚStringIO)ÚdeferÚreactor)ÚAccumulator)ÚTestCasec                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)Ú	MainTestsz4Test that twisted scripts can be invoked as modules.c                 ó^  ‡ ‡— t         j                  }t        «       Št        j                  «       x}‰_        t        j                  ‰||dddgd¬«       ‰j                  j                  «        ddl
m} ‰ j                  t         d|j                  dg«       ˆˆ fd	„}|j                  |«      S )
z0Invoking python -m twisted should execute twist.ú-mÚtwistedú--helpN©Úenvr   ©Ú__main__Úargvc                 óf   •— ‰j                   }|j                  «       }‰j                  d|v |«       y )Ns,   -m twisted [options] plugin [plugin_options]©ÚoutFÚgetvalueÚ
assertTrue©ÚignÚfÚoutputÚpÚselfs      €€ú8/usr/lib/python3/dist-packages/twisted/test/test_main.pyÚprocessEndedz,MainTests.test_twisted.<locals>.processEnded!   s-   ø€ Ø—‘ˆAØ—Z‘Z“\ˆFà�O‰OØ?À6ÐIÈ6õó    )ÚsysÚ
executabler   r   ÚDeferredÚendedDeferredr   ÚspawnProcessÚ	transportÚ
closeStdinr   r   ÚpatchÚ__file__ÚaddCallback©r   ÚcmdÚdr   r   r   s   `    @r   Útest_twistedzMainTests.test_twisted   s‰   ù€ ä�n‰nˆÜ‹MˆÜ#Ÿn™nÓ.Ð.ˆˆAŒOÜ×Ñ˜Q  c¨4°¸HÐ%EÈ4ÕPØ	�‰×ÑÔ õ 	%à�
‰
”3˜ ×!2Ñ!2°HÐ =Ô>õ	ð �}‰}˜\Ó*Ð*r    c                 ó^  ‡ ‡— t         j                  }t        «       Št        j                  «       x}‰_        t        j                  ‰||dddgd¬«       ‰j                  j                  «        ddl
m} ‰ j                  t         d|j                  dg«       ˆˆ fd	„}|j                  |«      S )
z6Invoking python -m twisted.trial should execute trial.r   ztwisted.trialr   Nr   r   r   r   c                 óf   •— ‰j                   }|j                  «       }‰j                  d|v |«       y )Ns   -j, --jobs= r   r   s      €€r   r   z*MainTests.test_trial.<locals>.processEnded8   s*   ø€ Ø—‘ˆAØ—Z‘Z“\ˆFà�O‰O˜O¨vÐ5°vÕ>r    )r!   r"   r   r   r#   r$   r   r%   r&   r'   Útwisted.trialr   r(   r)   r*   r+   s   `    @r   Ú
test_trialzMainTests.test_trial+   sŠ   ù€ ä�n‰nˆÜ‹MˆÜ#Ÿn™nÓ.Ð.ˆˆAŒOÜ×Ñ˜Q  c¨4°À(Ð%KÐQUÕVØ	�‰×ÑÔ õ 	+à�
‰
”3˜ ×!2Ñ!2°HÐ =Ô>õ	?ð �}‰}˜\Ó*Ð*r    c                 óä   — t        «       }| j                  t        d|«      }ddl}| j	                  |j
                  «       |j                  «        | j                  |j                  «       d«       y)z2Importing twisted.__main__ does not execute twist.Ústdoutr   NÚ )	r   r(   r!   Útwisted.__main__r   r   ÚrestoreÚassertEqualr   )r   r   Úmonkeyr   s       r   Útest_twisted_importzMainTests.test_twisted_import@   sQ   € ä“ˆØ—‘œC ¨6Ó2ˆãà�‰˜×(Ñ(Ô)à�‰ÔØ×Ñ˜Ÿ™Ó*¨BÕ/r    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r.   r2   r:   © r    r   r	   r	      s   „ Ù>ò+ò.+ó*
0r    r	   )r>   r!   Úior   Útwisted.internetr   r   Útwisted.test.test_processr   Útwisted.trial.unittestr   r	   r?   r    r   ú<module>rD      s'   ðñó
 Ý ç +Ý 1Ý +ô90�õ 90r    