]> gitweb.hhaalo.de Git - simple-backup.git/commitdiff
add start and finish backup run info
authorBastian Dehn <hhaalo@arcor.de>
Sat, 8 Aug 2026 14:56:23 +0000 (16:56 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 8 Aug 2026 14:56:23 +0000 (16:56 +0200)
src/backup
tests/backup_tests.bats

index ee32e837e616f42adb008f806460d585a8808669..8fbac70c0642a419d20678d716e2855b3e7d3d70 100755 (executable)
@@ -256,7 +256,7 @@ get_backup_count()
        backup_path=$(echo "$config" | jq --raw-output '.backup_path')
        backup_name=$(echo "$config" | jq --raw-output '.backup_name')
 
-       find "$backup_path" -maxdepth 1 -type d \
+       find "$backup_path" -maxdepth 1 -type d 2> /dev/null\
                | grep --count "$backup_name" \
                || return 0
 }
@@ -325,6 +325,8 @@ main()
        backup_dir=$(get_backup_dir "$config" "$last_backup_dir_path")
        echo "ℹ️ INFO: backup folder $backup_dir"
        create_backup_dir "$config" "$backup_dir"
+
+       echo "💾 START: backup run"
        backup_machines "$config" \
                "$backup_dir" \
                "$last_backup_dir_path" \
@@ -336,6 +338,7 @@ main()
        echo "ℹ️ INFO: backup count: $backup_count"
        cleanup_old_backups "$config" \
                "$backup_count"
+       echo "🏁 FINISH: backup run"
 
        echo "✅ SUCCESS: backup"
 }
index 06315d187f30ad411817343a6a9c3a0f1bfe649c..f216b0ac8a27a0b759784c152f9a8cb808c3806f 100755 (executable)
@@ -31,13 +31,7 @@ teardown() {
        unset RSYNC_LOG
 }
 
