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) } err = Apply(patch, Options{ TargetPath: fName, Patcher: NewBSDiffPatcher(), }) validateUpdate(fName, err, t) }
func TestVerifyChecksumPatchNegative(t *testing.T) { t.Parallel() fName := "TestVerifyChecksumPatchNegative" defer cleanup(fName) writeOldFile(fName, t) 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) } err = Apply(patch, Options{ TargetPath: fName, Checksum: newFileChecksum[:], Patcher: NewBSDiffPatcher(), }) if err == nil { t.Fatalf("Failed to detect patch to wrong file!") } }