Skip to content

Commit 7392728

Browse files
committed
Add checking file permissions
1 parent 407cbcc commit 7392728

File tree

6 files changed

+7
-0
lines changed

6 files changed

+7
-0
lines changed

Diff for: src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ pub fn is_different<A: AsRef<Path>, B: AsRef<Path>>(a_base: A, b_base: B) -> Res
4848
if a.depth() != b.depth()
4949
|| a.file_type() != b.file_type()
5050
|| a.file_name() != b.file_name()
51+
|| a.metadata()?.permissions() != b.metadata()?.permissions()
5152
|| (a.file_type().is_file() && read_to_vec(a.path())? != read_to_vec(b.path())?)
5253
{
5354
return Ok(true);

Diff for: tests/permissions/bad/dir1/file

Whitespace-only changes.

Diff for: tests/permissions/bad/dir2/file

Whitespace-only changes.

Diff for: tests/permissions/good/dir1/file

Whitespace-only changes.

Diff for: tests/permissions/good/dir2/file

Whitespace-only changes.

Diff for: tests/smoke.rs

+6
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,12 @@ fn reflexive() {
5757
assert!(dir_diff::is_different("tests/reflexive/dir1", "tests/reflexive/dir2").unwrap());
5858
}
5959

60+
#[test]
61+
fn binary_permissions() {
62+
assert!(!dir_diff::is_different("tests/permissions/good/dir1", "tests/permissions/good/dir2").unwrap());
63+
assert!(dir_diff::is_different("tests/permissions/bad/dir1", "tests/permissions/bad/dir2").unwrap());
64+
}
65+
6066
#[test]
6167
fn dirs_differ() {
6268
assert!(dir_diff::is_different("tests/dirs_differ/dir1", "tests/dirs_differ/dir2").unwrap());

0 commit comments

Comments
 (0)