a 5dg`@sddlZddlZddlmZmZmZddlZddlZddlZddl Z ddl Z ddl m Z ddl Z ddlmZmZmZmZmZmZedZddlmZmZmZmZGddde jZGd d d e jZGd d d ZGd dde jZGddde jZGddde jZ dZ!dZ"dZ#dZ$ej%ddgZ&dZ'ej(ddej%ej)ej*BdgZ+dZ,ej-dddej%igZ.d Z/ej(d!dej0d"dej%d!dd#gZ1d$Z2d%Z3d&d'Z4e5d(kre4dS))N)BytesIOUnsupportedOperationDEFAULT_BUFFER_SIZE)support)_4GTESTFN import_module bigmemtest run_unittestunlinklzma)LZMACompressorLZMADecompressor LZMAErrorLZMAFilec@s@eZdZddZddZddZddZdGd d Zd d ZddZ ddZ ddZ ddZ ddZ ddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Zej e!e"d:d;d<d=d>Z#ej e!e"d:d?d<d@dAZ$dBdCZ%ej&dDdEZ'dFS)HCompressorDecompressorTestCasecCsR|ttg|jttdd|jttdd|jttdd|jttdd|jtttjd|t$td d tjigd Wdn1s0Y|ttd |jttd d|tttjddWdn1s0Y|tttjddWdn1s$0Y|jttt d|tttj t dWdn1sn0Y|tttj t dWdn1s0Yt}|t|j |t|j dd|t|j d| }|t|j d|t|j t}|t|j|t|jdd|||t|jddS)Ng @formatcheckZasdfpresetfiltersidrrsqwmemlimitZzzzrrfoobarsblahsquux) assertRaises TypeErrorr ValueErrorr FORMAT_AUTO FILTER_LZMA2r FORMAT_RAW FILTERS_RAW_1 FORMAT_XZ FORMAT_ALONEcompressflush decompressEOFError)selflzcemptylzdrr*/usr/local/lib/python3.9/test/test_lzma.pytest_simple_bad_argss> 2 , . . . z3CompressorDecompressorTestCase.test_simple_bad_argscCs|jttdgd|jttddigd|jttddigd|t$ttjddgdWdn1sr0Y|t$ttjddgdWdn1s0Y|t$ttjddgdWdn1s0YdS) Nwobsiterxyzzyrŕrrfoo)r&r'r r(r r* FILTER_DELTA FILTER_X86r3rrr7test_bad_filter_spec@s 2 2 z3CompressorDecompressorTestCase.test_bad_filter_speccCs$t}|t|t|jddS)Nsnyan)rr1 COMPRESSED_XZr&r2r3r6rrr7test_decompressor_after_eofKs z:CompressorDecompressorTestCase.test_decompressor_after_eofcCsZtdd}|t|jtttjdd}|t|jtttjdd}|t|jtdS)Nr ) rr&rr1rBr r-r.COMPRESSED_ALONErCrrr7test_decompressor_memlimitPs  z9CompressorDecompressorTestCase.test_decompressor_memlimitcCsN||j||}||t||j|||j||j|dSN) assertFalseeofr1 assertEqualINPUTr assertTrue unused_data)r3r6datarrOoutrrr7_test_decompressor\s     z1CompressorDecompressorTestCase._test_decompressorcCs0t}||ttjt}||ttjdSrI)rrRrBr CHECK_CRC64rF CHECK_NONErCrrr7test_decompressor_autodsz5CompressorDecompressorTestCase.test_decompressor_autocCsttj}||ttjdSrI)rr r-rRrBrSrCrrr7test_decompressor_xzks z3CompressorDecompressorTestCase.test_decompressor_xzcCsttj}||ttjdSrI)rr r.rRrFrTrCrrr7test_decompressor_aloneos z6CompressorDecompressorTestCase.test_decompressor_alonecCs"ttjtd}||ttjdSNr)rr r+r,rRCOMPRESSED_RAW_1rTrCrrr7test_decompressor_raw_1ssz6CompressorDecompressorTestCase.test_decompressor_raw_1cCs"ttjtd}||ttjdSrX)rr r+ FILTERS_RAW_2rRCOMPRESSED_RAW_2rTrCrrr7test_decompressor_raw_2wsz6CompressorDecompressorTestCase.test_decompressor_raw_2cCs"ttjtd}||ttjdSrX)rr r+ FILTERS_RAW_3rRCOMPRESSED_RAW_3rTrCrrr7test_decompressor_raw_3{sz6CompressorDecompressorTestCase.test_decompressor_raw_3cCs"ttjtd}||ttjdSrX)rr r+ FILTERS_RAW_4rRCOMPRESSED_RAW_4rTrCrrr7test_decompressor_raw_4sz6CompressorDecompressorTestCase.test_decompressor_raw_4c Cst}g}tdttdD],}||j||t||dqd|}| |t | |j t j ||j| |jddSNr rHrrangelenrBrJrKappendr1joinrLrMrr rSrNrOr3r6rQirrr7test_decompressor_chunkss    z7CompressorDecompressorTestCase.test_decompressor_chunksc Cst}g}tdttdD]\}||j||d||d||d||t||dqd|}| |t | |j t j ||j| |jddSrdrfrkrrr7test_decompressor_chunks_emptys    z=CompressorDecompressorTestCase.test_decompressor_chunks_emptycCs"t}d}g}ttd}||jtd||d||j|t|d|||jd|d||j|t|d|||jt|d|d|t|d||j s||jd|d|t|d|qd |}||t ||j t j||jddS)Nd max_lengthrH)rrhrBrir1rJ needs_inputrLassertLessEqualrKrjrMrr rSrO)r3r6rrrQZlen_rrr7 test_decompressor_chunks_maxsizes.     z?CompressorDecompressorTestCase.test_decompressor_chunks_maxsizecCst}g}||jtddddd||dd||tddd||tdd|d|tdS)NrorrqrHrpirrLr1rBrirjrMr3r6rQrrr7test_decompressor_inputbuf_1sz;CompressorDecompressorTestCase.test_decompressor_inputbuf_1cCst}g}||jtddddd||d||tddd||tddd||tdd|d|tdS)NrrqrHirp,ryrzrrr7test_decompressor_inputbuf_2sz;CompressorDecompressorTestCase.test_decompressor_inputbuf_2cCslt}g}||tddd||tddd||tdd|d|tdS)Nr|r}rH)rrir1rBrLrjrMrzrrr7test_decompressor_inputbuf_3s z;CompressorDecompressorTestCase.test_decompressor_inputbuf_3cCs&t}d}|j|t|tj|ddS)Ns fooblibarrO)rrRrBr rS)r3r6extrarrr7test_decompressor_unused_datas zCompressDecompressFunctionTestCase.test_decompress_multistreamcCsttt}||tdSrIr r1rBrrLrMrrrr7test_decompress_trailing_junksz@CompressDecompressFunctionTestCase.test_decompress_trailing_junkcCs&ttdt}||tddS)Nrrrrrr7)test_decompress_multistream_trailing_junkszLCompressDecompressFunctionTestCase.test_decompress_multistream_trailing_junkN) rrrrrrrrrrrrrrrr7r~s  rc@s&eZdZd ddZddZddZdS) TempFilerHcCs||_||_dSrI)filenamerP)r3rrPrrr7rszTempFile.__init__cCs<t|jd}||jWdn1s.0YdS)Nwb)openrwriterPr3frrr7 __enter__ szTempFile.__enter__cGst|jdSrI)r r)r3argsrrr7__exit__szTempFile.__exit__N)rH)rrrrrrrrrr7rs rc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^Z1d_d`Z2dadbZ3dcddZ4dedfZ5dgdhZ6didjZ7dkdlZ8dmdnZ9dodpZ:dqdrZ;dsdtZdydzZ?d{d|Z@d}S)~ FileTestCasecCsttt}Wdn1s"0Yttd}Wdn1sN0Yttd}Wdn1sz0Yttd}Wdn1s0YdS)Nwxa)rrrBrrrr7 test_initszFileTestCase.test_initc Cstt}t|tt| }||tWdn1sD0Yt|d}| tWdn1sx0Yt|$}||tdWdn1s0YWdn1s0YdS)Nrrp) pathlibPathrrrBrrLreadrMr)r3rrrrr7 test_init_with_PathLike_filename s   . ( z-FileTestCase.test_init_with_PathLike_filenamec Csttttt}Wdn1s*0Yttd}Wdn1sT0Yttd}Wdn1s~0YWdn1s0YdS)Nrr)rrrBrrrrr7test_init_with_filename*s    z$FileTestCase.test_init_with_filenamec Cs,tt ttdWdn1s,0YttdWdn1sV0YttdWdn1s0YttdWdn1s0YttdWdn1s0YttdWdn1s0YWdn1s0YdS)Nrrbrrrab)rrrr@rrr7test_init_mode3s       zFileTestCase.test_init_modec Cs|ttdD]}tttt|Wdn1s<0Y|t:tt|Wdn1sr0YWdq1s0YqdS)N)rxb) addCleanupr rrr&FileExistsErrorr3moderrr7test_init_with_x_modeBs    z"FileTestCase.test_init_with_x_modecCsz|ttttdWdn1s.0Y|ttttdWdn1sf0Y|ttttdWdn1s0Y|ttttdWdn1s0Y|ttttdWdn1s0Y|ttttdWdn1sJ0Y|ttttdWdn1s0Y|ttttdWdn1s0Y|ttttd Wdn1s0Y|ttttd Wdn1s20Y|ttttd Wdn1sl0YdS) N)rrrxtzx+rxZwxrtzr+wtzw+rw)r&r(rrrBr@rrr7test_init_bad_modeLs, , , , , . . . . . . zFileTestCase.test_init_bad_modecCs|t ttdddWdn1s00Y|t"ttdtjdWdn1sl0Y|t&ttdtjddWdn1s0Y|t"ttt tj dWdn1s0Y|t"ttt tj dWdn1s&0Y|t"ttt tj dWdn1sd0Y|t"ttt tj dWdn1s0Y|t"ttt tjdWdn1s0YdS)Nrsasdrr)r&r'rrrr CHECK_UNKNOWN CHECK_ID_MAXr(rBrT CHECK_CRC32rS CHECK_SHA256r@rrr7test_init_bad_checkds  . 0 4 0 2 2 2 z FileTestCase.test_init_bad_checkcCs|t ttdddWdn1s00Y|t ttdddWdn1sj0Y|t ttdddWdn1s0Y|t ttdddWdn1s0Y|t ttdddWdn1s0Y|t ttdddWdn1sV0Y|t tttd dWdn1s0YdS) Nrg(\@rrersir=r)r&r'rrr OverflowErrorr(rBr@rrr7test_init_bad_presetxs . . . . 0 0 z!FileTestCase.test_init_bad_presetcCs|t"ttddgdWdn1s20Y|t&ttdddigdWdn1sr0Y|t&ttdddigdWdn1s0Y|t*ttdtjdd gdWdn1s0Y|t*ttdtjdd gdWdn1s<0Y|t*ttdtjdd gdWdn1s0YdS) Nrr9rr:rrr;rr<) r&r'rrr(r r*r>r?r@rrr7test_init_bad_filter_specs$ 0 4 4  $  &  z&FileTestCase.test_init_bad_filter_speccCsD|t&ttdtjdtdWdn1s60YdS)Nr)rrr)r&r(rrr r+r,r@rrr7!test_init_with_preset_and_filterss  z.FileTestCase.test_init_with_preset_and_filterscCstt@}t|}|||j|||jWdn1sN0Yttt:tt}|j}|| |j|Wdn1s0YdSrI) rrBrcloserJclosedrr_fprN)r3srcrfprrr7 test_closes  *  zFileTestCase.test_closecCsttt}z,||j|||jW|n |0||jttd}z||jW|n |0||jdSNr)rrrBrJrrrrNrrrr7 test_closeds    zFileTestCase.test_closedc Csttt}z|t|jW|n |0|t|jtt tVtt }z2| ||j | |t W|n |0Wdn1s0Y|t|jdSrI)rrrBr&rfilenorr(rrrLrZassertIsInstanceintrrrr7 test_filenos  2zFileTestCase.test_filenocCsttt}z0|||||W|n |0|t|jttd}z| |W|n |0|t|jtt}dd|_t|}z| |W|n |0|t|jdS)NrcSsdS)NFrrrrr7rHz,FileTestCase.test_seekable..) rrrBrNseekablerrr&r(rJ)r3rrrrr7 test_seekables&   zFileTestCase.test_seekablecCsttt}z0|||||W|n |0|t|jttd}z| |W|n |0|t|jdSr) rrrBrNreadablerrr&r(rJrrrr7 test_readables  zFileTestCase.test_readablecCsttt}z0|||||W|n |0|t|jttd}z| |W|n |0|t|jdSr) rrrBrJwritablerrr&r(rNrrrr7 test_writables  zFileTestCase.test_writablecCsttt0}||t||dWdn1sB0Yttt }||tWdn1s~0Yttttjd0}||t||dWdn1s0Yttttj d0}||t||dWdn1s$0Yttt tj t d0}||t||dWdn1sz0Yttt tj td0}||t||dWdn1s0Yttttj td0}||t||dWdn1s&0Yttttj td0}||t||dWdn1s|0YdS)NrHrr#)rrrBrLrrMrFr r-r.rYr+r,r\r[r_r^rbrarrrr7 test_readsF...0000zFileTestCase.test_readcCsttt"}||ddWdn1s40Yttt"}||ddWdn1sr0Yttttjd"}||ddWdn1s0Yttttjd"}||ddWdn1s0YdS)NrrHr) rrrBrLrrFr r-r.rrrr7 test_read_0-s000zFileTestCase.test_read_0cCsrtttR}g}|d}|s"q>|t|d||q|d|t Wdn1sd0YdSNrerH) rrrBrrurhrirLrjrM)r3rchunksresultrrr7 test_read_107s  zFileTestCase.test_read_10cCstttd$}||tdWdn1s:0Ytttt$}||tdWdn1s~0Ytttdtj t d$}||tdWdn1s0YdS)Nrrpr#) rrrBrLrrMrFr_r r+r^rrrr7test_read_multistreamBs22 z"FileTestCase.test_read_multistreamcCsltj}ttt_zNtttd$}||tdWdn1sL0YW|t_n|t_0dSNr) _compression BUFFER_SIZErhrBrrrLrrM)r3Zsaved_buffer_sizerrrr7)test_read_multistream_buffer_size_alignedKs  4z6FileTestCase.test_read_multistream_buffer_size_alignedcCsDtttt }||tWdn1s60YdSrIrrrBrrLrrMrrrr7test_read_trailing_junkVsz$FileTestCase.test_read_trailing_junkcCsLtttdt$}||tdWdn1s>0YdSrr rrrr7#test_read_multistream_trailing_junkZsz0FileTestCase.test_read_multistream_trailing_junkc CsvtttXtt0}||t||dWdn1sJ0YWdn1sh0YdSNrH)rrrBrrLrrMrrrr7test_read_from_file^s  z FileTestCase.test_read_from_filec Csztd}Wnty*|dYn0tttXt|0}||t ||dWdn1sv0YWdn1s0YdS)Nascii%Temporary file name needs to be ASCIIrH) rencodeUnicodeEncodeErrorskipTestrrBrrLrrM)r3bytes_filenamerrrr7'test_read_from_file_with_bytes_filenameds   z4FileTestCase.test_read_from_file_with_bytes_filenamecCsFtttdd}|t|jWdn1s80YdS)Nr)rrrBr&r2rrrrr7test_read_incompletensz!FileTestCase.test_read_incompletec Cstdd}tt|}|t|jWdn1s<0Ytt|6}||ttt|t|jdWdn1s0Yt dD]H}tt|d| }|t|jdWdq1s0YqdS)Nir ) rBrrr&r2rrLrhrMrg)r3Z truncatedrrlrrr7test_read_truncatedrs ,. z FileTestCase.test_read_truncatedcCsttt}||t|jttd}|t|jWdn1sR0Yttt"}|t|jtWdn1s0YdSr) rrrBrr&r(rr'floatrrrr7test_read_bad_argss ,zFileTestCase.test_read_bad_argscCs>ttt}|t|jWdn1s00YdSrI)rrrr&rrrrrr7test_read_bad_dataszFileTestCase.test_read_bad_datacCsptttP}g}|}|s q,||q|d|t||dWdn1sb0YdSr rrrBread1rirLrjrMr3rZblocksrrrr7 test_read1s zFileTestCase.test_read1cCsBttt"}||ddWdn1s40YdS)NrrH)rrrBrLrrrrr7 test_read1_0szFileTestCase.test_read1_0cCsrtttR}g}|d}|s"q.||q|d|t||dWdn1sd0YdSrrrrrr7 test_read1_10s  zFileTestCase.test_read1_10cCsxtttdT}g}|}|s$q0||q|d|td||dWdn1sj0YdS)NrrHrrrrr7test_read1_multistreams z#FileTestCase.test_read1_multistreamcCsttt}||t|jttd}|t|jWdn1sR0Yttt }|t|jdWdn1s0YdSr)rrrBrr&r(rr'rrrr7test_read1_bad_argss ,z FileTestCase.test_read1_bad_argscCstttH}|}|t|d|t|| | tWdn1sZ0YtttJ}|d}|t|d|t|| | tWdn1s0YdS)Nrre) rrrBpeekZ assertGreaterrhrNrM startswithrLr)r3rrrrr7 test_peeks. zFileTestCase.test_peekcCs>ttd}|t|jWdn1s00YdSr)rrr&r(r#rrrr7test_peek_bad_argsszFileTestCase.test_peek_bad_argscCstt}|}Wdn1s&0Yttt$}|tt||Wdn1sf0Yttt$}|tt||Wdn1s0Ytttt j d$}|tt||Wdn1s0Ytttt j d$}|tt||Wdn1s40Yttt t j td$}|tt||Wdn1s~0YdSr)rrM readlinesrrBassertListEquallistiterrFr r-r.r\r+r[r3rlinesrrr7 test_iterators &2224zFileTestCase.test_iteratorcCsztt}|}Wdn1s&0Yttt*}|D]}|||qBWdn1sl0YdSrI)rrMr'rrBrLreadline)r3rr,linerrr7 test_readlines  &zFileTestCase.test_readlinecCsptt}|}Wdn1s&0Yttt }|||Wdn1sb0YdSrI)rrMr'rrBr(r+rrr7test_readliness &zFileTestCase.test_readlinescCshtjdtddd}|t|tjtt|}| | dddt }| |j j|ddS)Ng>Arrrz)Excessive amount of data was decompressed)r r/rZ assertLessrhrrrrrLrrru_bufferrawtell)r3ZbombdecompZ max_decomprrr7test_decompress_limiteds z$FileTestCase.test_decompress_limitedc Cst^}t|d}|tWdn1s20Ytt}|||Wdn1sj0Ytj}t|dtjd}|tWdn1s0Ytjttjd}|||Wdn1s0Ytl}t|dtj d}|tWdn1s.0Ytjttj d}|||Wdn1sn0Ytp}t|dtj t d}|tWdn1s0Ytjttj t d}|||Wdn1s0YdS)Nrrr#) rrrrMr r/rLgetvaluer-r.r+r[)r3dstrexpectedrrr7 test_writes2 ( .(.*0 * zFileTestCase.test_writec Cst}t|d<}tdttdD]}|t||dq$Wdn1sT0Ytt}|| |Wdn1s0YdS)Nrrre) rrrgrhrMrr r/rLr8)r3r9rstartr:rrr7 test_write_10 s  6 zFileTestCase.test_write_10c Cstdd}tdd}tdd}ddd|||fD}t}t|d}||Wdn1sp0Yt|d}||Wdn1s0Yt|d}||Wdn1s0Y|||Wdn1s0YdS)NrErHcss|]}t|VqdSrIr r/.0rrrr7 rHz1FileTestCase.test_write_append..rr)rMrjrrrrLr8)r3part1part2part3r:r9rrrr7test_write_appends    ( ( (zFileTestCase.test_write_appendcCszttd}|tWdn1s,0Ytt}ttd }|||Wdn1sp0YWt tn t t0dS)Nrr) rrrrMr r/rrLrr )r3rr:rrr7test_write_to_file s (  0zFileTestCase.test_write_to_filecCsztd}Wnty*|dYn0zt|d}|tWdn1sX0Ytt}t td }| | |Wdn1s0YWt tn t t0dS)Nrrrr) rrrrrrrMr r/rrLrr )r3rrr:rrr7&test_write_to_file_with_bytes_filename*s  (  0z3FileTestCase.test_write_to_file_with_bytes_filenamecCs2tdd}tdd}tdd}ddd|||fD}zttd}||Wdn1sj0Yttd}||Wdn1s0Yttd}||Wdn1s0Yttd }|||Wdn1s0YWttn tt0dS) NrEr>rHcss|]}t|VqdSrIr?r@rrr7rB<rHz9FileTestCase.test_write_append_to_file..rrr) rMrjrrrrrLrr )r3rCrDrEr:rrrr7test_write_append_to_file8s    ( ( ( 2z&FileTestCase.test_write_append_to_filecCsttd}||t|jdtttd }|t|jdWdn1sX0Yttd@}|t|jd|t|jd|t|jdWdn1s0YdS)Nrr$rr%texti)rrrr&r(rrBr'rrrr7test_write_bad_argsIs .z FileTestCase.test_write_bad_argsc Cstt}|}Wdn1s&0Yt^}t|d}||Wdn1sb0Ytt}|||Wdn1s0YdSr) rrMr'r writelinesr r/rLr8)r3rr,r9r:rrr7test_writelinesTs & ( zFileTestCase.test_writelinescCsRttt2}|d||tddWdn1sD0YdS)Ni+rrrBseekrLrrMrrrr7test_seek_forward]s zFileTestCase.test_seek_forwardcCs^tttd:}|ttd||tddWdn1sP0YdS)Nrp{)rrrBrOrhrMrLrrrrr7 test_seek_forward_across_streamsbsz-FileTestCase.test_seek_forward_across_streamscCs^ttt>}|d|dd||tddWdn1sP0YdS)Nroiri8rrrBrrOrLrMrrrr7%test_seek_forward_relative_to_currentgs  z2FileTestCase.test_seek_forward_relative_to_currentcCsTttt4}|dd||tddWdn1sF0YdS)NirprNrrrr7!test_seek_forward_relative_to_endms z.FileTestCase.test_seek_forward_relative_to_endcCs\ttt<}|d|d||tddWdn1sN0YdS)NirSrrrr7test_seek_backwardrs  zFileTestCase.test_seek_backwardcCsltttdH}|ttd|d||tddtWdn1s^0YdS)NrpiMi)rrrBrrhrMrOrLrrrr7!test_seek_backward_across_streamsxs z.FileTestCase.test_seek_backward_across_streamscCsTttt4}|dd||tddWdn1sF0YdS)NijrprNrrrr7"test_seek_backward_relative_to_end~s z/FileTestCase.test_seek_backward_relative_to_endcCsftttF}|ttd||tt||dWdn1sX0YdS)N)#rH) rrrBrOrhrMrLr5rrrrr7test_seek_past_endszFileTestCase.test_seek_past_endcCsZttt:}|d||d||tWdn1sL0YdS)Nir)rrrBrOrLr5rrMrrrr7test_seek_past_starts z!FileTestCase.test_seek_past_startcCsttt}||t|jdttd }|t|jdWdn1sV0YtttX}|t|jdd|ttf|jdd|t|jd|t|jdWdn1s0YdS)Nrrr rsderp)rrrBrr&r(rOr'rrrr7test_seek_bad_argss .zFileTestCase.test_seek_bad_argscCstttV}d}||||d}|s2q@|t|7}q||ttWdn1sh0Yttd`}tdttdD]*}|||| t||dq||ttWdn1s0YdS)Nrr) rrrBrLr5rrhrMrgr)r3rposrrrr7 test_tells 2zFileTestCase.test_tellcCs&ttt}||t|jdSrI)rrrBrr&r(r5rrrr7test_tell_bad_argss zFileTestCase.test_tell_bad_argscCst}|jtdd}|t|d||jt}|jtdd}||j||j|d}|t|d||j||||dS)Nrsrqih3i]3rH ) rr1ISSUE_21872_DATrLrhrNrKrJrt)r3Zd1ZentireZd2Zout1Zout2rrr7test_issue21872s     zFileTestCase.test_issue21872cCsptdgd}t||j}ttd2}|||||||Wdn1sb0YdS)NQ)rrprrrr)arrayrhitemsizerrrLrr5)r3qZLENGTHrrrr7test_issue44439s zFileTestCase.test_issue44439N)Arrrrrrrrrrrrrrrrrrrrrrrrr r r rrrrrrrr r!r"r%r&r-r0r1r7r;r=rFrGrHrIrKrMrPrRrTrUrWrXrYr[r\r^rbrcrfrkrrrr7rs|                    rc@s\eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ dS) OpenTestCasec Cstttd }||tWdn1s60Yt}t|d}|tWdn1st0Yt| }||tt|d}|tWdn1s0Yt| }||tdWdn1s0YdS)Nrrrrp) r rrrBrLrrMrr1r8)r3rbio file_datarrr7test_binary_modess.( (zOpenTestCase.test_binary_modesc Cs4td}|dtj}tttd }| | |Wdn1sN0Yt}t|d}| |Wdn1s0Yt | d}| ||t|d}| |Wdn1s0Yt | d}| ||dWdn1s&0YdS)Nr rrZatrp)rMdecodereplaceoslinesepr rrrBrLrrr1r8)r3 uncompresseduncompressed_rawrrmrnrrr7test_text_modess .( (zOpenTestCase.test_text_modesc Cs^tt>ttd}|tWdn1s80Yttd*}t|}||tWdn1s|0Yttd }||tWdn1s0Yttd}|tWdn1s0Yttd$}||tdWdn1s00YWdn1sP0YdS)Nrrrrp) rrr rrrMr1rrL)r3rrnrrr7 test_filenames ( *.(zOpenTestCase.test_filenamec Cstt}t|t|d}|tWdn1s@0Yt|d*}t| }| |tWdn1s0Yt|d }| | tWdn1s0YWdn1s0YdS)Nrr) rrrrr rrrMr1rrL)r3rrrnrrr7test_with_pathlike_filenames  ( *z(OpenTestCase.test_with_pathlike_filenamecCs |tttdWdn1s,0Y|tttdWdn1sb0Y|t tjtdddWdn1s0Y|t tjtdddWdn1s0Y|t tjtddd Wdn1s0YdS) NrZrbtrzutf-8encodingignore)errorsrpnewline)r&r(r rrr@rrr7test_bad_paramss * * . . zOpenTestCase.test_bad_paramsc Cstjtd}tjttdfi| }||tWdn1sJ0Ytp}tj|dfi|}| tWdn1s0Ytj | fi|}||tWdn1s0YdS)Nr#rr) r r+r,rrrYrLrrMrr1r8)r3optionsrrmrnrrr7test_format_and_filterss .(z$OpenTestCase.test_format_and_filtersc Cstd}|dtj}t}tj|ddd}||Wdn1sP0Yt | d}| ||| dtj|ddd }| | |Wdn1s0YWdn1s0YdS)Nrrprz utf-16-lerzrr)rMrqrrrsrtrr rrr1r8rLrOr)r3rurvrmrrnrrr7 test_encoding's (  zOpenTestCase.test_encodingc CstttdR}tj|dddd }||dWdn1sH0YWdn1sf0YdS)Nsfoobarrrr|)r{r}Zfoobar)rr r/rrLr)r3rmrrrr7test_encoding_error_handler4sz(OpenTestCase.test_encoding_error_handlerc Cstd}t}tj|ddd}||Wdn1sB0Y|dtj|ddd"}|||gWdn1s0YWdn1s0YdS)Nrrrpr~rr ) rMrqrr rrrOrLr')r3rJrmrrrr7 test_newline:s ( zOpenTestCase.test_newlinec Cs|ttdD]}tttt|Wdn1s>0Y|t<tt|Wdn1sv0YWdq1s0YqdS)N)rrr)rr rr rr&rrrrr7 test_x_modeDs  zOpenTestCase.test_x_modeN) rrrrorwrxryrrrrrrrrrr7rls      rlc@s,eZdZddZddZddZddZd S) MiscellaneousTestCasecCsP|ttj|ttj|ttjd|ttjdSr)rNr is_check_supportedrTrrJrrr@rrr7test_is_check_supportedQsz-MiscellaneousTestCase.test_is_check_supportedcCs|ttdWdn1s*0Y|ttddiWdn1sb0Y|t"ttjddWdn1s0Y|tj"ttjddWdn1s0Yttjdd d d d }| |d dS)Ns not a dictrr)rZjunkrZrdistrprr)rpblplc dict_size]) r&r'r _encode_filter_propertiesr(r*rr> FILTER_LZMA1rL)r3Zpropsrrr7test__encode_filter_properties]s$ ( , 0&z4MiscellaneousTestCase.test__encode_filter_propertiescCs|t"ttjdtiWdn1s20Y|tjttjdWdn1sl0Yttjd}| |dtj| |dd| |dd| |d d | |d d dS) Nz should bestoo longrrrrprrrrrr) r&r'r _decode_filter_propertiesr?bytesrr>rrL)r3Z filterspecrrr7test__decode_filter_propertiesrs 0,z4MiscellaneousTestCase.test__decode_filter_propertiescCs6ttjd}t|}ttj|}|||dS)Nr)r rrrrL)r3Zspec1Z reencodedZspec2rrr7 test_filter_properties_roundtrips  z6MiscellaneousTestCase.test_filter_properties_roundtripN)rrrrrrrrrrr7rOs rs LAERTES O, fear me not. I stay too long: but here my father comes. Enter POLONIUS A double blessing is a double grace, Occasion smiles upon a second leave. LORD POLONIUS Yet here, Laertes! aboard, aboard, for shame! The wind sits in the shoulder of your sail, And you are stay'd for. There; my blessing with thee! And these few precepts in thy memory See thou character. Give thy thoughts no tongue, Nor any unproportioned thought his act. Be thou familiar, but by no means vulgar. Those friends thou hast, and their adoption tried, Grapple them to thy soul with hoops of steel; But do not dull thy palm with entertainment Of each new-hatch'd, unfledged comrade. Beware Of entrance to a quarrel, but being in, Bear't that the opposed may beware of thee. Give every man thy ear, but few thy voice; Take each man's censure, but reserve thy judgment. Costly thy habit as thy purse can buy, But not express'd in fancy; rich, not gaudy; For the apparel oft proclaims the man, And they in France of the best rank and station Are of a most select and generous chief in that. Neither a borrower nor a lender be; For loan oft loses both itself and friend, And borrowing dulls the edge of husbandry. This above all: to thine ownself be true, And it must follow, as the night the day, Thou canst not then be false to any man. Farewell: my blessing season this in thee! LAERTES Most humbly do I take my leave, my lord. LORD POLONIUS The time invites you; go; your servants tend. LAERTES Farewell, Ophelia; and remember well What I have said to you. OPHELIA 'Tis in my memory lock'd, And you yourself shall keep the key of it. LAERTES Farewell. sthis is not a valid lzma streams 7zXZִF!t/]bXn䴝o 2h\6(wd"u.n򎍏/=/Mާz-]rZo#z/FMt6 BF$Ql,bn ԨNȆ3x2O@Q/OozSt<I#ud6Y]-Pee: 7 pJV%G=?(΂=I3 R isPX2jLbc-HoJliQk ?@xH12Puw㾪iWЀ#cb5]d WlUGyF7v5h8W5:?rD5@7cԗitSkKvy6Te ]:kla4r}r*z8hӼl-KZL3Ϝ!^9w PPKdZ}%$ /&,qh{Q)qÀo![Ԋwt `^??\RԎXaЫS>ɕH %$.oRbU^S/vr̢GkzʀЋIxy-0z^֏_Pi萄ܿky܁+\YYhw̴ |ejz`A叩 =_%voZO M-<"CMg~b |' x!JFu87yu_@qc#5)_ 3]o]5myK+b  t0 ȏ׮+iܹk>f ${pƈ0_h6Z%' "冟7X=mNX[FUɆ0a+* _$_ޯ46qɒ`}ʮ` wجVe Z#d{ w B:^VaH \Xu#%*v! 4Vj?uLUtwPgYZs]bXn䴝o 2h\6(wd"u.n򎍏/=/Mާz-]rZo#z/FMt6 BF$Ql,bn ԨNȆ3x2O@Q/OozSt<I#ud6Y]-Pee: 7 pJV%G=?(΂=I3 R isPX2jLbpljr= 3!EvVF״ P~E7ƻc%I;砋Z(o>`᪨١}獃4T㘼DMA@ȓ  SaśTJE}g#ZVɝc>0S/y_( r?@:zBeyX : xD\&GYJ v{)Ao5F?vVtTf'k\Y|wdd ,Xsv}% ߢ.6 h  BlU}sHpB8ZA;z{5!A$qg/|r^=n6{>8 :'.  :݂'["wD$wq,1,2w$JdmgA&8i;NQrheL;mQN[jEOliB^R].-eiNwbQ~餈4kM)T3)B^.. H5#NV$Kk t'R2-LH0~?SOE]<Z0a*?rnGd^8uEI Vⳕi!&1FDP SO3D!w_G+.]>#h;5JK^-[\ʯԡĸprr.l []+0gaKYI, V_#>wW, 63J2=kTUti_lhfxr)rrs]bXncyqm' QIVL8_뼥 W$=R;k8 {+cS3mb4* +.9bZrA0s"rGސcu۩.Al<OiŴg4t6"o?^}}[: [lg2 n7@6Tu 8[4PCV"x~NK%k:{6è\@F_ȐsU87JMг;X﮳eO,z,dyjlB8#6 PKP؈ҡC?۔_"eޛ>H;#4ź%v9A"2i3߾Dm7o:Jہ6O Q펕S/MSJd=^BE͑G. b&ٟj\CvҊ?^H>IqYK7DWOl5U{ϣk{O*B-(R@E:VY]ĥgX3]n콣Yu*TA$AAiw젇%=DѻqCqpL "t~cix)l)@lynD:Җ?%_ h#7QDhnѣ_?q17_|ʷSWt9L|WsL_$F kvfhî1QG5yIcwrIp:p_va"ّeëH*m}}>l%΄dӂ5fOg^& @ΟJ{rzMho^U7\! kUd~熊z;PGw^ı3Sf @売sxRD`Wϑ TZ-X|^[7֢ Q5/@S5VhAKVC MxOO< e*Hk6G+)͜lK}5u*F2rprs]-Ԩd?ᆵH2.g5z [}W mHgQ RA5 v~:o:JCc*o\lE 2 aU{׸wܾ88\[_9%fs#=<\t=7ft\Q8Ԫآ>-ӎ#ArAmJ~B(`WKkaj S%iXB;EeTbg jу]"Mr\j~PGHN*Z. pE1ͩHP~0JK]9F_[ ԋ6뿻$kS{,f:Sjz殘Q~r?&ˀ |x|dhh+ 'Ł3q`Z#܊Il{6ճxhz%ݘ!RUaX1 =R0㤚bd$]Bh2cL`4xZ ]T^؉ ;Y 9zo)f]$n p;QK @:UcX !"=.6g=WnOTDW3pntVOjMi$3܊fY KhwO2^&V i=yZoƶ w%c`]8mQh`[q0g"NR)(0\G!xzHyM \A arMꄛ!~ Hoڇh颾qN !WGڡA`j?5B~E!^ݨy}))D2fuɗ x4_6$t9=˿v\8jk)ffnĩMIE5TpӉ3/֏ou;PRFj$hK(c7)ݲ,.yQi`h- ^[!M.-S+8, ë~$eP]io g^ Ek`~y+^D"!ҧT5Y4ZHf]όx3TUHy7X ( /\JvP8~4kAyPJNaO:eqACmw uCwUP8L4w!L2 j;Vːlv@EZ[E`>ޡbZЩ`{;fk1.N(u!LГBjc_}dàY/,bl@p8quHX}OXݾeO`CF=K$I_XJ'v+.vTv5ṑS"(xCXpS'J!G 2oSdy,f ߞE\Lh}W#\ozr)rZ start_offsetrs]bXn䴝o 2h\6(wd"u.n򎍏/=/Mާz-]rZo#z/FMt6 BF$Ql,bn ԨNȆ3x2O@Q/OozSt<I#ud6Y]-Pee: 7 pJV%G=?(΂=I3 R isPX2jLbc-HoJliQk ?@xH12Puw㾪iWЀ#cb5]d WlUGyF7v5h8W5:?rD5@7cԗitSkKvy6Te ]:kla4r}r*z8hӼl-KZL3Ϝ!^9w PPKdZ}%$ /&,qh{Q)qÀo![Ԋwt `^??\RԎXaЫS>ɕH %$.oRbU^S/vr̢GkzʀЋIxy-0z^֏_Pi萄ܿky܁+\YYhw̴ |ejz`A叩 =_%voZO M-<"CMg~b |' x!JFu87yu_@qc#5)_ 3]o]5myK+b  t0 ȏ׮+iܹk>f ${pƈ0_h6Z%' "冟7X=mNX[FUɆ0a+* _$_ޯ46qɒ`}ʮ` wجVe Z#d{ w B:^VaH \Xu#%*v! 4r@)rrrs\bWh'֐,vJq lxB f=&fx >TnFv_?V<#w؞*]c~]Eg"8=~WDǙ1u9hw|lk6o7{Y_b$=wZ@kmE*ح{j,)mBk !^qA<EG񶹂sa̒ҶUنaTG@ 7*޼]6N񄞟'<ߙsqН %p4{ =MH:֤0DӨS `W 7N# 1al jA:\=D 3]eZAdgFQqBr o仴@ dQ /ظS5:gDzڐ5H! uRl QO b RA -IGE$jѪI2s53D0%P}JO^hlV.owඤ*rG+i[w@_yW.-mU6gSA(=ޒ,DnE\Yˌ~ EuVƙm<[u1 w%![·B,%df"g.3XY+4qA =9*/s1b@FQ\,E7[!mA}3R5FH)ccнn{IJB`w&`}@Oxe |eg@Y88NJ!qqWk*7Jmq :`.+)ހXQmcPA'ɬ)tZR`]gRFTHS<PeJ^[c~']A,K{MxQ3=a9a2sbE"d DIJ!dGm_rNBqPΧeP!|6ͿIirejPqwS7hMʆ?P}y~Irkv⹊qIs"㩥>D;33'e.;HqW ~2x 6 ;j[-%@2\ǯ¡Oth_A_ W&D܅;X,>-7S)pQBLdsuȕ*)v{FWljs ]@h3`D ѻZ^3+g-1F%-ps8,|*xТb!cهUn VJ"8%_`?@*‚^&gɯ'}FN\Mz-˚O@gƥw nG'GIrυy[/ _MQ+xF]&,fHgrvqxYF9'Fd<\ kai C"4)֧`y|jX!NDžjv ]c5ՙi^Gl:,'4$Ywkkņ>~G5]0dw#(3ʡbXr+m3qŞ*6s-r?CgJN'M Q `mNql :qGT!0~4J827At]5M K,j7(l2ڕ(0BhpJ go??}όV:вkk=Ǎ/`.X*~j ";V`t0d)}\bJ +V!ޘK7` ā~؍mY)/Pm[zZӋPf0ЕJ{Wope]ڷ5"v`$^2.dd@Y|j}riVX4rBNPS[I(;9|^0;.*[l_Xf!43D{t]5Ufb ,Q @<,-37 K7*X~Okz"3sL;^⽪Zfڦ:]}a ?5M }M 2YoīT U"unA̐i~4*JtuוZG~ST, C`2>Qśhu bVKc ޅ-:*;`ݗgS}5e7/!Y'  C(bTD_E֘{\fz9˥bqW!;z~is+5khtUޣˆj C?0Jj;0d#;c&8?Jncb4lhnZe,B-c|&LL86bVi F̎4/^W?܄(dOD64, SJc^0 D[憰n^븸)a @+ /h3`+P-Bn^/w_+D{sHAGݭ7q+Wg"X~4`q)KsV5s*;{<@GjLؒ& u5]\A|ICeQ*~uXyP fZEu> '`cZ8jUoe>Rb#H-!ޝkw{/K)A:UM̻ {9 ((6iu؞q7-BQ8vACd!'ͮؓިb2Kl |DU>w7}W|g|1 m@6+ D Mҵ'~Co fI1φ`͂wcdCUEMJH=*I" ^S6=@,Gr[>n <(}~4stff /) ײw QnsƷ(G<6[~H ~ :e(_(c̟gvS=S> YRGAOdcPܟ"[Q~䈡#CϾHؾmWFQ(XDKB.-՞|N]Z=)MLTiN?4O&u70ؓBNEyϘDʚL_ ]ܩ1 cؿp-N(#2IlrcCsttttttdSrI)r rrrrlrrrrr7 test_mainsr__main__)6rrhiorrrrsrrrrtestrZunittestZ test.supportrrrr r r r r rrrZTestCaserrrrrlrrMrrBrFr*r,rYr>PRESET_DEFAULTPRESET_EXTREMEr[r\ FILTER_IA64r^r_r?rarbrerrrrrr7sv  lIw<@0,.  > -   D