]>
git.proxmox.com Git - proxmox-backup.git/blob - tests/catar.rs
f08c18eadeb481c2670f971d97eb3327009b8394
3 use std
::process
::Command
;
4 use proxmox_backup
::pxar
::*;
6 fn run_test(dir_name
: &str) -> Result
<(), Error
> {
8 println
!("run pxar test {}", dir_name
);
10 Command
::new("casync")
12 .arg("test-casync.catar")
15 .expect("failed to execute casync");
17 let mut writer
= std
::fs
::OpenOptions
::new()
21 .open("test-proxmox.catar")?
;
23 let mut dir
= nix
::dir
::Dir
::open(
24 dir_name
, nix
::fcntl
::OFlag
::O_NOFOLLOW
,
25 nix
::sys
::stat
::Mode
::empty())?
;
27 let path
= std
::path
::PathBuf
::from(dir_name
);
29 Encoder
::encode(path
, &mut dir
, &mut writer
, false, false, CA_FORMAT_DEFAULT
)?
;
33 .arg("test-casync.catar")
34 .arg("test-proxmox.catar")
36 .expect("test failed - archives are different");
41 fn run_all_tests() -> Result
<(), Error
> {
43 run_test("tests/catar_data/test_file")?
;
45 run_test("tests/catar_data/test_symlink")?
;
47 run_test("tests/catar_data/test_subdir")?
;
49 run_test("tests/catar_data/test_goodbye_sort_order")?
;
51 run_test("tests/catar_data/test_files_and_subdirs")?
;
59 if let Err(err
) = run_all_tests() {
60 eprintln
!("Error: {}", err
);
61 std
::process
::exit(1);