MCPcopy
hub / github.com/klauspost/compress / testEncoderRoundtrip

Function testEncoderRoundtrip

zstd/encoder_test.go:574–665  ·  view source on GitHub ↗

test roundtrip using io.ReaderFrom interface.

(t *testing.T, file string, wantCRC []byte)

Source from the content-addressed store, hash-verified

572
573// test roundtrip using io.ReaderFrom interface.
574func testEncoderRoundtrip(t *testing.T, file string, wantCRC []byte) {
575 for _, opt := range getEncOpts(1) {
576 t.Run(opt.name, func(t *testing.T) {
577 opt := opt
578 //t.Parallel()
579 f, err := os.Open(file)
580 if err != nil {
581 if os.IsNotExist(err) {
582 t.Skip("No input file:", file)
583 return
584 }
585 t.Fatal(err)
586 }
587 defer f.Close()
588 if stat, err := f.Stat(); testing.Short() && err == nil {
589 if stat.Size() > 10000 {
590 t.SkipNow()
591 }
592 }
593 input := io.Reader(f)
594 if strings.HasSuffix(file, ".zst") {
595 dec, err := NewReader(f)
596 if err != nil {
597 t.Fatal(err)
598 }
599 input = dec
600 defer dec.Close()
601 }
602
603 pr, pw := io.Pipe()
604 dec2, err := NewReader(pr)
605 if err != nil {
606 t.Fatal(err)
607 }
608 defer dec2.Close()
609
610 enc, err := NewWriter(pw, opt.o...)
611 if err != nil {
612 t.Fatal(err)
613 }
614 defer enc.Close()
615 var wantSize int64
616 start := time.Now()
617 go func() {
618 n, err := enc.ReadFrom(input)
619 if err != nil {
620 t.Error(err)
621 return
622 }
623 wantSize = n
624 err = enc.Close()
625 if err != nil {
626 t.Error(err)
627 return
628 }
629 pw.Close()
630 }()
631 var gotSize int64

Callers 6

TestEncoder_EncoderXMLFunction · 0.85
TestEncoder_EncoderTwainFunction · 0.85
TestEncoder_EncoderPiFunction · 0.85
TestEncoder_EncoderHTMLFunction · 0.85

Calls 15

CloseMethod · 0.95
CloseMethod · 0.95
ReadFromMethod · 0.95
NewFunction · 0.92
getEncOptsFunction · 0.85
SkipMethod · 0.80
FatalMethod · 0.80
CopyMethod · 0.80
CreateMethod · 0.80
SumMethod · 0.80
NewReaderFunction · 0.70
NewWriterFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…