idedZddlmZmZmZmZmZddlmZm Z m Z m Z m Z m Z ddlmZddlZddlmZddlZddlZddlmZGdd eZdS) zTest for object db)TestBase DummyStream make_bytes make_object fixture_path)DecompressMemMapReaderFDCompressedSha1Writer LooseObjectDB Sha1WriterMemoryDBIStream) hex_to_binN) str_blob_type)BytesIOc:eZdZdZdZdfdZdZdZdZdZ d S) TestStreamzTest stream classes)i'icdS)N)ss K/opt/cloudlinux/venv/lib/python3.11/site-packages/gitdb/test/test_stream.pyzTestStream.)s4cdd}t||z}t|D]*}||}|||z|dz|z}+|} | rt|tr|||} t|trdSdS)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 N)lenrangeread isinstancer) selfstreamcdata rewind_streamnsssidatachunkrestrdatas r_assert_stream_readerz TestStream._assert_stream_reader)s ZZ2 r ! !A;;r??D!b&!a%2-.EE{{}}  . f4 5 5 H  f  f4 5 5 H H H H Hrc tdD]}tdD]}|jD]}t|d}|rRtjt t |}tj||\}}}t|d} n2tj|}t||t|}| ||dt} | |_ ~ȌҌdS)NF randomize)close_on_deletionc,|dS)Nr)seek)rs rrz3TestStream.test_decompress_reader..gsq r) r data_sizesrzlibcompressrrrnewrr,r_m) r!r1 with_sizedsr#zdatatypsizereader test_readerdummys rtest_decompress_readerz!TestStream.test_decompress_readerLs!&q" =" = "1XX! =! = / = =B&rU;;;E !7 $ k-.O.O P P,B,FuN_,`,`)T6 '=UV[&\&\&\ !% e 4 4!7?PRUV[R\R\!]!]..vu>Q>QRRR(MME %FI? =! =" =" =rctt}|}|ddS)Nshi again)r shawrite)r!writerprev_shas rtest_sha_writerzTestStream.test_sha_writerts2 ::<< [!!!!!rc |jD]}tj\}}t|}t |d}||ttj|tj |tj ttddz}tj |tj |}tj|tj|dS)NFr/O_BINARYr)r5tempfilemkstempr rclose assertRaisesOSErrorosopenO_RDONLYgetattrrpathgetsizeremove)r!r;fdrTostreamr( written_datas rtest_compressed_writerz!TestStream.test_compressed_writers/  B'))HB,R00GbE222D MMOOO   grx 4 4 4r{WRQ-G-GGHHB72rwt'<'<==L HRLLL IdOOOO'  rc Fttd}t}dD]s}|t |}|}|t|j|j t|}tdS)Nobjects)s(888401851f15db0eed60eb1bc29dec5ddcace911s(7bb839852ed5e3a069966281bb08d50012fb309b) r rr r"rrstorer typer>r)r!odbmdbrDrXr(dumps r#test_decompress_reader_special_casez.TestStream.test_decompress_reader_special_casesL3344jjB & &CjjC11G<<>>D99WW\7<OOPPDD & &rN) __name__ __module__ __qualname____doc__r5r,rBrHrZrbrrrrr#sz/JAO H H H HF#=#=#=P ( ( (. & & & & &rr)rfgitdb.test.librrrrrgitdbrr r r r r gitdb.utilrr6 gitdb.typrrKrPiorrrrrrlsB "!!!!!  @&@&@&@&@&@&@&@&@&@&r