+
    üÐjº  ã                   ób  € R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt R]P                  9   t ^ RIt^ RIHt ]e+    ! R	 R
]P(                  4      t ! R R]P,                  4      t ! R R]4      t ! R R]P2                  4      tR#   ] d    ]'       d   h RtRt Lfi ; i)z+
Tests for L{twisted.internet.serialport}.
N)ÚProtocol)Ú	DoNothing)ÚFailure)Úplatform)ÚunittestÚTWISTED_FORCE_SERIAL_TESTS)Ú
serialportc                   ó>   a a€ ] tR t^#t oV 3R ltR tR tRtVtV ;t	# )ÚRegularFileSerialc                ó@   <€ \         SV `  ! V/ VB  Wn        W n        R # ©N)ÚsuperÚ__init__Úcaptured_argsÚcaptured_kwargs)ÚselfÚargsÚkwargsÚ	__class__s   &*,€ÚL/usr/lib/python3/dist-packages/twisted/internet/test/test_win32serialport.pyr   ÚRegularFileSerial.__init__$   s!   ø€ Ü‰GÒ˜dÐ- fÒ-Ø!%ÔØ#)Ö ó    c                ó   € R # r   © ©r   s   &r   Ú_reconfigurePortÚ"RegularFileSerial._reconfigurePort)   ó   € Ùr   c                ó   € R # r   r   r   s   &r   Ú_reconfigure_portÚ#RegularFileSerial._reconfigure_port,   r   r   )r   r   )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r   Ú__classdict__s   @@r   r
   r
   #   s   ù‡ € õ	*ò
	÷	ò 	r   r
   c                   ó<   a a€ ] tR t^/t o]tV 3R ltR tRtVt	V ;t
# )ÚRegularFileSerialPortc                ó¼   <€ VP                  R 4      pR V9   d   VR  \        P                  P                  V n        W0P                  n        \        SV `  ! V/ VB  R# )ÚcbInQueN)ÚgetÚserialÚwin32ÚCOMSTATÚcomstatr-   r   r   )r   r   r   r-   r   s   &*, €r   r   ÚRegularFileSerialPort.__init__2   sN   ø€ Ø—j‘j Ó+ˆGà˜FÔ"Ø˜9Ð%ä!Ÿ<™<×/Ñ/ˆDŒLØ#*�L‰LÔ ä‰GÒ˜dÐ- fÔ-r   c                ó   € R V P                   3# )T©r2   r   s   &r   Ú_clearCommErrorÚ%RegularFileSerialPort._clearCommError=   s   € Ø˜Ÿ™Ð%Ð%r   r5   )r!   r"   r#   r$   r
   Ú_serialFactoryr   r6   r%   r&   r'   r(   s   @@r   r+   r+   /   s   ù‡ € Ø*ˆõ		.÷	&ò 	&r   r+   c                   ó,   a € ] tR t^At o R tR tRtV tR# )ÚCollectReceivedProtocolc                ó   € . V n         R # r   ©Úreceived_datar   s   &r   r   Ú CollectReceivedProtocol.__init__B   s
   € ØˆÖr   c                ó<   € V P                   P                  V4       R # r   )r=   Úappend)r   Údatas   &&r   ÚdataReceivedÚ$CollectReceivedProtocol.dataReceivedE   s   € Ø×Ñ×!Ñ! $Ö'r   r<   N)r!   r"   r#   r$   r   rB   r%   r&   ©r)   s   @r   r:   r:   A   s   ø‡ € ò ÷(ð (r   r:   c                   ó¸   a € ] tR t^It o Rt]'       g%   ]P                  ! 4       '       g   RtM
]	'       g   RtR t
R tR tR tR tR	 tR
 tR tR tR tRtV tR# )ÚWin32SerialPortTestsz:
Minimal testing for Twisted's Win32 serial port support.
zThis test must run on Windows.z-Windows serial port support is not available.c                óp  € \        4       V n        \        4       V n        \        P
                  ! 4       V n        \        P                  P                  V P                  R 4      V n        Rp\        V P                  R4      ;_uu_ 4       pVP                  V4       RRR4       R#   + '       g   i     R# ; i)Úfake_serials   1234ÚwbN)r   Úprotocolr   ÚreactorÚtempfileÚmkdtempÚ	directoryÚosÚpathÚjoinÚopenÚwrite)r   rA   Úfs   &  r   ÚsetUpÚWin32SerialPortTests.setUpU   sp   € ä ›
