#diff #file

file_diff

An atomic utility for diffing files in testing

3 releases (1 stable)

Uses old Rust 2015

1.0.0 Apr 10, 2016
0.2.0 Feb 1, 2015
0.1.0 Dec 23, 2014

#505 in Testing

Download history 19814/week @ 2025-10-30 31204/week @ 2025-11-06 27103/week @ 2025-11-13 32492/week @ 2025-11-20 43167/week @ 2025-11-27 45386/week @ 2025-12-04 42168/week @ 2025-12-11 70410/week @ 2025-12-18 109286/week @ 2025-12-25 99353/week @ 2026-01-01 87169/week @ 2026-01-08 103008/week @ 2026-01-15 80461/week @ 2026-01-22 87833/week @ 2026-01-29 124104/week @ 2026-02-05 60185/week @ 2026-02-12

368,627 downloads per month
Used in 40 crates (25 directly)

BSD-3-Clause

285KB
50 lines

Contains (ELF exe/lib, 720KB) testdata/rust_hello, (ELF exe/lib, 9KB) testdata/c_hello, (ELF exe/lib, 9KB) testdata/c_hello_copy

File Diff

This module provides an atomic file diffing function for use in unit tests.

The diff_files() function takes two file handles and determines returns true if they point to identical files.

use file_diff::{diff_files};
use std::fs::{File};

let mut file1 = match File::open("./src/lib.rs") {
    Ok(f) => f,
    Err(e) => panic!("{}", e),
};
let mut file2 = match File::open("./src/lib.rs") {
    Ok(f) => f,
    Err(e) => panic!("{}", e),
};

diff_files(&mut file1, &mut file2);

The diff() function takes string representations of the files and returns true if the strings represent real files and those files are identical.

use file_diff::{diff};

diff("./src/lib.rs", "./src/lib.rs"); // true

No runtime deps