MCPcopy Create free account
hub / github.com/catboost/catboost / DoDecodeEncode

Function DoDecodeEncode

library/cpp/blockcodecs/fuzz/main.cpp:33–49  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

31}
32
33static void DoDecodeEncode(const TPackUnpackCase& case_) {
34 auto* const codec = NBlockCodecs::Codec(case_.GetCodecName());
35 Y_ENSURE(codec);
36
37 TMemoryInput mi(case_.GetData().data(), case_.GetData().size());
38 TDecodedInput di(&mi, codec);
39 TStringStream decoded;
40 TransferData(&di, &decoded);
41 TNullOutput no;
42 TCountingOutput cno(&no);
43 TCodedOutput co(&cno, codec, case_.GetBufferLength());
44 TransferData(&decoded, &co);
45 co.Flush();
46
47 Y_ABORT_UNLESS((case_.GetData().size() > 0) == (cno.Counter() > 0));
48 Y_ABORT_UNLESS((case_.GetData().size() > 0) == (decoded.Str().size() > 0));
49}
50
51static void DoEncodeDecode(const TPackUnpackCase& case_) {
52 auto* const codec = NBlockCodecs::Codec(case_.GetCodecName());

Callers 1

Calls 7

TransferDataFunction · 0.85
dataMethod · 0.45
GetDataMethod · 0.45
sizeMethod · 0.45
FlushMethod · 0.45
CounterMethod · 0.45
StrMethod · 0.45

Tested by

no test coverage detected