Skip to content

Commit f224bfd

Browse files
committed
test: visualization
1 parent 3dcc69c commit f224bfd

2 files changed

Lines changed: 49 additions & 0 deletions

File tree

tests/hardlinks_deduplication.rs

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,45 @@ fn multiple_hardlinks_to_a_single_file() {
398398
.with_exclusive_shared_size(file_size)
399399
.pipe(Some);
400400
assert_eq!(actual_shared_summary, expected_shared_summary);
401+
402+
let visualization = Command::new(PDU)
403+
.with_current_dir(&workspace)
404+
.with_arg("--quantity=apparent-size")
405+
.with_arg("--deduplicate-hardlinks")
406+
.pipe(stdio)
407+
.output()
408+
.expect("spawn command")
409+
.pipe(stdout_text);
410+
411+
eprintln!("STDOUT:\n{visualization}");
412+
413+
let actual_hardlinks_summary = visualization
414+
.lines()
415+
.skip_while(|line| !line.starts_with("Hardlinks detected!"))
416+
.join("\n");
417+
let expected_hardlinks_summary = {
418+
use parallel_disk_usage::size::Size;
419+
use std::fmt::Write;
420+
let mut summary = String::new();
421+
writeln!(
422+
summary,
423+
"Hardlinks detected! No files have links outside this tree",
424+
)
425+
.unwrap();
426+
writeln!(summary, "* Number of shared inodes: 1").unwrap();
427+
writeln!(summary, "* Total number of links: 11").unwrap();
428+
writeln!(
429+
summary,
430+
"* Total shared size: {}",
431+
file_size.display(BytesFormat::MetricUnits),
432+
)
433+
.unwrap();
434+
summary
435+
};
436+
assert_eq!(
437+
actual_hardlinks_summary.trim_end(),
438+
expected_hardlinks_summary.trim_end(),
439+
);
401440
}
402441

403442
#[test]

tests/hardlinks_without_deduplication.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,16 @@ fn multiple_hardlinks_to_a_single_file() {
193193

194194
assert_eq!(tree.shared.details, None);
195195
assert_eq!(tree.shared.summary, None);
196+
197+
let visualization = Command::new(PDU)
198+
.with_current_dir(&workspace)
199+
.with_arg("--quantity=apparent-size")
200+
.pipe(stdio)
201+
.output()
202+
.expect("spawn command")
203+
.pipe(stdout_text);
204+
eprintln!("STDOUT:\n{visualization}");
205+
assert!(!visualization.contains("Hardlinks detected!"));
196206
}
197207

198208
#[test]

0 commit comments

Comments
 (0)