python (3.11.7)

(root)/
lib/
python3.11/
test/
__pycache__/
test_pty.cpython-311.pyc

e=ddlmZmZddlmZededddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZdZdZeedoeed	Zerd
ZndZdZd
ZdZdZGddejZGddejZdZedkrejdSdS))verbose
reap_children)
import_moduletermiosfcntlNI wish to buy a fish license.
For my pet fish, Eric.

TIOCGWINSZ
TIOCSWINSZc$t|dSN)printmsgs A/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/test/test_pty.pydebugrs
c




cdSr
rs rrrsrc|dr|ddS|dr|ddS|S)Ns



)endswithreplace)datas rnormalize_outputr-sY}}Y.||Iu---}}W,||GU+++KrcXtj|dd}|S)z8Read one line.  May block forever if no newline is read.rbF)modeclosefd)ioFileIOreadline)fdreaders  r	_readliner&As(
Yre
4
4
4F??rc	tjtjt	j|S#tj$rYnwxYw|Sr
)tty	tcgetattrptySTDIN_FILENOunittestexpectedFailureerror)funs rexpectedFailureIfStdinIsTTYr0FsR

c&'''',,,9



Js14AAc	tj||}|t|kr&td|dt|d|ddS)Nzshort write: os.write(z, z bytes) wrote z bytes)oswritelen	Exception)r$rwrittens   r	write_allr7Psshr4  G#d))111s4yy11!(11122	2rcReZdZdZedZedZdZdZ	dZ
dS)PtyTestctjtj|j}|tjtj|d|_t
rl	t
jtj	|_|tj
tj	|jdS#tj$rYdSwxYwdSr
)signalSIGHUP
handle_sighup
addCleanup	stdin_dim_HAVE_WINSZr(tcgetwinsizer*r+tcsetwinsizer.)self
old_sighups  rsetUpz
PtyTest.setUp[s]6=$2DEE

v}jAAA	
!$!1#2B!C!C 0#2B $000009



		sAB44CCcdSr
r)signumframes  rr=zPtyTest.handle_sighupisrc	tjtj}n&#tj$rtdd}YnwxYwd}|jr	tdtd|j|jddz|jddzf}td|tjtj|tjtj}|	||dn$#t$rtjdYnwxYw	td		tj
||d
\}}}n(#t$rtj
\}}d}YnwxYwtd|d|d
|n"#t$rtjdwxYw|t$j||t$j||t%j|d|r)|	tj||d|r)|	tj||dt%j|}	t%j|d	t%j|d}|	d|n-#t$r }	|	jt2jkrYd}	~	nd}	~	wwxYwt%j||n#t%j||wxYwtdt7|t8t;|}|	dt=|tdt7|t>ddt7|t>ddt;|}
|	dt=|
dS)Nz&tty.tcgetattr(pty.STDIN_FILENO) failedz%Setting pty.STDIN_FILENO window size.zoriginal size: (row, col) = rztarget size: (row, col) = z&pty.STDIN_FILENO window size unchangedz+Failed to set pty.STDIN_FILENO window size.Calling pty.openpty()TzGot master_fd=z, slave_fd=z
, slave_name=z,Pseudo-terminals (seemingly) not functional.zslave_fd is not a ttyz%openpty() failed to set slave termiosz)openpty() failed to set slave window sizeFirzWriting to slave_fdrzWriting chunked outputr	) r(r)r*r+r.rr?rBrAassertEqualOSErrorwarningswarnopenpty	TypeErrorr,SkipTestr>r2close
assertTrueisattyget_blockingset_blockingreaderrnoEAGAINr7
TEST_STRING_1r&r
TEST_STRING_2)rCrnew_dim
target_dim	master_fdslave_fd
slave_nameblockings1es2s           rtest_openptyzPtyTest.test_openptymsc	=!122DDy			:;;;DDD	
>	
=>>>ET^EEFFF"nQ/!3T^A5F5JK
?:??@@@ !1:>>>*3+;<<  *!IKKKK



KLLL
	T)***
"25+dG>B3D3D/	8ZZ
"
"
"&)kmm#	8!



"
AAAxAAJAABBBB	T	T	T#$RSSS	T	
),,,(+++	(++-DEEE	FS]844dD
F
F
F	JS-h77H
J
J
J?9--
	1OIu---
WY--  b))))


7el**+****


OIx0000BOIx0000
#$$$(M***
y
!
!;)"--	/	/	/	&'''(M"1"-...(M!""-...
y
!
!46Fr6J6JKKKKKs! AAB,C>>DD#F3E
F"E30F2E33FF.L	+KL	
K0K+&L	+K00L		L ctdtj\}}|tj||tjkrt	jds#tdt	jdtd	t	j	tdt	jdn^#t$rtdYnCt$rtd	Yn)td
t	jdYnxYwt	jddStd|z		t	j|d}n#t$rYnJwxYw|snCtjt!|dddmt	j|d\}}t	j|}td|||fz|dkr|ddS|dkr|ddS|dkr|ddS|dkr|ddSdS)Nzcalling pty.fork()rJzChild's fd 1 is not a tty?!zIn child, calling os.setsid()zos.setsid() succeeded! (bad!)zGood: OSError was raised.zNo setsid() available?zAn unexpected error was raised.z!Waiting for child (%d) to finish.TPrrascii)encodingrz+Child (%d) exited with code %d (status %d).z3Child raised an unexpected exception in os.setsid()z1pty.fork() failed to make child a session leader.z8Child spawned by pty.fork() did not have a tty as stdoutz&pty.fork() failed for unknown reasons.)rr*forkr>r2rTCHILDrV_exitsetsidrNAttributeErrorrYsysstdoutr3strrwaitpidwaitstatus_to_exitcodefail)rCpidr`rstatusress      r	test_forkzPtyTest.test_forks
"###Y),,,#)9Q<<
3444
1222
	"5666#


