MCPcopy
hub / github.com/wal-g/wal-g / deepCompareReaders

Function deepCompareReaders

internal/databases/postgres/pagefile_test.go:469–496  ·  view source on GitHub ↗
(r1, r2 io.Reader)

Source from the content-addressed store, hash-verified

467}
468
469func deepCompareReaders(r1, r2 io.Reader) bool {
470 var chunkNumber int
471 for {
472 b1 := make([]byte, chunkSize)
473 _, err1 := r1.Read(b1)
474
475 b2 := make([]byte, chunkSize)
476 _, err2 := r2.Read(b2)
477
478 if err1 != nil || err2 != nil {
479 if err1 == io.EOF && err2 == io.EOF {
480 return true
481 } else if err1 == io.EOF || err2 == io.EOF {
482 return false
483 } else {
484 log.Fatal(err1, err2)
485 }
486 }
487
488 if !bytes.Equal(b1, b2) {
489 log.Printf("Bytes at %v differ\n", chunkNumber*chunkSize)
490 log.Println(b1)
491 log.Println(b2)
492 return false
493 }
494 chunkNumber++
495 }
496}
497
498// MockReadWriterAt used for mocking file in tests
499type MockReadWriterAt struct {

Calls 2

PrintlnMethod · 0.80
ReadMethod · 0.65

Tested by

no test coverage detected