pxar: bin: test pxar list with payload-input

Add a unit test to check for correct listing of pxar archives with
split payload input.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
This commit is contained in:
Christian Ebner 2024-06-03 12:45:03 +02:00 committed by Fabian Grünbichler
parent 1bec755b50
commit f16c5de757
2 changed files with 135 additions and 0 deletions

View File

@ -78,3 +78,138 @@ fn pxar_create_and_extract() {
panic!("pxar create and extract did not yield the same contents");
}
}
#[test]
fn pxar_list_with_payload_input() {
let exec_path = if cfg!(debug_assertions) {
"../target/debug/pxar"
} else {
"../target/release/pxar"
};
let output = Command::new(exec_path)
.args([
"list",
"../tests/pxar/backup-client-pxar-expected.mpxar",
"--payload-input",
"../tests/pxar/backup-client-pxar-expected.ppxar",
])
.output()
.expect("failed to run pxar list");
assert!(output.status.success());
let expected = "\"/\"
\"/folder_0\"
\"/folder_0/file_0\"
\"/folder_0/file_1\"
\"/folder_0/file_2\"
\"/folder_0/file_3\"
\"/folder_0/file_4\"
\"/folder_0/file_5\"
\"/folder_0/file_6\"
\"/folder_0/file_7\"
\"/folder_0/file_8\"
\"/folder_0/file_9\"
\"/folder_1\"
\"/folder_1/file_0\"
\"/folder_1/file_1\"
\"/folder_1/file_2\"
\"/folder_1/file_3\"
\"/folder_1/file_4\"
\"/folder_1/file_5\"
\"/folder_1/file_6\"
\"/folder_1/file_7\"
\"/folder_1/file_8\"
\"/folder_1/file_9\"
\"/folder_2\"
\"/folder_2/file_0\"
\"/folder_2/file_1\"
\"/folder_2/file_2\"
\"/folder_2/file_3\"
\"/folder_2/file_4\"
\"/folder_2/file_5\"
\"/folder_2/file_6\"
\"/folder_2/file_7\"
\"/folder_2/file_8\"
\"/folder_2/file_9\"
\"/folder_3\"
\"/folder_3/file_0\"
\"/folder_3/file_1\"
\"/folder_3/file_2\"
\"/folder_3/file_3\"
\"/folder_3/file_4\"
\"/folder_3/file_5\"
\"/folder_3/file_6\"
\"/folder_3/file_7\"
\"/folder_3/file_8\"
\"/folder_3/file_9\"
\"/folder_4\"
\"/folder_4/file_0\"
\"/folder_4/file_1\"
\"/folder_4/file_2\"
\"/folder_4/file_3\"
\"/folder_4/file_4\"
\"/folder_4/file_5\"
\"/folder_4/file_6\"
\"/folder_4/file_7\"
\"/folder_4/file_8\"
\"/folder_4/file_9\"
\"/folder_5\"
\"/folder_5/file_0\"
\"/folder_5/file_1\"
\"/folder_5/file_2\"
\"/folder_5/file_3\"
\"/folder_5/file_4\"
\"/folder_5/file_5\"
\"/folder_5/file_6\"
\"/folder_5/file_7\"
\"/folder_5/file_8\"
\"/folder_5/file_9\"
\"/folder_6\"
\"/folder_6/file_0\"
\"/folder_6/file_1\"
\"/folder_6/file_2\"
\"/folder_6/file_3\"
\"/folder_6/file_4\"
\"/folder_6/file_5\"
\"/folder_6/file_6\"
\"/folder_6/file_7\"
\"/folder_6/file_8\"
\"/folder_6/file_9\"
\"/folder_7\"
\"/folder_7/file_0\"
\"/folder_7/file_1\"
\"/folder_7/file_2\"
\"/folder_7/file_3\"
\"/folder_7/file_4\"
\"/folder_7/file_5\"
\"/folder_7/file_6\"
\"/folder_7/file_7\"
\"/folder_7/file_8\"
\"/folder_7/file_9\"
\"/folder_8\"
\"/folder_8/file_0\"
\"/folder_8/file_1\"
\"/folder_8/file_2\"
\"/folder_8/file_3\"
\"/folder_8/file_4\"
\"/folder_8/file_5\"
\"/folder_8/file_6\"
\"/folder_8/file_7\"
\"/folder_8/file_8\"
\"/folder_8/file_9\"
\"/folder_9\"
\"/folder_9/file_0\"
\"/folder_9/file_1\"
\"/folder_9/file_2\"
\"/folder_9/file_3\"
\"/folder_9/file_4\"
\"/folder_9/file_5\"
\"/folder_9/file_6\"
\"/folder_9/file_7\"
\"/folder_9/file_8\"
\"/folder_9/file_9\"
";
assert_eq!(expected.as_bytes(), output.stderr);
}

Binary file not shown.