z^ d Z ddlmZmZmZ ddlmZ ddlmZm Z m Z ddlmZm Z ddlmZ ddlmZ ddlmZ dd lZdd lZdd lZd Z G d de Zd S ) z/Test everything about packs reading and writing )TestBasewith_rw_directoryfixture_path)DeltaApplyReader) PackEntity PackIndexFilePackFile)OInfoOStream)delta_types)UnsupportedOperation) to_bin_shaNc t t j t j | d dd S )Nr )r ospathsplitextbasename)filenames f/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/gitdb/test/test_pack.pybin_sha_from_filenamer $ s> bg&&rw'7'7'A'ABB1EabbIJJJ c e Zd Z ed ddfZ ed ddfZ ed ddfZ ed ded fZ ed ded fZ ed ded fZ d Z d Zd Zd Z ed Zd ZdS )TestPackz7packs/pack-c0438c19fb16422b6bbcce24387b3264416d485b.idx C z7packs/pack-11fdfa9e156ab73caae3b6da867192221f2089c2.idx z7packs/pack-a2bf8e71d8c18879e499335762dd95119d93d9f1.idx* z8packs/pack-c0438c19fb16422b6bbcce24387b3264416d485b.packz8packs/pack-11fdfa9e156ab73caae3b6da867192221f2089c2.packz8packs/pack-a2bf8e71d8c18879e499335762dd95119d93d9f1.packc | | k sJ t | dk sJ t | dk sJ | |k sJ | |k sJ t | |k sJ t | D ]}| | }|| | k sJ | | }t | dk sJ |d | | k sJ |d |k sJ |d | | k sJ dD ])}| |d | |dz |k sJ *| t |j dd d S )N r r r ) r! )packfile_checksumindexfile_checksumlenversionsizeoffsetsrangeshasha_to_indexentryoffsetcrcpartial_sha_to_indexassertRaises ValueError)selfindexr+ r, oidxr/ r1 ls r _assert_index_filezTestPack._assert_index_file3 s &&((E,D,D,F,FFFFF5**,,--33335++--.."4444}}'))))zz||t####5==??##t++++ %**,,'' J JD))D//C5--c222222KK%%Eu::????8u||D1111118s????8uyy.... ( J J11#bqb'1q5AATIIIII J *e&@$JJJJJr c z | dk sJ | |k sJ t | dk sJ d}| D ]?}|dz }| |j }| |j }|j |j k sJ |j |j k sJ t |d sJ | | k sJ | |j }|sJ t j | } n# t $ r Y w xY w| } t | | j k sJ | d | | k sJ A||k sJ d S )Nr r! r r read)r+ r, r* checksumstream_iterinfopack_offsetstreamtype_idhasattrr= collect_streamsr newr6 seek)r7 packr+ r, num_objobjr@ rB streamsdstreamdatas r _assert_pack_filezTestPack._assert_pack_fileN s ||~~""""yy{{d""""4==??##r))))##%% * *CqLG99S_--D[[11F#v'99999<6>111166***** 88::....**3?;;GNN7 *.w77 <<>>Dt99,,,, LLOOO<<>>T))))) $s /E EEc | | j | j fD ],\ }}}t | }| ||| -d S N)packindexfile_v1packindexfile_v2r r; )r7 indexfiler+ r, r8 s r test_pack_indexzTestPack.test_pack_index| sU )-)>@U(V : :$Iw!),,E##E7D9999 : :r c | j | j | j fD ],\ }}}t | }| ||| -d S rP )packfile_v2_3_ascii packfile_v2_1 packfile_v2_2r rN )r7 packfiler+ r, rH s r test_packzTestPack.test_pack s[ (,(@$BTVZVh'i 8 8#HgtH%%D""4$7777 8 8r c t | j | j f| j | j f| j | j ffD ]6\ }}|\ }}}|\ }}}t | }| |k sJ | |k sJ | d} t | | D ]V\ } }| dz } | j |j k sJ t! | j dk sJ | j |j k sJ | j |j k sJ | j t&