diffy is a parser, so fuzzing is a reasonable test infra. See <https://github.com/weihanglo/diffy/pull/39> for some reference. - [x] `patch_from_str` — `Patch::from_str()` - [x] `patch_from_bytes` — `Patch::from_bytes()` - [x] `patch_set_gitdiff` — `PatchSet::parse(..., gitdiff())` - [x] `patch_set_unidiff` — `PatchSet::parse(..., unidiff())` - [x] `patch_set_binary` — `PatchSet::parse(..., gitdiff()` with binary enabled - [ ] `roundtrip` — `create_patch(a, b) |> to_string |> from_str |> apply(a) == b` - [ ] `roundtrip_bytes` — same as above but with bytes variants - [ ] `merge` — `merge(ancestor, ours, theirs)` never panics - [ ] `merge_bytes` — same as above but with bytes variants - [ ] Seed some corpus from replay test real-world repos
diffy is a parser, so fuzzing is a reasonable test infra. See weihanglo#39 for some reference.
patch_from_str—Patch::from_str()patch_from_bytes—Patch::from_bytes()patch_set_gitdiff—PatchSet::parse(..., gitdiff())patch_set_unidiff—PatchSet::parse(..., unidiff())patch_set_binary—PatchSet::parse(..., gitdiff()with binary enabledroundtrip—create_patch(a, b) |> to_string |> from_str |> apply(a) == broundtrip_bytes— same as above but with bytes variantsmerge—merge(ancestor, ours, theirs)never panicsmerge_bytes— same as above but with bytes variants