
    hv                     Z    S r SSKrSSKJr  SSKJrJr  SSKJr  SSK	J
r
   " S S\
5      rg)	z6
Test that twisted scripts can be invoked as modules.
    N)StringIO)deferreactor)Accumulator)TestCasec                   *    \ rS rSrSrS rS rS rSrg)	MainTests   z4Test that twisted scripts can be invoked as modules.c                 \  ^ ^ [         R                  n[        5       m[        R                  " 5       =nTl        [        R                  " TXSSS/SS9  TR                  R                  5         SSK
Jn  T R                  [         SUR                  S/5        UU 4S	 jnUR                  U5      $ )
z0Invoking python -m twisted should execute twist.-mtwisted--helpNenvr   __main__argvc                 h   > TR                   nUR                  5       nTR                  SU;   U5        g )Ns,   -m twisted [options] plugin [plugin_options]outFgetvalue
assertTrueignfoutputpselfs      ]/root/1688_scrapy/alibaba-scraper/venv/lib/python3.13/site-packages/twisted/test/test_main.pyprocessEnded,MainTests.test_twisted.<locals>.processEnded!   s-    AZZ\FOO?6I6    )sys
executabler   r   DeferredendedDeferredr   spawnProcess	transport
closeStdinr   r   patch__file__addCallbackr   cmddr   r    r   s   `    @r   test_twistedMainTests.test_twisted   s    nnM#nn..AOQ4H%E4P	  	%

3!2!2H =>	 }}\**r"   c                 \  ^ ^ [         R                  n[        5       m[        R                  " 5       =nTl        [        R                  " TXSSS/SS9  TR                  R                  5         SSK
Jn  T R                  [         SUR                  S/5        UU 4S	 jnUR                  U5      $ )
z6Invoking python -m twisted.trial should execute trial.r   ztwisted.trialr   Nr   r   r   r   c                 h   > TR                   nUR                  5       nTR                  SU;   U5        g )Ns   -j, --jobs= r   r   s      r   r    *MainTests.test_trial.<locals>.processEnded8   s*    AZZ\FOOOv5v>r"   )r#   r$   r   r   r%   r&   r   r'   r(   r)   twisted.trialr   r*   r+   r,   r-   s   `    @r   
test_trialMainTests.test_trial+   s    nnM#nn..AOQ4(%KQUV	  	+

3!2!2H =>	? }}\**r"   c                     [        5       nU R                  [        SU5      nSSKnU R	                  UR
                  5        UR                  5         U R                  UR                  5       S5        g)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_importMainTests.test_twisted_import@   sQ    C62(()*B/r"    N)	__name__
__module____qualname____firstlineno____doc__r0   r6   r?   __static_attributes__rA   r"   r   r	   r	      s    >+.+*
0r"   r	   )rF   r#   ior   twisted.internetr   r   twisted.test.test_processr   twisted.trial.unittestr   r	   rA   r"   r   <module>rL      s'   
   + 1 +90 90r"   