a ze6@sddlmZeddddlZddlZddlZddlZddlZddlm Z ddl m Z m Z e dZ dZGd d d ejZGd d d ejZed kredS))supportZextralargefilez>test requires loads of disk-space bytes and a long time to runN) TemporaryFile)TESTFN requires_zlib2<c@s:eZdZddZddZddZeddZd d Zd S) TestsWithSourceFilecCs^ddtdD}d|d|_ttd}||jWdn1sP0YdS)Ncss|]}d|VqdS)zTest of zipfile line %d.N).0ir r G/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_zipfile64.py z,TestsWithSourceFile.setUp..i@B asciiwb)rangejoinencodedataopenrwrite)selfZline_genfpr r r setUps zTestsWithSourceFile.setUpcCs2t|d|}dt|j}tt}t|D]N}|d||j|tkr2tt}t d||ft j dt j q2Wdn1s0Yt|d|n}t|D]T}| |d||j|tkrtt}t d||ft j dt j qWdn1s$0YdS)Nwlztestfn%dz/ zipTest still writing %d of %d, be patient...)filerz/ zipTest still reading %d of %d, be patient...)zipfileZipFilelenrtime monotonic_PRINT_WORKING_MSG_INTERVALrwritestrprintsys __stdout__flush assertEqualread)rf compressionZzipfpZ filecountZ next_timenumr r r zipTest%s4    *   zTestsWithSourceFile.zipTestcCsRt*}||tj||jWdn1s60Y|ttjdSN)rr.rZ ZIP_STORED assertFalseclosedTESTFN2rr+r r r testStoredDs*zTestsWithSourceFile.testStoredcCsRt*}||tj||jWdn1s60Y|ttjdSr/)rr.r ZIP_DEFLATEDr0r1r2r3r r r testDeflatedLs*z TestsWithSourceFile.testDeflatedcCs(ttfD]}tj|rt|qdSr/)rr2ospathexistsremove)rZfnamer r r tearDownUs  zTestsWithSourceFile.tearDownN) __name__ __module__ __qualname__rr.r4rr6r;r r r r rs   rc@s$eZdZddZddZddZdS) OtherTestscCstjtdddX}d|_d}t|D] }|d|d|dd q$|t||Wdn1sn0Ytjtd d ^}|t||t|D]0}| d| d }||d|dd qWdn1s0YdS) NrTmodeZ allowZip64dfoo%08d%d9rrAr) rrrdebugrr$r)r namelistr*decode)rzipfnumfilesr zipf2contentr r r testMoreThan64kFiles\s 2 zOtherTests.testMoreThan64kFilesc Cs|tjtddd}d|_d}t|D] }|d|d|dd q$|t||| tj  |d|d Wdn1s0Y|t||Wdn1s0Ytjtd dd|}d|_|t||| tj  |d|d Wdn1s(0Y|t||Wdn1s\0Ytjtd d dp}d|_|t||d }t||D]"}|d|d|dd q|t||Wdn1s0Ytjtdd`}|t||t|D]2}| d| d}||d|dd q$Wdn1sn0YdS)NrFr@rBirDrErFrGraTrCrrHr) rrrrIrr$r)r rJZ assertRaisesZ LargeZipFiler*rK)rrLrMr Z numfiles2rNrOr r r testMoreThan64kFilesAppendls6 .204 4 z%OtherTests.testMoreThan64kFilesAppendcCsttttdSr/)runlinkrr2)rr r r r;s zOtherTests.tearDownN)r<r=r>rPrRr;r r r r r?[s r?__main__)testrZrequiresrr7Zunittestr!r&tempfilerZ test.supportrrr2r#ZTestCaserr?r<mainr r r r s  @5