+
    Bi~7                     ,   ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
Ht ]! R4      t]P                  ! ]! ]R4      R4       ! R R	]P                  4      4       t ! R
 R]P                  4      t]R8X  d   ]P&                  ! 4        R# R# )    N)support)threading_helper)import_moduletermiosopenptyzneed os.openpty()c                     a  ] tR t^t o R tR tR tR tR tR t	]
P                  ! R4      R 4       t]
P                  ! R4      R	 4       t]
P                  ! R
4      R 4       t]
P                  ! R
4      R 4       tR tR tR t]
P                  ! R4      R 4       t]
P                  ! R4      R 4       t]
P                  ! R4      ]P,                  ! ]P0                  R9   R4      R 4       4       tR tR tR tR tRtV tR# )TestFunctionsc                n   \         P                  ! 4       w  V n        V n        V P	                  \         P
                  V P                  4       V P                  \        V P                  R ^ R7      4      V n        V P                  \        P                  ! R ^ R7      4      pVP                  4       V n        R# )wb)	buffering)moder   N)osr   	master_fdfd
addCleanupcloseenterContextopenstreamtempfileTemporaryFilefilenobad_fd)selftmps   & (/usr/lib/python3.14/test/test_termios.pysetUpTestFunctions.setUp   su    "$**,$..1''TWWda(HI 6 6DA NOjjl    c                   V.p\         P                  R 8X  d5   V\        P                  8X  d    VP	                  \        P
                  4       V P                  \        P                  4      ;_uu_ 4       pV! V!   RRR4       V P                  XP                  P                  ^ ,          V4       R#   + '       g   i     L?; i)androidN)sysplatformerrnoENOTTYappendEACCESassertRaisesr   errorassertIn	exceptionargs)r   errcallabler,   errscms   &&&*  r   assertRaisesTermiosError&TestFunctions.assertRaisesTermiosError   s{     u<<9$)<KK%w}}--dO .bll''*D1 .-s   4B22C	c                2   \         P                  V P                  4      pV P                  V\        4       V P                  \        V4      ^4       \        ^4       F  pV P                  W,          \        4       K!  	  Vw  r4rVrxp	V P                  V	\        4       V P                  \        V	4      \         P                  4       \        V	4       F  w  r*V\         P                  ,          ^ 8X  dC   V\         P                  8X  g   V\         P                  8X  d   V P                  V
\        4       Kc  V P                  V
\        4       V P                  \        V
4      ^4       K  	  V P                  \         P                  V P                  4      V4       R# )   N)r   	tcgetattrr   assertIsInstancelistassertEquallenrangeintNCCS	enumerateICANONVMINVTIMEbytesr   )r   attrsiiflagoflagcflaglflagispeedospeedccxs   &          r   test_tcgetattrTestFunctions.test_tcgetattr#   s   !!$''*eT*UQ'qA!!%(C0 9>6eFBb$'R',,/bMDA'A-gll"a7==&8%%a-%%a/  Q+ " 	**4;;7?r   c                   V P                  \        P                  \        P                  V P
                  4       V P                  \        \        P                  R4       V P                  \        \        P                  ^R,          4       V P                  \        \        P                  \        4       4       V P                  \        \        P                  4       R#      N)r1   r$   r%   r   r5   r   r(   
ValueErrorOverflowError	TypeErrorobjectr   s   &r   test_tcgetattr_errors#TestFunctions.test_tcgetattr_errors5   s    %%ellG4E4Et{{S*g&7&7<-):):AtGD)W%6%6A)W%6%67r   c                   \         P                  V P                  4      p\         P                  V P                  \         P                  V4       \         P                  V P                  \         P
                  V4       \         P                  V P                  \         P                  V4       \         P                  V P                  \         P                  V4       R # N)r   r5   r   	tcsetattrTCSANOW	TCSADRAIN	TCSAFLUSHr   )r   rB   s   & r   test_tcsetattrTestFunctions.test_tcsetattr<   s    !!$''*$''7??E:$''7#4#4e<$''7#4#4e<$++w>r   c           
     b   \         P                  V P                  4      pV P                  \        \         P
                  V P                  \         P                  \        V4      4       V P                  \        \         P
                  V P                  \         P                  VR R 4       V P                  \        \         P
                  V P                  \         P                  V^ .,           4       \        ^4       F  pVR,          p^R,          W2&   V P                  \        \         P
                  V P                  \         P                  V4       \        4       W2&   V P                  \        \         P
                  V P                  \         P                  V4       K  	  V P                  \        \         P
                  V P                  \         P                  VR R VR,          R R .,           4       V P                  \        \         P
                  V P                  \         P                  VR R VR,          R.,           .,           4       \        \        VR,          4      4       EF[  pVR,          pVR,          R,          VR&   ^R,          VR,          V&   V P                  \        \         P
                  V P                  \         P                  V4       \        4       VR,          V&   V P                  \        \         P
                  V P                  \         P                  V4       RVR,          V&   V P                  \        \         P
                  V P                  \         P                  V4       RVR,          V&   V P                  \        \         P
                  V P                  \         P                  V4       EK^  	  V P                  \        \         P
                  V P                  \         P                  \        4       4       V P                  \        \         P
                  V P                  \         P                  4       V P                  \        P                  \         P
                  V P                  RV4       V P                  \        \         P
                  V P                  ^R,          V4       V P                  \        \         P
                  V P                  \        4       V4       V P                  \        P                  \         P
                  V P                   \         P                  V4       V P                  \"        \         P
                  R\         P                  V4       V P                  \        \         P
                  ^R,          \         P                  V4       V P                  \        \         P
                  \        4       \         P                  V4       V P                  \        \         P
                  V P                  \         P                  4       R # )N:NNNrQ       r   s     rR   )r   r5   r   r(   rU   r\   r]   tupler:   rT   rV   r9   r1   r$   EINVALr%   r   rS   )r   rB   rC   attrs2s   &   r   test_tcsetattr_errors#TestFunctions.test_tcsetattr_errorsC   s   !!$''*)W%6%6RWX]R^_)W%6%6RWX[Y[R\])W%6%6RW[\Z]R]^qA1XF4FImW->->Z`aFIi):):DGGW__V\]  	)W%6%6RWX[Y[R\`efh`ijmkm`n_oRop)W%6%6RWX[Y[R\`efh`imrls`s_tRtus59~&A1XFAF2JtGF2JqMmW->->Z`a"HF2JqMi):):DGGW__V\]F2JqMi):):DGGW__V\]#F2JqMi):):DGGW__V\] ' 	)W%6%6RXRZ[)W%6%6Q%%ellG4E4EtwwPRTYZ-):):DGGQWeT)W%6%65Q%%ellG4E4Et{{T[TcTcejk*g&7&7W__eT-):):AtGW__V[\)W%6%6'//SXY)W%6%6Qr   tcsendbreakc                |    \         P                  V P                  ^4       \         P                  T P                  ^4       R#   \         P                   dc   pTP                  ^ ,          \
        P                  8X  d7   \        P                  P                  R4      '       d   T P                  R4       h Rp?ii ; i)rP   zQtermios.tcsendbreak() is not supported with pseudo-terminals (?) on this platformN)freebsdnetbsd)r   ri   r   r)   r,   r$   r%   r"   r#   
startswithskipTestr   )r   excs   & r   test_tcsendbreakTestFunctions.test_tcsendbreakf   s    	+ 	DKK+ }} 	xx{ell*s||/F/FG\/]/] K L		s    A B;AB66B;c                   V P                  \        \        P                  V P                  ^R,          4       V P                  \
        \        P                  V P                  R4       V P                  \
        \        P                  V P                  \        4       4       V P                  \        P                  \        P                  V P                  ^ 4       V P                  \        \        P                  R^ 4       V P                  \        \        P                  ^R,          ^ 4       V P                  \
        \        P                  \        4       ^ 4       V P                  \
        \        P                  V P                  4       R# )   rQ   g        NrR   )r(   rT   r   ri   r   rU   rV   r1   r$   r%   r   rS   rW   s   &r   test_tcsendbreak_errors%TestFunctions.test_tcsendbreak_errorsq   s    -)<)<dggq$wO)W%8%8$''3G)W%8%8$''68L%%ellG4G4GVWX*g&9&92qA-)<)<agqI)W%8%8&(AF)W%8%8$''Br   tcdrainc                    \         P                  V P                  4       \         P                  V P                  4       R # r[   )r   rv   r   r   rW   s   &r   test_tcdrainTestFunctions.test_tcdrain|   s"     $r   c                   V P                  \        P                  \        P                  V P
                  4       V P                  \        \        P                  R4       V P                  \        \        P                  ^R,          4       V P                  \        \        P                  \        4       4       V P                  \        \        P                  4       R# rO   )r1   r$   r%   r   rv   r   r(   rS   rT   rU   rV   rW   s   &r   test_tcdrain_errors!TestFunctions.test_tcdrain_errors   s|    %%ellGOOT[[Q*goor:-!T'B)W__fh?)W__5r   c                   \         P                  V P                  \         P                  4       \         P                  V P                  \         P                  4       \         P                  V P                  \         P
                  4       R # r[   )r   tcflushr   TCIFLUSHTCOFLUSH	TCIOFLUSHrW   s   &r   test_tcflushTestFunctions.test_tcflush   sJ    !1!12!1!12!2!23r   c                   V P                  \        P                  \        P                  V P
                  R4       V P                  \        \        P                  V P
                  ^R,          4       V P                  \        \        P                  V P
                  \        4       4       V P                  \        P                  \        P                  V P                  \        P                  4       V P                  \        \        P                  R\        P                  4       V P                  \        \        P                  ^R,          \        P                  4       V P                  \        \        P                  \        4       \        P                  4       V P                  \        \        P                  V P
                  4       R# rO   )r1   r$   re   r   r~   r   r(   rT   rU   rV   r%   r   r   rS   rW   s   &r   test_tcflush_errors!TestFunctions.test_tcflush_errors   s   %%ellGOOTWWbQ-$''1d7K)W__dggvxH%%ellGOOT[[RYRbRbc*goor7;K;KL-!T'7CSCST)W__fh@P@PQ)W__dgg>r   c                   V P                   pV P                  p\        P                  R9   p\        P
                  ! VR4       V P                  \        P                  ! V^4      R4       V'       d&   \        P                  V\        P                  4       M$\        P                  V\        P                  4       V P                  \        P                  ! V^4      R4       V'       d&   \        P                  V\        P                  4       M$\        P                  V\        P                  4       \        P
                  ! VR4       V P                  \        P                  ! VR4      R4       R# )linuxs   abcdefs   abs   cds   ABCDEF   Nr   r!   )r   r   r"   r#   r   writer8   readr   r~   r   r   )r   wfdrfdinbufs   &   r   "test_tcflush_clear_input_or_output0TestFunctions.test_tcflush_clear_input_or_output   s    ggnn  44
