§
    Ètºfþ  ã                  ó>  — d Z ddlmZ ddlZddlZddlmZ ddlmZ ddl	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  edd¦  «        Z edd¦  «        Z edd¦  «        Z edd¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )z(
Tests for L{twisted.internet.default}.
é    )ÚannotationsN)ÚCallable)Údefault)Ú_getInstallFunctionÚinstall)ÚIReactorCore)Ú	NoReactor)ÚrequireModule)ÚPlatform)ÚSynchronousTestCaseÚposixÚotherÚlinux2ÚntÚwin32Údarwinc                  ó*   — e Zd ZdZd
d„Zdd„Zdd„Zd	S )ÚPollReactorTestszŽ
    Tests for the cases of L{twisted.internet.default._getInstallFunction}
    in which it picks the poll(2) or epoll(7)-based reactors.
    r   úCallable[..., object]ÚreturnÚNonec                ó    — t          t          d¦  «        r|                      |j        d¦  «         dS |                      |j        d¦  «         dS )zz
        Assert the given function will install the poll() reactor, or select()
        if poll() is unavailable.
        Úpollztwisted.internet.pollreactorútwisted.internet.selectreactorN)ÚhasattrÚselectÚassertEqualÚ
__module__©Úselfr   s     úa/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/internet/test/test_default.pyÚassertIsPollzPollReactorTests.assertIsPoll!   sW   € õ
 •6˜6Ñ"Ô"ð 	SØ×Ò˜WÔ/Ð1OÑPÔPÐPÐPÐPà×Ò˜WÔ/Ð1QÑRÔRÐRÐRÐRó    c                óX   — t          t          ¦  «        }|                      |¦  «         dS )z–
        L{_getInstallFunction} chooses the poll reactor on arbitrary Unix
        platforms, falling back to select(2) if it is unavailable.
        N)r   Úunixr"   r   s     r!   Ú	test_unixzPollReactorTests.test_unix+   s+   € õ
 &¥dÑ+Ô+ˆØ×Ò˜'Ñ"Ô"Ð"Ð"Ð"r#   c                ó°   — t          t          ¦  «        }t          d¦  «        €|                      |¦  «         dS |                      |j        d¦  «         dS )zu
        L{_getInstallFunction} chooses the epoll reactor on Linux, or poll if
        epoll is unavailable.
        ztwisted.internet.epollreactorN)r   Úlinuxr
   r"   r   r   r   s     r!   Ú
test_linuxzPollReactorTests.test_linux3   sZ   € õ
 &¥eÑ,Ô,ˆÝÐ8Ñ9Ô9ÐAØ×Ò˜gÑ&Ô&Ð&Ð&Ð&à×Ò˜WÔ/Ð1PÑQÔQÐQÐQÐQr#   N)r   r   r   r   ©r   r   )Ú__name__r   Ú__qualname__Ú__doc__r"   r&   r)   © r#   r!   r   r      sd   € € € € € ðð ð
Sð Sð Sð Sð#ð #ð #ð #ð	Rð 	Rð 	Rð 	Rð 	Rð 	Rr#   r   c                  ó"   — e Zd ZdZdd„Zdd„ZdS )ÚSelectReactorTestszƒ
    Tests for the cases of L{twisted.internet.default._getInstallFunction}
    in which it picks the select(2)-based reactor.
    r   r   c                ód   — t          t          ¦  «        }|                      |j        d¦  «         dS )zM
        L{_getInstallFunction} chooses the select reactor on macOS.
        r   N)r   Úosxr   r   r   s     r!   Útest_osxzSelectReactorTests.test_osxE   s1   € õ &¥cÑ*Ô*ˆØ×Ò˜Ô+Ð-MÑNÔNÐNÐNÐNr#   c                ód   — t          t          ¦  «        }|                      |j        d¦  «         dS )zO
        L{_getInstallFunction} chooses the select reactor on Windows.
        r   N)r   Úwindowsr   r   r   s     r!   Útest_windowszSelectReactorTests.test_windowsL   s1   € õ &¥gÑ.Ô.ˆØ×Ò˜Ô+Ð-MÑNÔNÐNÐNÐNr#   Nr*   )r+   r   r,   r-   r3   r6   r.   r#   r!   r0   r0   ?   sP   € € € € € ðð ð
