o
    >h                     @   s   d Z ddlmZmZmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZmZ dd	lmZ d
ZdedefddZG dd deZdS )zS
Tests L{twisted.internet.test.reactormixins}, the reactor-testing support
module.
    )assert_thatequal_to
has_length)NoReturn)matches_result)
TestResult)
TestLoader)SynchronousTestCase	TestSuite   )ReactorBuilderzThis reactor is unsupported.selfreturnc                 C   s   t t)z
    A function that can be used as a factory for L{ReactorBuilder} tests but
    which always raises an exception.

    This gives the appearance of a reactor type which is unsupported in the
    current runtime configuration for some reason.
    )	ExceptionUNSUPPORTEDr    r   /var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/lib/python3.10/site-packages/twisted/internet/test/test_reactormixins.pyunsupportedReactor   s   r   c                   @   s   e Zd ZdZdddZdS )ReactorBuilderTestsz&
    Tests for L{ReactorBuilder}.
    r   Nc                    s|   G dd dt t}|  }t  t fdd|D }t }|| t|t	t
dd |j\\}}t|tt dS )z}
        If the reactor factory raises any exception then
        L{ReactorBuilder.buildReactor} raises L{SkipTest}.
        c                   @   s   e Zd ZdgZdddZdS )zHReactorBuilderTests.test_buildReactorFails.<locals>.BrokenReactorFactoryz;twisted.internet.test.test_reactormixins.unsupportedReactorr   Nc                 S   s   |    dS )zQ
                Try, and fail, to build an unsupported reactor.
                N)buildReactorr   r   r   r   test_brokenFactory/   s   z[ReactorBuilderTests.test_buildReactorFails.<locals>.BrokenReactorFactory.test_brokenFactoryr   N)__name__
__module____qualname__	_reactorsr   r   r   r   r   BrokenReactorFactory*   s    r   c                 3   s    | ]}  |V  qd S )N)	loadClass).0clsloaderr   r   	<genexpr>7   s    z=ReactorBuilderTests.test_buildReactorFails.<locals>.<genexpr>r   )skipsN)r   r	   makeTestCaseClassesvaluesr   r
   r   runr   r   r   r$   r   r   )r   r   casessuiteresult_skipr   r!   r   test_buildReactorFails$   s   
z*ReactorBuilderTests.test_buildReactorFailsr   )r   r   r   __doc__r-   r   r   r   r   r      s    r   N)r.   hamcrestr   r   r   typing_extensionsr   !twisted.trial._dist.test.matchersr   twisted.trial.reporterr   twisted.trial.runnerr   twisted.trial.unittestr	   r
   reactormixinsr   r   r   r   r   r   r   r   <module>   s    