i a%0OOC!1!12 OOC!1!12a%0OOC!1!12 OOC!1!12
i d+Y7r   tcflowc                v   \         P                  V P                  \         P                  4       \         P                  V P                  \         P                  4       \         P                  V P                  \         P
                  4       \         P                  V P                  \         P                  4       R # r[   )r   r   r   TCOOFFTCOONTCIOFFTCIONrW   s   &r   test_tcflowTestFunctions.test_tcflow   sZ    tww/tww.tww/tww.r   c                   V P                  \        P                  \        P                  V P
                  R4       V P                  \        \        P                  V P
                  ^R,          4       V P                  \        \        P                  V P
                  \        4       4       V P                  \        P                  \        P                  V P                  \        P                  4       V P                  \        \        P                  R\        P                  4       V P                  \        \        P                  ^R,          \        P                  4       V P                  \        \        P                  \        4       \        P                  4       V P                  \        \        P                  V P
                  4       R# rO   )r1   r$   re   r   r   r   r(   rT   rU   rV   r%   r   r   rS   rW   s   &r   test_tcflow_errors TestFunctions.test_tcflow_errors   s    %%ellGNNDGGRP-!T'J)W^^TWWfhG%%ellGNNDKKQXQ^Q^_*gnnb'--H-D'--P)W^^VXw}}M)W^^TWW=r   zonly works on Linuxc                  a aaa S P                   oS P                  p\        P                  ! 4       o\        P                  ! 4       oV VVV3R  lp\        P
                  ! \        P                  ! VR7      .4      ;_uu_ 4        S P                  \        P                  ! V^4      R4         \        P                  S\        P                  4       SP                  4        S P                  SP                  R4      R4       \        P                  S\        P                   4       S P#                  SP                  \$        P&                  4      R4       S P                  \        P                  ! VR4      R4       RRR4       R#   SP                  4        i ; i  \        P                  S\        P                   4       i ; i  + '       g   i     R# ; i)	c                     < \         P                  ! SR 4       S P                  SP                  \        P
                  4      4       \         P                  ! SR4       SP                  4        R# )   abc   defN)r   r   
