From 5bb23e258cd013ec059c745c6925cfddb2acaff3 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sat, 8 Aug 2026 12:03:01 +0200 Subject: [PATCH] add test for create backup folder with last number --- src/backup | 8 ++++++-- tests/backup_tests.bats | 26 ++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/backup b/src/backup index bc9aa3b..8b60618 100755 --- a/src/backup +++ b/src/backup @@ -95,10 +95,11 @@ get_last_backup_dir_path() get_backup_dir() { local config="$1" + local last_backup_number="$2" local backup_path= local backup_name= local date= - local last_backup_number="1" + last_backup_number=${last_backup_number:="1"} date=$(date --iso-8601=date) backup_path=$(echo "$config" | jq --raw-output '.backup_path') backup_name=$(echo "$config" | jq --raw-output '.backup_name') @@ -312,12 +313,15 @@ main() || errlog "$CONFIG_FILE missing machines" \ || return $? + local last_backup_dir_path= last_backup_dir_path=$(get_last_backup_dir_path "$config") [ -n "$last_backup_dir_path" ] \ && echo "ℹ️ INFO: last backup dir path $last_backup_dir_path" + local last_backup_dir="${last_backup_dir_path##*/}" + last_backup_number="${last_backup_dir:11:2}" local backup_dir= - backup_dir=$(get_backup_dir "$config") + backup_dir=$(get_backup_dir "$config" "$last_backup_number") echo "ℹ️ INFO: backup folder $backup_dir" create_backup_dir "$config" "$backup_dir" backup_machines "$config" \ diff --git a/tests/backup_tests.bats b/tests/backup_tests.bats index ee17a2a..a3d5e86 100755 --- a/tests/backup_tests.bats +++ b/tests/backup_tests.bats @@ -297,6 +297,32 @@ teardown() { [ -d "build/2000-01-01_01_backup" ] } +@test "success create backup folder latest number" { + mkdir --parents "build/2000-01-01_35_backup" + backup_machines() { + : + } + cleanup_old_backups() { + : + } + + run main + + assert_success + assert_line --index 0 "⭐ START: backup" + assert_line --index 1 "ℹ️ INFO: backup path build" + assert_line --index 2 "ℹ️ INFO: backup name backup" + assert_line --index 3 "ℹ️ INFO: backup count 15" + assert_line --index 4 "ℹ️ INFO: last backup dir path build/2000-01-01_35_backup" + assert_line --index 5 "ℹ️ INFO: backup folder 2000-01-01_36_backup" + assert_line --index 6 "ℹ️ INFO: create folder build/2000-01-01_36_backup" + assert_line --index 7 "ℹ️ INFO: backup count: 2" + assert_line --index 8 "✅ SUCCESS: backup" + [ -d "build/2000-01-01_36_backup" ] + rmdir "build/2000-01-01_35_backup" + rmdir "build/2000-01-01_36_backup" +} + @test "success backup machines" { machine_backup_pathes() { : -- 2.47.3