func TestVerifyChecksumPatchNegative(t *testing.T) { t.Parallel() fName := "TestVerifyChecksumPatchNegative" defer cleanup(fName) writeOldFile(fName, t) checksum, err := ChecksumForBytes(newFile) if err != nil { t.Fatalf("Failed to compute checksum: %v", err) } patch := new(bytes.Buffer) anotherFile := []byte{0x77, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66} err = binarydist.Diff(bytes.NewReader(oldFile), bytes.NewReader(anotherFile), patch) if err != nil { t.Fatalf("Failed to create patch: %v", err) } up := New().Target(fName).ApplyPatch(PATCHTYPE_BSDIFF).VerifyChecksum(checksum) err, _ = up.FromStream(bytes.NewReader(patch.Bytes())) if err == nil { t.Fatalf("Failed to detect patch to wrong file!") } }
func TestApplyPatch(t *testing.T) { t.Parallel() fName := "TestApplyPatch" defer cleanup(fName) writeOldFile(fName, t) patch := new(bytes.Buffer) err := binarydist.Diff(bytes.NewReader(oldFile), bytes.NewReader(newFile), patch) if err != nil { t.Fatalf("Failed to create patch: %v", err) } up := New().Target(fName).ApplyPatch(PATCHTYPE_BSDIFF) err, _ = up.FromStream(bytes.NewReader(patch.Bytes())) validateUpdate(fName, err, t) }