
    0hh#                     $   S SK Jr  \R                  " SS5        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
  S SK	Jr  \
R                  r\S-   rS	r " S
 S\R                  5      r " S S\R                  5      r\S:X  a  \R&                  " 5         gg)    )supportextralargefilez>test requires loads of disk-space bytes and a long time to runN)TemporaryFile)	os_helper)requires_zlib2<   c                   F    \ rS rSrS rS rS r\" 5       S 5       rS r	Sr
g)	TestsWithSourceFile   c                 r    S [        S5       5       nSR                  U5      R                  S5      U l        g )Nc              3   ,   #    U  H
  nS U-  v   M     g7f)zTest of zipfile line %d.N ).0is     </opt/python-3.13.8/usr/lib/python3.13/test/test_zipfile64.py	<genexpr>,TestsWithSourceFile.setUp.<locals>.<genexpr>    s     KNq.2Ns   i@B 
ascii)rangejoinencodedata)selfline_gens     r   setUpTestsWithSourceFile.setUp   s+    KE'NKIIh'..w7	    c                    [         R                  " USU5       nS[        U R                  5      -  n[        R
                  " 5       [        -   n[        U5       H  nUR                  SU-  U R                  5        U[        R
                  " 5       ::  d  M=  [        R
                  " 5       [        -   n[        SXd4-  [        R                  S9  [        R                  R                  5         M     S S S 5        [         R                  " USU5       n[        W5       H  nU R                  UR                  SU-  5      U R                  5        W[        R
                  " 5       ::  d  ML  [        R
                  " 5       [        -   n[        SXd4-  [        R                  S9  [        R                  R                  5         M     U R                  UR!                  5       5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       g = f)Nwl        ztestfn%dz/  zipTest still writing %d of %d, be patient...)filerz/  zipTest still reading %d of %d, be patient...)zipfileZipFilelenr   time	monotonic_PRINT_WORKING_MSG_INTERVALr   writestrprintsys
__stdout__flushassertEqualreadassertIsNonetestzip)r   fcompressionzipfp	filecount	next_timenums          r   zipTestTestsWithSourceFile.zipTest#   sz   __Q[1U "S^3I(+FFIY'zC/; 00 $ 03N NIE$%,/NN< NN((* ( 2$ __Q[1UY'  J,<!=tyyI 00 $ 03N NIE$%,/NN< NN((* ( emmo. 21% 21$ 21s'   A9G*AG*AG<(A9G<*
G9<
H
c                 
   [        5        nU R                  U[        R                  5        U R	                  UR
                  5        S S S 5        U R                  [        [        R                  5        g ! , (       d  f       N3= fN)r   r9   r$   
ZIP_STOREDassertFalseclosedTESTFN2r   r3   s     r   
testStoredTestsWithSourceFile.testStoredE   sT     _LLG../QXX&  	Wg001 _   <A44
Bc                 
   [        5        nU R                  U[        R                  5        U R	                  UR
                  5        S S S 5        U R                  [        [        R                  5        g ! , (       d  f       N3= fr<   )r   r9   r$   ZIP_DEFLATEDr>   r?   r@   rA   s     r   testDeflated TestsWithSourceFile.testDeflatedM   sT     _LLG001QXX&  	Wg223 _rD   c                 8    [         R                  " [        5        g r<   )r   unlinkr@   r   s    r   tearDownTestsWithSourceFile.tearDownV   s    !r   )r   N)__name__
__module____qualname____firstlineno__r   r9   rB   r   rG   rL   __static_attributes__r   r   r   r   r      s-    8
 /D2 _4 4"r   r   c                   &    \ rS rSrS rS rS rSrg)
OtherTestsZ   c                    [         R                  " [        SSS9 nSUl        Sn[	        U5       H!  nUR                  SU-  SUS-  S	-  -  5        M#     U R                  [        UR                  5       5      U5        S S S 5        [         R                  " [        S
S9 nU R                  [        UR                  5       5      W5        [	        U5       HA  nUR                  SU-  5      R                  S5      nU R                  USUS-  S	-  -  5        MC     S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr!   Tmode
allowZip64d     foo%08d%d   9   r#   rX   r   )r$   r%   TESTFNdebugr   r*   r/   r&   namelistr0   decode)r   zipfnumfilesr   zipf2contents         r   testMoreThan64kFilesOtherTests.testMoreThan64kFiles[   s    __V#$?4DJ'H8_i!mTQTBY-?@ %S18< @ __V#.%S!12H=8_**Y]3::7C  $!Q$)*<= % /. @? /.s   A#D"A:D3"
D03
Ec                    [         R                  " [        SSS9 nSUl        Sn[	        U5       H!  nUR                  SU-  SUS-  S	-  -  5        M#     U R                  [        UR                  5       5      U5        U R                  [         R                  5         UR                  SU-  S
5        S S S 5        U R                  [        UR                  5       5      U5        S S S 5        [         R                  " [        SSS9 nSUl        U R                  [        UR                  5       5      W5        U R                  [         R                  5         UR                  SU-  S
5        S S S 5        U R                  [        UR                  5       5      U5        S S S 5        [         R                  " [        SSS9 nSUl        U R                  [        UR                  5       5      W5        Sn[	        X$5       H!  nUR                  SU-  SUS-  S	-  -  5        M#     U R                  [        UR                  5       5      U5        S S S 5        [         R                  " [        SS9 nU R                  [        UR                  5       5      W5        [	        U5       HA  nUR                  SU-  5      R                  S5      nU R                  USUS-  S	-  -  5        MC     S S S 5        g ! , (       d  f       GNC= f! , (       d  f       GN$= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       g = f)Nr!   FrW   rZ   i  r\   r]   r^   r_   r   aTr[   r#   r`   r   )r$   r%   ra   rb   r   r*   r/   r&   rc   assertRaisesLargeZipFiler0   rd   )r   re   rf   r   	numfiles2rg   rh   s          r   testMoreThan64kFilesAppend%OtherTests.testMoreThan64kFilesAppendk   sz   __V#%@DDJ$H8_i!mTQTBY-?@ %S18<""7#7#78i(2C8 9S18< A __V#%@DDJS18<""7#7#78i(2C8 9S18< A __V#$?4DJS18<(I8/i!mTQTBY-?@ 0S19= @ __V#.%S!12I>9%**Y]3::7C  $!Q$)*<= & /.' 98 A@ 98 A@ @? /.sc   BLK/31LAL%L,1L%?BL7,A:M/
K>	9L
L
L"	L%%
L47
M
Mc                 l    [         R                  " [        5        [         R                  " [        5        g r<   )r   rJ   ra   r@   rK   s    r   rL   OtherTests.tearDown   s     !r   r   N)rN   rO   rP   rQ   ri   rp   rL   rR   r   r   r   rT   rT   Z   s    > >@"r   rT   __main__)testr   requiresr$   unittestr'   r,   tempfiler   test.supportr   r   ra   r@   r)   TestCaser   rT   rN   mainr   r   r   <module>r|      s    
   H
   
 " " &			
3, ! :"(++ :"z3""" 3"j zMMO r   