ˆŒÜ “{ˆŒä!×)Ò)Ó+ˆŒÜ—G‘G—L‘L §¡°Ó?ˆŒ	àˆÜ�$—)‘)˜T×"Ô" aØ�G‰G�DŒM÷ #×"×"Ò"ús   ÂB$Â$B5	c                óF   € \         P                  ! V P                  4       R # r   )ÚshutilÚrmtreerN   r   s   &r   ÚtearDownÚWin32SerialPortTests.tearDowna   s   € Ü�Š�d—n‘nÖ%r   c                óâ  € \        V P                  V P                  V P                  4      pV P	                  V P                  3VP
                  P                  4       VP
                  P                  pV P	                  RVR,          4       V P	                  \        P                  VR,          4       V P	                  \        P                  VR,          4       V P	                  \        P                  VR,          4       V P	                  ^ VR,          4       V P	                  ^ VR,          4       V P	                  RVR	,          4       VP                  \        \        R
4      4      4       R# )z`
Test correct positional and keyword arguments have been
passed to the C{serial.Serial} object.
i€%  ÚbaudrateÚbytesizeÚparityÚstopbitsÚxonxoffÚrtsctsNÚtimeoutÚCleanup)r+   rJ   rP   rK   ÚassertEqualÚ_serialr   r   r/   Ú	EIGHTBITSÚPARITY_NONEÚSTOPBITS_ONEÚconnectionLostr   Ú	Exception)r   Úportr   s   &  r   Útest_serialPortDefaultArgsÚ/Win32SerialPortTests.test_serialPortDefaultArgsd   s
  € ô
 % T§]¡]°D·I±I¸t¿|¹|ÓLˆà×Ñ˜$Ÿ)™)˜ t§|¡|×'AÑ'AÔBà—‘×-Ñ-ˆØ×Ñ˜˜v jÕ1Ô2Ø×Ñœ×)Ñ)¨6°*Õ+=Ô>Ø×Ñœ×+Ñ+¨V°HÕ-=Ô>Ø×Ñœ×,Ñ,¨f°ZÕ.@ÔAØ×Ñ˜˜F 9Õ-Ô.Ø×Ñ˜˜F 8Õ,Ô-Ø×Ñ˜˜v iÕ0Ô1Ø×ÑœG¤I¨iÓ$8Ó9Ö:r   c                ó¼  € V P                  ^ V P                  P                  4       \        V P                  V P                  V P
                  4      pV P                  ^VP                  4       V P                  ^V P                  P                  4       V P                  WP                  P                  4       VP                  \        \        R4      4      4       R# )z|
Test the port is connected at initialization time, and
C{Protocol.makeConnection} has been called on the desired protocol.
rd   N)
re   rJ   Ú	connectedr+   rP   rK   Ú	transportrj   r   rk   )r   rl   s   & r   Ú!test_serialPortInitiallyConnectedÚ6Win32SerialPortTests.test_serialPortInitiallyConnectedw   s–   € ð
 	×Ñ˜˜DŸM™M×3Ñ3Ô4ä$ T§]¡]°D·I±I¸t¿|¹|ÓLˆØ×Ñ˜˜DŸN™NÔ+Ø×Ñ˜˜DŸM™M×3Ñ3Ô4Ø×Ñ˜Ÿ}™}×6Ñ6Ô7Ø×ÑœG¤I¨iÓ$8Ó9Ö:r   c                ól  € \        V P                  V P                  V P                  VR 7      pVP	                  4        VP                  R4       VP                  R4       VP                  R4       VP                  4        VP                  4        VP                  \        \        R4      4      4       R# )©rJ   ÚdeviceNameOrPortNumberrK   r-   r   s   abcds   ABCDrd   N)