-@test "backup run success" {
-       run main
-
-       assert_success
-}
-
-@test "show start message" {
+@test "success start message" {
        run main
 
        assert_success
@@ -196,8 +190,10 @@ teardown() {
        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 5 "ℹ️ INFO: backup count: 0"
-       assert_line --index 6 "✅ SUCCESS: backup"
+       assert_line --index 5 "💾 START: backup run"
+       assert_line --index 6 "ℹ️ INFO: backup count: 0"
+       assert_line --index 7 "🏁 FINISH: backup run"
+       assert_line --index 8 "✅ SUCCESS: backup"
 }
 
 @test "success last backup dir path info" {
@@ -222,8 +218,10 @@ teardown() {
        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_01_backup"
-       assert_line --index 6 "ℹ️ INFO: backup count: 1"
-       assert_line --index 7 "✅ SUCCESS: backup"
+       assert_line --index 6 "💾 START: backup run"
+       assert_line --index 7 "ℹ️ INFO: backup count: 1"
+       assert_line --index 8 "🏁 FINISH: backup run"
+       assert_line --index 9 "✅ SUCCESS: backup"
 }
 
 @test "success new backup folder info" {
@@ -245,8 +243,10 @@ teardown() {
        assert_line --index 2 "ℹ️ INFO: backup name backup"
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
-       assert_line --index 5 "ℹ️ INFO: backup count: 0"
-       assert_line --index 6 "✅ SUCCESS: backup"
+       assert_line --index 5 "💾 START: backup run"
+       assert_line --index 6 "ℹ️ INFO: backup count: 0"
+       assert_line --index 7 "🏁 FINISH: backup run"
+       assert_line --index 8 "✅ SUCCESS: backup"
 }
 
 @test "success new backup folder with number 02 info" {
@@ -270,8 +270,10 @@ teardown() {
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: last backup dir path build/2000-01-01_01_backup"
        assert_line --index 5 "ℹ️ INFO: backup folder 2000-01-01_02_backup"
-       assert_line --index 6 "ℹ️ INFO: backup count: 1"
-       assert_line --index 7 "✅ SUCCESS: backup"
+       assert_line --index 6 "💾 START: backup run"
+       assert_line --index 7 "ℹ️ INFO: backup count: 1"
+       assert_line --index 8 "🏁 FINISH: backup run"
+       assert_line --index 9 "✅ SUCCESS: backup"
        rmdir "build/2000-01-01_01_backup"
 }
 
@@ -292,8 +294,10 @@ teardown() {
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
        assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
-       assert_line --index 6 "ℹ️ INFO: backup count: 1"
-       assert_line --index 7 "✅ SUCCESS: backup"
+       assert_line --index 6 "💾 START: backup run"
+       assert_line --index 7 "ℹ️ INFO: backup count: 1"
+       assert_line --index 8 "🏁 FINISH: backup run"
+       assert_line --index 9 "✅ SUCCESS: backup"
        [ -d "build/2000-01-01_01_backup" ]
 }
 
@@ -316,8 +320,10 @@ teardown() {
        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"
+       assert_line --index 7 "💾 START: backup run"
+       assert_line --index 8 "ℹ️ INFO: backup count: 2"
+       assert_line --index 9 "🏁 FINISH: backup run"
+       assert_line --index 10 "✅ SUCCESS: backup"
        [ -d "build/2000-01-01_36_backup" ]
        rmdir "build/2000-01-01_35_backup"
        rmdir "build/2000-01-01_36_backup"
@@ -342,8 +348,10 @@ teardown() {
        assert_line --index 4 "ℹ️ INFO: last backup dir path build/1999-12-31_35_backup"
        assert_line --index 5 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
        assert_line --index 6 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
-       assert_line --index 7 "ℹ️ INFO: backup count: 2"
-       assert_line --index 8 "✅ SUCCESS: backup"
+       assert_line --index 7 "💾 START: backup run"
+       assert_line --index 8 "ℹ️ INFO: backup count: 2"
+       assert_line --index 9 "🏁 FINISH: backup run"
+       assert_line --index 10 "✅ SUCCESS: backup"
        [ -d "build/2000-01-01_01_backup" ]
        rmdir "build/1999-12-31_35_backup"
        rmdir "build/2000-01-01_01_backup"
@@ -366,11 +374,13 @@ teardown() {
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
        assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
-       assert_line --index 6 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
-       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc2"
-       assert_line --index 8 "ℹ️ INFO: create directory build/2000-01-01_01_backup/onlylocal"
-       assert_line --index 9 "ℹ️ INFO: backup count: 1"
-       assert_line --index 10 "✅ SUCCESS: backup"
+       assert_line --index 6 "💾 START: backup run"
+       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 8 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc2"
+       assert_line --index 9 "ℹ️ INFO: create directory build/2000-01-01_01_backup/onlylocal"
+       assert_line --index 10 "ℹ️ INFO: backup count: 1"
+       assert_line --index 11 "🏁 FINISH: backup run"
+       assert_line --index 12 "✅ SUCCESS: backup"
        [ -d "build/2000-01-01_01_backup" ]
        [ -d "build/2000-01-01_01_backup/testpc1" ]
        [ -d "build/2000-01-01_01_backup/testpc2" ]
@@ -392,23 +402,25 @@ teardown() {
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
        assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
-       assert_line --index 6 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
-       assert_line --index 7 "################################################################################"
-       assert_line --index 8 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/etc${RESET}"
-       assert_line --index 9 "################################################################################"
+       assert_line --index 6 "💾 START: backup run"
+       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 8 "################################################################################"
+       assert_line --index 9 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/etc${RESET}"
        assert_line --index 10 "################################################################################"
-       assert_line --index 11 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
-       assert_line --index 12 "################################################################################"
-       assert_line --index 13 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc2"
-       assert_line --index 14 "################################################################################"
-       assert_line --index 15 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc2${RESET}; path ${YELLOW}/home/other${RESET}"
-       assert_line --index 16 "################################################################################"
-       assert_line --index 17 "ℹ️ INFO: create directory build/2000-01-01_01_backup/onlylocal"
-       assert_line --index 18 "################################################################################"
-       assert_line --index 19 "ℹ️ INFO: machine ${LIGHTPURPLE}onlylocal${RESET}; path ${YELLOW}/home/local${RESET}"
-       assert_line --index 20 "################################################################################"
-       assert_line --index 21 "ℹ️ INFO: backup count: 1"
-       assert_line --index 22 "✅ SUCCESS: backup"
+       assert_line --index 11 "################################################################################"
+       assert_line --index 12 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
+       assert_line --index 13 "################################################################################"
+       assert_line --index 14 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc2"
+       assert_line --index 15 "################################################################################"
+       assert_line --index 16 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc2${RESET}; path ${YELLOW}/home/other${RESET}"
+       assert_line --index 17 "################################################################################"
+       assert_line --index 18 "ℹ️ INFO: create directory build/2000-01-01_01_backup/onlylocal"
+       assert_line --index 19 "################################################################################"
+       assert_line --index 20 "ℹ️ INFO: machine ${LIGHTPURPLE}onlylocal${RESET}; path ${YELLOW}/home/local${RESET}"
+       assert_line --index 21 "################################################################################"
+       assert_line --index 22 "ℹ️ INFO: backup count: 1"
+       assert_line --index 23 "🏁 FINISH: backup run"
+       assert_line --index 24 "✅ SUCCESS: backup"
 }
 
 @test "failure backup machine pathes is null" {
@@ -432,8 +444,9 @@ teardown() {
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
        assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
-       assert_line --index 6 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
-       assert_line --index 7 "❌ ERROR: missing pathes for machine testpc1"
+       assert_line --index 6 "💾 START: backup run"
+       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 8 "❌ ERROR: missing pathes for machine testpc1"
 }
 
 @test "failure backup machine path no remote user" {
@@ -459,10 +472,11 @@ teardown() {
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
        assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
-       assert_line --index 6 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
-       assert_line --index 7 "################################################################################"
-       assert_line --index 8 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
-       assert_line --index 9 "❌ ERROR: missing remote user for testpc1"
+       assert_line --index 6 "💾 START: backup run"
+       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 8 "################################################################################"
+       assert_line --index 9 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
+       assert_line --index 10 "❌ ERROR: missing remote user for testpc1"
 }
 
 @test "failure backup machine path no host" {
@@ -489,10 +503,11 @@ teardown() {
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
        assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
-       assert_line --index 6 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
-       assert_line --index 7 "################################################################################"
-       assert_line --index 8 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
-       assert_line --index 9 "❌ ERROR: missing host for testpc1"
+       assert_line --index 6 "💾 START: backup run"
+       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 8 "################################################################################"
+       assert_line --index 9 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
+       assert_line --index 10 "❌ ERROR: missing host for testpc1"
 }
 
 @test "failure backup machine path no port" {
@@ -520,10 +535,11 @@ teardown() {
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
        assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
-       assert_line --index 6 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
-       assert_line --index 7 "################################################################################"
-       assert_line --index 8 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
-       assert_line --index 9 "❌ ERROR: missing port for testpc1"
+       assert_line --index 6 "💾 START: backup run"
+       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 8 "################################################################################"
+       assert_line --index 9 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
+       assert_line --index 10 "❌ ERROR: missing port for testpc1"
 }
 
 @test "success backup machine path excludes info" {
@@ -536,11 +552,12 @@ teardown() {
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
        assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
-       assert_line --index 6 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
-       assert_line --index 7 "################################################################################"
-       assert_line --index 8 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/etc${RESET}"
-       assert_line --index 9 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; excludes /home/user/.cache /home/user/.local"
-       assert_line --index 10 "################################################################################"
+       assert_line --index 6 "💾 START: backup run"
+       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 8 "################################################################################"
+       assert_line --index 9 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/etc${RESET}"
+       assert_line --index 10 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; excludes /home/user/.cache /home/user/.local"
+       assert_line --index 11 "################################################################################"
        assert_line --partial "✅ SUCCESS: backup"
 }
 
@@ -572,12 +589,14 @@ teardown() {
        assert_line --index 3 "ℹ️ INFO: backup count 15"
        assert_line --index 4 "ℹ️ INFO: backup folder 2000-01-01_01_backup"
        assert_line --index 5 "ℹ️ INFO: create folder build/2000-01-01_01_backup"
-       assert_line --index 6 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
-       assert_line --index 7 "################################################################################"
-       assert_line --index 8 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
-       assert_line --index 9 "################################################################################"
-       assert_line --index 10 "ℹ️ INFO: backup count: 1"
-       assert_line --index 11 "✅ SUCCESS: backup"
+       assert_line --index 6 "💾 START: backup run"
+       assert_line --index 7 "ℹ️ INFO: create directory build/2000-01-01_01_backup/testpc1"
+       assert_line --index 8 "################################################################################"
+       assert_line --index 9 "ℹ️ INFO: machine ${LIGHTPURPLE}testpc1${RESET}; path ${YELLOW}/home/user${RESET}"
+       assert_line --index 10 "################################################################################"
+       assert_line --index 11 "ℹ️ INFO: backup count: 1"
+       assert_line --index 12 "🏁 FINISH: backup run"
+       assert_line --index 13 "✅ SUCCESS: backup"
 }
 
 @test "success backup machine path rsync parameters" {