]> gitweb.hhaalo.de Git - simple-backup.git/commitdiff
add test for create backup folder with last number
authorBastian Dehn <hhaalo@arcor.de>
Sat, 8 Aug 2026 10:03:01 +0000 (12:03 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 8 Aug 2026 10:03:01 +0000 (12:03 +0200)
src/backup
tests/backup_tests.bats

index bc9aa3bdc1f4fccda542c6a118e3d4dde46e96ae..8b6061868dcc226ab0b0fe38108d138fd14d8538 100755 (executable)
@@ -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" \
index ee17a2a98edb1b5dfeef41587c0207a0b0944590..a3d5e861276dc100df30d1c7b62b857ff385d921 100755 (executable)
@@ -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() {
                :