Ë
    ojù  ã                   ó    — d dl mZ d dlmZmZ d dlmZ d dlmZ  eej                  «       G d„ d«      «       Z
 G d„ dej                  «      Zy	)
é    )Úimplementer)ÚethernetÚraw)Ú
components)Úunittestc                   ó   — e Zd Zd„ Zd„ Zd„ Zy)Ú
MyProtocolc                 ó$   — t        |«      | _        y )N)ÚlistÚ	expecting)Úselfr   s     úA/usr/lib/python3/dist-packages/twisted/pair/test/test_ethernet.pyÚ__init__zMyProtocol.__init__   s   € Ü˜i›ˆ�ó    c                  ó   — y)z!
        Not implemented
        N© )r   ÚnumÚprotos      r   ÚaddProtozMyProtocol.addProto   s   � r   c                 óÂ   — | j                   sJ d«       ‚| j                   j                  d«      }t        «       }||||dœ}|||fk(  sJ dj                  |||f«      «       ‚y )Nz(Got a packet when not expecting anymore.r   ©ÚpartialÚdestÚsourceÚprotocolzExpected {!r}, got {!r})r   ÚpopÚlocalsÚformat)	r   Údatar   r   r   r   ÚexpectÚlocalVariablesÚparamss	            r   ÚdatagramReceivedzMyProtocol.datagramReceived   st   € Ø�~Š~ÐIÐIÓIˆ~Ø—‘×#Ñ# AÓ&ˆÜ›ˆàØØØ ñ	
ˆð ˜$ ˜Ò'ð 	
Ð)B×)IÑ)IØ�T˜6�Nó*
ó 	
Ñ'r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r#   r   r   r   r	   r	   
   s   „ ò)òó

r   r	   c                   óB   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)ÚEthernetTestsc                 óÜ   — t        j                  «       }t        ddddddœfg«      }|j                  d|«       |j	                  dd¬«       |j
                  rJ d	|j
                  z  «       ‚y )
Nó   foobarr   ó   123456ó   987654é   r   ó   123456987654 foobar©r   ú5Should not expect any more packets, but still want %r©r   ÚEthernetProtocolr	   r   r#   r   ©r   r   Úp1s      r   ÚtestPacketParsingzEthernetTests.testPacketParsing$   s€   € Ü×)Ñ)Ó+ˆÜð à#$Ø )Ø"+Ø$*ñ	ðð
ó
ˆð 	�‰�v˜rÔ"à×ÑÐ<ÀaÐÔHà—<’<ð 	
ØCÀbÇlÁlÑRó	
Ð�<r   c           	      ó  — t        j                  «       }t        ddddddœfddd	d
ddœfg«      }|j                  d|«       |j	                  dd¬«       |j	                  dd¬«       |j
                  rJ d|j
                  z  «       ‚y )Nr*   r   r+   r,   r-   r   ó   quuxé   ó   012345ó   abcdefr.   r/   ó   012345abcdef quuxr0   r1   r3   s      r   ÚtestMultiplePacketsz!EthernetTests.testMultiplePackets;   s¯   € Ü×)Ñ)Ó+ˆÜð à#$Ø )Ø"+Ø$*ñ	ðð à#$Ø )Ø"+Ø$*ñ	ððó
ˆð, 	�‰�v˜rÔ"à×ÑÐ<ÀaÐÔHØ×ÑÐ:ÀAÐÔFà—<’<ð 	
ØCÀbÇlÁlÑRó	
Ð�<r   c                 ó–  — t        j                  «       }t        ddddddœfg«      }t        ddddddœfg«      }|j                  d|«       |j                  d|«       |j	                  dd¬«       |j
                  r J d	j                  |j
                  «      «       ‚|j
                  r J d	j                  |j
                  «      «       ‚y )
Nr*   r   r+   r,   r-   r   r.   r/   z7Should not expect any more packets, but still want {!r})r   r2   r	   r   r#   r   r   ©r   r   r4   Úp2s       r   ÚtestMultipleSameProtosz$EthernetTests.testMultipleSameProtos\   sð   € Ü×)Ñ)Ó+ˆÜð à#$Ø )Ø"+Ø$*ñ	ðð
ó
ˆô ð à#$Ø )Ø"+Ø$*ñ	ðð
ó
ˆð 	�‰�v˜rÔ"Ø�‰�v˜rÔ"à×ÑÐ<ÀaÐÔHð —’ð	
àG×NÑNØ�L‰Ló
ó	
Øð
 —’ð	