assertTruewaitr   SHORT_TIMEOUTset)r   r   write_finishedwrite_suspendeds   r   writerCTestFunctions.test_tcflow_suspend_and_resume_output.<locals>.writer   sH    HHS&!OOO001F1FGHHHS&! r   )targetr   g      ?zoutput was not suspendedzoutput was not resumedr   r   N)r   r   	threadingEventr   start_threadsThreadr8   r   r   r   r   r   r   assertFalser   r   r   r   r   )r   r   r   r   r   r   s   f  @@@r   %test_tcflow_suspend_and_resume_output3TestFunctions.test_tcflow_suspend_and_resume_output   sF    ggnn#//+"*	! 	! ++Y-=-=V-L,MNNRWWS!_f53*NN37#'')  !4!4S!9!;= sGMM2OON//0E0EF46RWWS$/8 ON $'') sGMM2 ONNs7   (G.$F1FA:GFF&GGG	c                x   \         P                  V P                  4      pV P                  V\        4       V P                  \        V4      ^4       V P                  V^ ,          \        4       V P                  V^,          \        4       V P                  \         P                  V P                  4      V4       R# )rs   N)	r   tcgetwinsizer   r6   rd   r8   r9   r;   r   r   sizes   & r   test_tcgetwinsizeTestFunctions.test_tcgetwinsize   s    ##DGG,dE*TA&d1gs+d1gs+--dkk:DAr   c                   V P                  \        P                  \        P                  V P
                  4       V P                  \        \        P                  R4       V P                  \        \        P                  ^R,          4       V P                  \        \        P                  \        4       4       V P                  \        \        P                  4       R# rO   )r1   r$   r%   r   r   r   r(   rS   rT   rU   rV   rW   s   &r   test_tcgetwinsize_errors&TestFunctions.test_tcgetwinsize_errors   s    %%ellG4H4H$++V*g&:&:B?-)=)=q$wG)W%9%968D)W%9%9:r   c                   \         P                  V P                  4      p\         P                  V P                  V4       \         P                  V P                  \	        V4      4       \         P                  V P
                  V4       R # r[   )r   r   r   tcsetwinsizer7   r   r   s   & r   test_tcsetwinsizeTestFunctions.test_tcsetwinsize   sV    ##DGG,TWWd+TWWd4j1T[[$/r   c           
        \         P                  V P                  4      pV P                  \        \         P
                  V P                  VR R 4       V P                  \        \         P
                  V P                  VR,           4       V P                  \        \         P
                  V P                  \        4       4       V P                  \        \         P
                  V P                  V^ ,          ^R,          34       V P                  \        \         P
                  V P                  V^ ,          \        V^,          4      34       V P                  \        \         P
                  V P                  V^ ,          \        4       34       V P                  \        \         P
                  V P                  ^R,          V^,          34       V P                  \        \         P
                  V P                  \        V^ ,          4      V^,          34       V P                  \        \         P
                  V P                  \        4       V^,          34       V P                  \        P                  \         P
                  V P                  V4       V P                  \        \         P
                  RV4       V P                  \        \         P
                  ^R,          V4       V P                  \        \         P
                  \        4       V4       V P                  \        \         P
                  V P                  4       R # )NrQ   rR   )r   )r   r   r   r(   rU   r   rV   rT   floatr1   r$   r%   r   rS   r   s   & r   test_tcsetwinsize_errors&TestFunctions.test_tcsetwinsize_errors   s#   ##DGG,)W%9%9477D"IN)W%9%9477D4KP)W%9%9477FHM-)=)=twwaRSUYRYHZ[)W%9%9477T!WeTXYZT[nD]^)W%9%9477T!WfhDWX-)=)=twwDRVWXRYHZ[)W%9%9477U4PQ7^UYZ[U\D]^)W%9%9477VXtTUwDWX%%ellG4H4H$++W[\*g&:&:BE-)=)=q$wM)W%9%968TJ)W%9%9477Cr   )r   r   r   r   Nr   ) __name__