1222!


.///

7888
HQKKKKK5;<<<
879b11DDE
  T\\'5%A%A.5"7"7"7888
8 JsA..MS&+F33C?3VBTTUUUaxx		OPPPPP		MNNNNN		TUUUUU		BCCCCCs*CD//D/	$D/E22
E?>E?ctdtj\}}td|d|d|tj|tdt	j|td	t	j|d}n#t$rd}YnwxYw||ddS)	NrKzGot master_fd 'z
', slave_fd ''zClosing slave_fdzReading from master_fdrJr)	rr*rQr>r2rTrYrNrM)rCr`rars    rtest_master_readzPtyTest.test_master_reads
%&&&!kmm	8
C	CCCCCDDD),,,
 !!!

&'''	79a((DD			DDD		
s#####sB%%B43B4cHtjtjddgdS)Nz-czprint("hi there"))r*spawnrt
executablerCs rtest_spawn_doesnt_hangzPtyTest.test_spawn_doesnt_hang&s"	3>4)<=>>>>>rN)__name__
__module____qualname__rEstaticmethodr=r0rgr}rrrrrr9r9Zs

\
!QLQL! QLfHDHDHDd$$$&?????rr9cHeZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdS)
SmallPtyTestsz)These tests don't spawn children or hang.ctj|_tj|_tj|_tj|_tj	|_
tj|_tj
|_tj|_tj|_tj|_g|_g|_g|_g|_d|_dSr
)r*r+orig_stdin_fileno
STDOUT_FILENOorig_stdout_filenorTorig_pty_close_copyorig_pty__copyro
orig_pty_forkselectorig_pty_selectsetraworig_pty_setrawr)orig_pty_tcgetattr	tcsetattrorig_pty_tcsetattrrworig_pty_waitpidfdsfilesselect_input
select_outputtcsetattr_mode_settingrs rrEzSmallPtyTests.setUp,s!$!1"%"3!i!i X"z"z"%-"%- #
&*###rc|jt_|jt_|jt_|jt_|j	t_
|jt_|j
t_|jt_|jt_|jt_|jD]'}	|#t,$rY$wxYw|jD]'}	t1j|#t,$rY$wxYwdSr
)rr*r+rrrrTrrrrorrrrrr)rrrrwrrNrr2)rCfiler$s   rtearDownzSmallPtyTests.tearDown=s1 3'	'	%)
)
/
/
+J		D






(		B




		s$5C


CC$C99
DDc`tj}|j||Sr
)r2piperextend)rCpipe_fdss  r_pipezSmallPtyTests._pipeSs&799!!!rc`tj}|j||Sr
)socket
socketpairrr)rCrs  r_socketpairzSmallPtyTests._socketpairXs,&((

*%%%rc||||f|jd|jdS)Nr)rMrpopr)rCrfdswfdsxfdss    r_mock_selectzSmallPtyTests._mock_select]sG$d+T->-B-B1-E-EFFF!%%a(((rcfd}|S)NcdfS)Nr)rzsr	mock_forkz0SmallPtyTests._make_mock_fork.<locals>.mock_forkcs
9rr)rCrzrs ` r_make_mock_forkzSmallPtyTests._make_mock_forkbs"					rc||_dSr
)r)rCfilenooptrs    r_mock_tcsetattrzSmallPtyTests._mock_tcsetattrgs&*###rc|\}}|t_|\}}|t_|}d|D}t|ddt|d|jt_|j	||dgggf|j
	||dgggf|j	||dg||dggf|j
	g||dggf|j	||dgggf|t5tj
|ddddn#1swxYwYtj||dgggdd}|||dg||tj|dd|tj|ddddS)z6Test the normal data case on both master_fd and stdin.c6g|]}|Sr)r).0ss  r
<listcomp>z4SmallPtyTests.test__copy_to_each.<locals>.<listcomp>qs 222!188::222rrJsfrom masters
from stdinrN)rr*rr+rr7rrrappendrassertRaises
IndexErrorrrMr2rY)rCread_from_stdout_fdmock_stdout_fd
mock_stdin_fdwrite_to_stdin_fdrmastersrs        rtest__copy_to_eachz SmallPtyTests.test__copy_to_eachjsq.2jjll+^*+/::<<(
((%%''
22z222	'!*n---#]333&
  ='!*"=r2!FGGG!!M71:#>B"GHHH  ='!*"=PWXYPZ?[]_!`aaa!!2
'CR"HIII  ='!*"=r2!FGGG


z
*
*	"	"Igaj!!!	"	"	"	"	"	"	"	"	"	"	"	"	"	"	"}171:>BJJ1M-wqz:DAAA!4b99>JJJR00-@@@@@s9F  F$'F$c|dt_tfdt_dt_dt_tfdt_|jt_	dt_
|tjgd||j
dd	S)
zCTest that spawn resets the tty mode no when _copy returns normally.rJcdgSr
r)_1_2status_sentinels  r<lambda>zDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>sdO%<rcdSr
r_s rrzDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>sdrcdSr
r)rr_3s   rrzDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>strcSr
r)r$
mode_sentinels rrzDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>s=rcdSr
rrs rrzDSmallPtyTests.test__restore_tty_mode_normal_return.<locals>.<lambda>strz4pty.waitpid process status not returned by pty.spawnz1pty.tcsetattr not called with original mode valueN)rr*roobjectrwrTrr)rrrrMrr)rCrrs @@r$test__restore_tty_mode_normal_returnz2SmallPtyTests.test__restore_tty_mode_normal_returns
''** ((<<<<"N	++	
0000
,
#^
29oppp4mExyyyyyrN)
rrr__doc__rErrrrrrrrrrrrr)s33+++",

)))

+++AAA<zzzzzrrc"tdSr
)rrrrtearDownModulersOOOOOr__main__)test.supportrrtest.support.import_helperrrZr2r*r(rtrr;rr!r,rOr\r]hasattrr@rrr&r0r7TestCaser9rrrmainrrr<module>rs////////444444
i
g				























				2
+
gc<((GWWS,-G-G




(
222M?M?M?M?M?hM?M?M?^rzrzrzrzrzH%rzrzrzjzHMOOOOOr