r+   rJ   rP   rK   ÚserialReadEventrS   ÚserialWriteEventrj   r   rk   )r   r-   rl   s   && r   Úcommon_exerciseHandleAccessÚ0Win32SerialPortTests.common_exerciseHandleAccess„   s…   € Ü$Ø—]‘]Ø#'§9¡9Ø—L‘LØô	
ˆð 	×ÑÔØ�
‰
�3ŒØ�
‰
�7ÔØ�
‰
�7ÔØ×ÑÔØ×ÑÔØ×ÑœG¤I¨iÓ$8Ó9Ö:r   c                ó*   € V P                  R R7       R# ©F©r-   N©ry   r   s   &r   Útest_exerciseHandleAccess_1Ú0Win32SerialPortTests.test_exerciseHandleAccess_1–   s   € Ø×(Ñ(°Ð(Ö7r   c                ó*   € V P                  R R7       R# ©Tr}   Nr~   r   s   &r   Útest_exerciseHandleAccess_2Ú0Win32SerialPortTests.test_exerciseHandleAccess_2™   s   € Ø×(Ñ(°Ð(Ö6r   c                ót  € \        4       p\        VV P                  V P                  VR 7      pVP	                  4        T P                  \        ;QJ d&    R VP                   4       F  '       d   K   RM	  RM! R VP                   4       4      4       VP                  \        \        R4      4      4       R# )ru   c              3   óB   "  € T F  p\        V\        4      x € K  	  R # 5ir   )Ú
isinstanceÚbytes)Ú.0Úds   & r   Ú	<genexpr>ÚEWin32SerialPortTests.common_serialPortReturnsBytes.<locals>.<genexpr>¦   s   é € ÐQÑ:P°QœJ q¬%×0Ð0Ó:Pùs   ‚FTrd   N)r:   r+   rP   rK   rw   Ú
assertTrueÚallr=   rj   r   rk   )r   r-   rJ   rl   s   &&  r   Úcommon_serialPortReturnsBytesÚ2Win32SerialPortTests.common_serialPortReturnsBytesœ   s�   € Ü*Ó,ˆä$ØØ#'§9¡9Ø—L‘LØô	
ˆð 	×ÑÔØ�‰Ÿ›ÑQ¸(×:PÒ:PÓQŸŸšÑQ¸(×:PÒ:PÓQÓQÔRØ×ÑœG¤I¨iÓ$8Ó9Ö:r   c                ó*   € V P                  R R7       R# r|   ©r�   r   s   &r   Útest_serialPortReturnsBytes_1Ú2Win32SerialPortTests.test_serialPortReturnsBytes_1©   s   € Ø×*Ñ*°5Ð*Ö9r   c                ó*   € V P                  R R7       R# r‚   r’   r   s   &r   Útest_serialPortReturnsBytes_2Ú2Win32SerialPortTests.test_serialPortReturnsBytes_2¬   s   € Ø×*Ñ*°4Ð*Ö8r   )rN   rP   rJ   rK   N)r!   r"   r#   r$   Ú__doc__ÚtestingForcedr   Ú	isWindowsÚskipr   rU   rZ   rm   rr   ry   r   rƒ   r�   r“   r–   r%   r&   rD   s   @r   rF   rF   I   sb   ø‡ € ñ÷ Ø×!Ò!×#Ò#Ø3‰DçØBˆDò
ò&ò;ò&;ò;ò$8ò7ò;ò:÷9ð 9r   rF   )r˜   rO   rX   rL   Útwisted.internet.protocolr   Ú%twisted.internet.test.test_serialportr   Útwisted.python.failurer   Útwisted.python.runtimer   Útwisted.trialr   Úenvironr™   r/   Útwisted.internetr   ÚImportErrorÚSerialr
   Ú
SerialPortr+   r:   ÚTestCaserF   r   r   r   Ú<module>r§      s©   ðñó 
Û Û å .Ý ;Ý *Ý +Ý "à,°·
±
Ñ:€ð	Ûå+ð Òô
˜FŸM™Mô 
ô& 
× 5Ñ 5ô &ô$(˜hô (ôd9˜8×,Ñ,ö d9øða ô ßØà€JØ‚Fðús   ½
B ÂB.Â&B.Â-B.