
    Vh                         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Z G d de      Zy)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                      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   s    X/home/dcms/DCMS/lib/python3.12/site-packages/twisted/internet/test/test_reactormixins.pyunsupportedReactorr      s     K
      c                       e Zd ZdZddZy)ReactorBuilderTestsz&
    Tests for L{ReactorBuilder}.
    Nc                 n    G d dt         t              }|j                         j                         }t	               t        fd|D              }t               }|j                  |       t        |t        t        d                   |j                  \  \  }}t        |t        t                     y)z}
        If the reactor factory raises any exception then
        L{ReactorBuilder.buildReactor} raises L{SkipTest}.
        c                       e Zd ZdgZddZy)HReactorBuilderTests.test_buildReactorFails.<locals>.BrokenReactorFactoryz;twisted.internet.test.test_reactormixins.unsupportedReactorNc                 $    | j                          y)zQ
                Try, and fail, to build an unsupported reactor.
                N)buildReactorr   s    r   test_brokenFactoryz[ReactorBuilderTests.test_buildReactorFails.<locals>.BrokenReactorFactory.test_brokenFactory/   s     !!#r   r   N)__name__
__module____qualname__	_reactorsr    r   r   BrokenReactorFactoryr   *   s    MI$r   r%   c              3   @   K   | ]  }j                  |        y w)N)	loadClass).0clsloaders     r   	<genexpr>z=ReactorBuilderTests.test_buildReactorFails.<locals>.<genexpr>7   s     AC&**3/As   r   )skipsN)r   r
   makeTestCaseClassesvaluesr	   r   r   runr   r   r   r,   r   r   )r   r%   casessuiteresult_skipr*   s          @r   test_buildReactorFailsz*ReactorBuilderTests.test_buildReactorFails$   s    		$>3F 		$ %88:AACA5AA		&FNA?@ll!TD(;/0r   r   )r    r!   r"   __doc__r5   r$   r   r   r   r      s    1r   r   N)r6   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   <module>r>      sK   
 7 6 & = - + A ),!^ ! !1- 1r   