
    \dv                     b    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dS )	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dS )	MainTestsz4Test that twisted scripts can be invoked as modules.c                 `    t           j        }t                      t          j                    x}_        t          j        ||dddgd           j        	                                 ddl
m}                      t           d|j        dg            fd	}|                    |          S )
z0Invoking python -m twisted should execute twist.-mtwisted--helpNenvr   __main__argvc                 n    j         }|                                }                    d|v |           d S )Ns,   -m twisted [options] plugin [plugin_options]outFgetvalue
assertTrueignfoutputpselfs      6lib/python3.11/site-packages/twisted/test/test_main.pyprocessEndedz,MainTests.test_twisted.<locals>.processEnded!   sA    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_twistedzMainTests.test_twisted   s    nMM#n...AOQc4H%E4PPPP	    	%$$$$$

3!2H =>>>	 	 	 	 	 	 }}\***r    c                 `    t           j        }t                      t          j                    x}_        t          j        ||dddgd           j        	                                 ddl
m}                      t           d|j        dg            fd	}|                    |          S )
z6Invoking python -m twisted.trial should execute trial.r   ztwisted.trialr   Nr   r   r   r   c                 n    j         }|                                }                    d|v |           d S )Ns   -j, --jobs= r   r   s      r   r   z*MainTests.test_trial.<locals>.processEnded8   s6    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_trialzMainTests.test_trial+   s    nMM#n...AOQc4(%KQUVVVV	    	+*****

3!2H =>>>	? 	? 	? 	? 	? 	? }}\***r    c                    t                      }|                     t          d|          }ddl}|                     |j                   |                                 |                     |                                d           dS )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@   sw    C622()))**B/////r    N)__name__
__module____qualname____doc__r.   r2   r:    r    r   r	   r	      sG        >>+ + +.+ + +*
0 
0 
0 
0 
0r    r	   )r>   r!   ior   twisted.internetr   r   twisted.test.test_processr   twisted.trial.unittestr   r	   r?   r    r   <module>rD      s    
 


       + + + + + + + + 1 1 1 1 1 1 + + + + + +90 90 90 90 90 90 90 90 90 90r    