diff --git a/pxar-bin/tests/pxar.rs b/pxar-bin/tests/pxar.rs index 37ea514c..321f24c3 100644 --- a/pxar-bin/tests/pxar.rs +++ b/pxar-bin/tests/pxar.rs @@ -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); +} diff --git a/tests/pxar/backup-client-pxar-expected.ppxar b/tests/pxar/backup-client-pxar-expected.ppxar new file mode 100644 index 00000000..dc35e6c4 Binary files /dev/null and b/tests/pxar/backup-client-pxar-expected.ppxar differ