From 660534f255857ad583196cec928ebbf559c5626c Mon Sep 17 00:00:00 2001 From: Alexander Weiss Date: Sat, 30 Nov 2024 21:41:24 +0100 Subject: [PATCH] add tests --- Cargo.lock | 65 +++++++++++++++++++++++++++++++++++ tests/backup_restore.rs | 38 +++++++++++++++----- tests/dump-fixtures/test.tar | Bin 0 -> 287744 bytes tests/repositories.rs | 4 +-- 4 files changed, 96 insertions(+), 11 deletions(-) create mode 100644 tests/dump-fixtures/test.tar diff --git a/Cargo.lock b/Cargo.lock index ade3b6b06..77d92c61a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -197,6 +197,15 @@ version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" +[[package]] +name = "arbitrary" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223" +dependencies = [ + "derive_arbitrary", +] + [[package]] name = "arc-swap" version = "1.7.1" @@ -1041,6 +1050,17 @@ dependencies = [ "serde", ] +[[package]] +name = "derive_arbitrary" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.90", +] + [[package]] name = "derive_destructure2" version = "0.1.3" @@ -2436,6 +2456,12 @@ dependencies = [ "scopeguard", ] +[[package]] +name = "lockfree-object-pool" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" + [[package]] name = "log" version = "0.4.22" @@ -3848,6 +3874,7 @@ dependencies = [ "toml", "tui-textarea", "warp", + "zip", ] [[package]] @@ -4401,6 +4428,12 @@ dependencies = [ "rand_core", ] +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + [[package]] name = "similar" version = "2.6.0" @@ -5801,6 +5834,24 @@ dependencies = [ "syn 2.0.90", ] +[[package]] +name = "zip" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d52293fc86ea7cf13971b3bb81eb21683636e7ae24c729cdaf1b7c4157a352" +dependencies = [ + "arbitrary", + "chrono", + "crc32fast", + "crossbeam-utils", + "displaydoc", + "flate2", + "indexmap 2.6.0", + "memchr", + "thiserror 2.0.3", + "zopfli", +] + [[package]] name = "zipsign-api" version = "0.1.2" @@ -5812,6 +5863,20 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "zopfli" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" +dependencies = [ + "bumpalo", + "crc32fast", + "lockfree-object-pool", + "log", + "once_cell", + "simd-adler32", +] + [[package]] name = "zstd" version = "0.13.2" diff --git a/tests/backup_restore.rs b/tests/backup_restore.rs index 0beaf5b66..74035ca25 100644 --- a/tests/backup_restore.rs +++ b/tests/backup_restore.rs @@ -7,13 +7,18 @@ //! You can run them with 'nextest': //! `cargo nextest run -E 'test(backup)'`. +use std::path::PathBuf; + use dircmp::Comparison; use tempfile::{tempdir, TempDir}; use assert_cmd::Command; use predicates::prelude::{predicate, PredicateBooleanExt}; -use rustic_testing::TestResult; +mod repositories; +use repositories::src_snapshot; + +use rustic_testing::{files_differ, TestResult}; pub fn rustic_runner(temp_dir: &TempDir) -> TestResult { let password = "test"; @@ -46,13 +51,13 @@ fn setup() -> TestResult { #[test] fn test_backup_and_check_passes() -> TestResult<()> { let temp_dir = setup()?; - let backup = "src/"; + let backup = src_snapshot()?.into_path().into_path(); { // Run `backup` for the first time rustic_runner(&temp_dir)? .arg("backup") - .arg(backup) + .arg(&backup) .assert() .success() .stdout(predicate::str::contains("successfully saved.")); @@ -100,20 +105,23 @@ fn test_backup_and_check_passes() -> TestResult<()> { Ok(()) } +fn fixture_test_tar() -> PathBuf { + ["tests", "dump-fixtures", "test.tar"].iter().collect() +} + #[test] fn test_backup_and_restore_passes() -> TestResult<()> { let temp_dir = setup()?; let restore_dir = temp_dir.path().join("restore"); - let backup = "src/"; - - // actual repository root to backup - let backup_files = std::env::current_dir()?.join(backup); + let backup_files = src_snapshot()?.into_path().into_path(); { // Run `backup` for the first time rustic_runner(&temp_dir)? .arg("backup") .arg(&backup_files) + .arg("--as-path") + .arg("/") .assert() .success() .stdout(predicate::str::contains("successfully saved.")); @@ -130,11 +138,23 @@ fn test_backup_and_restore_passes() -> TestResult<()> { } // Compare the backup and the restored directory - let compare_result = - Comparison::default().compare(&backup_files, &restore_dir.join(&backup_files))?; + let compare_result = Comparison::default().compare(&backup_files, &restore_dir)?; // no differences assert!(compare_result.is_empty()); + let dump_tar_file = restore_dir.join("test.tar"); + { + // Run `dump` + rustic_runner(&temp_dir)? + .arg("dump") + .arg("latest") + .arg("--file") + .arg(&dump_tar_file) + .assert() + .success(); + } + assert!(!files_differ(fixture_test_tar(), dump_tar_file)?); + Ok(()) } diff --git a/tests/dump-fixtures/test.tar b/tests/dump-fixtures/test.tar new file mode 100644 index 0000000000000000000000000000000000000000..b3edf07787c22a0804d84852c9424445d8e44c38 GIT binary patch literal 287744 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 literal 0 HcmV?d00001 diff --git a/tests/repositories.rs b/tests/repositories.rs index f8eec7883..15ab68b3d 100644 --- a/tests/repositories.rs +++ b/tests/repositories.rs @@ -8,7 +8,7 @@ use tar::Archive; use tempfile::{tempdir, TempDir}; #[derive(Debug)] -struct TestSource(TempDir); +pub struct TestSource(TempDir); impl TestSource { pub fn new(tmp: TempDir) -> Self { @@ -57,7 +57,7 @@ fn rustic_copy_repo() -> Result { } #[fixture] -fn src_snapshot() -> Result { +pub fn src_snapshot() -> Result { let dir = tempdir()?; let path = "tests/repository-fixtures/src-snapshot.tar.gz"; open_and_unpack(path, &dir)?;