Oð Oð Oð OðOð Oð Oð Oð Oð Or#   r0   c                  ó"   — e Zd ZdZdd„Zdd„ZdS )ÚInstallationTestsz7
    Tests for actual installation of the reactor.
    r   r   c                ó°   — t          ¦   «         5  t          ¦   «          |                      dt          j        ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z0
        L{install} installs a reactor.
        ztwisted.internet.reactorN)r	   r   ÚassertInÚsysÚmodules)r    s    r!   Útest_installzInstallationTests.test_installY   s¦   € õ ‰[Œ[ð 	Cð 	CÝ‰IŒIˆIØ�MŠMÐ4µc´kÑBÔBÐBð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cs   �/AÁAÁAc                ó&  ‡— g Šd	ˆfd„}|                       t          d|¦  «         t          ¦   «         5  ddlm} |                      t          j        |¦  «        ¦  «         |                      ‰dg¦  «         ddd¦  «         dS # 1 swxY w Y   dS )
zr
        Importing L{twisted.internet.reactor} installs the default reactor if
        none is installed.
        r   Úobjectc                 óJ   •— ‰                       d¦  «         t          ¦   «         S )NT)Úappendr   )Ú	installeds   €r!   Ú	installerz1InstallationTests.test_reactor.<locals>.installerh   s!   ø€ Ø×Ò˜TÑ"Ô"Ð"Ý‘9”9Ðr#   r   r   )ÚreactorTN)r   r?   )	Úpatchr   r	   Útwisted.internetrD   Ú
assertTruer   Ú
providedByr   )r    rC   rD   rB   s      @r!   Útest_reactorzInstallationTests.test_reactora   sõ   ø€ ð
 !#ˆ	ð	ð 	ð 	ð 	ð 	ð 	ð 	�
Š
•7˜I yÑ1Ô1Ð1å‰[Œ[ð 	0ð 	0Ø0Ð0Ð0Ð0Ð0Ð0à�OŠO�LÔ3°GÑ<Ô<Ñ=Ô=Ð=Ø×Ò˜Y¨¨Ñ/Ô/Ð/ð		0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   ´ABÂB
ÂB
Nr*   )r+   r   r,   r-   r=   rI   r.   r#   r!   r8   r8   T   sJ   € € € € € ðð ðCð Cð Cð Cð0ð 0ð 0ð 0ð 0ð 0r#   r8   )r-   Ú
__future__r   r   r;   Útypingr   rF   r   Útwisted.internet.defaultr   r   Útwisted.internet.interfacesr   Útwisted.internet.test.test_mainr	   Útwisted.python.reflectr
   Útwisted.python.runtimer   Útwisted.trial.unittestr   r%   r(   r5   r2   r   r0   r8   r.   r#   r!   ú<module>rR      s«  ððð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø 
€
€
€
Ø Ð Ð Ð Ð Ð à $Ð $Ð $Ð $Ð $Ð $Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø +Ð +Ð +Ð +Ð +Ð +Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6à€x�˜Ñ!Ô!€Øˆ�˜(Ñ#Ô#€Ø
ˆ(�4˜Ñ
!Ô
!€Ø€hˆw˜Ñ!Ô!€ð!Rð !Rð !Rð !Rð !RÐ*ñ !Rô !Rð !RðHOð Oð Oð Oð OÐ,ñ Oô Oð Oð*0ð 0ð 0ð 0ð 0Ð+ñ 0ô 0ð 0ð 0ð 0r#   