__module____qualname____firstlineno__r   r1   rL   rX   r`   rg   r   skip_android_selinuxrp   rt   rx   r{   r   r   r   r   r   unittest
skipUnlessr"   r#   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r   r	   r	      sM    #	2@$8?!RF !!-0, 1, !!-0C 1C !!),% -% !!),6 -64
?82 !!(+/ ,/ !!(+> ,> !!(+)==?TU9 V ,96B;0D Dr   r	   c                   2   a  ] tR tRt o R tR tR tRtV tR# )
TestModulei  c                   V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P
                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                  \        4       V P                  \        P                   \        4       V P                  \        P"                  \        4       V P%                  \        P                  \        P"                  4       V P%                  \        P                   \        P"                  4       R # r[   )r6   r   B0r;   B38400r]   r^   r_   r   r   r   r   r   r   r   r@   r?   r<   
assertLessrW   s   &r   test_constantsTestModule.test_constants  sd   gjj#.gnnc2goos3g//5g//5g..4g..4g//5gnnc2gmmS1gnnc2gmmS1gmmS1gllC0gllC0w||4gll3r   c                   \        \        4       Fa  pVP                  R 4      '       g   K  \        \        V4      pV P	                  VR7      ;_uu_ 4        V P                  V^ 4       RRR4       Kc  	  R#   + '       g   i     Kx  ; i)TIO)nameN)dirr   rm   getattrsubTestassertGreaterEqual)r   r   values   &  r   test_ioctl_constantsTestModule.test_ioctl_constants  sc    LD??5))GT*E4((''q1 )(	 ! )((s   A77Bc                    V P                  \        P                  \        4       V P	                  \        P                  \
        4       R # r[   )assertIsSubclassr   r)   	ExceptionassertNotIsSubclassOSErrorrW   s   &r   test_exceptionTestModule.test_exception$  s*    gmmY7  8r    N)	r   r   r   r   r   r   r   r   r   r   s   @r   r   r     s     4&29 9r   r   __main__)r$   r   r"   r   r   r   testr   test.supportr   test.support.import_helperr   r   r   hasattrTestCaser	   r   r   mainr   r   r   <module>r      s     	 
     ) 4
	
" 
WR+-@AuDH%% uD BuDp9"" 9D zMMO r   