+
    Bi                         ^ RI t ^ RIt^ RIHt ]! R4      t]! R4      t]P                  ! ]! ] R4      R4       ! R R]P                  4      4       t	]
R	8X  d   ]P                  ! 4        R# R# )
    N)import_moduletermiosttyopenptyzneed os.openpty()c                   J   a  ] tR t^	t o R tR tR tR tR tR t	R t
RtV tR	# )
TestTtyc                l   \         P                  ! 4       w  qn        V P                  \         P                  V4       V P                  \        V P                  R ^ R7      4      V n        V P                  P                  4       V n        \        P                  V P                  4      V n        V P                  \        P                  V P                  \        P                  V P                  4       V P                  \        P                  V P                  \        P                  V P                  4       R# )wb)	bufferingN)osr   fd
addCleanupcloseenterContextopenstreamfilenor   	tcgetattrmode	tcsetattrTCSANOW	TCSAFLUSH)self	master_fds   & $/usr/lib/python3.14/test/test_tty.pysetUpTestTty.setUp   s    ZZ\	7),''TWWda(HI++$$&%%dgg.	))477GOOTYYO))477G4E4EtyyQ    c                v   V P                  V^,          \        P                  ,          ^ 4       V P                  V^,          \        P                  ,          ^ 4       V P                  V^,          \        P                  ,          ^4       V P                  V^,          \        P
                  ,          ^ 4       R# )   N)assertEqualr   ECHOICANONVMINVTIMEr   r   s   &&r   check_cbreakTestTty.check_cbreak   sv    a7<</3a7>>115a.2a/3r   c                   V P                  V4       V P                  V^ ,          \        P                  ,          ^ 4       V P                  V^ ,          \        P                  ,          ^ 4       V P                  V^,          \        P
                  ,          ^ 4       V P                  V^,          \        P                  ,          \        P                  \        P                  ,          4       V P                  V^,          \        P                  ,          \        P                  \        P                  ,          4       V P                  V^,          \        P                  ,          \        P                  4       V P                  V^,          \        P                  ,          ^ 4       V P                  V^,          \        P                  ,          ^ 4       V P                  V^,          \        P                  ,          ^ 4       V P                  V^,          \        P                  ,          ^4       V P                  V^,          \        P                  ,          ^ 4       R# )r   N)r'   r!   r   ISTRIPICRNLOPOSTPARENBCS8CSIZEr"   r#   ISIGr$   r%   r&   s   &&r   	check_rawTestTty.check_raw   sm   $a7>>115a7==0!4a7==0!4a7>>17;;3OPa7==0'++2MNa7;;.<a7<</3a7>>115a7<</3a.2a/3r   c                n   \         P                  V P                  4      pV P                  WP                  4       \
        P                  V4       V P                  V4       V P                  V^,          V P                  ^,          4       V P                  V^,          V P                  ^,          4       R# )   N)r   r   r   r!   r   r   	cfmakerawr1   r&   s   & r   test_cfmakerawTestTty.test_cfmakeraw)   sx      )yy)dta$))A,/a$))A,/r   c                D   \         P                  V P                  4      pV P                  WP                  4       \
        P                  V4       V P                  V4       V P                  V^,          V P                  ^,          4       V P                  V^,          V P                  ^,          4       V P                  V^,          V P                  ^,          4       V P                  V^,          V P                  ^,          4       V\
        P                  ;;,          \         P                  ,          uu&   \
        P                  V4       V P                  V\
        P                  ,          \         P                  ,          \         P                  RR7       V\
        P                  ;;,          \         P                  ( ,          uu&   \
        P                  V4       V P                  V\
        P                  ,          \         P                  ,          ^ RR7       R# )   z%ICRNL should not be cleared by cbreakmsgz!ICRNL should not be set by cbreakN)
r   r   r   r!   r   r   cfmakecbreakr'   IFLAGr+   r&   s   & r   test_cfmakecbreakTestTty.test_cfmakecbreak1   sZ     )yy)$a$))A,/a$))A,/a$))A,/a$))A,/SYY7==(cii7==8'--D 	 	FSYYGMM>)cii7==8!@ 	 	Br   c                   \         P                  V P                  4      p\        P	                  V P                  4      pV P                  W!4       \         P                  V P                  4      pV P                  V4       \        P	                  V P                  \         P                  4      pV P                  WC4       \        P	                  V P                  4       \        P	                  V P                  \         P                  R 7       R# )r   whenN)	r   r   r   r   setrawr!   r1   r   r   )r   mode0mode1mode2mode3s   &    r   test_setrawTestTty.test_setrawC   s    !!$''*

477#&!!$''*u

477GOO4&

4;;

dggGOO
4r   c                   \         P                  V P                  4      p\        P	                  V P                  4      pV P                  W!4       \         P                  V P                  4      pV P                  V4       \         P                  pV P                  V\        P                  ,          V,          V\        P                  ,          V,          R R7       \        P	                  V P                  \         P                  4      pV P                  WS4       \        P	                  V P                  4       \        P	                  V P                  \         P                  R7       R# )z%ICRNL should not be altered by cbreakr:   rA   N)r   r   r   r   	setcbreakr!   r'   r+   r=   r   r   )r   rD   rE   rF   r+   rG   s   &     r   test_setcbreakTestTty.test_setcbreakN   s    !!$''*dgg&&!!$''*% syy)E153Ce3KD 	 	Fdggw7&dkk"w7r   )r   r   r   N)__name__
__module____qualname____firstlineno__r   r'   r1   r6   r>   rH   rL   __static_attributes____classdictcell__)__classdict__s   @r   r   r   	   s/     R440B$	58 8r   r   __main__)r   unittesttest.support.import_helperr   r   r   
skipUnlesshasattrTestCaser   rN   main r   r   <module>r]      su    	  4
	
"E 
WR+-@AP8h P8 BP8f zMMO r   