àG×NÑNØ�L‰Ló
ó	
Ø�r   c                 ó²   — t        j                  «       }t        g «      }|j                  d|«       |j	                  dd¬«       |j	                  dd¬«       y )Ni  r.   r   r/   r;   r8   )r   r2   r	   r   r#   r3   s      r   ÚtestWrongProtoNotSeenz#EthernetTests.testWrongProtoNotSeenŠ   sO   € Ü×)Ñ)Ó+ˆÜ˜‹^ˆØ�‰�v˜rÔ"à×ÑÐ<ÀaÐÔHØ×ÑÐ:ÀAÐÕFr   c           	      óø  — t        j                  «       }t        ddddddœfddd	d
ddœfg«      }|j                  d|«       t        ddd	d
ddœfddddddœfg«      }|j                  d|«       |j	                  dd¬«       |j	                  dd¬«       |j	                  dd¬«       |j	                  dd¬«       |j
                  rJ d|j
                  z  «       ‚|j
                  rJ d|j
                  z  «       ‚y )Nr*   r   r+   r,   r-   r   r7   r8   r9   r:   i  r.   r/   s   012345abcdefquuxs   123456987654foobarr;   r0   r1   r>   s       r   ÚtestDemuxingzEthernetTests.testDemuxing’   sN  € Ü×)Ñ)Ó+ˆÜð à#$Ø )Ø"+Ø$*ñ	ðð à#$Ø )Ø"+Ø$*ñ	ððó
ˆð, 	�‰�v˜rÔ"äð à#$Ø )Ø"+Ø$*ñ	ðð à#$Ø )Ø"+Ø$*ñ	ððó
ˆð, 	�‰�v˜rÔ"à×ÑÐ<ÀaÐÔHØ×ÑÐ:ÀAÐÔFØ×ÑÐ<ÀaÐÔHØ×ÑÐ:ÀAÐÔFà—<’<ð 	
ØCÀbÇlÁlÑRó	
Ðð —<’<ð 	
ØCÀbÇlÁlÑRó	
Ð�<r   c                 ó˜   — t        j                  «       }	 |j                  dd«       t        d«      ‚# t        j
                  $ r Y yw xY w)z2Adding a wrong level protocol raises an exception.é*   Ú	sillinessú2addProto must raise an exception for bad protocolsN)r   r2   r   ÚAssertionErrorr   ÚCannotAdapt©r   Úes     r   ÚtestAddingBadProtos_WrongLevelz,EthernetTests.testAddingBadProtos_WrongLevelÐ   sL   € ä×%Ñ%Ó'ˆð	WØ�J‰J�r˜;Ô'ô !Ð!UÓVÐVøô ×%Ñ%ò 	Ùð	ús   –3 ³A	ÁA	c                 óÆ   — t        j                  «       }	 |j                  dt        g «      «       t	        d«      ‚# t
        $ r}|j                  dk(  rn‚ Y d}~yd}~ww xY w)z=Adding a protocol with a negative number raises an exception.éÿÿÿÿrH   )z'Added protocol must be positive or zeroN©r   r2   r   r	   rI   Ú	TypeErrorÚargsrK   s     r   ÚtestAddingBadProtos_TooSmallz*EthernetTests.testAddingBadProtos_TooSmallÚ   s`   € ä×%Ñ%Ó'ˆð	WØ�J‰J�rœ: b›>Ô*ô !Ð!UÓVÐVøô ò 	Ø�v‰vÐEÒEØàô ûð	úó   –< ¼	A ÁAÁA c                 óÆ   — t        j                  «       }	 |j                  dt        g «      «       t	        d«      ‚# t
        $ r}|j                  dk(  rn‚ Y d}~yd}~ww xY w)ú<Adding a protocol with a number >=2**16 raises an exception.i   rH   ©z"Added protocol must fit in 16 bitsNrP   rK   s     r   ÚtestAddingBadProtos_TooBigz(EthernetTests.testAddingBadProtos_TooBigç   s`   € ä×%Ñ%Ó'ˆð	WØ�J‰J�uœj¨›nÔ-ô !Ð!UÓVÐVøô ò 	Ø�v‰vÐ@Ò@Øàô ûð	úrT   c                 óÆ   — t        j                  «       }	 |j                  dt        g «      «       t	        d«      ‚# t
        $ r}|j                  dk(  rn‚ Y d}~yd}~ww xY w)rV   i  rH   rW   NrP   rK   s     r   ÚtestAddingBadProtos_TooBig2z)EthernetTests.testAddingBadProtos_TooBig2ô   s`   € ä×%Ñ%Ó'ˆð	WØ�J‰J�y¤*¨R£.Ô1ô !Ð!UÓVÐVøô ò 	Ø�v‰vÐ@Ò@Øàô ûð	úrT   N)r$   r%   r&   r5   r<   r@   rB   rD   rM   rS   rX   rZ   r   r   r   r(   r(   #   s7   „ ò
ò.
òB,
ò\Gò<
ò|WòWòWóWr   r(   N)Úzope.interfacer   Útwisted.pairr   r   Útwisted.pythonr   Útwisted.trialr   ÚIRawPacketProtocolr	   ÚTestCaser(   r   r   r   ú<module>ra      sM   ðõ 'ç &Ý %Ý "ñ ˆS×#Ñ#Ó$÷
ð 
ó %ð
ô0\W�H×%Ñ%õ \Wr   