
    2hh                        S SK r S SKrS SKrS SKrS SKJr  S SKJrJrJ	r	  \R                  " S5      r\R                  " S5      r\R                  " S5      rSrSr\" \S5       r\" \5      R)                  5       rSSS5        \R-                  5       S	-   r " S
 S\R0                  5      r\S:X  a  \R6                  " 5         gg! , (       d  f       NO= f)    N)support)import_helper	os_helperwarnings_helper	_testcapi_testlimitedcapi_io   rb
c                   >    \ rS rSrS rS rS rS rS rS r	S r
S	rg
)CAPIFileTest   c                    [         R                  n[        n[        US5       nUR	                  5       nUR                  S5        U" XBSS[        [        [        S5      n U R                  U[        R                  5        U R                  UR                  5       [        R                  5       5        UR                  5         UR                  S5        U" XBSS[        [        [        S5      n U R                  U[        R                  5        U R                  UR                  5       [        R                  5       5        UR                  5         UR                  S5        U" XBSSSS[        S5      n U R                  U[        R                   5        U R                  UR"                  S5        U R                  UR$                  S5        U R                  UR                  5       [&        5        UR                  5          S S S 5        g ! UR                  5         f = f! UR                  5         f = f! UR                  5         f = f! , (       d  f       g = f)Nr   r   i   rr
   utf-8replace)r   pyfile_fromfd__file__openfilenoseekNULLassertIsInstancer	   FileIOassertEqualreadline
FIRST_LINEencodecloseBufferedReaderTextIOWrapperencodingerrorsFIRST_LINE_NORM)selfr   filenamefpfdobjs         A/opt/python-3.13.8/usr/lib/python3.13/test/test_capi/test_file.pytest_pyfile_fromfdCAPIFileTest.test_pyfile_fromfd   s   (66(D!RB GGAJdAtT4KC%%c3::6  1B1B1DE		 GGAJdD$dANC%%c3+=+=>  1B1B1DE		 GGAJc1 'D!=C%%c3+<+<=  w7  Y7  A		? "! 		 		 		? "!sV   <I	 AH
2;I	.AH 3I	4A<H40I	
HI	H11I	4II		
Ic                    [         R                  n[        [        S5       nUR	                  S5        U R                  U" US5      [        R                  S5      5        UR	                  S5        U R                  U" US5      [        5        UR	                  S5        U R                  U" US5      [        S S 5        S S S 5        [        [        S5       nUR	                  S5        U R                  U" US5      [        R                  S5      R                  5       5        UR	                  S5        U R                  U" US5      [        R                  5       5        UR	                  S5        U R                  U" US5      [        R                  5       S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr   r   r      r   )
r   pyfile_getliner   r   r   r   r%   rstripr   r   )r&   r1   r(   s      r+   test_pyfile_getline CAPIFileTest.test_pyfile_getline:   sg    *88 (C BGGAJ^B3,33D9;GGAJ^B2,.GGAJ^B2,Ra02 ! (D!RGGAJ^B3'..t4;;=?GGAJ^B2'..02GGAJ^B2'..0!46 "! !  "!s   BF&CF7&
F47
Gc                    [         R                  n[        R                  " 5        nU R	                  U" SR                  5       U5      S5        U R                  [        5         U" SU5        S S S 5        U R                  [        5         U" SR                  SS5      U5        S S S 5        UR                  5       nU R	                  US5        S S S 5        U R                  [        5         U" S[        5        S S S 5        g ! , (       d  f       N= f! , (       d  f       Nu= f! , (       d  f       N\= f! , (       d  f       g = f)Nu
   aé€􏿿r      u   r   surrogatepasss   abc)r   pyfile_writestringioStringIOr   r   assertRaisesUnicodeDecodeErrorgetvalueSystemErrorr   )r&   writestrr(   texts       r+   test_pyfile_writestring$CAPIFileTest.test_pyfile_writestringW   s    #66[[]bX&=&D&D&FKQO""#56"% 7""#56/BBG 7 ;;=DT#:;  {+VT" ,+ 7666	 ] ,+sG   =D$#
D-D$
D$*D$+D5
D	D$
D!	D$$
D25
Ec                    [         R                  nSn[        R                  " 5        nU R	                  U" SX25      S5        U" [
        X25        U R	                  U" SUS5      S5        U" [
        US5        UR                  5       nU R	                  US5        S S S 5        SS[        5       4 HB  nU R                  US9   U R                  [        5         U" SXR5        S S S 5        S S S 5        MD     U R                  [        5         U" S[
        S5        S S S 5        g ! , (       d  f       N= f! , (       d  f       NX= f! , (       d  f       M  = f! , (       d  f       g = f)	Nr
   rawr   reprzraw<NULL>'repr'<NULL>{   abc)file)r   pyfile_writeobjectr9   r:   r   r   r=   objectsubTestr;   AttributeError	TypeError)r&   writeobjectPy_PRINT_RAWr(   r@   invalid_files         r+   test_pyfile_writeobject$CAPIFileTest.test_pyfile_writeobjecth   s    '99[[]b[A1Eb/ [Q7;b!$;;=DT#:;  !%2L<0&&~6|B 7 10 3
 y)tQ' *)% ] 76 10 *)s<   A1D! E
D2 E	E!
D/2
E <E
E	
E#c                 (   [         R                  nU R                  U" S5      S5        U R                  U" S5      S5        [        [        S5       nU R                  U" U5      UR                  5       5        S S S 5        Sn[        R                  " U[        45         U R                  U" S5      S5        S S S 5         " S S5      nU R                  [        5         U" S	5        S S S 5        U R                  [        5         U" U" S	5      5        S S S 5        U R                  [        5         U" U" S
5      5        S S S 5        SS/[        5       4 HA  nU R                  US9   U R                  [        5         U" U5        S S S 5        S S S 5        MC     g ! , (       d  f       GN*= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Nq= f! , (       d  f       M  = f)NrF   r   r   z!bool is used as a file descriptorTr
   c                        \ rS rSrS rS rSrg)=CAPIFileTest.test_pyobject_asfiledescriptor.<locals>.FakeFile   c                     Xl         g Nr)   )r&   r)   s     r+   __init__FCAPIFileTest.test_pyobject_asfiledescriptor.<locals>.FakeFile.__init__   s        c                     U R                   $ rX   rY   )r&   s    r+   r   DCAPIFileTest.test_pyobject_asfiledescriptor.<locals>.FakeFile.fileno   s    wwr\   rY   N)__name__
__module____qualname____firstlineno__rZ   r   __static_attributes__ r\   r+   FakeFilerU      s    r\   re   r/   r@   stringlist)r*   )r   pyobject_asfiledescriptorr   r   r   r   r   check_warningsRuntimeWarningr;   
ValueErrorrM   rJ   rK   )r&   asfdr(   msgre   r*   s         r+   test_pyobject_asfiledescriptor+CAPIFileTest.test_pyobject_asfiledescriptor   s   
  99cC(a!$(D!RT"Xryy{3 " 3++S.,ABT$Z+ C	 	 z*H +z*" + y)&!" * vh1C#&&&y1I 2 '& 23 "!
 CB +*** *) 21 '&s`   'FF-	F>G0G 'H=	G1H
F*-
F;>
G
G 
G.1
G?;H
H	c                    [         R                  nU" [        5      nU R                  UR                  S5        U R                  UR                  5        U R                  UR                  S5        U R                  UR                  5       [        5        U R                  UR                  5       [        R                  " [        5      5        U R                  UR                  5       5        U R                  UR                  5       5        U R                  UR                  S5        [        R                  " U [        U5      5        g )NFw)r   pyfile_newstdprinter	STDOUT_FDr   closedassertIsNoner#   moder   isattyosflushr    r   check_disallow_instantiationtype)r&   rr   rH   s      r+   test_pyfile_newstdprinter&CAPIFileTest.test_pyfile_newstdprinter   s    (==#I.e,$--(C(	2		)(<= 	$**,' 	$**,'e,,,T4:>r\   c                    [         R                  n[        R                  nU R	                  [        R
                  U5         [        R                  " [        5      n [        US5       nUR                  5       n[        R                  " U[        5        U" [        5      nU R                  UR                  S5      S5        U R                  UR                  S5      S5        S S S 5        [        R                  " W[        5        [        R                   " U5        [        US5       nU R                  UR#                  5       S5        S S S 5        g ! [         a   nU R                  SU< 35         S nAGNS nAff = f! , (       d  f       N= f! [        R                  " W[        5        [        R                   " U5        f = f! , (       d  f       g = f)	Nzos.dup() failed with wbr@      u   []   r   ztext[\udc80])r   rr   r   TESTFN
addCleanupunlinkrx   duprs   OSErrorskipTestr   r   dup2r   writer    read)r&   rr   r'   
old_stdoutexcr(   r)   rH   s           r+   test_pyfile_newstdprinter_write,CAPIFileTest.test_pyfile_newstdprinter_write   sK   (==##	(((3	;	*J
	!h% YY[I&+I6  F!3Q7   J!7; & GGJ	*HHZ (C BRWWY8 ! )  	;MM1#9::	;
 &% GGJ	*HHZ   sI   E F )A:E?#F (!G
E<E77E<?
F	F 3G
Grd   N)r_   r`   ra   rb   r,   r3   rA   rQ   rn   r|   r   rc   rd   r\   r+   r   r      s'    #J6:#"(8&T?*9r\   r   __main__)r9   rx   unittestwarningstestr   test.supportr   r   r   import_moduler   r   r	   r   rs   r   r   r(   nextdecoder   r2   r%   TestCaser   r_   mainrd   r\   r+   <module>r      s    	 	    B B ''4	 ../AB !!%(		(DRb"J ##%,M98$$ M9j zMMO u s   $C
C