§ |<ˆjeãóž—dZddlmZmZmZmZmZddlmZm Z m Z m Z m Z m Z ddlmZddlZddlmZddlZddlZddlmZGd„d e¦«ZdS) zTest for object dbé)ÚTestBaseÚ DummyStreamÚ make_bytesÚ make_objectÚ fixture_path)ÚDecompressMemMapReaderÚFDCompressedSha1WriterÚ LooseObjectDBÚ Sha1WriterÚMemoryDBÚIStream)Ú hex_to_binN)Ú str_blob_type)ÚBytesIOcó:—eZdZdZdZd„fd„Zd„Zd„Zd„Zd„Z d S) Ú TestStreamzTest stream classes)éi'i¢có—dS)N©)Úss úh/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/gitdb/test/test_stream.pyúzTestStream.)s€È4€ócó—d}t|¦«|dz ksJd|t|¦«fz¦«‚t|¦«|z}t|¦«D]2}| |¦«}|||z|dz|z…}||ksJ‚Œ3| ¦«} | r| |t| ¦« d…ksJ‚t|t¦«r9t| ¦«¦«| ¦«ksJ‚||¦«| ¦«} | |ksJ‚t|t¦«r9t| ¦«¦«| ¦«ksJ‚dSdS)aMake stream tests - the orig_stream is seekable, allowing it to be rewound and reused :param cdata: the data we expect to read from stream, the contents :param rewind_stream: function called to rewind the stream to make it ready for reuseé éz#Data must be larger than %i, was %iN)ÚlenÚrangeÚreadÚ isinstancerÚdataÚcompressed_bytes_read) ÚselfÚstreamÚcdataÚ rewind_streamÚnsÚssÚir!ÚchunkÚrestÚrdatas rÚ_assert_stream_readerz TestStream._assert_stream_reader)sœ€ð ˆÝ�5‰zŒz˜B ™FÒ"Ð"Ð"Ð$IÈRÕQTÐUZÑQ[ÔQ[ÐL\Ñ$\Ñ"Ô"Ð"õ�‰ZŒZ˜2Ñ ˆÝ�r‘”ð !ð !ˆAØ—;’;˜r‘?”?ˆDؘ!˜b™& ! a¡%¨2¡Ð-Ô.ˆEؘ5’=�=�=�=�=à�{Š{‰}Œ}ˆØ ð .ؘ5¥# d¡)¤)   Ô-Ò-Ð-Ð-Ð-õ �fÕ4Ñ 5Ô 5ð HÝ�v—{’{‘}”}Ñ%Ô%¨×)EÒ)EÑ)GÔ)GÒGÐGÐGÐGð ˆ �fÑÔÐð— ’ ‘ ” ˆØ˜Š~ˆ~ˆ~ˆ~å �fÕ4Ñ 5Ô 5ð HÝ�v—{’{‘}”}Ñ%Ô%¨×)EÒ)EÑ)GÔ)GÒGÐGÐGÐGð Hð HØGÐGrc óЗtd¦«D�]T}td¦«D�]@}|jD�]4}t|d¬¦«}|rŽtjt t |¦«¦«}tj||¦«\}}}|t|¦«ksJ‚|t ksJ‚t|d¬¦«} | j t|¦«ksJ‚nLtj|¦«}t||t|¦«¦«}|j t|¦«ksJ‚|  ||d„¦«t¦«} | |_ | jrJ‚~| j|ksJ‚�Œ6�ŒB�ŒVdS)NéF©Ú randomize)Úclose_on_deletioncó,—| d¦«S)Nr)Úseek)Úrs rrz3TestStream.test_decompress_reader..gs€ÈÏÊÈqÉ Ì €r)rÚ data_sizesrÚzlibÚcompressrrrÚnewrÚ_sr-rÚ_mÚclosed) r#r2Ú with_sizeÚdsr%ÚzdataÚtypÚsizeÚreaderÚ test_readerÚdummys rÚtest_decompress_readerz!TestStream.test_decompress_readerLs™€Ý!& q¡¤ð" =ñ" =Ð Ý" 1™XœXð! =ñ! =� Øœ/ð =ñ =�BÝ& r°UÐ;Ñ;Ô;�Eð !ð7å $¤ ­k½-ÈÑ.OÔ.OÑ PÔ P˜Ý,BÔ,FÀuÐN_Ñ,`Ô,`Ñ)˜˜T 6Ø#¥s¨5¡z¤zÒ1Ð1Ð1Ð1Ø"¥mÒ3Ð3Ð3Ð3õ'=¸UÐV[Ð&\Ñ&\Ô&\˜ Ø*œ~µ°U±´Ò;Ð;Ð;Ð;Ð;õ!%¤ ¨eÑ 4Ô 4˜Ý!7¸Ð?PÕRUÐV[ÑR\ÔR\Ñ!]Ô!]˜Ø%œy­C°©J¬JÒ6Ð6Ð6Ð6ð×.Ò.¨v°uÐ>QÐ>QÑRÔRÐRõ(™MœM�EØ %�F”Ià$œ|Ð+Ð+Ð+ØØ œ<Ð+<Ò<Ð<Ð<Ð<Ñ<ñA =ñ! =ð" =ð" =rcó‚—t¦«}d| d¦«ksJ‚t| d¬¦«¦«dksJ‚t| d¬¦«¦«dksJ‚| ¦«}| d¦«| ¦«|ksJ‚dS) Nr/shir)Úas_hexé(réshi again)r ÚwriterÚsha)r#ÚwriterÚprev_shas rÚtest_sha_writerzTestStream.test_sha_writerts¶€Ý‘”ˆØ�F—L’L Ñ'Ô'Ò'Ð'Ð'Ð'Ý�6—:’: Q�:Ñ'Ô'Ñ(Ô(¨BÒ.Ð.Ð.Ð.Ý�6—:’: Q�:Ñ'Ô'Ñ(Ô(¨BÒ.Ð.Ð.Ð.ð—:’:‘<”<ˆØ� Š �[Ñ!Ô!Ð!Ø�zŠz‰|Œ|˜xÒ'Ð'Ð'Ð'Ð'Ð'rc ó—|jD�]x}tj¦«\}}t|¦«}t |d¬¦«}t |¦«| |¦«ksJ‚| ¦«| ttj|¦«tj |tj ttdd¦«z¦«}tj|tj |¦«¦«}t |¦«tj |¦«ksJ‚tj|¦«|t#j|d¦«ksJ‚tj|¦«�ŒzdS)NFr0ÚO_BINARYrr)r6ÚtempfileÚmkstempr rrrJÚcloseÚ assertRaisesÚOSErrorÚosÚopenÚO_RDONLYÚgetattrrÚpathÚgetsizer7r8Úremove)r#r>ÚfdrZÚostreamr!Ú written_datas rÚtest_compressed_writerz!TestStream.test_compressed_writersA€Ø”/ð ñ ˆBÝÔ'Ñ)Ô)‰HˆB�Ý,¨RÑ0Ô0ˆGݘb¨EÐ2Ñ2Ô2ˆDõ�t‘9”9 § ¢ ¨dÑ 3Ô 3Ò3Ð3Ð3Ð3Ø �MŠM‰OŒOˆOð × Ò �g¥r¤x°Ñ 4Ô 4Ð 4õ”˜�rœ{­WµR¸ÀQÑ-GÔ-GÑGÑHÔHˆBÝœ7 2¥r¤w§¢°tÑ'<Ô'<Ñ=Ô=ˆLÝ�|Ñ$Ô$­¬¯ª¸Ñ(=Ô(=Ò=Ð=Ð=Ð=Ý ŒH�R‰LŒLˆLØ¥4¤=°°qÑ#9Ô#9Ò9Ð9Ð9Ð9å ŒI�d‰OŒOˆO‰Oð' ð rc ó”—ttd¦«¦«}t¦«}dD]š}| t |¦«¦«}| ¦«}t |¦«|jksJ‚| t|j |jt|¦«¦«¦«}|j |ksJ‚Œ›dS)NÚobjects)s(888401851f15db0eed60eb1bc29dec5ddcace911s(7bb839852ed5e3a069966281bb08d50012fb309b) r rr r$rrrrAÚstorer ÚtyperÚhexsha)r#ÚodbÚmdbrKr^r!Údumps rÚ#test_decompress_reader_special_casez.TestStream.test_decompress_reader_special_case–sº€Ý�L¨Ñ3Ô3Ñ4Ô4ˆÝ‰jŒjˆðBð &ð &ˆCà—j’j¥¨C¡¤Ñ1Ô1ˆGð—<’<‘>”>ˆDÝ�t‘9”9 ¤ Ò,Ð,Ð,Ð,ð—9’9�W W¤\°7´<ÅÈÁÄÑOÔOÑPÔPˆDØ”; #Ò%Ð%Ð%Ð%Ð%ð &ð &rN) Ú__name__Ú __module__Ú __qualname__Ú__doc__r6r-rErNr`rirrrrr#sz€€€€€àÐà/€JàAOÀð Hð Hð Hð HðF#=ð#=ð#=ðP (ð (ð (ðððð. &ð &ð &ð &ð &rr)rmÚgitdb.test.librrrrrÚgitdbrr r r r r Ú gitdb.utilrr7Ú gitdb.typrrQrVÚiorrrrrúrssBðð Ðððððððððððððððððððððððððððððððð"Ð!Ð!Ð!Ð!Ð!à € € € ððððððð€€€Ø € € € ØÐÐÐÐÐð@&ð@&ð@&ð@&ð@&�ñ@&ô@&ð@&ð@&ð@&r