diff options
Diffstat (limited to 'src/meta/mod.rs')
-rw-r--r-- | src/meta/mod.rs | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/meta/mod.rs b/src/meta/mod.rs index ccc7765..2679276 100644 --- a/src/meta/mod.rs +++ b/src/meta/mod.rs @@ -269,7 +269,7 @@ impl Meta { // path.symlink_metadata would have errored out if dereference { broken_link = true; - eprintln!("lsd: {}: {}\n", path.to_str().unwrap_or(""), e); + eprintln!("lsd: {}: {}", path.to_str().unwrap_or(""), e); } } } @@ -292,7 +292,11 @@ impl Meta { match windows_utils::get_file_data(path) { Ok((owner, permissions)) => (Some(owner), Some(permissions)), Err(e) => { - eprintln!("lsd: {}: {}\n", path.to_str().unwrap_or(""), e); + eprintln!( + "lsd: {}: {}(Hint: Consider using `--permission disabled`.)", + path.to_str().unwrap_or(""), + e + ); (None, None) } } @@ -352,17 +356,25 @@ mod tests { #[test] fn test_from_path_path() { let dir = assert_fs::TempDir::new().unwrap(); - let meta = Meta::from_path(dir.path(), false).unwrap(); + let meta = Meta::from_path(dir.path(), false, false).unwrap(); assert_eq!(meta.path, dir.path()) } #[test] + fn test_from_path_disable_permission() { + let dir = assert_fs::TempDir::new().unwrap(); + let meta = Meta::from_path(dir.path(), false, true).unwrap(); + assert!(meta.permissions.is_none()); + assert!(meta.owner.is_none()); + } + + #[test] fn test_from_path() { let tmp_dir = tempdir().expect("failed to create temp dir"); let path_a = tmp_dir.path().join("aaa.aa"); File::create(&path_a).expect("failed to create file"); - let meta_a = Meta::from_path(&path_a, false).expect("failed to get meta"); + let meta_a = Meta::from_path(&path_a, false, false).expect("failed to get meta"); let path_b = tmp_dir.path().join("bbb.bb"); let path_c = tmp_dir.path().join("ccc.cc"); @@ -377,7 +389,7 @@ mod tests { std::os::windows::fs::symlink_file(&path_c, &path_b) .expect("failed to create broken symlink"); - let meta_b = Meta::from_path(&path_b, true).expect("failed to get meta"); + let meta_b = Meta::from_path(&path_b, true, false).expect("failed to get meta"); assert!( meta_a.inode.is_some() |